@clerk/ui 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/contexts/AppearanceContext.tsx","../src/primitives/alert.tsx","../src/primitives/icons/icon.tsx","../../../node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useId.ts","../../../node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/chain.ts","../../../node_modules/clsx/dist/clsx.mjs","../../../node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/mergeProps.ts","../src/primitives/icons/exclamation-octagon-sm.tsx","../src/primitives/icons/exclamation-triangle-sm.tsx","../src/primitives/separator.tsx","../src/themes/buildTheme.ts","../src/themes/layout.ts","../src/themes/full.ts"],"names":["React","Icon","jsx","jsxs","Alert","layoutStyle","visualStyle","Separator"],"mappings":"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","sourcesContent":["import { createContextAndHook, useDeepEqualMemo } from '@clerk/shared/react';\nimport type { Appearance as CurrentAppearance, Layout as CurrentLayout } from '@clerk/types';\nimport React from 'react';\n\nimport { fullTheme } from '~/themes';\n\ntype AlertDescriptorIdentifier = 'alert' | 'alert__error' | 'alert__warning' | 'alertRoot' | 'alertIcon';\ntype SeparatorDescriptorIdentifier = 'separator';\n\n/**\n * Union of all valid descriptors used throughout the components.\n */\nexport type DescriptorIdentifier = AlertDescriptorIdentifier | SeparatorDescriptorIdentifier;\n\n/**\n * The final resulting descriptor that gets passed to mergeDescriptors and spread on the element.\n */\nexport type ParsedDescriptor = { descriptor: string; className: string; style: React.CSSProperties };\n\n/**\n * The authoring format value type for styles written within a component. Essentially { className?: string, style?: CSSProperties }\n */\nexport type PartialDescriptor = Omit<Partial<ParsedDescriptor>, 'descriptor'>;\n\n/**\n * A full theme generated from merging ParsedElementsFragments. Has entries for each descriptor, but they're not complete.\n */\nexport type PartialTheme = Record<DescriptorIdentifier, PartialDescriptor>;\n\n/**\n * A subset of a partial theme. This is the type used when authoring style objects within a component.\n */\nexport type ParsedElementsFragment = Partial<PartialTheme>;\n\n/**\n * A full theme, complete with descriptors. This is the value returned from useAppearance().parsedAppearance, and is\n * the main type interacted with within components.\n */\nexport type ParsedElements = Record<DescriptorIdentifier, ParsedDescriptor>;\nexport type ParsedOptions = Omit<CurrentLayout, 'logoPlacement'> & {\n logoVisibility?: 'visible' | 'hidden';\n};\n\ntype ElementsAppearanceConfig = string | (React.CSSProperties & { className?: string });\n\nexport type Appearance = Omit<CurrentAppearance, 'elements' | 'baseTheme' | 'layout'> & {\n theme?: ParsedElements;\n elements?: Partial<Record<DescriptorIdentifier, ElementsAppearanceConfig>>;\n options?: ParsedOptions;\n};\n\nexport type AppearanceCascade = {\n globalAppearance?: ParsedAppearance;\n appearance?: Appearance;\n};\n\n/**\n * The generated appearance calculated from defaults and user-provided values. This is the type used to access computed\n * appearance values, and as such will always have a value for a given key.\n */\nexport type ParsedAppearance = {\n theme: ParsedElements;\n elements: ParsedElements;\n options: ParsedOptions;\n};\n\ntype AppearanceContextValue = {\n /**\n * The calculated appearance value based on the provided `appearance` and `globalAppearance`.\n *\n * Example:\n * ```tsx\n * function Help() {\n * const { options } = useAppearance().parsedAppearance;\n * return <p>{options.helpPageUrl}</p>\n * }\n * ```\n */\n parsedAppearance: ParsedAppearance;\n themelessAppearance: Appearance | null;\n theme?: ParsedElements;\n};\n\n/**\n * Used to merge full themes with ParsedElementsFragments. Allows you to combine optionsStyle with multiple visualStyle\n * elements.\n */\nexport function mergeParsedElementsFragment(...fragments: ParsedElementsFragment[]): ParsedElementsFragment {\n const acc: ParsedElementsFragment = {};\n\n fragments.forEach(fragment => {\n for (const k in fragment) {\n const key = k as keyof ParsedElementsFragment;\n if (key in acc) {\n acc[key]!.className = [acc[key]?.className, fragment[key]?.className].join(' ');\n acc[key]!.style = {\n ...acc[key]!.style,\n ...fragment[key]?.style,\n };\n } else {\n acc[key] = {\n className: fragment[key]?.className,\n style: fragment[key]?.style,\n };\n }\n }\n });\n\n return acc;\n}\n\n/**\n * Used within components to merge multiple descriptors onto a single element. Result is directly spread onto the element.\n */\nexport function mergeDescriptors(...descriptors: (ParsedDescriptor | boolean)[]): PartialDescriptor {\n return descriptors.reduce<PartialDescriptor>(\n (acc, el) => {\n if (typeof el === 'boolean') {\n return acc;\n }\n acc.className = [el.descriptor, acc.className, el.className].join(' ');\n acc.style = { ...acc.style, ...el.style };\n return acc;\n },\n { className: '', style: {} },\n );\n}\n\nfunction mergeElementsAppearanceConfig(\n a: ElementsAppearanceConfig,\n b: ElementsAppearanceConfig,\n): ElementsAppearanceConfig {\n let result: ElementsAppearanceConfig | undefined;\n if (typeof a === 'string' && typeof b === 'string') {\n result = [a, b].join(' ');\n } else if (typeof a === 'string' && typeof b === 'object') {\n result = { ...b };\n result.className = [result.className, a].join(' ');\n } else if (typeof a === 'object' && typeof b === 'string') {\n result = { ...a };\n result.className = [result.className, b].join(' ');\n } else if (typeof a === 'object' && typeof b === 'object') {\n result = {\n ...a,\n ...b,\n };\n if (a.className || b.className) {\n result.className = [a.className, b.className].filter(Boolean).join(' ');\n }\n }\n\n if (!result) {\n throw new Error(`Unable to merge ElementsAppearanceConfigs: ${a} and ${b}`);\n }\n\n return result;\n}\n\nfunction mergeAppearance(a: Appearance | null | undefined, b: Appearance | null | undefined): Appearance | null {\n if (!a && !b) {\n return null;\n }\n if (!a) {\n return b!;\n }\n if (!b) {\n return a;\n }\n\n const result = { ...a, options: { ...a.options, ...b.options } }; // Ensure options are merged\n\n if (b.theme) {\n result.theme = b.theme;\n }\n\n if (!result.elements && b.elements) {\n result.elements = { ...b.elements };\n } else if (result.elements && b.elements) {\n Object.entries(b.elements).forEach(([element, config]) => {\n const el = element as DescriptorIdentifier;\n if (el in result.elements!) {\n result.elements![el] = mergeElementsAppearanceConfig(result.elements![el]!, config);\n } else {\n result.elements![el] = config;\n }\n });\n }\n\n return result;\n}\n\nfunction applyTheme(theme: ParsedElements | undefined, appearance: Appearance | null): ParsedAppearance {\n const baseTheme = theme ?? fullTheme;\n if (!appearance) {\n return { theme: baseTheme, elements: structuredClone(baseTheme), options: defaultAppearance.options };\n }\n\n const result = {\n theme: baseTheme,\n // because we're going to perform modifications to deeply nested objects, we need to create a structuredClone of\n // the theme or else subsequent usage of the baseTheme will contain our merged changes.\n elements: structuredClone(baseTheme),\n options: { ...defaultAppearance.options, ...appearance.options },\n };\n\n if (appearance.elements) {\n Object.entries(appearance.elements).forEach(([element, config]) => {\n const el = element as DescriptorIdentifier;\n if (el in appearance.elements!) {\n if (typeof config === 'string') {\n result.elements[el].className = [result.elements[el].className, config].join(' ');\n } else {\n const { className, ...style } = config;\n if (className) {\n result.elements[el].className = [result.elements[el].className, className].join(' ');\n }\n result.elements[el].style = { ...result.elements[el].style, ...style };\n }\n }\n });\n }\n\n return result;\n}\n\nexport const defaultAppearance: ParsedAppearance = {\n theme: fullTheme,\n elements: fullTheme,\n options: {\n logoVisibility: 'visible',\n socialButtonsPlacement: 'top',\n socialButtonsVariant: 'auto',\n logoImageUrl: '',\n logoLinkUrl: '',\n showOptionalFields: true,\n helpPageUrl: '',\n privacyPageUrl: '',\n termsPageUrl: '',\n shimmer: true,\n animations: true,\n unsafe_disableDevelopmentModeWarnings: false,\n },\n};\n\nconst [AppearanceContext, useAppearance, usePartialAppearance] =\n createContextAndHook<AppearanceContextValue>('AppearanceContext');\n\ntype AppearanceProviderProps = React.PropsWithChildren<{ appearance?: Appearance; theme?: ParsedElements }>;\n\n/**\n * Used to provide appearance values throughout an application. In typical usage, the entire application will be\n * wrapped in an `AppearanceProvider` to provide global configuration. Each top-level AIO component that accepts an\n * `appearance` prop will wrap its children in `AppearanceProvider`. The provider handles the merging of attributes,\n * and makes them available via the `useAppearance` hook.\n */\nconst AppearanceProvider = (props: AppearanceProviderProps) => {\n // Access the parsedAppearance of the parent context provider. `undefined` if this is the top-most\n // AppearanceProvider.\n const {\n parsedAppearance: globalAppearance,\n themelessAppearance: globalThemelessAppearance,\n theme: globalTheme,\n } = usePartialAppearance();\n\n const ctxValue = useDeepEqualMemo(() => {\n const theme = props.theme ?? globalTheme;\n const themelessAppearance = mergeAppearance(globalThemelessAppearance, props.appearance);\n const parsedAppearance = applyTheme(theme, themelessAppearance);\n\n return { value: { parsedAppearance, themelessAppearance, theme: props.theme ?? globalTheme } };\n }, [props.appearance, props.theme, globalAppearance, globalThemelessAppearance, globalTheme]);\n\n return <AppearanceContext.Provider value={ctxValue}>{props.children}</AppearanceContext.Provider>;\n};\n\nexport { AppearanceProvider, useAppearance };\n\nif (import.meta.vitest) {\n const { it, expect, describe } = import.meta.vitest;\n\n describe('mergeAppearance', () => {\n it('retains keys from both appearances', () => {\n const a = { elements: { alert__warning: 'cl-test-class-one' } };\n const b = { elements: { alertIcon: 'cl-test-class-two' } };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n elements: {\n alert__warning: 'cl-test-class-one',\n alertIcon: 'cl-test-class-two',\n },\n });\n });\n\n it('retains the theme prop', () => {\n const a = { theme: fullTheme, elements: { alert__warning: 'cl-test-class-one' } };\n const b = {\n elements: { alertIcon: 'cl-test-class-two' },\n };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n theme: a.theme,\n elements: {\n alert__warning: 'cl-test-class-one',\n alertIcon: 'cl-test-class-two',\n },\n });\n });\n\n it('overrides the theme prop', () => {\n const a = { theme: fullTheme, elements: { alert__warning: 'cl-test-class-one' } };\n const b = {\n theme: { ...fullTheme, alertIcon: { descriptor: 'test', className: 'cl-test-class', style: {} } },\n elements: { alertIcon: 'cl-test-class-two' },\n };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n theme: b.theme,\n elements: {\n alert__warning: 'cl-test-class-one',\n alertIcon: 'cl-test-class-two',\n },\n });\n });\n\n it('merges string values for the same element', () => {\n const a = { elements: { alert__warning: 'cl-test-class-one' } };\n const b = { elements: { alert__warning: 'cl-test-class-two' } };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n elements: {\n alert__warning: 'cl-test-class-one cl-test-class-two',\n },\n });\n });\n\n it('merges object values for the same element', () => {\n const a = { elements: { alert__warning: { background: 'tomato' } } };\n const b = { elements: { alert__warning: { color: 'red' } } };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n elements: {\n alert__warning: { color: 'red', background: 'tomato' },\n },\n });\n });\n\n it('overrides same style properties', () => {\n const a = { elements: { alert__warning: { background: 'tomato' } } };\n const b = { elements: { alert__warning: { background: 'red' } } };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n elements: {\n alert__warning: { background: 'red' },\n },\n });\n });\n });\n\n describe('mergeElementsAppearanceConfig', () => {\n it('merges two strings', () => {\n const a = 'cl-test-class-one';\n const b = 'cl-test-class-two';\n expect(mergeElementsAppearanceConfig(a, b)).toBe('cl-test-class-one cl-test-class-two');\n });\n\n it('merges a string and an object', () => {\n const a = 'cl-test-class-one';\n const b = { className: 'cl-test-class-two' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({ className: 'cl-test-class-two cl-test-class-one' });\n });\n\n it('merges an object and a string', () => {\n const a = { className: 'cl-test-class-one' };\n const b = 'cl-test-class-two';\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({ className: 'cl-test-class-one cl-test-class-two' });\n });\n\n it('merges two objects', () => {\n const a = { className: 'cl-test-class-one' };\n const b = { className: 'cl-test-class-two' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({ className: 'cl-test-class-one cl-test-class-two' });\n });\n\n it('merges a string and an object with style', () => {\n const a = 'cl-test-class-one';\n const b = { className: 'cl-test-class-two', backgroundColor: 'tomato' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({\n className: 'cl-test-class-two cl-test-class-one',\n backgroundColor: 'tomato',\n });\n });\n\n it('merges two objects with styles', () => {\n const a = { className: 'cl-test-class-one', color: 'red' };\n const b = { className: 'cl-test-class-two', backgroundColor: 'tomato' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({\n className: 'cl-test-class-one cl-test-class-two',\n color: 'red',\n backgroundColor: 'tomato',\n });\n });\n\n it('correctly omits className if not present', () => {\n const a = { color: 'red' };\n const b = { backgroundColor: 'tomato' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({\n color: 'red',\n backgroundColor: 'tomato',\n });\n });\n });\n\n describe('applyTheme', () => {\n it('adds classNames from theme', () => {\n const appearance = {\n elements: {\n alert__warning: 'cl-test-1',\n },\n };\n const theme = {\n ...fullTheme,\n alert__warning: { descriptor: 'test', className: 'cl-test-class', style: { color: 'red' } },\n };\n expect(applyTheme(theme, appearance)).toStrictEqual({\n theme,\n options: defaultAppearance.options,\n elements: {\n ...fullTheme,\n alert__warning: {\n className: 'cl-test-class cl-test-1',\n descriptor: 'test',\n style: { color: 'red' },\n },\n },\n });\n });\n });\n}\n","import * as React from 'react';\n\nimport {\n mergeDescriptors,\n type ParsedDescriptor,\n type ParsedElementsFragment,\n useAppearance,\n} from '~/contexts/AppearanceContext';\n\nimport ExclamationOctagonSm from './icons/exclamation-octagon-sm';\nimport ExclamationTriangleSm from './icons/exclamation-triangle-sm';\n\nexport const layoutStyle = {\n alert: {\n className: \"cl-fbddaa7d\",\n },\n alert__warning: {},\n alert__error: {},\n alertIcon: {\n className: \"cl-af4e251c\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const visualStyle = {\n alert: {\n className: \"cl-15c02a47\",\n },\n alert__warning: {\n className: \"cl-a992fcfc\",\n },\n alert__error: {\n className: \"cl-66ef3405\",\n },\n alertIcon: {},\n} satisfies ParsedElementsFragment;\n\nexport const Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & {\n intent?: 'warning' | 'error';\n descriptors?: ParsedDescriptor[];\n }\n>(function Alert({ children, descriptors, intent = 'error', ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(\n elements.alert,\n intent === 'error' && elements.alert__error,\n intent === 'warning' && elements.alert__warning,\n ...(descriptors ?? []),\n )}\n >\n {\n {\n error: <ExclamationOctagonSm {...mergeDescriptors(elements.alertIcon)} />,\n warning: <ExclamationTriangleSm {...mergeDescriptors(elements.alertIcon)} />,\n }[intent]\n }\n {children}\n </div>\n );\n});\n","import * as React from 'react';\nimport { mergeProps } from 'react-aria';\n\nexport interface IconProps extends React.SVGProps<SVGSVGElement> {}\n\nexport const Icon = React.forwardRef<SVGSVGElement, IconProps & { children: React.ReactElement }>(\n function Icon(props, ref) {\n const { children, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, ...restProps } = props;\n return React.cloneElement(children, {\n ...mergeProps(children.props, restProps),\n ref,\n width: '1em',\n height: '1em',\n fill: 'none',\n focusable: 'false',\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaLabel ? ariaHidden || undefined : true,\n role: 'img',\n });\n },\n);\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {useCallback, useEffect, useRef, useState} from 'react';\nimport {useLayoutEffect} from './useLayoutEffect';\nimport {useSSRSafeId} from '@react-aria/ssr';\nimport {useValueEffect} from './';\n\n// copied from SSRProvider.tsx to reduce exports, if needed again, consider sharing\nlet canUseDOM = Boolean(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nlet idsUpdaterMap: Map<string, (v: string) => void> = new Map();\n\n/**\n * If a default is not provided, generate an id.\n * @param defaultId - Default component id.\n */\nexport function useId(defaultId?: string): string {\n let [value, setValue] = useState(defaultId);\n let nextId = useRef(null);\n\n let res = useSSRSafeId(value);\n\n let updateValue = useCallback((val) => {\n nextId.current = val;\n }, []);\n\n if (canUseDOM) {\n idsUpdaterMap.set(res, updateValue);\n }\n\n useLayoutEffect(() => {\n let r = res;\n return () => {\n idsUpdaterMap.delete(r);\n };\n }, [res]);\n\n // This cannot cause an infinite loop because the ref is updated first.\n // eslint-disable-next-line\n useEffect(() => {\n let newId = nextId.current;\n if (newId) {\n nextId.current = null;\n setValue(newId);\n }\n });\n\n return res;\n}\n\n/**\n * Merges two ids.\n * Different ids will trigger a side-effect and re-render components hooked up with `useId`.\n */\nexport function mergeIds(idA: string, idB: string): string {\n if (idA === idB) {\n return idA;\n }\n\n let setIdA = idsUpdaterMap.get(idA);\n if (setIdA) {\n setIdA(idB);\n return idB;\n }\n\n let setIdB = idsUpdaterMap.get(idB);\n if (setIdB) {\n setIdB(idA);\n return idA;\n }\n\n return idB;\n}\n\n/**\n * Used to generate an id, and after render, check if that id is rendered so we know\n * if we can use it in places such as labelledby.\n * @param depArray - When to recalculate if the id is in the DOM.\n */\nexport function useSlotId(depArray: ReadonlyArray<any> = []): string {\n let id = useId();\n let [resolvedId, setResolvedId] = useValueEffect(id);\n let updateId = useCallback(() => {\n setResolvedId(function *() {\n yield id;\n\n yield document.getElementById(id) ? id : undefined;\n });\n }, [id, setResolvedId]);\n\n useLayoutEffect(updateId, [id, updateId, ...depArray]);\n\n return resolvedId;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/**\n * Calls all functions in the order they were chained with the same arguments.\n */\nexport function chain(...callbacks: any[]): (...args: any[]) => void {\n return (...args: any[]) => {\n for (let callback of callbacks) {\n if (typeof callback === 'function') {\n callback(...args);\n }\n }\n };\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {chain} from './chain';\nimport clsx from 'clsx';\nimport {mergeIds} from './useId';\n\ninterface Props {\n [key: string]: any\n}\n\ntype PropsArg = Props | null | undefined;\n\n// taken from: https://stackoverflow.com/questions/51603250/typescript-3-parameter-list-intersection-type/51604379#51604379\ntype TupleTypes<T> = { [P in keyof T]: T[P] } extends { [key: number]: infer V } ? NullToObject<V> : never;\ntype NullToObject<T> = T extends (null | undefined) ? {} : T;\n// eslint-disable-next-line no-undef, @typescript-eslint/no-unused-vars\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;\n\n/**\n * Merges multiple props objects together. Event handlers are chained,\n * classNames are combined, and ids are deduplicated - different ids\n * will trigger a side-effect and re-render components hooked up with `useId`.\n * For all other props, the last prop object overrides all previous ones.\n * @param args - Multiple sets of props to merge together.\n */\nexport function mergeProps<T extends PropsArg[]>(...args: T): UnionToIntersection<TupleTypes<T>> {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result: Props = {...args[0]};\n for (let i = 1; i < args.length; i++) {\n let props = args[i];\n for (let key in props) {\n let a = result[key];\n let b = props[key];\n\n // Chain events\n if (\n typeof a === 'function' &&\n typeof b === 'function' &&\n // This is a lot faster than a regex.\n key[0] === 'o' &&\n key[1] === 'n' &&\n key.charCodeAt(2) >= /* 'A' */ 65 &&\n key.charCodeAt(2) <= /* 'Z' */ 90\n ) {\n result[key] = chain(a, b);\n\n // Merge classnames, sometimes classNames are empty string which eval to false, so we just need to do a type check\n } else if (\n (key === 'className' || key === 'UNSAFE_className') &&\n typeof a === 'string' &&\n typeof b === 'string'\n ) {\n result[key] = clsx(a, b);\n } else if (key === 'id' && a && b) {\n result.id = mergeIds(a, b);\n // Override others\n } else {\n result[key] = b !== undefined ? b : a;\n }\n }\n }\n\n return result as UnionToIntersection<TupleTypes<T>>;\n}\n","import { Icon, type IconProps } from './icon';\n\nexport default function ExclamationOctagonSm(props: IconProps) {\n return (\n <Icon {...props}>\n <svg viewBox='0 0 16 16'>\n <path\n d='M8 5.75V7.25'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n <path\n d='M8 10V10.01'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n <path\n d='M10.25 2.75H5.75L2.75 5.75V10.25L5.75 13.25H10.25L13.25 10.25V5.75L10.25 2.75Z'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n </Icon>\n );\n}\n","import { Icon, type IconProps } from './icon';\n\nexport default function ExclamationTriangleSm(props: IconProps) {\n return (\n <Icon {...props}>\n <svg viewBox='0 0 16 16'>\n <path\n d='M8 6.75V8.25'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n <path\n d='M8 10.5V10.51'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n <path\n d='M2.95652 10.4518L6.27146 3.8188C6.98366 2.39373 9.01635 2.39373 9.72855 3.81881L13.0435 10.4518C13.686 11.7374 12.7516 13.25 11.3149 13.25H4.68506C3.24842 13.25 2.31404 11.7374 2.95652 10.4518Z'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n </Icon>\n );\n}\n","import * as React from 'react';\n\nimport {\n mergeDescriptors,\n type ParsedDescriptor,\n type ParsedElementsFragment,\n useAppearance,\n} from '~/contexts/AppearanceContext';\n\nexport const layoutStyle = {\n separator: {\n className: \"cl-c53048bf\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const visualStyle = {\n separator: {\n className: \"cl-77b14b2e\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const Separator = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & {\n descriptors?: ParsedDescriptor[];\n }\n>(function Separator({ children, descriptors, ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.separator, ...(descriptors ?? []))}\n >\n {children}\n </div>\n );\n});\n","import type { PartialTheme, ParsedElements } from '~/contexts/AppearanceContext';\n\n/**\n * Given a complete theme object minus descriptors, returns a full ParsedElements object with generated descriptors.\n */\nexport function buildTheme(p: PartialTheme): ParsedElements {\n const theme: Partial<ParsedElements> = {};\n\n for (const descriptor in p) {\n if (p[descriptor as keyof PartialTheme]) {\n const { className, style } = p[descriptor as keyof PartialTheme]!;\n theme[descriptor as keyof ParsedElements] = {\n descriptor: `cl-${descriptor}`,\n className: className ?? '',\n style: style ?? {},\n };\n }\n }\n\n return theme as ParsedElements;\n}\n\n/**\n * Given two complete theme objects, merge their className and style properties to create a new merged theme.\n */\nexport function mergeTheme(a: ParsedElements, b: ParsedElements): ParsedElements {\n const mergedTheme = { ...a };\n\n for (const d in mergedTheme) {\n const descriptor = d as keyof ParsedElements;\n mergedTheme[descriptor].className = [mergedTheme[descriptor].className, b[descriptor].className].join(' ');\n mergedTheme[descriptor].style = { ...mergedTheme[descriptor].style, ...b[descriptor].style };\n }\n\n return mergedTheme;\n}\n","import { layoutStyle as alertLayoutStyle } from '~/primitives/alert';\nimport { layoutStyle as separatorStyle } from '~/primitives/separator';\n\nimport { buildTheme } from './buildTheme';\n\nexport const layoutTheme = buildTheme({ ...alertLayoutStyle, ...separatorStyle });\n","import { visualStyle as alertVisualStyle } from '~/primitives/alert';\nimport { visualStyle as separatorVisualStyle } from '~/primitives/separator';\n\nimport { buildTheme, mergeTheme } from './buildTheme';\nimport { layoutTheme } from './layout';\n\nconst visualTheme = buildTheme({ ...alertVisualStyle, ...separatorVisualStyle });\nexport const fullTheme = mergeTheme(layoutTheme, visualTheme);\n"]}
1
+ {"version":3,"sources":["../src/contexts/AppearanceContext.tsx","../src/common/connections.tsx","../src/primitives/button.tsx","../../../node_modules/clsx/dist/clsx.mjs","../src/utils/dva.ts","../src/primitives/spinner.tsx","../src/primitives/icons/icon.tsx","../../../node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/useId.ts","../../../node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/chain.ts","../../../node_modules/@react-aria/utils/dist/packages/@react-aria/utils/src/mergeProps.ts","../src/primitives/alert.tsx","../src/primitives/icons/exclamation-octagon-sm.tsx","../src/primitives/icons/exclamation-triangle-sm.tsx","../src/primitives/card.tsx","../src/primitives/clerk-logo.tsx","../src/primitives/image.tsx","../src/utils/validators.ts","../src/utils/images.ts","../src/primitives/separator.tsx","../src/descriptors.ts","../src/themes/buildTheme.ts","../src/themes/layout.ts","../src/themes/full.ts"],"names":["cx","dva","compose","Spinner","jsx","jsxs","layoutStyle","visualStyle","Button","spinner","React","Icon","Alert","Image","Separator"],"mappings":";AAAA,SAAS,sBAAsB,wBAAwB;;;ACAvD,YAAY,YAAY;;;ACAxB,YAAY,WAAW;;;ACAvB,SAAS,EAAE,GAAE;AAAC,MAAI,GAAE,GAAE,IAAE;AAAG,MAAG,YAAU,OAAO,KAAG,YAAU,OAAO,EAAE,MAAG;AAAA,WAAU,YAAU,OAAO,EAAE,KAAG,MAAM,QAAQ,CAAC,GAAE;AAAC,QAAI,IAAE,EAAE;AAAO,SAAI,IAAE,GAAE,IAAE,GAAE,IAAI,GAAE,CAAC,MAAI,IAAE,EAAE,EAAE,CAAC,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAA,EAAE,MAAM,MAAI,KAAK,EAAE,GAAE,CAAC,MAAI,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;AAAQ,SAAS,OAAM;AAAC,WAAQ,GAAE,GAAE,IAAE,GAAE,IAAE,IAAG,IAAE,UAAU,QAAO,IAAE,GAAE,IAAI,EAAC,IAAE,UAAU,CAAC,OAAK,IAAE,EAAE,CAAC,OAAK,MAAI,KAAG,MAAK,KAAG;AAAG,SAAO;AAAC;AAAC,IAAO,eAAQ;;;AC0I/X,IAAM,gBAAgB,CAAO,UAAc,OAAO,UAAU,YAAY,GAAG,KAAK,KAAK,UAAU,IAAI,MAAM;AAElG,IAAM,eAA6B,aAAW;AACnD,QAAMA,MAAS,IAAI,WAAW;AA7IhC;AA8II,QAAI,SAAO,wCAAS,UAAT,mBAAiB,gBAAe,aAAa;AACtD,aAAO,mCAAS,MAAM,WAAW,KAAK,MAAM;AAAA,IAC9C;AAEA,QAAI,SAAO,wCAAS,UAAT,mBAAgB,gBAAe,aAAa;AACrD,aAAO,mCAAS,MAAM,WAAW,KAAK,MAAM;AAAA,IAC9C;AAEA,WAAO,KAAK,MAAM;AAAA,EACpB;AAEA,QAAMC,OAAW,YAAU,WAAS;AAzJtC;AA0JI,SAAI,iCAAQ,aAAY,MAAM;AAC5B,aAAOD,IAAG,iCAAQ,MAAM,+BAAO,UAAU;AAAA,IAC3C;AAEA,UAAM,EAAE,UAAU,gBAAgB,IAAI;AAEtC,UAAM,uBAAuB,OAAO,KAAK,QAAQ,EAAE,IAAI,CAAC,YAAmC;AACzF,YAAM,cAAc,+BAAQ;AAC5B,YAAM,qBAAqB,mDAAkB;AAE7C,YAAM,aAAc,cAAc,WAAW,KAC3C,cAAc,kBAAkB;AAElC,aAAO,SAAS,OAAO,EAAE,UAAU;AAAA,IACrC,CAAC;AAED,UAAM,mBAAmB;AAAA,MACvB,GAAG;AAAA;AAAA,MAEH,GAAI,SACF,OAAO,QAAQ,KAAK,EAAE;AAAA,QACpB,CAAC,KAAK,CAAC,KAAK,KAAK,MAAO,OAAO,UAAU,cAAc,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,MAAM;AAAA,QACpF,CAAC;AAAA,MACH;AAAA,IACJ;AAEA,UAAM,gCAA+B,sCAAQ,qBAAR,mBAA0B;AAAA,MAC7D,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,MAC9B,OAAO,QAAQ,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,UAAU,MAAM;AACtD,cAAM,WAAW,iBAAiB,KAAsC;AAExE,eAAO,MAAM,QAAQ,UAAU,IAAI,WAAW,SAAS,QAAQ,IAAI,aAAa;AAAA,MAClF,CAAC,IACG,CAAC,GAAG,KAAK,UAAU,IACnB;AAAA,MACN,CAAC;AAAA;AAGH,WAAOA,IAAG,iCAAQ,MAAM,sBAAsB,8BAA8B,+BAAO,UAAU;AAAA,EAC/F;AAEA,QAAME,WACJ,IAAI,eACJ,WAAS;AACP,UAAM,yBAAyB,OAAO;AAAA,MACpC,OAAO,QAAQ,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,YAAY,EAAE,SAAS,GAAG,CAAC;AAAA,IAC7E;AAEA,WAAOF,IAAG,WAAW,IAAI,eAAa,UAAU,sBAAsB,CAAC,GAAmB,+BAAO,UAAU;AAAA,EAC7G;AAEF,SAAO;AAAA,IACL,SAAAE;AAAA,IACA,KAAAD;AAAA,IACA,IAAAD;AAAA,EACF;AACF;AAEO,IAAM,EAAE,SAAS,KAAK,GAAG,IAAI,aAAa;AAE1C,SAAS,eAAe,UAA0B,gBAAwB;AAC/E,QAAM,cAAc,eAAe,MAAM,GAAG;AAC5C,SAAO,YAAY,IAAI,OAAK;AAC1B,UAAM,QAAQ,SAAS,CAAC;AACxB,QAAI,CAAC,OAAO;AACV,cAAQ,KAAK,+DAA+D,CAAC,EAAE;AAAA,IACjF;AAEA,WAAO;AAAA,EACT,CAAC;AACH;AAEO,SAAS,iBAAiB,UAA0B,gBAAwB;AACjF,QAAM,cAAc,eAAe,UAAU,cAAc;AAC3D,SAAO,iBAAiB,GAAG,WAAW;AACxC;;;ACpOA,SAAS,MAAAA,WAAU;AACnB,SAAS,kBAAuC;AA4D1C,cAaE,YAbF;AAvDN,IAAM,OAAO;AAIN,IAAM,cAAc;AAAA,EACzB,SAAS;AAAA,IACP,WAAW;AAAA,EACb;AACF;AAEO,IAAM,cAAc;AAAA,EACzB,SAAS;AAAA,IACP,WAAW;AAAA,EACb;AACF;AAEA,IAAM,UAAU,IAAI;AAAA,EAClB,MAAM;AACR,CAAC;AAqBM,IAAM,UAAU,WAAW,SAASG,SACzC;AAAA,EACE;AAAA,EACA;AACF,GAIA,KACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,SACG;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACC,GAAG,iBAAiB,UAAU,QAAQ,EAAE,WAAW,CAAC,CAAC;AAAA,MAEtD;AAAA,4BAAC,UAAK,WAAU,eAAe,UAAS;AAAA,QACxC;AAAA,UAAC;AAAA;AAAA,YACC,SAAS,CAAC,GAAG,GAAG,MAAM,IAAI,EAAE,KAAK,GAAG;AAAA,YACpC,MAAK;AAAA,YACL,OAAM;AAAA,YACN,WAAU;AAAA,YACV,OAAO;AAAA,cACL,CAAC,kBAA4B,GAAG,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EACrD,KAAK,GAAG,KAAK,OAAO,CAAC,KAAK,EAC1B,KAAK,GAAG;AAAA,YACb;AAAA,YACA,eAAW;AAAA,YAEX;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAWH;AAAA,oBACT;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,kBACF;AAAA,kBACA,MAAK;AAAA,kBACL,SAAS;AAAA,kBACV;AAAA;AAAA,oBAEC;AAAA,sBAAC;AAAA;AAAA,wBACC,IAAG;AAAA,wBACH,IAAG;AAAA,wBACH,GAAE;AAAA;AAAA,oBACJ;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,IAAG;AAAA,wBACH,IAAG;AAAA,wBACH,GAAE;AAAA;AAAA,oBACJ;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,IAAG;AAAA,wBACH,IAAG;AAAA,wBACH,GAAE;AAAA;AAAA,oBACJ;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,IAAG;AAAA,wBACH,IAAG;AAAA,wBACH,GAAE;AAAA;AAAA,oBACJ;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,IAAG;AAAA,wBACH,IAAG;AAAA,wBACH,GAAE;AAAA;AAAA,oBACJ;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,IAAG;AAAA,wBACH,IAAG;AAAA,wBACH,GAAE;AAAA;AAAA,oBACJ;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,IAAG;AAAA,wBACH,IAAG;AAAA,wBACH,GAAE;AAAA;AAAA,oBACJ;AAAA,oBACA;AAAA,sBAAC;AAAA;AAAA,wBACC,IAAG;AAAA,wBACH,IAAG;AAAA,wBACH,GAAE;AAAA;AAAA,oBACJ;AAAA,oBAAE;AAAA;AAAA;AAAA,cAEJ;AAAA,cAEA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAWA;AAAA,oBACT;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,kBACF;AAAA,kBACA,IAAG;AAAA,kBACH,IAAG;AAAA,kBACH,GAAE;AAAA,kBACF,YAAY;AAAA,kBACZ,QAAO;AAAA,kBACP,eAAc;AAAA,kBACd,gBAAe;AAAA,kBAIf,kBAAkB;AAAA,kBAClB,iBAAgB;AAAA,kBAChB,aAAa;AAAA;AAAA,cACf;AAAA;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;;;AHpBiB,SAcV,UAdU,OAAAI,MAcV,QAAAC,aAdU;AA/HX,IAAMC,eAAc;AAAA,EACzB,QAAQ;AAAA,IACN,WAAW;AAAA,MACT;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,GAAG;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EACA,eAAe;AAAA,IACb,WAAW;AAAA,EACb;AACF;AAEO,IAAMC,eAAc;AAAA,EACzB,QAAQ;AAAA,IACN,WAAW,CAAC,eAAe,eAAe,aAAa,EAAE,KAAK,GAAG;AAAA,EACnE;AAAA,EACA,eAAe;AAAA,IACb,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,GAAG;AAAA,EACZ;AAAA,EACA,iBAAiB;AAAA,IACf,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,GAAG;AAAA,EACZ;AAAA,EACA,kBAAkB;AAAA,IAChB,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,GAAG;AAAA,EACZ;AAAA,EACA,sBAAsB;AAAA,IACpB,WAAW;AAAA,EACb;AAAA,EACA,wBAAwB;AAAA,IACtB,WAAW;AAAA,EACb;AAAA,EACA,yBAAyB;AAAA,IACvB,WAAW;AAAA,EACb;AAAA,EACA,gBAAgB;AAAA,IACd,WAAW;AAAA,EACb;AAAA,EACA,YAAY;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EACA,YAAY;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EACA,0BAA0B;AAAA,IACxB,WAAW;AAAA,EACb;AAAA,EACA,YAAY;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EACA,eAAe;AAAA,IACb,WAAW;AAAA,EACb;AACF;AAEA,IAAM,SAAS,IAAI;AAAA,EACjB,MAAM;AAAA,EACN,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,MAAM,OAAO,UAAU,OAAO,QAAQ,WAAW,YAAY,uBAAuB;AAAA,IACtF,EAAE,MAAM,OAAO,UAAU,OAAO,QAAQ,aAAa,YAAY,yBAAyB;AAAA,IAC1F,EAAE,MAAM,OAAO,UAAU,OAAO,QAAQ,cAAc,YAAY,0BAA0B;AAAA,IAC5F,EAAE,MAAM,OAAO,UAAU,MAAM,YAAY,iBAAiB;AAAA,IAC5D,EAAE,MAAM,MAAM,UAAU,OAAO,YAAY,aAAa;AAAA,EAC1D;AACF,CAAC;AAEM,IAAM,SAAe,iBAAW,SAASC,QAC9C;AAAA,EACE,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAOA,cACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,QAAMC,WAAU,gBAAAL,KAAC,WAAQ,YAAW,iBAAgB,2BAAQ;AAE5D,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG,iBAAiB,UAAU,OAAO,EAAE,MAAM,UAAU,QAAQ,WAAW,CAAC,CAAC;AAAA,MAC7E,UAAU,QAAQ;AAAA,MAElB;AAAA,MACC,GAAG;AAAA,MAEH,kBAAQ,WAAW,YAClBK,WAEA,gBAAAJ,MAAA,YACG;AAAA,oBACC,QAAQ,WAAW,eACjBI,WAEA,gBAAAL,KAAC,UAAM,GAAG,iBAAiB,UAAU,4BAA4B,GAAI,qBAAU,IAE/E;AAAA,QACH,WACC,gBAAAA,KAAC,UAAM,GAAG,iBAAiB,SAAS,YAAY,CAAC,CAAC,sBAAsB,SAAS,wBAAwB,GACtG,UACH,IACE;AAAA,QACH,UAAU,gBAAAA,KAAC,UAAM,GAAG,iBAAiB,UAAU,0BAA0B,GAAI,mBAAQ,IAAU;AAAA,SAClG;AAAA;AAAA,EAEJ;AAEJ,CAAC;;;AIvKD,YAAYM,YAAW;;;;ACkBvB,IAAI,kCAAY,QACd,OAAO,WAAW,eAClB,OAAO,YACP,OAAO,SAAS,aAAa;AAG/B,IAAI,sCAAkD,oBAAI,IAAA;AA4CnD,SAAS,0CAAS,KAAa,KAAW;AAC/C,MAAI,QAAQ,IACV,QAAO;AAGT,MAAI,SAAS,oCAAc,IAAI,GAAA;AAC/B,MAAI,QAAQ;AACV,WAAO,GAAA;AACP,WAAO;EACT;AAEA,MAAI,SAAS,oCAAc,IAAI,GAAA;AAC/B,MAAI,QAAQ;AACV,WAAO,GAAA;AACP,WAAO;EACT;AAEA,SAAO;AACT;;;ACvEO,SAAS,6CAAS,WAAgB;AACvC,SAAO,IAAI,SAAA;AACT,aAAS,YAAY,UACnB,KAAI,OAAO,aAAa,WACtB,UAAA,GAAY,IAAA;EAGlB;AACF;;;ACYO,SAAS,6CAAoC,MAAO;AAGzD,MAAI,SAAgB;IAAC,GAAG,KAAK,CAAA;EAAE;AAC/B,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,QAAI,QAAQ,KAAK,CAAA;AACjB,aAAS,OAAO,OAAO;AACrB,UAAI,IAAI,OAAO,GAAA;AACf,UAAI,IAAI,MAAM,GAAA;AAGd,UACE,OAAO,MAAM,cACb,OAAO,MAAM;MAEb,IAAI,CAAA,MAAO,OACX,IAAI,CAAA,MAAO,OACX,IAAI,WAAW,CAAA;MAAgB,MAC/B,IAAI,WAAW,CAAA;MAAgB,GAE/B,QAAO,GAAA,KAAO,GAAA,2CAAM,GAAG,CAAA;gBAItB,QAAQ,eAAe,QAAQ,uBAChC,OAAO,MAAM,YACb,OAAO,MAAM,SAEb,QAAO,GAAA,KAAO,GAAA,cAAK,GAAG,CAAA;eACb,QAAQ,QAAQ,KAAK,EAC9B,QAAO,MAAK,GAAA,2CAAS,GAAG,CAAA;UAGxB,QAAO,GAAA,IAAO,MAAM,SAAY,IAAI;IAExC;EACF;AAEA,SAAO;AACT;;;AHrEO,IAAM,OAAa;AAAA,EACxB,SAASC,MAAK,OAAO,KAAK;AACxB,UAAM,EAAE,UAAU,cAAc,WAAW,eAAe,YAAY,GAAG,UAAU,IAAI;AACvF,WAAa,oBAAa,UAAU;AAAA,MAClC,GAAG,0CAAW,SAAS,OAAO,SAAS;AAAA,MACvC;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,MACd,eAAe,YAAY,cAAc,SAAY;AAAA,MACrD,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AACF;;;ALoFoB,gBAAAP,YAAA;AA/Cb,IAAME,eAAc;AAAA,EACzB,gBAAgB;AAAA,IACd,WACE;AAAA,EACJ;AAAA,EACA,oBAAoB;AAAA,IAClB,WAAW;AAAA,EACb;AACF;AAGO,IAAMC,eAAc,CAAC;;;ASpE5B,YAAYG,YAAW;;;ACKjB,SACE,OAAAN,MADF,QAAAC,aAAA;AAHS,SAAR,qBAAsC,OAAkB;AAC7D,SACE,gBAAAD,KAAC,QAAM,GAAG,OACR,0BAAAC,MAAC,SAAI,SAAQ,aACX;AAAA,oBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA;AAAA,IACjB;AAAA,IACA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA;AAAA,IACjB;AAAA,IACA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA;AAAA,IACjB;AAAA,KACF,GACF;AAEJ;;;ACzBM,SACE,OAAAA,MADF,QAAAC,aAAA;AAHS,SAAR,sBAAuC,OAAkB;AAC9D,SACE,gBAAAD,KAAC,QAAM,GAAG,OACR,0BAAAC,MAAC,SAAI,SAAQ,aACX;AAAA,oBAAAD;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA;AAAA,IACjB;AAAA,IACA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA;AAAA,IACjB;AAAA,IACA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA;AAAA,IACjB;AAAA,KACF,GACF;AAEJ;;;AFaI,SAYa,OAAAA,MAZb,QAAAC,aAAA;AA/BG,IAAMC,eAAc;AAAA,EACzB,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AAAA,EACA,WAAW;AAAA,IACT,WAAW;AAAA,EACb;AACF;AAEO,IAAMC,eAAc;AAAA,EACzB,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AAAA,EACA,gBAAgB;AAAA,IACd,WAAW;AAAA,EACb;AAAA,EACA,cAAc;AAAA,IACZ,WAAW;AAAA,EACb;AACF;AAEO,IAAM,QAAc,kBAMzB,SAASK,OAAM,EAAE,UAAU,aAAa,SAAS,SAAS,GAAG,MAAM,GAAG,cAAc;AACpF,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AAErC,SACE,gBAAAP;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,QACF,SAAS;AAAA,QACT,WAAW,WAAW,SAAS;AAAA,QAC/B,WAAW,aAAa,SAAS;AAAA,QACjC,GAAI,oCAAe,CAAC;AAAA,MACtB;AAAA,MAGE;AAAA;AAAA,UACE,OAAO,gBAAAD,KAAC,wBAAsB,GAAG,iBAAiB,SAAS,SAAS,GAAG;AAAA,UACvE,SAAS,gBAAAA,KAAC,yBAAuB,GAAG,iBAAiB,SAAS,SAAS,GAAG;AAAA,QAC5E,EAAE,MAAM;AAAA,QAET;AAAA;AAAA;AAAA,EACH;AAEJ,CAAC;;;AG9DD,SAAS,MAAAJ,WAAU;AACnB,YAAYU,YAAW;;;ACArB,SAME,OAAAN,MANF,QAAAC,aAAA;AADK,IAAM,YAAY,MACvB,gBAAAA;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,OAAM;AAAA,IACN,SAAQ;AAAA,IAER;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,IAAG;AAAA,UACH,IAAG;AAAA,UACH,IAAG;AAAA,UACH,MAAK;AAAA;AAAA,MACP;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAS;AAAA,UACT,UAAS;AAAA,UACT,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MACP;AAAA;AAAA;AACF;;;AC7BF,YAAYM,YAAW;;;ACAhB,SAAS,WAAW,KAA6B;AACtD,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI;AACF,QAAI,IAAI,GAAa;AACrB,WAAO;AAAA,EACT,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEO,SAAS,UAAU,KAA6B;AACrD,MAAI,CAAC,WAAW,GAAG,GAAG;AACpB,WAAO;AAAA,EACT;AAEA,SAAO,IAAI,IAAI,GAAG,EAAE,aAAa;AACnC;AAEA,IAAM,wBAAwB,CAAC,0BAA0B,+BAA+B,2BAA2B;AAE5G,IAAM,eAAe,CAAC,QAA0B;AACrD,SAAO,CAAC,CAAC,sBAAsB,KAAK,UAAQ,2BAAK,SAAS,KAAK;AACjE;;;ACvBO,IAAM,iBAAiB,CAAC,EAAE,KAAK,MAAM,MAAuC;AACjF,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,SAAO,YAAY,EAAE,KAAK,MAAa,CAAC;AAC1C;AAEO,IAAM,cAAc,CAAC,EAAE,KAAK,MAAM,MAAuC;AAC9E,MAAI,CAAC,WAAW,GAAG,KAAK,UAAU,GAAG,GAAG;AACtC,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,IAAI,IAAI,GAAG;AAC1B,MAAI,OAAO;AACT,WAAO,aAAa,OAAO,SAAS,+BAAO,UAAU;AAAA,EACvD;AAEA,SAAO,OAAO;AAChB;;;AFKI,gBAAAN,YAAA;AAdJ,IAAM,mBAAmB;AAElB,IAAM,QAAc,kBAAW,SAASS,OAC7C;AAAA,EACE;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,GAGA,cACA;AACA,QAAM,iBAAiB,aAAa,GAAG;AACvC,SACE,gBAAAT;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,cAAW;AAAA,MACX,aAAY;AAAA,MACZ,QAAQ,iBAAiB,eAAe,EAAE,KAAK,OAAO,KAAK,CAAC,IAAI;AAAA,MAChE,KAAK,iBAAiB,YAAY,EAAE,KAAK,OAAO,OAAO,EAAE,CAAC,IAAI;AAAA,MAC9D,KAAK,MAAM;AAAA,MACV,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;;;AFmBM,SAmBK,OAAAA,MAnBL,QAAAC,aAAA;AAvCP,IAAM,qBAAqB;AAM3B,IAAM,sBAAsB;AAAA,EAC1B,UAAU;AAAA,IACR,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,GAAG;AAAA,EACZ;AACF;AACA,IAAM,sBAAsB;AAAA,EAC1B,UAAU;AAAA,IACR,WAAW;AAAA,EACb;AAAA,EACA,iBAAiB;AAAA,IACf,WAAW;AAAA,EACb;AAAA,EACA,eAAe;AAAA,IACb,WAAW;AAAA,EACb;AACF;AAEO,IAAM,OAA4F;AAAA,EACvG,SAAS,SACP,EAAE,IAAI,QAAQ,UAAU,GAAG,MAAM,GACjC,cACA;AACA,UAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,UAAM,UAA6B,MAAM;AACzC,UAAM,sBAAsB,iBAAiB,UAAU,UAAU;AACjE,UAAM,6BAA6B,iBAAiB,UAAU,iBAAiB;AAC/E,WACG,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACA,KAAK;AAAA,QACJ,GAAG;AAAA,QACJ,WAAWL;AAAA,UACT,oBAAoB;AAAA,UACpB,SACI;AAAA,YACE;AAAA,YACA;AAAA,UACF,IACA,2BAA2B;AAAA,QACjC;AAAA,QAEC;AAAA,oBACC,gBAAAI;AAAA,YAAC;AAAA;AAAA,cACC,WAAWJ;AAAA,gBACT;AAAA,cACF;AAAA,cAEA,0BAAAI;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAWJ;AAAA,oBACT;AAAA,kBACF;AAAA,kBACC,GAAG;AAAA,kBAEH;AAAA;AAAA,cACH;AAAA;AAAA,UACF;AAAA,UAED,YAAY,gBAAAI,KAAC,SAAK,GAAG,iBAAiB,SAAS,aAAa,GAAI,UAAS;AAAA;AAAA;AAAA,IAC5E;AAAA,EAEJ;AACF;AAOA,IAAM,yBAAyB;AAAA,EAC7B,aAAa;AAAA,IACX,WAAW;AAAA,EACb;AACF;AACA,IAAM,yBAAyB;AAAA,EAC7B,aAAa;AAAA,IACX,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF,EAAE,KAAK,GAAG;AAAA,EACZ;AACF;AAEO,IAAM,UAAgB,kBAAiE,SAAS,YACrG,EAAE,UAAU,WAAW,GAAG,MAAM,GAChC,cACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACH,GAAG,iBAAiB,SAAS,WAAW;AAAA,MAExC;AAAA;AAAA,EACH;AAEJ,CAAC;AAOD,IAAM,wBAAwB;AAAA,EAC5B,YAAY;AAAA,IACV,WAAW;AAAA,EACb;AACF;AAGA,IAAM,wBAAwB,CAAC;AAExB,IAAM,SAAe,kBAAiE,SAAS,WACpG,EAAE,UAAU,WAAW,GAAG,MAAM,GAChC,cACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACH,GAAG,iBAAiB,SAAS,UAAU;AAAA,MAEvC;AAAA;AAAA,EACH;AAEJ,CAAC;AAOD,IAAM,sBAAsB;AAAA,EAC1B,aAAa;AAAA,IACX,WAAW;AAAA,EACb;AAAA,EACA,cAAc;AAAA,IACZ,WAAW;AAAA,EACb;AAAA,EACA,eAAe;AAAA,IACb,WAAW;AAAA,EACb;AACF;AAGA,IAAM,sBAAsB,CAAC;AAEtB,IAAM,OAAa,kBAAW,SAAS,SAC5C;AAAA,EACE;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAGA,cACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,QAAM,MACJ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAM;AAAA,MACL,GAAG;AAAA,MACH,GAAG,iBAAiB,SAAS,aAAa;AAAA;AAAA,EAC7C;AAEF,SACE,gBAAAA,KAAC,SAAK,GAAG,iBAAiB,SAAS,WAAW,GAC3C,iBACC,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACC,GAAG,iBAAiB,SAAS,YAAY;AAAA,MAEzC;AAAA;AAAA,EACH,IAEA,KAEJ;AAEJ,CAAC;AAQD,IAAM,uBAAuB,CAAC;AAC9B,IAAM,uBAAuB;AAAA,EAC3B,WAAW;AAAA,IACT,WAAW;AAAA,EACb;AACF;AAEO,IAAM,QAAc,kBAAyE,SAAS,UAC3G,EAAE,UAAU,WAAW,GAAG,MAAM,GAChC,cACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACH,GAAG,iBAAiB,SAAS,SAAS;AAAA,MAEtC;AAAA;AAAA,EACH;AAEJ,CAAC;AAQD,IAAM,6BAA6B,CAAC;AACpC,IAAM,6BAA6B;AAAA,EACjC,iBAAiB;AAAA,IACf,WAAW;AAAA,EACb;AACF;AAEO,IAAM,cAAoB;AAAA,EAC/B,SAAS,gBAAgB,EAAE,UAAU,WAAW,GAAG,MAAM,GAAG,cAAc;AACxE,UAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACJ,GAAG;AAAA,QACH,GAAG,iBAAiB,SAAS,eAAe;AAAA,QAE5C;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAOA,IAAM,sBAAsB;AAAA,EAC1B,UAAU;AAAA,IACR,WAAW;AAAA,EACb;AACF;AAGA,IAAM,sBAAsB,CAAC;AAEtB,IAAM,OAAa,kBAAiE,SAAS,SAClG,EAAE,UAAU,WAAW,GAAG,MAAM,GAChC,cACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AAErC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACH,GAAG,iBAAiB,SAAS,QAAQ;AAAA,MAErC;AAAA;AAAA,EACH;AAEJ,CAAC;AAOD,IAAM,yBAAyB;AAAA,EAC7B,aAAa;AAAA,IACX,WAAW;AAAA,MACT;AAAA;AAAA;AAAA;AAAA,MAIA;AAAA,IACF,EAAE,KAAK,GAAG;AAAA,EACZ;AACF;AAGA,IAAM,yBAAyB,CAAC;AAEzB,IAAM,UAAgB,kBAAiE,SAAS,YACrG,EAAE,UAAU,WAAW,GAAG,MAAM,GAChC,cACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AAErC,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACH,GAAG,iBAAiB,SAAS,WAAW;AAAA,MAExC;AAAA;AAAA,EACH;AAEJ,CAAC;AAOD,IAAM,wBAAwB;AAAA,EAC5B,YAAY;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EACA,kBAAkB;AAAA,IAChB,WAAW;AAAA,EACb;AACF;AACA,IAAM,wBAAwB;AAAA,EAC5B,kBAAkB;AAAA,IAChB,WAAW;AAAA,EACb;AAAA,EACA,sBAAsB;AAAA,IACpB,WAAW;AAAA,EACb;AAAA,EACA,sBAAsB;AAAA,IACpB,WACE;AAAA,EACJ;AAAA,EACA,wBAAwB;AAAA,IACtB,WACE;AAAA,EACJ;AAAA,EACA,0BAA0B;AAAA,IACxB,WAAW;AAAA,EACb;AACF;AAEO,IAAM,SAAe,kBAAW,SAAS,WAC9C;AAAA,EACE,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAMA,cACA;AACA,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,QAAM,eAAe,eAAe,kBAAkB;AACtD,QAAM,eAAe,WAAW,gBAAgB;AAChD,QAAM,kBAAkB,WAAW;AACnC,QAAM,0BAA0B,WAAW;AAE3C,SAAO,eACL,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACH,GAAG,iBAAiB,SAAS,UAAU;AAAA,MAEvC;AAAA;AAAA,QAEA,kBACC,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAWL,IAAG,eAAe,0BAA0B,gBAAgB,aAAa;AAAA,YAEnF;AAAA,wBACC,gBAAAK;AAAA,gBAAC;AAAA;AAAA,kBAGC,WAAU;AAAA,kBACX;AAAA;AAAA,oBACY;AAAA,oBACX,gBAAAD;AAAA,sBAAC;AAAA;AAAA,wBACC,cAAW;AAAA,wBACX,MAAK;AAAA,wBACL,QAAO;AAAA,wBACP,KAAI;AAAA,wBACJ,WAAU;AAAA,wBAEV,0BAAAA,KAAC,aAAU;AAAA;AAAA,oBACb;AAAA;AAAA;AAAA,cACF,IACE;AAAA,cAEH,eACC,gBAAAC,MAAC,SAAI,WAAU,eACZ;AAAA,8BAAc,gBAAAD,KAAC,kBAAe,MAAM,aAAa,kBAAI,IAAoB;AAAA,gBACzE,iBAAiB,gBAAAA,KAAC,kBAAe,MAAM,gBAAgB,qBAAO,IAAoB;AAAA,gBAClF,eAAe,gBAAAA,KAAC,kBAAe,MAAM,cAAc,mBAAK,IAAoB;AAAA,iBAC/E,IACE;AAAA;AAAA;AAAA,QACN,IACE;AAAA;AAAA;AAAA,EACN,IACE;AACN,CAAC;AAEM,IAAM,eAAqB;AAAA,EAChC,SAAS,iBAAiB,EAAE,UAAU,WAAW,GAAG,MAAM,GAAG,cAAc;AACzE,UAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACJ,GAAG;AAAA,QACH,GAAG,iBAAiB,SAAS,gBAAgB;AAAA,QAE7C;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEO,IAAM,mBAAyB;AAAA,EACpC,SAAS,qBAAqB,EAAE,UAAU,WAAW,GAAG,MAAM,GAAG,cAAc;AAC7E,UAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACJ,GAAG;AAAA,QACH,GAAG,iBAAiB,SAAS,oBAAoB;AAAA,QAEjD;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEO,IAAM,qBAA2B;AAAA,EACtC,SAAS,uBAAuB,EAAE,UAAU,WAAW,OAAO,UAAU,GAAG,MAAM,GAAG,cAAc;AAChG,UAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QAEL;AAAA,QACC,GAAG;AAAA,QACH,GAAG,iBAAiB,SAAS,sBAAsB;AAAA,QAEnD;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEO,IAAM,mBAAyB;AAAA,EACpC,SAAS,qBAAqB,EAAE,UAAU,WAAW,GAAG,MAAM,GAAG,cAAc;AAC7E,UAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACJ,GAAG;AAAA,QACH,GAAG,iBAAiB,SAAS,oBAAoB;AAAA,QAEjD;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,IAAM,iBAAuB;AAAA,EAC3B,SAAS,mBAAmB,EAAE,UAAU,WAAW,GAAG,MAAM,GAAG,cAAc;AAC3E,UAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACJ,GAAG;AAAA,QACJ,QAAO;AAAA,QACP,KAAI;AAAA,QACH,GAAG,iBAAiB,SAAS,wBAAwB;AAAA,QAErD;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEO,IAAME,eAAc;AAAA,EACzB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEO,IAAMC,eAAc;AAAA,EACzB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;;;AK7hBA,YAAYG,YAAW;AA6BnB,gBAAAN,aAAA;AApBG,IAAME,eAAc;AAAA,EACzB,WAAW;AAAA,IACT,WAAW;AAAA,EACb;AACF;AAEO,IAAMC,eAAc;AAAA,EACzB,WAAW;AAAA,IACT,WAAW;AAAA,EACb;AACF;AAEO,IAAM,YAAkB,kBAK7B,SAASO,WAAU,EAAE,UAAU,aAAa,GAAG,MAAM,GAAG,cAAc;AACtE,QAAM,EAAE,SAAS,IAAI,cAAc,EAAE;AACrC,SACE,gBAAAV;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACJ,GAAG;AAAA,MACH,GAAG,iBAAiB,SAAS,WAAW,GAAI,oCAAe,CAAC,CAAE;AAAA,MAE9D;AAAA;AAAA,EACH;AAEJ,CAAC;;;ACrCD,SAAS,iBAAqC,sBAAyC;AAEhF,IAAM,cAAc;AAAA;AAAA,EAEzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG,CAAC,GAAG,iBAAiB,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE,SAAS,MAAM,qBAAqB,QAAQ,EAAE;AAAA;AAAA,EAGhG;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AClDO,SAAS,WAAW,GAAiC;AAC1D,QAAM,QAAiC,CAAC;AAGxC,cAAY,QAAQ,gBAAc;AAChC,UAAM,UAAU,IAAI;AAAA,MAClB,YAAY,MAAM,UAAU;AAAA,MAC5B,WAAW;AAAA,MACX,OAAO,CAAC;AAAA,IACV;AAAA,EACF,CAAC;AAED,aAAW,cAAc,GAAG;AAC1B,UAAM,MAAM;AAEZ,QAAI,EAAE,GAAG,GAAG;AACV,UAAI,EAAE,OAAO,QAAQ;AACnB,gBAAQ,KAAK,8BAA8B,UAAU,EAAE;AACvD;AAAA,MACF;AAGA,YAAM,EAAE,WAAW,MAAM,IAAI,EAAE,GAAG;AAClC,UAAI,WAAW;AACb,cAAM,GAAG,EAAG,YAAY;AAAA,MAC1B;AAEA,UAAI,OAAO;AACT,cAAM,GAAG,EAAG,QAAQ;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAGA,SAAO;AACT;AAKO,SAAS,WAAW,GAAmB,GAAmC;AAC/E,QAAM,cAAc,EAAE,GAAG,EAAE;AAE3B,aAAW,KAAK,aAAa;AAC3B,UAAM,aAAa;AACnB,gBAAY,UAAU,EAAE,YAAY,CAAC,YAAY,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,GAAG;AACzG,gBAAY,UAAU,EAAE,QAAQ,EAAE,GAAG,YAAY,UAAU,EAAE,OAAO,GAAG,EAAE,UAAU,EAAE,MAAM;AAAA,EAC7F;AAEA,SAAO;AACT;AAEA,IAAI,QAAoB;AACtB,QAAM,EAAE,IAAI,QAAQ,SAAS,IAAI;AAEjC,WAAS,cAAc,MAAM;AAC3B,OAAG,8CAA8C,MAAM;AACrD,YAAM,QAAQ,WAAW,CAAC,CAAC;AAC3B,aAAO,OAAO,KAAK,KAAK,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,WAAW,EAAE,KAAK,CAAC;AAEvE,iBAAW,CAAC,GAAG,CAAC,KAAK,OAAO,QAAQ,KAAK,GAAG;AAC1C,eAAO,EAAE,UAAU,EAAE,QAAQ,MAAM,CAAC,EAAE;AACtC,eAAO,EAAE,SAAS,EAAE,QAAQ,EAAE;AAC9B,eAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAAA,MAClC;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;;;AChEO,IAAM,cAAc,WAAW;AAAA,EACpC,GAAGE;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAG;AACL,CAAC;;;ACND,IAAM,cAAc,WAAW;AAAA,EAC7B,GAAGC;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAG;AACL,CAAC;AACM,IAAM,YAAY,WAAW,aAAa,WAAW;;;AtByPnD,gBAAAH,aAAA;AAhKF,SAAS,oBAAoB,aAAgE;AAClG,SAAO,YAAY;AAAA,IACjB,CAAC,KAAK,OAAO;AACX,UAAI,OAAO,OAAO,WAAW;AAC3B,eAAO;AAAA,MACT;AACA,UAAI,YAAY,CAAC,GAAG,YAAY,IAAI,WAAW,GAAG,SAAS,EAAE,KAAK,GAAG;AACrE,UAAI,QAAQ,EAAE,GAAG,IAAI,OAAO,GAAG,GAAG,MAAM;AACxC,aAAO;AAAA,IACT;AAAA,IACA,EAAE,WAAW,IAAI,OAAO,CAAC,EAAE;AAAA,EAC7B;AACF;AAEA,SAAS,8BACP,GACA,GAC0B;AAC1B,MAAI;AACJ,MAAI,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;AAClD,aAAS,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG;AAAA,EAC1B,WAAW,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;AACzD,aAAS,EAAE,GAAG,EAAE;AAChB,WAAO,YAAY,CAAC,OAAO,WAAW,CAAC,EAAE,KAAK,GAAG;AAAA,EACnD,WAAW,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;AACzD,aAAS,EAAE,GAAG,EAAE;AAChB,WAAO,YAAY,CAAC,OAAO,WAAW,CAAC,EAAE,KAAK,GAAG;AAAA,EACnD,WAAW,OAAO,MAAM,YAAY,OAAO,MAAM,UAAU;AACzD,aAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AACA,QAAI,EAAE,aAAa,EAAE,WAAW;AAC9B,aAAO,YAAY,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,IACxE;AAAA,EACF;AAEA,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,MAAM,8CAA8C,KAAK,UAAU,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,EAAE;AAAA,EAC5G;AAEA,SAAO;AACT;AAEA,SAAS,gBAAgB,GAAkC,GAAqD;AAC9G,MAAI,CAAC,KAAK,CAAC,GAAG;AACZ,WAAO;AAAA,EACT;AACA,MAAI,CAAC,GAAG;AACN,WAAO;AAAA,EACT;AACA,MAAI,CAAC,GAAG;AACN,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,EAAE,QAAQ,EAAE;AAE/D,MAAI,EAAE,OAAO;AACX,WAAO,QAAQ,EAAE;AAAA,EACnB;AAEA,MAAI,CAAC,OAAO,YAAY,EAAE,UAAU;AAClC,WAAO,WAAW,EAAE,GAAG,EAAE,SAAS;AAAA,EACpC,WAAW,OAAO,YAAY,EAAE,UAAU;AACxC,WAAO,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,MAAM,MAAM;AACxD,YAAM,KAAK;AACX,UAAI,MAAM,OAAO,UAAW;AAE1B,eAAO,SAAU,EAAE,IAAI,8BAA8B,OAAO,SAAU,EAAE,GAAI,MAAO;AAAA,MACrF,OAAO;AACL,eAAO,SAAU,EAAE,IAAI;AAAA,MACzB;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAEA,SAAS,WAAW,OAAmC,YAAiD;AACtG,QAAM,YAAY,wBAAS;AAC3B,MAAI,CAAC,YAAY;AACf,WAAO,EAAE,OAAO,WAAW,UAAU,gBAAgB,SAAS,GAAG,SAAS,kBAAkB,QAAQ;AAAA,EACtG;AAEA,QAAM,SAAS;AAAA,IACb,OAAO;AAAA;AAAA;AAAA,IAGP,UAAU,gBAAgB,SAAS;AAAA,IACnC,SAAS,EAAE,GAAG,kBAAkB,SAAS,GAAG,WAAW,QAAQ;AAAA,EACjE;AAEA,MAAI,WAAW,UAAU;AACvB,WAAO,QAAQ,WAAW,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,MAAM,MAAM;AACjE,YAAM,KAAK;AACX,UAAI,MAAM,WAAW,UAAW;AAC9B,YAAI,OAAO,WAAW,UAAU;AAC9B,iBAAO,SAAS,EAAE,EAAE,YAAY,CAAC,OAAO,SAAS,EAAE,EAAE,WAAW,MAAM,EAAE,KAAK,GAAG;AAAA,QAClF,OAAO;AAEL,gBAAM,EAAE,WAAW,GAAG,MAAM,IAAI;AAChC,cAAI,WAAW;AACb,mBAAO,SAAS,EAAE,EAAE,YAAY,CAAC,OAAO,SAAS,EAAE,EAAE,WAAW,SAAS,EAAE,KAAK,GAAG;AAAA,UACrF;AACA,iBAAO,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,SAAS,EAAE,EAAE,OAAO,GAAG,MAAM;AAAA,QACvE;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;AAEO,IAAM,oBAAsC;AAAA,EACjD,OAAO;AAAA,EACP,UAAU;AAAA,EACV,SAAS;AAAA,IACP,gBAAgB;AAAA,IAChB,wBAAwB;AAAA,IACxB,sBAAsB;AAAA,IACtB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,uCAAuC;AAAA,EACzC;AACF;AAEA,IAAM,CAAC,mBAAmB,eAAe,oBAAoB,IAC3D,qBAA6C,mBAAmB;AAUlE,IAAM,qBAAqB,CAAC,UAAmC;AAG7D,QAAM;AAAA,IACJ,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,OAAO;AAAA,EACT,IAAI,qBAAqB;AAEzB,QAAM,WAAW,iBAAiB,MAAM;AAnQ1C;AAoQI,UAAM,SAAQ,WAAM,UAAN,YAAe;AAC7B,UAAM,sBAAsB,gBAAgB,2BAA2B,MAAM,UAAU;AACvF,UAAM,mBAAmB,WAAW,OAAO,mBAAmB;AAE9D,WAAO,EAAE,OAAO,EAAE,kBAAkB,qBAAqB,QAAO,WAAM,UAAN,YAAe,YAAY,EAAE;AAAA,EAC/F,GAAG,CAAC,MAAM,YAAY,MAAM,OAAO,kBAAkB,2BAA2B,WAAW,CAAC;AAE5F,SAAO,gBAAAA,MAAC,kBAAkB,UAAlB,EAA2B,OAAO,UAAW,gBAAM,UAAS;AACtE;AAIA,IAAI,QAAoB;AACtB,QAAM,EAAE,IAAI,QAAQ,SAAS,IAAI;AAEjC,WAAS,mBAAmB,MAAM;AAChC,OAAG,sCAAsC,MAAM;AAC7C,YAAM,IAAI,EAAE,UAAU,EAAE,gBAAgB,oBAAoB,EAAE;AAC9D,YAAM,IAAI,EAAE,UAAU,EAAE,WAAW,oBAAoB,EAAE;AACzD,aAAO,gBAAgB,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QAC1C,SAAS,CAAC;AAAA,QACV,UAAU;AAAA,UACR,gBAAgB;AAAA,UAChB,WAAW;AAAA,QACb;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,OAAG,0BAA0B,MAAM;AACjC,YAAM,IAAI,EAAE,OAAO,WAAW,UAAU,EAAE,gBAAgB,oBAAoB,EAAE;AAChF,YAAM,IAAI;AAAA,QACR,UAAU,EAAE,WAAW,oBAAoB;AAAA,MAC7C;AACA,aAAO,gBAAgB,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QAC1C,SAAS,CAAC;AAAA,QACV,OAAO,EAAE;AAAA,QACT,UAAU;AAAA,UACR,gBAAgB;AAAA,UAChB,WAAW;AAAA,QACb;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,OAAG,4BAA4B,MAAM;AACnC,YAAM,IAAI,EAAE,OAAO,WAAW,UAAU,EAAE,gBAAgB,oBAAoB,EAAE;AAChF,YAAM,IAAI;AAAA,QACR,OAAO,EAAE,GAAG,WAAW,WAAW,EAAE,YAAY,QAAQ,WAAW,iBAAiB,OAAO,CAAC,EAAE,EAAE;AAAA,QAChG,UAAU,EAAE,WAAW,oBAAoB;AAAA,MAC7C;AACA,aAAO,gBAAgB,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QAC1C,SAAS,CAAC;AAAA,QACV,OAAO,EAAE;AAAA,QACT,UAAU;AAAA,UACR,gBAAgB;AAAA,UAChB,WAAW;AAAA,QACb;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,OAAG,6CAA6C,MAAM;AACpD,YAAM,IAAI,EAAE,UAAU,EAAE,gBAAgB,oBAAoB,EAAE;AAC9D,YAAM,IAAI,EAAE,UAAU,EAAE,gBAAgB,oBAAoB,EAAE;AAC9D,aAAO,gBAAgB,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QAC1C,SAAS,CAAC;AAAA,QACV,UAAU;AAAA,UACR,gBAAgB;AAAA,QAClB;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,OAAG,6CAA6C,MAAM;AACpD,YAAM,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,SAAS,EAAE,EAAE;AACnE,YAAM,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,MAAM,EAAE,EAAE;AAC3D,aAAO,gBAAgB,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QAC1C,SAAS,CAAC;AAAA,QACV,UAAU;AAAA,UACR,gBAAgB,EAAE,OAAO,OAAO,YAAY,SAAS;AAAA,QACvD;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,OAAG,mCAAmC,MAAM;AAC1C,YAAM,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,SAAS,EAAE,EAAE;AACnE,YAAM,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,MAAM,EAAE,EAAE;AAChE,aAAO,gBAAgB,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QAC1C,SAAS,CAAC;AAAA,QACV,UAAU;AAAA,UACR,gBAAgB,EAAE,YAAY,MAAM;AAAA,QACtC;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AAED,WAAS,iCAAiC,MAAM;AAC9C,OAAG,sBAAsB,MAAM;AAC7B,YAAM,IAAI;AACV,YAAM,IAAI;AACV,aAAO,8BAA8B,GAAG,CAAC,CAAC,EAAE,KAAK,qCAAqC;AAAA,IACxF,CAAC;AAED,OAAG,iCAAiC,MAAM;AACxC,YAAM,IAAI;AACV,YAAM,IAAI,EAAE,WAAW,oBAAoB;AAC3C,aAAO,8BAA8B,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,sCAAsC,CAAC;AAAA,IAChH,CAAC;AAED,OAAG,iCAAiC,MAAM;AACxC,YAAM,IAAI,EAAE,WAAW,oBAAoB;AAC3C,YAAM,IAAI;AACV,aAAO,8BAA8B,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,sCAAsC,CAAC;AAAA,IAChH,CAAC;AAED,OAAG,sBAAsB,MAAM;AAC7B,YAAM,IAAI,EAAE,WAAW,oBAAoB;AAC3C,YAAM,IAAI,EAAE,WAAW,oBAAoB;AAC3C,aAAO,8BAA8B,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,sCAAsC,CAAC;AAAA,IAChH,CAAC;AAED,OAAG,4CAA4C,MAAM;AACnD,YAAM,IAAI;AACV,YAAM,IAAI,EAAE,WAAW,qBAAqB,iBAAiB,SAAS;AACtE,aAAO,8BAA8B,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QACxD,WAAW;AAAA,QACX,iBAAiB;AAAA,MACnB,CAAC;AAAA,IACH,CAAC;AAED,OAAG,kCAAkC,MAAM;AACzC,YAAM,IAAI,EAAE,WAAW,qBAAqB,OAAO,MAAM;AACzD,YAAM,IAAI,EAAE,WAAW,qBAAqB,iBAAiB,SAAS;AACtE,aAAO,8BAA8B,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QACxD,WAAW;AAAA,QACX,OAAO;AAAA,QACP,iBAAiB;AAAA,MACnB,CAAC;AAAA,IACH,CAAC;AAED,OAAG,4CAA4C,MAAM;AACnD,YAAM,IAAI,EAAE,OAAO,MAAM;AACzB,YAAM,IAAI,EAAE,iBAAiB,SAAS;AACtC,aAAO,8BAA8B,GAAG,CAAC,CAAC,EAAE,cAAc;AAAA,QACxD,OAAO;AAAA,QACP,iBAAiB;AAAA,MACnB,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AAED,WAAS,cAAc,MAAM;AAC3B,OAAG,8BAA8B,MAAM;AACrC,YAAM,aAAa;AAAA,QACjB,UAAU;AAAA,UACR,gBAAgB;AAAA,QAClB;AAAA,MACF;AACA,YAAM,QAAQ;AAAA,QACZ,GAAG;AAAA,QACH,gBAAgB,EAAE,YAAY,QAAQ,WAAW,iBAAiB,OAAO,EAAE,OAAO,MAAM,EAAE;AAAA,MAC5F;AACA,aAAO,WAAW,OAAO,UAAU,CAAC,EAAE,cAAc;AAAA,QAClD;AAAA,QACA,SAAS,kBAAkB;AAAA,QAC3B,UAAU;AAAA,UACR,GAAG;AAAA,UACH,gBAAgB;AAAA,YACd,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,OAAO,EAAE,OAAO,MAAM;AAAA,UACxB;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH","sourcesContent":["import { createContextAndHook, useDeepEqualMemo } from '@clerk/shared/react';\nimport type { Appearance as CurrentAppearance, Layout as CurrentLayout } from '@clerk/types';\nimport React from 'react';\n\nimport type { DescriptorIdentifier } from '~/descriptors';\nimport { fullTheme } from '~/themes';\n\n/**\n * The final resulting descriptor that gets passed to mergeDescriptors and spread on the element.\n */\nexport type ParsedDescriptor = { descriptor: string; className: string; style: React.CSSProperties };\n\n/**\n * The authoring format value type for styles written within a component. Essentially { className?: string, style?: CSSProperties }\n */\nexport type PartialDescriptor = Omit<Partial<ParsedDescriptor>, 'descriptor'>;\n\n/**\n * A full theme generated from merging ParsedElementsFragments. Has entries for each descriptor, but they're not complete.\n */\nexport type PartialTheme = Partial<Record<DescriptorIdentifier, PartialDescriptor>>;\n\n/**\n * A subset of a partial theme. This is the type used when authoring style objects within a component.\n */\nexport type ParsedElementsFragment = Partial<PartialTheme>;\n\n/**\n * A full theme, complete with descriptors. This is the value returned from useAppearance().parsedAppearance, and is\n * the main type interacted with within components.\n */\nexport type ParsedElements = Record<DescriptorIdentifier, ParsedDescriptor>;\nexport type ParsedOptions = Omit<CurrentLayout, 'logoPlacement'> & {\n logoVisibility?: 'visible' | 'hidden';\n};\n\ntype ElementsAppearanceConfig = string | (React.CSSProperties & { className?: string });\n\nexport type Appearance = Omit<CurrentAppearance, 'elements' | 'baseTheme' | 'layout'> & {\n theme?: ParsedElements;\n elements?: Partial<Record<DescriptorIdentifier, ElementsAppearanceConfig>>;\n options?: ParsedOptions;\n};\n\nexport type AppearanceCascade = {\n globalAppearance?: ParsedAppearance;\n appearance?: Appearance;\n};\n\n/**\n * The generated appearance calculated from defaults and user-provided values. This is the type used to access computed\n * appearance values, and as such will always have a value for a given key.\n */\nexport type ParsedAppearance = {\n theme: ParsedElements;\n elements: ParsedElements;\n options: ParsedOptions;\n};\n\ntype AppearanceContextValue = {\n /**\n * The calculated appearance value based on the provided `appearance` and `globalAppearance`.\n *\n * Example:\n * ```tsx\n * function Help() {\n * const { options } = useAppearance().parsedAppearance;\n * return <p>{options.helpPageUrl}</p>\n * }\n * ```\n */\n parsedAppearance: ParsedAppearance;\n themelessAppearance: Appearance | null;\n theme?: ParsedElements;\n};\n\n/**\n * Used to merge full themes with ParsedElementsFragments. Allows you to combine optionsStyle with multiple visualStyle\n * elements.\n */\nexport function mergeParsedElementsFragment(...fragments: ParsedElementsFragment[]): ParsedElementsFragment {\n const acc: ParsedElementsFragment = {};\n\n fragments.forEach(fragment => {\n for (const k in fragment) {\n const key = k as keyof ParsedElementsFragment;\n if (key in acc) {\n acc[key]!.className = [acc[key]?.className, fragment[key]?.className].join(' ');\n acc[key]!.style = {\n ...acc[key]!.style,\n ...fragment[key]?.style,\n };\n } else {\n acc[key] = {\n className: fragment[key]?.className,\n style: fragment[key]?.style,\n };\n }\n }\n });\n\n return acc;\n}\n\n/**\n * Used within components to merge multiple descriptors onto a single element. Result is directly spread onto the element.\n */\nexport function mergeDescriptors(...descriptors: (ParsedDescriptor | boolean)[]): PartialDescriptor {\n return descriptors.reduce<PartialDescriptor>(\n (acc, el) => {\n if (typeof el === 'boolean') {\n return acc;\n }\n acc.className = [el.descriptor, acc.className, el.className].join(' ');\n acc.style = { ...acc.style, ...el.style };\n return acc;\n },\n { className: '', style: {} },\n );\n}\n\nfunction mergeElementsAppearanceConfig(\n a: ElementsAppearanceConfig,\n b: ElementsAppearanceConfig,\n): ElementsAppearanceConfig {\n let result: ElementsAppearanceConfig | undefined;\n if (typeof a === 'string' && typeof b === 'string') {\n result = [a, b].join(' ');\n } else if (typeof a === 'string' && typeof b === 'object') {\n result = { ...b };\n result.className = [result.className, a].join(' ');\n } else if (typeof a === 'object' && typeof b === 'string') {\n result = { ...a };\n result.className = [result.className, b].join(' ');\n } else if (typeof a === 'object' && typeof b === 'object') {\n result = {\n ...a,\n ...b,\n };\n if (a.className || b.className) {\n result.className = [a.className, b.className].filter(Boolean).join(' ');\n }\n }\n\n if (!result) {\n throw new Error(`Unable to merge ElementsAppearanceConfigs: ${JSON.stringify(a)} and ${JSON.stringify(b)}`);\n }\n\n return result;\n}\n\nfunction mergeAppearance(a: Appearance | null | undefined, b: Appearance | null | undefined): Appearance | null {\n if (!a && !b) {\n return null;\n }\n if (!a) {\n return b!;\n }\n if (!b) {\n return a;\n }\n\n const result = { ...a, options: { ...a.options, ...b.options } }; // Ensure options are merged\n\n if (b.theme) {\n result.theme = b.theme;\n }\n\n if (!result.elements && b.elements) {\n result.elements = { ...b.elements };\n } else if (result.elements && b.elements) {\n Object.entries(b.elements).forEach(([element, config]) => {\n const el = element as DescriptorIdentifier;\n if (el in result.elements!) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n result.elements![el] = mergeElementsAppearanceConfig(result.elements![el]!, config!);\n } else {\n result.elements![el] = config;\n }\n });\n }\n\n return result;\n}\n\nfunction applyTheme(theme: ParsedElements | undefined, appearance: Appearance | null): ParsedAppearance {\n const baseTheme = theme ?? fullTheme;\n if (!appearance) {\n return { theme: baseTheme, elements: structuredClone(baseTheme), options: defaultAppearance.options };\n }\n\n const result = {\n theme: baseTheme,\n // because we're going to perform modifications to deeply nested objects, we need to create a structuredClone of\n // the theme or else subsequent usage of the baseTheme will contain our merged changes.\n elements: structuredClone(baseTheme),\n options: { ...defaultAppearance.options, ...appearance.options },\n };\n\n if (appearance.elements) {\n Object.entries(appearance.elements).forEach(([element, config]) => {\n const el = element as DescriptorIdentifier;\n if (el in appearance.elements!) {\n if (typeof config === 'string') {\n result.elements[el].className = [result.elements[el].className, config].join(' ');\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const { className, ...style } = config!;\n if (className) {\n result.elements[el].className = [result.elements[el].className, className].join(' ');\n }\n result.elements[el].style = { ...result.elements[el].style, ...style };\n }\n }\n });\n }\n\n return result;\n}\n\nexport const defaultAppearance: ParsedAppearance = {\n theme: fullTheme,\n elements: fullTheme,\n options: {\n logoVisibility: 'visible',\n socialButtonsPlacement: 'top',\n socialButtonsVariant: 'auto',\n logoImageUrl: '',\n logoLinkUrl: '',\n showOptionalFields: true,\n helpPageUrl: '',\n privacyPageUrl: '',\n termsPageUrl: '',\n shimmer: true,\n animations: true,\n unsafe_disableDevelopmentModeWarnings: false,\n },\n};\n\nconst [AppearanceContext, useAppearance, usePartialAppearance] =\n createContextAndHook<AppearanceContextValue>('AppearanceContext');\n\ntype AppearanceProviderProps = React.PropsWithChildren<{ appearance?: Appearance; theme?: ParsedElements }>;\n\n/**\n * Used to provide appearance values throughout an application. In typical usage, the entire application will be\n * wrapped in an `AppearanceProvider` to provide global configuration. Each top-level AIO component that accepts an\n * `appearance` prop will wrap its children in `AppearanceProvider`. The provider handles the merging of attributes,\n * and makes them available via the `useAppearance` hook.\n */\nconst AppearanceProvider = (props: AppearanceProviderProps) => {\n // Access the parsedAppearance of the parent context provider. `undefined` if this is the top-most\n // AppearanceProvider.\n const {\n parsedAppearance: globalAppearance,\n themelessAppearance: globalThemelessAppearance,\n theme: globalTheme,\n } = usePartialAppearance();\n\n const ctxValue = useDeepEqualMemo(() => {\n const theme = props.theme ?? globalTheme;\n const themelessAppearance = mergeAppearance(globalThemelessAppearance, props.appearance);\n const parsedAppearance = applyTheme(theme, themelessAppearance);\n\n return { value: { parsedAppearance, themelessAppearance, theme: props.theme ?? globalTheme } };\n }, [props.appearance, props.theme, globalAppearance, globalThemelessAppearance, globalTheme]);\n\n return <AppearanceContext.Provider value={ctxValue}>{props.children}</AppearanceContext.Provider>;\n};\n\nexport { AppearanceProvider, useAppearance };\n\nif (import.meta.vitest) {\n const { it, expect, describe } = import.meta.vitest;\n\n describe('mergeAppearance', () => {\n it('retains keys from both appearances', () => {\n const a = { elements: { alert__warning: 'cl-test-class-one' } };\n const b = { elements: { alertIcon: 'cl-test-class-two' } };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n elements: {\n alert__warning: 'cl-test-class-one',\n alertIcon: 'cl-test-class-two',\n },\n });\n });\n\n it('retains the theme prop', () => {\n const a = { theme: fullTheme, elements: { alert__warning: 'cl-test-class-one' } };\n const b = {\n elements: { alertIcon: 'cl-test-class-two' },\n };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n theme: a.theme,\n elements: {\n alert__warning: 'cl-test-class-one',\n alertIcon: 'cl-test-class-two',\n },\n });\n });\n\n it('overrides the theme prop', () => {\n const a = { theme: fullTheme, elements: { alert__warning: 'cl-test-class-one' } };\n const b = {\n theme: { ...fullTheme, alertIcon: { descriptor: 'test', className: 'cl-test-class', style: {} } },\n elements: { alertIcon: 'cl-test-class-two' },\n };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n theme: b.theme,\n elements: {\n alert__warning: 'cl-test-class-one',\n alertIcon: 'cl-test-class-two',\n },\n });\n });\n\n it('merges string values for the same element', () => {\n const a = { elements: { alert__warning: 'cl-test-class-one' } };\n const b = { elements: { alert__warning: 'cl-test-class-two' } };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n elements: {\n alert__warning: 'cl-test-class-one cl-test-class-two',\n },\n });\n });\n\n it('merges object values for the same element', () => {\n const a = { elements: { alert__warning: { background: 'tomato' } } };\n const b = { elements: { alert__warning: { color: 'red' } } };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n elements: {\n alert__warning: { color: 'red', background: 'tomato' },\n },\n });\n });\n\n it('overrides same style properties', () => {\n const a = { elements: { alert__warning: { background: 'tomato' } } };\n const b = { elements: { alert__warning: { background: 'red' } } };\n expect(mergeAppearance(a, b)).toStrictEqual({\n options: {},\n elements: {\n alert__warning: { background: 'red' },\n },\n });\n });\n });\n\n describe('mergeElementsAppearanceConfig', () => {\n it('merges two strings', () => {\n const a = 'cl-test-class-one';\n const b = 'cl-test-class-two';\n expect(mergeElementsAppearanceConfig(a, b)).toBe('cl-test-class-one cl-test-class-two');\n });\n\n it('merges a string and an object', () => {\n const a = 'cl-test-class-one';\n const b = { className: 'cl-test-class-two' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({ className: 'cl-test-class-two cl-test-class-one' });\n });\n\n it('merges an object and a string', () => {\n const a = { className: 'cl-test-class-one' };\n const b = 'cl-test-class-two';\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({ className: 'cl-test-class-one cl-test-class-two' });\n });\n\n it('merges two objects', () => {\n const a = { className: 'cl-test-class-one' };\n const b = { className: 'cl-test-class-two' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({ className: 'cl-test-class-one cl-test-class-two' });\n });\n\n it('merges a string and an object with style', () => {\n const a = 'cl-test-class-one';\n const b = { className: 'cl-test-class-two', backgroundColor: 'tomato' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({\n className: 'cl-test-class-two cl-test-class-one',\n backgroundColor: 'tomato',\n });\n });\n\n it('merges two objects with styles', () => {\n const a = { className: 'cl-test-class-one', color: 'red' };\n const b = { className: 'cl-test-class-two', backgroundColor: 'tomato' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({\n className: 'cl-test-class-one cl-test-class-two',\n color: 'red',\n backgroundColor: 'tomato',\n });\n });\n\n it('correctly omits className if not present', () => {\n const a = { color: 'red' };\n const b = { backgroundColor: 'tomato' };\n expect(mergeElementsAppearanceConfig(a, b)).toStrictEqual({\n color: 'red',\n backgroundColor: 'tomato',\n });\n });\n });\n\n describe('applyTheme', () => {\n it('adds classNames from theme', () => {\n const appearance = {\n elements: {\n alert__warning: 'cl-test-1',\n },\n };\n const theme = {\n ...fullTheme,\n alert__warning: { descriptor: 'test', className: 'cl-test-class', style: { color: 'red' } },\n };\n expect(applyTheme(theme, appearance)).toStrictEqual({\n theme,\n options: defaultAppearance.options,\n elements: {\n ...fullTheme,\n alert__warning: {\n className: 'cl-test-class cl-test-1',\n descriptor: 'test',\n style: { color: 'red' },\n },\n },\n });\n });\n });\n}\n","import * as Common from '@clerk/elements/common';\nimport * as React from 'react';\n\nimport { useAppearance } from '~/contexts';\nimport { useEnabledConnections } from '~/hooks/use-enabled-connections';\nimport { useLocalizations } from '~/hooks/use-localizations';\nimport { Button } from '~/primitives/button';\nimport { PROVIDERS } from '~/primitives/icons/providers';\nimport { applyDescriptors } from '~/utils/dva';\n\n/**\n * Calculates the number of columns given the total number of items and the maximum columns allowed per row.\n *\n * @param {Object} options\n * @param {number} options.length - The total number of items.\n * @param {number} options.max - The maximum number of columns allowed per row.\n * @returns The calculated number of columns.\n *\n * Example output for item counts from 1 to 24 with `columns: 6`:\n *\n * 1: [ 1 ]\n * 2: [ 1, 2 ]\n * 3: [ 1, 2, 3 ]\n * 4: [ 1, 2, 3, 4 ]\n * 5: [ 1, 2, 3, 4, 5 ]\n * 6: [ 1, 2, 3, 4, 5, 6 ]\n * 7: [ [1, 2, 3, 4], [5, 6, 7] ]\n * 8: [ [1, 2, 3, 4], [5, 6, 7, 8] ]\n * 9: [ [1, 2, 3, 4, 5], [6, 7, 8, 9] ]\n * 10: [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10] ]\n * 11: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11] ]\n * 12: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12] ]\n * 13: [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13] ]\n * 14: [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14] ]\n * 15: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11], [12, 13, 14, 15] ]\n * 16: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16] ]\n * 17: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17] ]\n * 18: [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18] ]\n * 19: [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19] ]\n * 20: [ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20] ]\n * 21: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21] ]\n * 22: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21, 22] ]\n * 23: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23] ]\n * 24: [ [1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18], [19, 20, 21, 22, 23, 24] ]\n *\n * Examples:\n * ```\n * getColumnCount(1); // 1\n * getColumnCount(7); // 4\n * getColumnCount(15); // 6\n * ```\n */\nfunction getColumnCount({ length, max }: Record<'length' | 'max', number>): number {\n const numRows = Math.ceil(length / max);\n return Math.ceil(length / numRows);\n}\n\nexport const layoutStyle = {\n connectionList: {\n className:\n \"cl-519e344c\",\n },\n connectionListItem: {\n className: \"cl-b9a44166\",\n },\n};\n\n// Purposefully left blank to prevent confusion.\nexport const visualStyle = {};\n\nexport function Connections(\n props: { columns?: number } & Pick<React.ComponentProps<typeof Button>, 'disabled' | 'textVisuallyHidden'>,\n) {\n const { t } = useLocalizations();\n const enabledConnections = useEnabledConnections();\n const { options, elements } = useAppearance().parsedAppearance;\n const connectionListDescriptors = applyDescriptors(elements, 'connectionList');\n const hasConnection = enabledConnections.length > 0;\n const textVisuallyHidden =\n typeof props?.textVisuallyHidden !== 'undefined'\n ? props.textVisuallyHidden\n : enabledConnections.length > 2 || options?.socialButtonsVariant === 'iconButton';\n const columns = getColumnCount({ length: enabledConnections.length, max: props?.columns || 6 });\n const localizationKey =\n enabledConnections.length === 1 ? 'socialButtonsBlockButton' : 'socialButtonsBlockButtonManyInView';\n\n return hasConnection ? (\n <ul\n className={connectionListDescriptors.className}\n style={{ ...connectionListDescriptors.style, '--cl-connection-columns': columns } as React.CSSProperties}\n >\n {enabledConnections.map(c => {\n return (\n <li\n key={c.provider}\n {...applyDescriptors(elements, 'connectionListItem')}\n >\n <Common.Loading scope={`provider:${c.provider}`}>\n {isConnectionLoading => {\n return (\n <Common.Connection\n name={c.provider}\n asChild\n >\n <Button\n descriptor={`buttonConnection__${c.provider}`}\n intent='connection'\n busy={isConnectionLoading}\n disabled={props?.disabled || isConnectionLoading}\n iconStart={PROVIDERS[c.provider] || null}\n textVisuallyHidden={textVisuallyHidden}\n >\n {t(localizationKey, {\n provider: c.name,\n })}\n </Button>\n </Common.Connection>\n );\n }}\n </Common.Loading>\n </li>\n );\n })}\n </ul>\n ) : null;\n}\n","import * as React from 'react';\n\nimport type { ParsedElementsFragment } from '~/contexts/AppearanceContext';\nimport { mergeDescriptors, useAppearance } from '~/contexts/AppearanceContext';\nimport { applyDescriptors, dva, type VariantProps } from '~/utils/dva';\n\nimport { Spinner } from './spinner';\n\nexport const layoutStyle = {\n button: {\n className: [\n \"cl-16a914bc\", // 16px\n \"cl-da41fb98\",\n \"cl-f5aee1d0\",\n \"cl-c8dc0199\",\n \"cl-ff9d26a5\",\n \"cl-ce4a8aff\",\n \"cl-8a3782da\",\n ].join(' '),\n },\n buttonIcon: {\n className: \"cl-27ead27a\",\n },\n buttonSpinner: {\n className: \"cl-27ead27a\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const visualStyle = {\n button: {\n className: [\"cl-b55f0528\", \"cl-d9cf47b8\", \"cl-b30fc560\"].join(' '),\n },\n buttonPrimary: {\n className: [\n \"cl-a98b2d0f\",\n \"cl-e7b4a4f3\",\n \"cl-93e9de3b\",\n \"cl-cb1d8f85\",\n \"cl-2b39a966\",\n \"cl-5d812cb6\",\n ].join(' '),\n },\n buttonSecondary: {\n className: [\n \"cl-947a937d\",\n \"cl-2031c7be\",\n \"cl-97c9b979\",\n \"cl-aa729509\",\n ].join(' '),\n },\n buttonConnection: {\n className: [\n \"cl-947a937d\",\n \"cl-2031c7be\",\n \"cl-97c9b979\",\n \"cl-aa729509\",\n ].join(' '),\n },\n buttonPrimaryDefault: {\n className: \"cl-dd1ec9c5\",\n },\n buttonSecondaryDefault: {\n className: \"cl-9b31bb43\",\n },\n buttonConnectionDefault: {\n className: \"cl-9b31bb43\",\n },\n buttonDisabled: {\n className: \"cl-d4e2e313\",\n },\n buttonBusy: {\n className: \"cl-d6edf6f5\",\n },\n buttonText: {\n className: \"cl-63a1f595\",\n },\n buttonTextVisuallyHidden: {\n className: \"cl-32fb0905\",\n },\n buttonIcon: {\n className: \"cl-2e5aed0f\",\n },\n buttonSpinner: {\n className: \"cl-291bc932\",\n },\n} satisfies ParsedElementsFragment;\n\nconst button = dva({\n base: 'button',\n variants: {\n intent: {\n primary: 'buttonPrimary',\n secondary: 'buttonSecondary',\n connection: 'buttonConnection',\n },\n busy: {\n false: null,\n true: null,\n },\n disabled: {\n false: null,\n true: null,\n },\n },\n compoundVariants: [\n { busy: false, disabled: false, intent: 'primary', descriptor: 'buttonPrimaryDefault' },\n { busy: false, disabled: false, intent: 'secondary', descriptor: 'buttonSecondaryDefault' },\n { busy: false, disabled: false, intent: 'connection', descriptor: 'buttonConnectionDefault' },\n { busy: false, disabled: true, descriptor: 'buttonDisabled' },\n { busy: true, disabled: false, descriptor: 'buttonBusy' },\n ],\n});\n\nexport const Button = React.forwardRef(function Button(\n {\n busy = false,\n children,\n descriptor,\n disabled = false,\n iconStart,\n iconEnd,\n intent = 'primary',\n type = 'button',\n textVisuallyHidden,\n ...props\n }: React.ButtonHTMLAttributes<HTMLButtonElement> &\n // Omit types supplied via ButtonHTMLAttributes\n Omit<VariantProps<typeof button>, 'disabled'> & {\n iconStart?: React.ReactNode;\n iconEnd?: React.ReactNode;\n textVisuallyHidden?: boolean;\n },\n forwardedRef: React.ForwardedRef<HTMLButtonElement>,\n) {\n const { elements } = useAppearance().parsedAppearance;\n const spinner = <Spinner descriptor='buttonSpinner'>Loading…</Spinner>;\n\n return (\n <button\n ref={forwardedRef}\n {...applyDescriptors(elements, button({ busy, disabled, intent, descriptor }))}\n disabled={busy || disabled}\n // eslint-disable-next-line react/button-has-type\n type={type}\n {...props}\n >\n {busy && intent === 'primary' ? (\n spinner\n ) : (\n <>\n {iconStart ? (\n busy && intent === 'connection' ? (\n spinner\n ) : (\n <span {...applyDescriptors(elements, 'buttonIcon buttonIconStart')}>{iconStart}</span>\n )\n ) : null}\n {children ? (\n <span {...mergeDescriptors(elements.buttonText, !!textVisuallyHidden && elements.buttonTextVisuallyHidden)}>\n {children}\n </span>\n ) : null}\n {iconEnd ? <span {...applyDescriptors(elements, 'buttonIcon buttonIconEnd')}>{iconEnd}</span> : null}\n </>\n )}\n </button>\n );\n});\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\nimport { clsx } from 'clsx';\n\nimport { type DescriptorIdentifier, mergeDescriptors, type ParsedElements } from '~/contexts/AppearanceContext';\n\n/* Types\n ============================================ */\n\n/* clsx\n ---------------------------------- */\n\n// When compiling with `declaration: true`, many projects experience the dreaded\n// TS2742 error. To combat this, we copy clsx's types manually.\n// Should this project move to JSDoc, this workaround would no longer be needed.\n\ntype ClassValue = ClassArray | ClassDictionary | DescriptorIdentifier | number | null | boolean | undefined;\ntype ClassDictionary = Record<DescriptorIdentifier, any>;\ntype ClassArray = ClassValue[];\n\n/* Utils\n ---------------------------------- */\n\ntype OmitUndefined<T> = T extends undefined ? never : T;\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T;\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;\n\nexport type VariantProps<Component extends (...args: any) => any> = Omit<\n OmitUndefined<Parameters<Component>[0]>,\n 'class' | 'className'\n>;\n\n/* compose\n ---------------------------------- */\n\nexport interface Compose {\n <T extends ReturnType<DVA>[]>(\n ...components: [...T]\n ): (\n props?: (\n | UnionToIntersection<\n {\n [K in keyof T]: VariantProps<T[K]>;\n }[number]\n >\n | undefined\n ) &\n DVAClassProp,\n ) => string;\n}\n\n/* cx\n ---------------------------------- */\n\nexport interface CX {\n (...inputs: ClassValue[]): string;\n}\n\nexport type CXOptions = Parameters<CX>;\nexport type CXReturn = ReturnType<CX>;\n\n/* dva\n ============================================ */\n\ntype DVAConfigBase = { base?: ClassValue };\ntype DVAVariantShape = Record<string, Record<string, ClassValue>>;\ntype DVAVariantSchema<V extends DVAVariantShape> = {\n [Variant in keyof V]?: StringToBoolean<keyof V[Variant]> | undefined;\n};\ntype DVAClassProp = { descriptor?: ClassValue };\n\nexport interface DVA {\n <_ extends \"dva's generic parameters are restricted to internal use only.\", V>(\n config: V extends DVAVariantShape\n ? DVAConfigBase & {\n variants?: V;\n compoundVariants?: (V extends DVAVariantShape\n ? (\n | DVAVariantSchema<V>\n | {\n [Variant in keyof V]?:\n | StringToBoolean<keyof V[Variant]>\n | StringToBoolean<keyof V[Variant]>[]\n | undefined;\n }\n ) &\n DVAClassProp\n : DVAClassProp)[];\n defaultVariants?: DVAVariantSchema<V>;\n }\n : DVAConfigBase & {\n variants?: never;\n compoundVariants?: never;\n defaultVariants?: never;\n },\n ): (props?: V extends DVAVariantShape ? DVAVariantSchema<V> & DVAClassProp : DVAClassProp) => string;\n}\n\n/* defineConfig\n ---------------------------------- */\n\nexport interface DefineConfigOptions {\n hooks?: {\n /**\n * @deprecated please use `onComplete`\n */\n 'cx:done'?: (className: string) => string;\n /**\n * Returns the completed string of concatenated classes/classNames.\n */\n onComplete?: (className: string) => string;\n };\n}\n\nexport interface DefineConfig {\n (options?: DefineConfigOptions): {\n compose: Compose;\n cx: CX;\n dva: DVA;\n };\n}\n\n/* Exports\n ============================================ */\n\nconst falsyToString = <T, _>(value: T) => (typeof value === 'boolean' ? `${value}` : value === 0 ? '0' : value);\n\nexport const defineConfig: DefineConfig = options => {\n const cx: CX = (...inputs) => {\n if (typeof options?.hooks?.['cx:done'] !== 'undefined') {\n return options?.hooks['cx:done'](clsx(inputs));\n }\n\n if (typeof options?.hooks?.onComplete !== 'undefined') {\n return options?.hooks.onComplete(clsx(inputs));\n }\n\n return clsx(inputs);\n };\n\n const dva: DVA = config => props => {\n if (config?.variants == null) {\n return cx(config?.base, props?.descriptor);\n }\n\n const { variants, defaultVariants } = config;\n\n const getVariantClassNames = Object.keys(variants).map((variant: keyof typeof variants) => {\n const variantProp = props?.[variant as keyof typeof props];\n const defaultVariantProp = defaultVariants?.[variant];\n\n const variantKey = (falsyToString(variantProp) ||\n falsyToString(defaultVariantProp)) as keyof (typeof variants)[typeof variant];\n\n return variants[variant][variantKey];\n });\n\n const defaultsAndProps = {\n ...defaultVariants,\n // remove `undefined` props\n ...(props &&\n Object.entries(props).reduce<typeof props>(\n (acc, [key, value]) => (typeof value === 'undefined' ? acc : { ...acc, [key]: value }),\n {} as typeof props,\n )),\n };\n\n const getCompoundVariantClassNames = config?.compoundVariants?.reduce(\n (acc, { descriptor, ...cvConfig }) =>\n Object.entries(cvConfig).every(([cvKey, cvSelector]) => {\n const selector = defaultsAndProps[cvKey as keyof typeof defaultsAndProps];\n\n return Array.isArray(cvSelector) ? cvSelector.includes(selector) : selector === cvSelector;\n })\n ? [...acc, descriptor]\n : acc,\n [] as ClassValue[],\n );\n\n return cx(config?.base, getVariantClassNames, getCompoundVariantClassNames, props?.descriptor);\n };\n\n const compose: Compose =\n (...components) =>\n props => {\n const propsWithoutDescriptor = Object.fromEntries(\n Object.entries(props || {}).filter(([key]) => !['descriptor'].includes(key)),\n );\n\n return cx(components.map(component => component(propsWithoutDescriptor)) as ClassValue[], props?.descriptor);\n };\n\n return {\n compose,\n dva,\n cx,\n };\n};\n\nexport const { compose, dva, cx } = defineConfig();\n\nexport function getDescriptors(elements: ParsedElements, descriptorList: string) {\n const descriptors = descriptorList.split(' ') as (keyof ParsedElements)[];\n return descriptors.map(d => {\n const value = elements[d];\n if (!value) {\n console.warn(`Clerk: unable to access style configuration for descriptor: ${d}`);\n }\n\n return value;\n });\n}\n\nexport function applyDescriptors(elements: ParsedElements, descriptorList: string) {\n const descriptors = getDescriptors(elements, descriptorList);\n return mergeDescriptors(...descriptors);\n}\n","import type { VariantProps } from 'cva';\nimport { cx } from 'cva';\nimport { forwardRef, type HTMLAttributes } from 'react';\n\nimport { type ParsedElementsFragment, useAppearance } from '~/contexts/AppearanceContext';\nimport { applyDescriptors, dva } from '~/utils/dva';\n\nconst SIZE = 16;\n\ntype SpinnerRef = HTMLDivElement;\n\nexport const layoutStyle = {\n spinner: {\n className: \"cl-26207fa4\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const visualStyle = {\n spinner: {\n className: \"cl-9feebad9\",\n },\n} satisfies ParsedElementsFragment;\n\nconst spinner = dva({\n base: 'spinner',\n});\n\n/**\n * # Spinner\n *\n * ## Accessibility\n *\n * An accessible label–set via `children`–must be provided for screen readers.\n *\n * ```tsx\n * import { Spinner } from '@clerk/ceramic/components/Spinner';\n *\n * function Example() {\n * return (\n * <Spinner>\n * Some other loading text…\n * </Spinner>\n * );\n * }\n * ```\n */\nexport const Spinner = forwardRef(function Spinner(\n {\n children,\n descriptor,\n }: HTMLAttributes<SpinnerRef> &\n VariantProps<typeof spinner> & {\n children: string;\n },\n ref: React.ForwardedRef<SpinnerRef>,\n) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n (<span\n ref={ref}\n {...applyDescriptors(elements, spinner({ descriptor }))}\n >\n <span className=\"cl-32fb0905\">{children}</span>\n <svg\n viewBox={[0, 0, SIZE, SIZE].join(' ')}\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n className=\"cl-4f43603c\"\n style={{\n ['--spinner-origin' as string]: Array.from({ length: 2 })\n .fill(`${16 / SIZE / 2}rem`)\n .join(' '),\n }}\n aria-hidden\n >\n <g\n className={cx(\n \"cl-bfbc36b1\",\n \"cl-22c1b7ea\",\n \"cl-45bbc6bf\",\n \"cl-e5d7b81e\",\n \"cl-4bd15f3b\",\n )}\n fill='currentColor'\n opacity={0.5}\n >\n (\n <circle\n cx='8'\n cy='2.75'\n r='0.75'\n />\n <circle\n cx='13.25'\n cy='8'\n r='0.75'\n />\n <circle\n cx='2.75'\n cy='8'\n r='0.75'\n />\n <circle\n cx='4.29999'\n cy='4.29001'\n r='0.75'\n />\n <circle\n cx='11.7'\n cy='4.29001'\n r='0.75'\n />\n <circle\n cx='4.29999'\n cy='11.72'\n r='0.75'\n />\n <circle\n cx='11.7'\n cy='11.72'\n r='0.75'\n />\n <circle\n cx='8'\n cy='13.25'\n r='0.75'\n />\n )\n </g>\n\n <circle\n className={cx(\n \"cl-4f43603c\",\n \"cl-bfbc36b1\",\n \"cl-22c1b7ea\",\n \"cl-45bbc6bf\",\n \"cl-3ba7917c\",\n )}\n cx='8'\n cy='8'\n r='5.25'\n pathLength={360}\n stroke='currentColor'\n strokeLinecap='round'\n strokeLinejoin='round'\n // Manually offset an additional 10 deg (on top of 90deg) to cover the\n // dots at either end of the stroke; which is particularly noticeable\n // when \"reduce motion\" is enabled.\n strokeDashoffset={100}\n strokeDasharray='90 270'\n strokeWidth={1.5}\n />\n </svg>\n </span>)\n );\n});\n","import * as React from 'react';\nimport { mergeProps } from 'react-aria';\n\nexport interface IconProps extends React.SVGProps<SVGSVGElement> {}\n\nexport const Icon = React.forwardRef<SVGSVGElement, IconProps & { children: React.ReactElement }>(\n function Icon(props, ref) {\n const { children, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, ...restProps } = props;\n return React.cloneElement(children, {\n ...mergeProps(children.props, restProps),\n ref,\n width: '1em',\n height: '1em',\n fill: 'none',\n focusable: 'false',\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaLabel ? ariaHidden || undefined : true,\n role: 'img',\n });\n },\n);\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {useCallback, useEffect, useRef, useState} from 'react';\nimport {useLayoutEffect} from './useLayoutEffect';\nimport {useSSRSafeId} from '@react-aria/ssr';\nimport {useValueEffect} from './';\n\n// copied from SSRProvider.tsx to reduce exports, if needed again, consider sharing\nlet canUseDOM = Boolean(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nlet idsUpdaterMap: Map<string, (v: string) => void> = new Map();\n\n/**\n * If a default is not provided, generate an id.\n * @param defaultId - Default component id.\n */\nexport function useId(defaultId?: string): string {\n let [value, setValue] = useState(defaultId);\n let nextId = useRef(null);\n\n let res = useSSRSafeId(value);\n\n let updateValue = useCallback((val) => {\n nextId.current = val;\n }, []);\n\n if (canUseDOM) {\n idsUpdaterMap.set(res, updateValue);\n }\n\n useLayoutEffect(() => {\n let r = res;\n return () => {\n idsUpdaterMap.delete(r);\n };\n }, [res]);\n\n // This cannot cause an infinite loop because the ref is updated first.\n // eslint-disable-next-line\n useEffect(() => {\n let newId = nextId.current;\n if (newId) {\n nextId.current = null;\n setValue(newId);\n }\n });\n\n return res;\n}\n\n/**\n * Merges two ids.\n * Different ids will trigger a side-effect and re-render components hooked up with `useId`.\n */\nexport function mergeIds(idA: string, idB: string): string {\n if (idA === idB) {\n return idA;\n }\n\n let setIdA = idsUpdaterMap.get(idA);\n if (setIdA) {\n setIdA(idB);\n return idB;\n }\n\n let setIdB = idsUpdaterMap.get(idB);\n if (setIdB) {\n setIdB(idA);\n return idA;\n }\n\n return idB;\n}\n\n/**\n * Used to generate an id, and after render, check if that id is rendered so we know\n * if we can use it in places such as labelledby.\n * @param depArray - When to recalculate if the id is in the DOM.\n */\nexport function useSlotId(depArray: ReadonlyArray<any> = []): string {\n let id = useId();\n let [resolvedId, setResolvedId] = useValueEffect(id);\n let updateId = useCallback(() => {\n setResolvedId(function *() {\n yield id;\n\n yield document.getElementById(id) ? id : undefined;\n });\n }, [id, setResolvedId]);\n\n useLayoutEffect(updateId, [id, updateId, ...depArray]);\n\n return resolvedId;\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/**\n * Calls all functions in the order they were chained with the same arguments.\n */\nexport function chain(...callbacks: any[]): (...args: any[]) => void {\n return (...args: any[]) => {\n for (let callback of callbacks) {\n if (typeof callback === 'function') {\n callback(...args);\n }\n }\n };\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {chain} from './chain';\nimport clsx from 'clsx';\nimport {mergeIds} from './useId';\n\ninterface Props {\n [key: string]: any\n}\n\ntype PropsArg = Props | null | undefined;\n\n// taken from: https://stackoverflow.com/questions/51603250/typescript-3-parameter-list-intersection-type/51604379#51604379\ntype TupleTypes<T> = { [P in keyof T]: T[P] } extends { [key: number]: infer V } ? NullToObject<V> : never;\ntype NullToObject<T> = T extends (null | undefined) ? {} : T;\n// eslint-disable-next-line no-undef, @typescript-eslint/no-unused-vars\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;\n\n/**\n * Merges multiple props objects together. Event handlers are chained,\n * classNames are combined, and ids are deduplicated - different ids\n * will trigger a side-effect and re-render components hooked up with `useId`.\n * For all other props, the last prop object overrides all previous ones.\n * @param args - Multiple sets of props to merge together.\n */\nexport function mergeProps<T extends PropsArg[]>(...args: T): UnionToIntersection<TupleTypes<T>> {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result: Props = {...args[0]};\n for (let i = 1; i < args.length; i++) {\n let props = args[i];\n for (let key in props) {\n let a = result[key];\n let b = props[key];\n\n // Chain events\n if (\n typeof a === 'function' &&\n typeof b === 'function' &&\n // This is a lot faster than a regex.\n key[0] === 'o' &&\n key[1] === 'n' &&\n key.charCodeAt(2) >= /* 'A' */ 65 &&\n key.charCodeAt(2) <= /* 'Z' */ 90\n ) {\n result[key] = chain(a, b);\n\n // Merge classnames, sometimes classNames are empty string which eval to false, so we just need to do a type check\n } else if (\n (key === 'className' || key === 'UNSAFE_className') &&\n typeof a === 'string' &&\n typeof b === 'string'\n ) {\n result[key] = clsx(a, b);\n } else if (key === 'id' && a && b) {\n result.id = mergeIds(a, b);\n // Override others\n } else {\n result[key] = b !== undefined ? b : a;\n }\n }\n }\n\n return result as UnionToIntersection<TupleTypes<T>>;\n}\n","import * as React from 'react';\n\nimport {\n mergeDescriptors,\n type ParsedDescriptor,\n type ParsedElementsFragment,\n useAppearance,\n} from '~/contexts/AppearanceContext';\n\nimport ExclamationOctagonSm from './icons/exclamation-octagon-sm';\nimport ExclamationTriangleSm from './icons/exclamation-triangle-sm';\n\nexport const layoutStyle = {\n alert: {\n className: \"cl-fbddaa7d\",\n },\n alertIcon: {\n className: \"cl-af4e251c\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const visualStyle = {\n alert: {\n className: \"cl-15c02a47\",\n },\n alert__warning: {\n className: \"cl-a992fcfc\",\n },\n alert__error: {\n className: \"cl-66ef3405\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & {\n intent?: 'warning' | 'error';\n descriptors?: ParsedDescriptor[];\n }\n>(function Alert({ children, descriptors, intent = 'error', ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(\n elements.alert,\n intent === 'error' && elements.alert__error,\n intent === 'warning' && elements.alert__warning,\n ...(descriptors ?? []),\n )}\n >\n {\n {\n error: <ExclamationOctagonSm {...mergeDescriptors(elements.alertIcon)} />,\n warning: <ExclamationTriangleSm {...mergeDescriptors(elements.alertIcon)} />,\n }[intent]\n }\n {children}\n </div>\n );\n});\n","import { Icon, type IconProps } from './icon';\n\nexport default function ExclamationOctagonSm(props: IconProps) {\n return (\n <Icon {...props}>\n <svg viewBox='0 0 16 16'>\n <path\n d='M8 5.75V7.25'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n <path\n d='M8 10V10.01'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n <path\n d='M10.25 2.75H5.75L2.75 5.75V10.25L5.75 13.25H10.25L13.25 10.25V5.75L10.25 2.75Z'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n </Icon>\n );\n}\n","import { Icon, type IconProps } from './icon';\n\nexport default function ExclamationTriangleSm(props: IconProps) {\n return (\n <Icon {...props}>\n <svg viewBox='0 0 16 16'>\n <path\n d='M8 6.75V8.25'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n <path\n d='M8 10.5V10.51'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n <path\n d='M2.95652 10.4518L6.27146 3.8188C6.98366 2.39373 9.01635 2.39373 9.72855 3.81881L13.0435 10.4518C13.686 11.7374 12.7516 13.25 11.3149 13.25H4.68506C3.24842 13.25 2.31404 11.7374 2.95652 10.4518Z'\n stroke='currentColor'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n </Icon>\n );\n}\n","import { cx } from 'cva';\nimport * as React from 'react';\n\nimport { useAppearance } from '~/contexts';\nimport { mergeDescriptors, type ParsedElementsFragment } from '~/contexts/AppearanceContext';\nimport type { PolymorphicForwardRefExoticComponent, PolymorphicPropsWithoutRef } from '~/types/utils';\nimport { applyDescriptors } from '~/utils/dva';\n\nimport { ClerkLogo } from './clerk-logo';\nimport { Image } from './image';\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardRoot\n */\nconst RootDefaultElement = 'div';\ntype RootOwnProps = {\n children?: React.ReactNode;\n banner?: React.ReactNode;\n};\n\nconst cardRootLayoutStyle = {\n cardRoot: {\n className: [\n \"cl-a6922c72\",\n \"cl-5e44c334\",\n \"cl-c4324dd6\",\n \"cl-3fbacce1\",\n \"cl-89a8e890\",\n ].join(' '),\n },\n};\nconst cardRootVisualStyle = {\n cardRoot: {\n className: \"cl-86f06b43\",\n },\n cardRootDefault: {\n className: \"cl-bc4a783b\",\n },\n cardRootInner: {\n className: \"cl-9c68c093\",\n },\n};\n\nexport const Root: PolymorphicForwardRefExoticComponent<RootOwnProps, typeof RootDefaultElement> = React.forwardRef(\n function CardRoot<T extends React.ElementType = typeof RootDefaultElement>(\n { as, banner, children, ...props }: PolymorphicPropsWithoutRef<RootOwnProps, T>,\n forwardedRef: React.ForwardedRef<Element>,\n ) {\n const { elements } = useAppearance().parsedAppearance;\n const Element: React.ElementType = as || RootDefaultElement;\n const cardRootDescriptors = applyDescriptors(elements, 'cardRoot');\n const cardRootDefaultDescriptors = applyDescriptors(elements, 'cardRootDefault');\n return (\n (<Element\n ref={forwardedRef}\n {...props}\n className={cx(\n cardRootDescriptors.className,\n banner\n ? [\n \"cl-a52b4c3f\",\n \"cl-5af1449f\",\n ]\n : cardRootDefaultDescriptors.className,\n )}\n >\n {banner && (\n <div\n className={cx(\n \"cl-7817f2f2\",\n )}\n >\n <p\n className={cx(\n \"cl-03e68f06\",\n )}\n {...props}\n >\n {banner}\n </p>\n </div>\n )}\n {children && <div {...mergeDescriptors(elements.cardRootInner)}>{children}</div>}\n </Element>)\n );\n },\n);\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardContent\n */\nconst cardContentLayoutStyle = {\n cardContent: {\n className: \"cl-8baa595e\",\n },\n} satisfies ParsedElementsFragment;\nconst cardContentVisualStyle = {\n cardContent: {\n className: [\n \"cl-c99cd8b4\",\n \"cl-1c01a9d7\",\n ].join(' '),\n },\n} satisfies ParsedElementsFragment;\n\nexport const Content = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(function CardContent(\n { children, className, ...props },\n forwardedRef,\n) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardContent)}\n >\n {children}\n </div>\n );\n});\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardHeader\n */\nconst cardHeaderLayoutStyle = {\n cardHeader: {\n className: \"cl-c757ad0c\",\n },\n} satisfies ParsedElementsFragment;\n\n// Purposefully left blank to prevent confusion.\nconst cardHeaderVisualStyle = {} satisfies ParsedElementsFragment;\n\nexport const Header = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(function CardHeader(\n { children, className, ...props },\n forwardedRef,\n) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardHeader)}\n >\n {children}\n </div>\n );\n});\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardLogo\n */\nconst cardLogoLayoutStyle = {\n cardLogoBox: {\n className: \"cl-4f5262b8\",\n },\n cardLogoLink: {\n className: \"cl-33c167b1\",\n },\n cardLogoImage: {\n className: \"cl-deefc87a\",\n },\n} satisfies ParsedElementsFragment;\n\n// Purposefully left blank to prevent confusion.\nconst cardLogoVisualStyle = {} satisfies ParsedElementsFragment;\n\nexport const Logo = React.forwardRef(function CardLogo(\n {\n href,\n src,\n ...props\n }: React.ImgHTMLAttributes<HTMLImageElement> & {\n href?: string;\n },\n forwardedRef: React.ForwardedRef<HTMLImageElement>,\n) {\n const { elements } = useAppearance().parsedAppearance;\n if (!src) {\n return null;\n }\n\n const img = (\n <Image\n ref={forwardedRef}\n src={src}\n size={200}\n {...props}\n {...mergeDescriptors(elements.cardLogoImage)}\n />\n );\n return (\n <div {...mergeDescriptors(elements.cardLogoBox)}>\n {href ? (\n <a\n href={href}\n {...mergeDescriptors(elements.cardLogoLink)}\n >\n {img}\n </a>\n ) : (\n img\n )}\n </div>\n );\n});\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardTitle\n */\n// Purposefully left blank to prevent confusion.\nconst cardTitleLayoutStyle = {} satisfies ParsedElementsFragment;\nconst cardTitleVisualStyle = {\n cardTitle: {\n className: \"cl-f29e36a7\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const Title = React.forwardRef<HTMLHeadingElement, React.HTMLAttributes<HTMLHeadingElement>>(function CardTitle(\n { children, className, ...props },\n forwardedRef,\n) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <h2\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardTitle)}\n >\n {children}\n </h2>\n );\n});\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardDescription\n */\n// Purposefully left blank to prevent confusion.\nconst cardDescriptionLayoutStyle = {} satisfies ParsedElementsFragment;\nconst cardDescriptionVisualStyle = {\n cardDescription: {\n className: \"cl-5c413d88\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const Description = React.forwardRef<HTMLHeadingElement, React.HTMLAttributes<HTMLHeadingElement>>(\n function CardDescription({ children, className, ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <p\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardDescription)}\n >\n {children}\n </p>\n );\n },\n);\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardBody\n */\nconst cardBodyLayoutStyle = {\n cardBody: {\n className: \"cl-5eebf917\",\n },\n} satisfies ParsedElementsFragment;\n\n// Purposefully left blank to prevent confusion.\nconst cardBodyVisualStyle = {} satisfies ParsedElementsFragment;\n\nexport const Body = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(function CardBody(\n { children, className, ...props },\n forwardedRef,\n) {\n const { elements } = useAppearance().parsedAppearance;\n\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardBody)}\n >\n {children}\n </div>\n );\n});\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardActions\n */\nconst cardActionsLayoutStyle = {\n cardActions: {\n className: [\n \"cl-cc1fa4d3\",\n // Note:\n // Prevents underline interractions triggering outside of the link text\n // https://linear.app/clerk/issue/SDKI-192/#comment-ebf943b0\n \"cl-04c8fa73\",\n ].join(' '),\n },\n} satisfies ParsedElementsFragment;\n\n// Purposefully left blank to prevent confusion.\nconst cardActionsVisualStyle = {} satisfies ParsedElementsFragment;\n\nexport const Actions = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(function CardActions(\n { children, className, ...props },\n forwardedRef,\n) {\n const { elements } = useAppearance().parsedAppearance;\n\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardActions)}\n >\n {children}\n </div>\n );\n});\n\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * CardFooter\n */\nconst cardFooterLayoutStyle = {\n cardFooter: {\n className: \"cl-0f2a693e\",\n },\n cardFooterAction: {\n className: \"cl-0c81043e\",\n },\n} satisfies ParsedElementsFragment;\nconst cardFooterVisualStyle = {\n cardFooterAction: {\n className: \"cl-e7659ac7\",\n },\n cardFooterActionText: {\n className: \"cl-8e9f71ce\",\n },\n cardFooterActionLink: {\n className:\n \"cl-812d8d14\",\n },\n cardFooterActionButton: {\n className:\n \"cl-812d8d14\",\n },\n cardFooterActionPageLink: {\n className: \"cl-39faa7ab\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const Footer = React.forwardRef(function CardFooter(\n {\n branded = true,\n helpPageUrl,\n privacyPageUrl,\n termsPageUrl,\n children,\n className,\n ...props\n }: {\n branded?: boolean;\n helpPageUrl?: string;\n privacyPageUrl?: string;\n termsPageUrl?: string;\n } & React.HTMLAttributes<HTMLDivElement>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const { elements } = useAppearance().parsedAppearance;\n const hasPageLinks = helpPageUrl || privacyPageUrl || termsPageUrl;\n const renderFooter = branded || hasPageLinks || children;\n const renderSubFooter = branded || hasPageLinks;\n const hasBrandingAndPageLinks = branded && hasPageLinks;\n\n return renderFooter ? (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardFooter)}\n >\n {children}\n\n {renderSubFooter ? (\n <div\n className={cx(\"cl-10ec6412\", hasBrandingAndPageLinks ? \"cl-32c92bb1\" : \"cl-a503dd37\")}\n >\n {branded ? (\n <p\n // Note:\n // We don't use `items-center` here for a more optical fit\n className=\"cl-286d6459\"\n >\n Secured by{' '}\n <a\n aria-label='Clerk logo'\n href='https://www.clerk.com?utm_source=clerk&amp;utm_medium=components'\n target='_blank'\n rel='noopener'\n className=\"cl-e9dc1e80\"\n >\n <ClerkLogo />\n </a>\n </p>\n ) : null}\n\n {hasPageLinks ? (\n <div className=\"cl-c354e22d\">\n {helpPageUrl ? <FooterPageLink href={helpPageUrl}>Help</FooterPageLink> : null}\n {privacyPageUrl ? <FooterPageLink href={privacyPageUrl}>Privacy</FooterPageLink> : null}\n {termsPageUrl ? <FooterPageLink href={termsPageUrl}>Terms</FooterPageLink> : null}\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : null;\n});\n\nexport const FooterAction = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n function CardFooterAction({ children, className, ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardFooterAction)}\n >\n {children}\n </div>\n );\n },\n);\n\nexport const FooterActionText = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n function CardFooterActionText({ children, className, ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <p\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardFooterActionText)}\n >\n {children}\n </p>\n );\n },\n);\n\nexport const FooterActionButton = React.forwardRef<HTMLButtonElement, React.ButtonHTMLAttributes<HTMLButtonElement>>(\n function CardFooterActionButton({ children, className, type = 'button', ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <button\n ref={forwardedRef}\n // eslint-disable-next-line react/button-has-type\n type={type}\n {...props}\n {...mergeDescriptors(elements.cardFooterActionButton)}\n >\n {children}\n </button>\n );\n },\n);\n\nexport const FooterActionLink = React.forwardRef<HTMLAnchorElement, React.AnchorHTMLAttributes<HTMLAnchorElement>>(\n function CardFooterActionLink({ children, className, ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <a\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.cardFooterActionLink)}\n >\n {children}\n </a>\n );\n },\n);\n\nconst FooterPageLink = React.forwardRef<HTMLAnchorElement, React.AnchorHTMLAttributes<HTMLAnchorElement>>(\n function CardFooterPageLink({ children, className, ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <a\n ref={forwardedRef}\n {...props}\n target='_blank'\n rel='noopener'\n {...mergeDescriptors(elements.cardFooterActionPageLink)}\n >\n {children}\n </a>\n );\n },\n);\n\nexport const layoutStyle = {\n ...cardRootLayoutStyle,\n ...cardHeaderLayoutStyle,\n ...cardContentLayoutStyle,\n ...cardTitleLayoutStyle,\n ...cardDescriptionLayoutStyle,\n ...cardBodyLayoutStyle,\n ...cardActionsLayoutStyle,\n ...cardFooterLayoutStyle,\n ...cardLogoLayoutStyle,\n} satisfies ParsedElementsFragment;\n\nexport const visualStyle = {\n ...cardRootVisualStyle,\n ...cardHeaderVisualStyle,\n ...cardContentVisualStyle,\n ...cardTitleVisualStyle,\n ...cardDescriptionVisualStyle,\n ...cardBodyVisualStyle,\n ...cardActionsVisualStyle,\n ...cardFooterVisualStyle,\n ...cardLogoVisualStyle,\n} satisfies ParsedElementsFragment;\n","export const ClerkLogo = () => (\n <svg\n className=\"cl-2a836795\"\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 50 14'\n >\n <ellipse\n cx='7.889'\n cy='7'\n rx='2.187'\n ry='2.188'\n fill='currentColor'\n />\n <path\n d='M11.83 12.18a.415.415 0 0 1-.05.64A6.967 6.967 0 0 1 7.888 14a6.967 6.967 0 0 1-3.891-1.18.415.415 0 0 1-.051-.64l1.598-1.6a.473.473 0 0 1 .55-.074 3.92 3.92 0 0 0 1.794.431 3.92 3.92 0 0 0 1.792-.43.473.473 0 0 1 .551.074l1.599 1.598Z'\n fill='currentColor'\n />\n <path\n opacity='0.5'\n d='M11.78 1.18a.415.415 0 0 1 .05.64l-1.598 1.6a.473.473 0 0 1-.55.073 3.937 3.937 0 0 0-5.3 5.3.473.473 0 0 1-.074.55L2.71 10.942a.415.415 0 0 1-.641-.051 7 7 0 0 1 9.71-9.71Z'\n fill='currentColor'\n />\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M23.748 1.422c0-.06.05-.11.11-.11h1.64c.06 0 .11.05.11.11v11.156a.11.11 0 0 1-.11.11h-1.64a.11.11 0 0 1-.11-.11V1.422Zm-2.315 8.9a.112.112 0 0 0-.15.004 2.88 2.88 0 0 1-.884.569c-.36.148-.747.222-1.137.219-.33.01-.658-.047-.965-.166a2.422 2.422 0 0 1-.817-.527c-.424-.432-.668-1.05-.668-1.785 0-1.473.98-2.48 2.45-2.48.394-.005.785.074 1.144.234.325.144.617.35.86.607.04.044.11.049.155.01l1.108-.959a.107.107 0 0 0 .01-.152c-.832-.93-2.138-1.412-3.379-1.412-2.499 0-4.27 1.686-4.27 4.166 0 1.227.44 2.26 1.182 2.99.743.728 1.801 1.157 3.022 1.157 1.53 0 2.763-.587 3.485-1.34a.107.107 0 0 0-.009-.155l-1.137-.98Zm13.212-1.14a.108.108 0 0 1-.107.096H28.79a.106.106 0 0 0-.104.132c.286 1.06 1.138 1.701 2.302 1.701a2.59 2.59 0 0 0 1.136-.236 2.55 2.55 0 0 0 .862-.645.08.08 0 0 1 .112-.01l1.155 1.006c.044.039.05.105.013.15-.698.823-1.828 1.42-3.38 1.42-2.386 0-4.185-1.651-4.185-4.162 0-1.232.424-2.264 1.13-2.994.373-.375.82-.67 1.314-.87a3.968 3.968 0 0 1 1.557-.285c2.419 0 3.983 1.701 3.983 4.05a6.737 6.737 0 0 1-.04.647Zm-5.924-1.524a.104.104 0 0 0 .103.133h3.821c.07 0 .123-.066.103-.134-.26-.901-.921-1.503-1.947-1.503a2.13 2.13 0 0 0-.88.16 2.1 2.1 0 0 0-.733.507 2.242 2.242 0 0 0-.467.837Zm11.651-3.172c.061-.001.11.048.11.109v1.837a.11.11 0 0 1-.117.109 7.17 7.17 0 0 0-.455-.024c-1.43 0-2.27 1.007-2.27 2.329v3.732a.11.11 0 0 1-.11.11h-1.64a.11.11 0 0 1-.11-.11v-7.87c0-.06.049-.109.11-.109h1.64c.06 0 .11.05.11.11v1.104a.011.011 0 0 0 .02.007c.64-.857 1.587-1.333 2.587-1.333l.125-.001Zm4.444 4.81a.035.035 0 0 1 .056.006l2.075 3.334a.11.11 0 0 0 .093.052h1.865a.11.11 0 0 0 .093-.168L46.152 7.93a.11.11 0 0 1 .012-.131l2.742-3.026a.11.11 0 0 0-.081-.183h-1.946a.11.11 0 0 0-.08.036l-3.173 3.458a.11.11 0 0 1-.19-.074V1.422a.11.11 0 0 0-.11-.11h-1.64a.11.11 0 0 0-.11.11v11.156c0 .06.05.11.11.11h1.64a.11.11 0 0 0 .11-.11v-1.755a.11.11 0 0 1 .03-.075l1.35-1.452Z'\n fill='currentColor'\n />\n </svg>\n);\n","import * as React from 'react';\n\nimport { generateSrc, generateSrcSet } from '~/utils/images';\nimport { isClerkImage } from '~/utils/validators';\n\n// BASE_IMAGE_WIDTH is the default \"small size\" for Clerk images.\n// Images are rendered at a multiple of this resolution (currently 1x or 2x)\n// NOTE: img.clerk.com only returns the true aspect ratio for a few specific widths.\n// For other widths, it returns the next largest size. See https://clerk.com/docs/guides/image-optimization/imageurl-image-optimization\n// Currently, 80 and 160 are available exact widths returned by img.clerk.com.\n// Before updating this value, or returning a new size multiple, recommend\n// ensuring that img.clerk.com also returns that new size exactly.\nconst BASE_IMAGE_WIDTH = 80;\n\nexport const Image = React.forwardRef(function Image(\n {\n src,\n size = BASE_IMAGE_WIDTH,\n ...props\n }: React.ImgHTMLAttributes<HTMLImageElement> & {\n size?: number;\n },\n forwardedRef: React.ForwardedRef<HTMLImageElement>,\n) {\n const shouldOptimize = isClerkImage(src);\n return (\n <img\n ref={forwardedRef}\n data-image=''\n crossOrigin='anonymous'\n srcSet={shouldOptimize ? generateSrcSet({ src, width: size }) : undefined}\n src={shouldOptimize ? generateSrc({ src, width: size * 2 }) : src}\n alt={props.alt}\n {...props}\n />\n );\n});\n","export function isValidUrl(val: unknown): val is string {\n if (!val) {\n return false;\n }\n\n try {\n new URL(val as string);\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexport function isDataUri(val?: string): val is string {\n if (!isValidUrl(val)) {\n return false;\n }\n\n return new URL(val).protocol === 'data:';\n}\n\nconst CLERK_IMAGE_URL_BASES = ['https://img.clerk.com/', 'https://img.clerkstage.dev/', 'https://img.lclclerk.com/'];\n\nexport const isClerkImage = (src?: string): boolean => {\n return !!CLERK_IMAGE_URL_BASES.some(base => src?.includes(base));\n};\n","import { isDataUri, isValidUrl } from './validators';\n\nexport const generateSrcSet = ({ src, width }: { src?: string; width: number }) => {\n if (!src) {\n return '';\n }\n\n return generateSrc({ src, width: width });\n};\n\nexport const generateSrc = ({ src, width }: { src?: string; width: number }) => {\n if (!isValidUrl(src) || isDataUri(src)) {\n return src;\n }\n\n const newSrc = new URL(src);\n if (width) {\n newSrc.searchParams.append('width', width?.toString());\n }\n\n return newSrc.href;\n};\n","import * as React from 'react';\n\nimport {\n mergeDescriptors,\n type ParsedDescriptor,\n type ParsedElementsFragment,\n useAppearance,\n} from '~/contexts/AppearanceContext';\n\nexport const layoutStyle = {\n separator: {\n className: \"cl-c53048bf\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const visualStyle = {\n separator: {\n className: \"cl-77b14b2e\",\n },\n} satisfies ParsedElementsFragment;\n\nexport const Separator = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & {\n descriptors?: ParsedDescriptor[];\n }\n>(function Separator({ children, descriptors, ...props }, forwardedRef) {\n const { elements } = useAppearance().parsedAppearance;\n return (\n <div\n ref={forwardedRef}\n {...props}\n {...mergeDescriptors(elements.separator, ...(descriptors ?? []))}\n >\n {children}\n </div>\n );\n});\n","import { OAUTH_PROVIDERS, type OAuthProvider, WEB3_PROVIDERS, type Web3Provider } from '@clerk/types';\n\nexport const DESCRIPTORS = [\n // Alert\n 'alert',\n 'alert__error',\n 'alert__warning',\n 'alertIcon',\n\n // Button\n 'button',\n 'buttonPrimary',\n 'buttonSecondary',\n 'buttonConnection',\n 'buttonPrimaryDefault',\n 'buttonSecondaryDefault',\n 'buttonConnectionDefault',\n 'buttonDisabled',\n 'buttonBusy',\n 'buttonText',\n 'buttonTextVisuallyHidden',\n 'buttonIcon',\n 'buttonIconStart',\n 'buttonIconEnd',\n 'buttonSpinner',\n ...[...OAUTH_PROVIDERS, ...WEB3_PROVIDERS].map(({ provider }) => `buttonConnection__${provider}`),\n\n // Connection\n 'connectionList',\n 'connectionListItem',\n\n // Separator\n 'separator',\n\n // Spinner\n 'spinner',\n\n // Card\n 'cardRoot',\n 'cardRootDefault',\n 'cardRootInner',\n 'cardHeader',\n 'cardContent',\n 'cardTitle',\n 'cardDescription',\n 'cardBody',\n 'cardActions',\n 'cardFooter',\n 'cardFooterAction',\n 'cardFooterActionText',\n 'cardFooterActionLink',\n 'cardFooterActionButton',\n 'cardFooterActionPageLink',\n 'cardLogoBox',\n 'cardLogoLink',\n 'cardLogoImage',\n] as const;\n\ntype Provider = OAuthProvider | Web3Provider;\n\n/**\n * Union of all valid descriptors used throughout the components.\n */\nexport type DescriptorIdentifier = (typeof DESCRIPTORS)[number] | `buttonConnection__${Provider}`;\n","import type { ParsedElements, PartialTheme } from '~/contexts/AppearanceContext';\nimport { DESCRIPTORS } from '~/descriptors';\n\n/**\n * Given an object containing partial descriptors, returns a full ParsedElements object with generated descriptors.\n */\nexport function buildTheme(p: PartialTheme): ParsedElements {\n const theme: Partial<ParsedElements> = {};\n\n // Setup base theme containing empty objects for each descriptor.\n DESCRIPTORS.forEach(descriptor => {\n theme[descriptor] = {\n descriptor: `cl-${descriptor}`,\n className: '',\n style: {},\n };\n });\n\n for (const descriptor in p) {\n const key = descriptor as keyof ParsedElements;\n\n if (p[key]) {\n if (!(key in theme)) {\n console.warn(`Clerk: Unknown descriptor: ${descriptor}`);\n continue;\n }\n\n // These non-null assertions are okay since we confirmed that theme contains the descriptor above.\n const { className, style } = p[key]!;\n if (className) {\n theme[key]!.className = className;\n }\n\n if (style) {\n theme[key]!.style = style;\n }\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n return theme as ParsedElements;\n}\n\n/**\n * Given two complete theme objects, merge their className and style properties to create a new merged theme.\n */\nexport function mergeTheme(a: ParsedElements, b: ParsedElements): ParsedElements {\n const mergedTheme = { ...a };\n\n for (const d in mergedTheme) {\n const descriptor = d as keyof ParsedElements;\n mergedTheme[descriptor].className = [mergedTheme[descriptor].className, b[descriptor].className].join(' ');\n mergedTheme[descriptor].style = { ...mergedTheme[descriptor].style, ...b[descriptor].style };\n }\n\n return mergedTheme;\n}\n\nif (import.meta.vitest) {\n const { it, expect, describe } = import.meta.vitest;\n\n describe('buildTheme', () => {\n it('returns a theme containing all descriptors', () => {\n const theme = buildTheme({});\n expect(Object.keys(theme).sort()).toStrictEqual([...DESCRIPTORS].sort());\n\n for (const [k, v] of Object.entries(theme)) {\n expect(v.descriptor).toEqual(`cl-${k}`);\n expect(v.className).toEqual('');\n expect(v.style).toStrictEqual({});\n }\n });\n });\n}\n","import { layoutStyle as connections } from '~/common/connections';\nimport { layoutStyle as alert } from '~/primitives/alert';\nimport { layoutStyle as button } from '~/primitives/button';\nimport { layoutStyle as card } from '~/primitives/card';\nimport { layoutStyle as separator } from '~/primitives/separator';\nimport { layoutStyle as spinner } from '~/primitives/spinner';\n\nimport { buildTheme } from './buildTheme';\n\nexport const layoutTheme = buildTheme({\n ...alert,\n ...button,\n ...card,\n ...connections,\n ...separator,\n ...spinner,\n});\n","import { visualStyle as connections } from '~/common/connections';\nimport { visualStyle as alert } from '~/primitives/alert';\nimport { visualStyle as button } from '~/primitives/button';\nimport { visualStyle as card } from '~/primitives/card';\nimport { visualStyle as separator } from '~/primitives/separator';\nimport { visualStyle as spinner } from '~/primitives/spinner';\n\nimport { buildTheme, mergeTheme } from './buildTheme';\nimport { layoutTheme } from './layout';\n\nconst visualTheme = buildTheme({\n ...alert,\n ...button,\n ...card,\n ...connections,\n ...separator,\n ...spinner,\n});\nexport const fullTheme = mergeTheme(layoutTheme, visualTheme);\n"]}
package/dist/contexts.mjs CHANGED
@@ -1,3 +1,3 @@
1
- export { AppearanceProvider, mergeDescriptors, useAppearance } from './chunk-RVVUA25B.mjs';
1
+ export { AppearanceProvider, mergeDescriptors, useAppearance } from './chunk-LLOUIL3Z.mjs';
2
2
  //# sourceMappingURL=out.js.map
3
3
  //# sourceMappingURL=contexts.mjs.map
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- @keyframes cl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes cl-blink{0%,to{opacity:1}50%{opacity:0}}:root{--cl-light:initial;--cl-dark: ;color-scheme:light dark}:where(:not(svg,svg *)[class^=cl-],[class^=cl-] :not(svg,svg *),:not(svg,svg *)[class*=" cl-"],[class*=" cl-"] :not(svg,svg *),use[class^=cl-],[class^=cl-] use,use[class*=" cl-"],[class*=" cl-"] use){all:revert}:where([class^=cl-],[class^=cl-] *,[class*=" cl-"],[class*=" cl-"] *,:before[class^=cl-],[class^=cl-] :before,:before[class*=" cl-"],[class*=" cl-"] :before,:after[class^=cl-],[class^=cl-] :after,:after[class*=" cl-"],[class*=" cl-"] :after){border:0 solid #e5e7eb;box-sizing:border-box}:where([class^=cl-],[class^=cl-] *,[class*=" cl-"],[class*=" cl-"] *){line-height:1.5;-webkit-text-size-adjust:100%;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}:where(hr[class^=cl-],[class^=cl-] hr,hr[class*=" cl-"],[class*=" cl-"] hr){border-top-width:1px;color:inherit;height:0}:where(abbr[title][class^=cl-],[class^=cl-] abbr[title],abbr[title][class*=" cl-"],[class*=" cl-"] abbr[title]){text-decoration:underline dotted}:where(h1[class^=cl-],[class^=cl-] h1,h1[class*=" cl-"],[class*=" cl-"] h1,h2[class^=cl-],[class^=cl-] h2,h2[class*=" cl-"],[class*=" cl-"] h2,h3[class^=cl-],[class^=cl-] h3,h3[class*=" cl-"],[class*=" cl-"] h3,h4[class^=cl-],[class^=cl-] h4,h4[class*=" cl-"],[class*=" cl-"] h4,h5[class^=cl-],[class^=cl-] h5,h5[class*=" cl-"],[class*=" cl-"] h5,h6[class^=cl-],[class^=cl-] h6,h6[class*=" cl-"],[class*=" cl-"] h6){font-size:inherit;font-weight:inherit}:where(a[class^=cl-],[class^=cl-] a,a[class*=" cl-"],[class*=" cl-"] a){color:inherit;text-decoration:inherit}:where(b[class^=cl-],[class^=cl-] b,b[class*=" cl-"],[class*=" cl-"] b,strong[class^=cl-],[class^=cl-] strong,strong[class*=" cl-"],[class*=" cl-"] strong){font-weight:bolder}:where(code[class^=cl-],[class^=cl-] code,code[class*=" cl-"],[class*=" cl-"] code,kbd[class^=cl-],[class^=cl-] kbd,kbd[class*=" cl-"],[class*=" cl-"] kbd,samp[class^=cl-],[class^=cl-] samp,samp[class*=" cl-"],[class*=" cl-"] samp,pre[class^=cl-],[class^=cl-] pre,pre[class*=" cl-"],[class*=" cl-"] pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small[class^=cl-],[class^=cl-] small,small[class*=" cl-"],[class*=" cl-"] small){font-size:80%}:where(sub[class^=cl-],[class^=cl-] sub,sub[class*=" cl-"],[class*=" cl-"] sub,sup[class^=cl-],[class^=cl-] sup,sup[class*=" cl-"],[class*=" cl-"] sup){font-size:75%;line-height:0;position:relative;vertical-align:baseline}:where(sub[class^=cl-],[class^=cl-] sub,sub[class*=" cl-"],[class*=" cl-"] sub){bottom:-.25em}:where(sup[class^=cl-],[class^=cl-] sup,sup[class*=" cl-"],[class*=" cl-"] sup){top:-.5em}:where(table[class^=cl-],[class^=cl-] table,table[class*=" cl-"],[class*=" cl-"] table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button[class^=cl-],[class^=cl-] button,button[class*=" cl-"],[class*=" cl-"] button,input[class^=cl-],[class^=cl-] input,input[class*=" cl-"],[class*=" cl-"] input,optgroup[class^=cl-],[class^=cl-] optgroup,optgroup[class*=" cl-"],[class*=" cl-"] optgroup,select[class^=cl-],[class^=cl-] select,select[class*=" cl-"],[class*=" cl-"] select,textarea[class^=cl-],[class^=cl-] textarea,textarea[class*=" cl-"],[class*=" cl-"] textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button[class^=cl-],[class^=cl-] button,button[class*=" cl-"],[class*=" cl-"] button,select[class^=cl-],[class^=cl-] select,select[class*=" cl-"],[class*=" cl-"] select){text-transform:none}:where(button[class^=cl-],[class^=cl-] button,button[class*=" cl-"],[class*=" cl-"] button,input:where([type=button])[class^=cl-],[class^=cl-] input:where([type=button]),input:where([type=button])[class*=" cl-"],[class*=" cl-"] input:where([type=button]),input:where([type=reset])[class^=cl-],[class^=cl-] input:where([type=reset]),input:where([type=reset])[class*=" cl-"],[class*=" cl-"] input:where([type=reset]),input:where([type=submit])[class^=cl-],[class^=cl-] input:where([type=submit]),input:where([type=submit])[class*=" cl-"],[class*=" cl-"] input:where([type=submit])){-webkit-appearance:button;background-color:transparent;background-image:none}:where(:-moz-focusring[class^=cl-],[class^=cl-] :-moz-focusring,:-moz-focusring[class*=" cl-"],[class*=" cl-"] :-moz-focusring){outline:auto}:where(:-moz-ui-invalid[class^=cl-],[class^=cl-] :-moz-ui-invalid,:-moz-ui-invalid[class*=" cl-"],[class*=" cl-"] :-moz-ui-invalid){box-shadow:none}:where(progress[class^=cl-],[class^=cl-] progress,progress[class*=" cl-"],[class*=" cl-"] progress){vertical-align:baseline}:where(::-webkit-inner-spin-button[class^=cl-],[class^=cl-] ::-webkit-inner-spin-button,::-webkit-inner-spin-button[class*=" cl-"],[class*=" cl-"] ::-webkit-inner-spin-button,::-webkit-outer-spin-button[class^=cl-],[class^=cl-] ::-webkit-outer-spin-button,::-webkit-outer-spin-button[class*=" cl-"],[class*=" cl-"] ::-webkit-outer-spin-button){height:auto}:where([type=search][class^=cl-],[class^=cl-] [type=search],[type=search][class*=" cl-"],[class*=" cl-"] [type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(::-webkit-search-decoration[class^=cl-],[class^=cl-] ::-webkit-search-decoration,::-webkit-search-decoration[class*=" cl-"],[class*=" cl-"] ::-webkit-search-decoration){-webkit-appearance:none}:where(::-webkit-file-upload-button[class^=cl-],[class^=cl-] ::-webkit-file-upload-button,::-webkit-file-upload-button[class*=" cl-"],[class*=" cl-"] ::-webkit-file-upload-button){-webkit-appearance:button;font:inherit}:where(summary[class^=cl-],[class^=cl-] summary,summary[class*=" cl-"],[class*=" cl-"] summary){display:list-item}:where(blockquote[class^=cl-],[class^=cl-] blockquote,blockquote[class*=" cl-"],[class*=" cl-"] blockquote,dl[class^=cl-],[class^=cl-] dl,dl[class*=" cl-"],[class*=" cl-"] dl,dd[class^=cl-],[class^=cl-] dd,dd[class*=" cl-"],[class*=" cl-"] dd,h1[class^=cl-],[class^=cl-] h1,h1[class*=" cl-"],[class*=" cl-"] h1,h2[class^=cl-],[class^=cl-] h2,h2[class*=" cl-"],[class*=" cl-"] h2,h3[class^=cl-],[class^=cl-] h3,h3[class*=" cl-"],[class*=" cl-"] h3,h4[class^=cl-],[class^=cl-] h4,h4[class*=" cl-"],[class*=" cl-"] h4,h5[class^=cl-],[class^=cl-] h5,h5[class*=" cl-"],[class*=" cl-"] h5,h6[class^=cl-],[class^=cl-] h6,h6[class*=" cl-"],[class*=" cl-"] h6,hr[class^=cl-],[class^=cl-] hr,hr[class*=" cl-"],[class*=" cl-"] hr,figure[class^=cl-],[class^=cl-] figure,figure[class*=" cl-"],[class*=" cl-"] figure,p[class^=cl-],[class^=cl-] p,p[class*=" cl-"],[class*=" cl-"] p,pre[class^=cl-],[class^=cl-] pre,pre[class*=" cl-"],[class*=" cl-"] pre){margin:0}:where(fieldset[class^=cl-],[class^=cl-] fieldset,fieldset[class*=" cl-"],[class*=" cl-"] fieldset){margin:0;padding:0}:where(legend[class^=cl-],[class^=cl-] legend,legend[class*=" cl-"],[class*=" cl-"] legend){padding:0}:where(ol[class^=cl-],[class^=cl-] ol,ol[class*=" cl-"],[class*=" cl-"] ol,ul[class^=cl-],[class^=cl-] ul,ul[class*=" cl-"],[class*=" cl-"] ul,menu[class^=cl-],[class^=cl-] menu,menu[class*=" cl-"],[class*=" cl-"] menu){list-style:none;margin:0;padding:0}:where(dialog[class^=cl-],[class^=cl-] dialog,dialog[class*=" cl-"],[class*=" cl-"] dialog){padding:0}:where(textarea[class^=cl-],[class^=cl-] textarea,textarea[class*=" cl-"],[class*=" cl-"] textarea){resize:vertical}:where(input::placeholder[class^=cl-],[class^=cl-] input::placeholder,input::placeholder[class*=" cl-"],[class*=" cl-"] input::placeholder,textarea::placeholder[class^=cl-],[class^=cl-] textarea::placeholder,textarea::placeholder[class*=" cl-"],[class*=" cl-"] textarea::placeholder){color:#9ca3af;opacity:1}:where(button[class^=cl-],[class^=cl-] button,button[class*=" cl-"],[class*=" cl-"] button,[role=button][class^=cl-],[class^=cl-] [role=button],[role=button][class*=" cl-"],[class*=" cl-"] [role=button]){cursor:pointer}:where(:disabled[class^=cl-],[class^=cl-] :disabled,:disabled[class*=" cl-"],[class*=" cl-"] :disabled){cursor:default}:where(img[class^=cl-],[class^=cl-] img,img[class*=" cl-"],[class*=" cl-"] img,svg[class^=cl-],[class^=cl-] svg,svg[class*=" cl-"],[class*=" cl-"] svg,video[class^=cl-],[class^=cl-] video,video[class*=" cl-"],[class*=" cl-"] video,canvas[class^=cl-],[class^=cl-] canvas,canvas[class*=" cl-"],[class*=" cl-"] canvas,audio[class^=cl-],[class^=cl-] audio,audio[class*=" cl-"],[class*=" cl-"] audio,iframe[class^=cl-],[class^=cl-] iframe,iframe[class*=" cl-"],[class*=" cl-"] iframe,embed[class^=cl-],[class^=cl-] embed,embed[class*=" cl-"],[class*=" cl-"] embed,object[class^=cl-],[class^=cl-] object,object[class*=" cl-"],[class*=" cl-"] object){display:block;vertical-align:middle}:where(img[class^=cl-],[class^=cl-] img,img[class*=" cl-"],[class*=" cl-"] img,video[class^=cl-],[class^=cl-] video,video[class*=" cl-"],[class*=" cl-"] video){height:auto;max-width:100%}:where([hidden][class^=cl-],[class^=cl-] [hidden],[hidden][class*=" cl-"],[class*=" cl-"] [hidden]){display:none}:where(:root){--cl-font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;--cl-color-danger:0 84% 60%;--cl-color-success:142 71% 45%;--cl-color-warning:25 95% 53%;--cl-radius:0.375rem;--cl-spacing-unit:1rem;--cl-font-size:0.8125rem;--color-background:#fff;--cl-accent-1:#fdfdfe;--cl-accent-2:#f8f9fd;--cl-accent-3:#eef0f8;--cl-accent-4:#e4e6f3;--cl-accent-5:#dadcea;--cl-accent-6:#cfd1de;--cl-accent-7:#bfc1ce;--cl-accent-8:#a8aab7;--cl-accent-9:#2f3037;--cl-accent-10:#42434a;--cl-accent-11:#656773;--cl-accent-12:#34353c;--cl-accent-a1:#00008002;--cl-accent-a2:#0025b707;--cl-accent-a3:#001e9611;--cl-accent-a4:#00138e1b;--cl-accent-a5:#000e6f25;--cl-accent-a6:#000b5030;--cl-accent-a7:#00083c40;--cl-accent-a8:#00062c57;--cl-accent-a9:#00010ad0;--cl-accent-a10:#00020bbd;--cl-accent-a11:#0004189a;--cl-accent-a12:#00010acb;--cl-accent-contrast:#fff;--cl-accent-surface:#f6f8fdcc;--cl-accent-indicator:#2f3037;--cl-accent-track:#2f3037;--cl-gray-1:#fcfcfd;--cl-gray-2:#f9f9fc;--cl-gray-3:#eff0f4;--cl-gray-4:#e7e8ed;--cl-gray-5:#dfe0e7;--cl-gray-6:#d8d9e1;--cl-gray-7:#cdced8;--cl-gray-8:#b9bbc8;--cl-gray-9:#8b8d99;--cl-gray-10:#81828e;--cl-gray-11:#62646d;--cl-gray-12:#1f2026;--cl-gray-a1:#00005503;--cl-gray-a2:#00008006;--cl-gray-a3:#00105010;--cl-gray-a4:#000b4018;--cl-gray-a5:#00084020;--cl-gray-a6:#00073b27;--cl-gray-a7:#00063932;--cl-gray-a8:#00083746;--cl-gray-a9:#00051f74;--cl-gray-a10:#00031b7e;--cl-gray-a11:#0004129d;--cl-gray-a12:#000108e0;--cl-gray-contrast:#fff;--cl-gray-surface:#ffffffcc;--cl-gray-indicator:#8b8d99;--cl-gray-track:#8b8d99}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:where(:root){--cl-accent-1:oklch(99.4% 0.0012 279.2);--cl-accent-2:oklch(98.3% 0.005 279.2);--cl-accent-3:oklch(95.5% 0.0112 279.2);--cl-accent-4:oklch(92.8% 0.0174 279.2);--cl-accent-5:oklch(89.8% 0.0188 279.2);--cl-accent-6:oklch(86.2% 0.0188 279.2);--cl-accent-7:oklch(81.2% 0.0188 279.2);--cl-accent-8:oklch(74.1% 0.0188 279.2);--cl-accent-9:oklch(31.1% 0.0125 279.2);--cl-accent-10:oklch(38.4% 0.0125 279.2);--cl-accent-11:oklch(51.5% 0.0188 279.2);--cl-accent-12:oklch(33% 0.0125 279.2);--cl-accent-a1:color(display-p3 0.0196 0.0196 0.5098/0.008);--cl-accent-a2:color(display-p3 0.0235 0.1608 0.7216/0.028);--cl-accent-a3:color(display-p3 0.0078 0.1255 0.5333/0.067);--cl-accent-a4:color(display-p3 0.0039 0.0784 0.5216/0.106);--cl-accent-a5:color(display-p3 0.0078 0.0627 0.4118/0.146);--cl-accent-a6:color(display-p3 0.0078 0.0471 0.298/0.189);--cl-accent-a7:color(display-p3 0.0039 0.0314 0.2196/0.251);--cl-accent-a8:color(display-p3 0.0039 0.0275 0.1647/0.342);--cl-accent-a9:color(display-p3 0 0.0039 0.0353/0.816);--cl-accent-a10:color(display-p3 0 0.0078 0.0392/0.742);--cl-accent-a11:color(display-p3 0 0.0157 0.0863/0.604);--cl-accent-a12:color(display-p3 0 0.0039 0.0353/0.797);--cl-accent-contrast:#fff;--cl-accent-surface:color(display-p3 0.9725 0.9725 0.9843/0.8);--cl-accent-indicator:oklch(31.1% 0.0125 279.2);--cl-accent-track:oklch(31.1% 0.0125 279.2);--cl-gray-1:oklch(99.2% 0.0017 279.2);--cl-gray-2:oklch(98.3% 0.0031 279.2);--cl-gray-3:oklch(95.6% 0.0055 279.2);--cl-gray-4:oklch(93.2% 0.0073 279.2);--cl-gray-5:oklch(90.9% 0.0094 279.2);--cl-gray-6:oklch(88.6% 0.0108 279.2);--cl-gray-7:oklch(85.4% 0.0134 279.2);--cl-gray-8:oklch(79.4% 0.0181 279.2);--cl-gray-9:oklch(64.6% 0.0182 279.2);--cl-gray-10:oklch(61.1% 0.0173 279.2);--cl-gray-11:oklch(50.5% 0.015 279.2);--cl-gray-12:oklch(24.5% 0.0125 279.2);--cl-gray-a1:color(display-p3 0.0235 0.0235 0.349/0.012);--cl-gray-a2:color(display-p3 0.0235 0.0235 0.5137/0.024);--cl-gray-a3:color(display-p3 0.0078 0.0667 0.3176/0.063);--cl-gray-a4:color(display-p3 0.0118 0.051 0.2588/0.095);--cl-gray-a5:color(display-p3 0.0078 0.0353 0.2235/0.126);--cl-gray-a6:color(display-p3 0.0039 0.0275 0.2078/0.153);--cl-gray-a7:color(display-p3 0.0078 0.0275 0.2039/0.197);--cl-gray-a8:color(display-p3 0.0039 0.0314 0.2039/0.275);--cl-gray-a9:color(display-p3 0.0039 0.0196 0.1137/0.455);--cl-gray-a10:color(display-p3 0.0039 0.0118 0.098/0.495);--cl-gray-a11:color(display-p3 0 0.0157 0.0667/0.616);--cl-gray-a12:color(display-p3 0 0.0039 0.0275/0.879);--cl-gray-contrast:#fff;--cl-gray-surface:color(display-p3 1 1 1/80%);--cl-gray-indicator:oklch(64.6% 0.0182 279.2);--cl-gray-track:oklch(64.6% 0.0182 279.2)}}}:after,:before{--cl-content:""}:where([class^=cl-],[class^=cl-] *,[class*=" cl-"],[class*=" cl-"] *){font-family:var(--cl-font-family)}*,:after,:before{--cl-border-spacing-x:0;--cl-border-spacing-y:0;--cl-translate-x:0;--cl-translate-y:0;--cl-rotate:0;--cl-skew-x:0;--cl-skew-y:0;--cl-scale-x:1;--cl-scale-y:1;--cl-pan-x: ;--cl-pan-y: ;--cl-pinch-zoom: ;--cl-scroll-snap-strictness:proximity;--cl-gradient-from-position: ;--cl-gradient-via-position: ;--cl-gradient-to-position: ;--cl-ordinal: ;--cl-slashed-zero: ;--cl-numeric-figure: ;--cl-numeric-spacing: ;--cl-numeric-fraction: ;--cl-ring-inset: ;--cl-ring-offset-width:0px;--cl-ring-offset-color:#fff;--cl-ring-color:var(--cl-gray-a7);--cl-ring-offset-shadow:0 0 #0000;--cl-ring-shadow:0 0 #0000;--cl-shadow:0 0 #0000;--cl-shadow-colored:0 0 #0000;--cl-blur: ;--cl-brightness: ;--cl-contrast: ;--cl-grayscale: ;--cl-hue-rotate: ;--cl-invert: ;--cl-saturate: ;--cl-sepia: ;--cl-drop-shadow: ;--cl-backdrop-blur: ;--cl-backdrop-brightness: ;--cl-backdrop-contrast: ;--cl-backdrop-grayscale: ;--cl-backdrop-hue-rotate: ;--cl-backdrop-invert: ;--cl-backdrop-opacity: ;--cl-backdrop-saturate: ;--cl-backdrop-sepia: ;--cl-contain-size: ;--cl-contain-layout: ;--cl-contain-paint: ;--cl-contain-style: }::backdrop{--cl-border-spacing-x:0;--cl-border-spacing-y:0;--cl-translate-x:0;--cl-translate-y:0;--cl-rotate:0;--cl-skew-x:0;--cl-skew-y:0;--cl-scale-x:1;--cl-scale-y:1;--cl-pan-x: ;--cl-pan-y: ;--cl-pinch-zoom: ;--cl-scroll-snap-strictness:proximity;--cl-gradient-from-position: ;--cl-gradient-via-position: ;--cl-gradient-to-position: ;--cl-ordinal: ;--cl-slashed-zero: ;--cl-numeric-figure: ;--cl-numeric-spacing: ;--cl-numeric-fraction: ;--cl-ring-inset: ;--cl-ring-offset-width:0px;--cl-ring-offset-color:#fff;--cl-ring-color:var(--cl-gray-a7);--cl-ring-offset-shadow:0 0 #0000;--cl-ring-shadow:0 0 #0000;--cl-shadow:0 0 #0000;--cl-shadow-colored:0 0 #0000;--cl-blur: ;--cl-brightness: ;--cl-contrast: ;--cl-grayscale: ;--cl-hue-rotate: ;--cl-invert: ;--cl-saturate: ;--cl-sepia: ;--cl-drop-shadow: ;--cl-backdrop-blur: ;--cl-backdrop-brightness: ;--cl-backdrop-contrast: ;--cl-backdrop-grayscale: ;--cl-backdrop-hue-rotate: ;--cl-backdrop-invert: ;--cl-backdrop-opacity: ;--cl-backdrop-saturate: ;--cl-backdrop-sepia: ;--cl-contain-size: ;--cl-contain-layout: ;--cl-contain-paint: ;--cl-contain-style: }.cl-6cb778e1{align-items:center;display:flex;gap:.5rem;justify-content:center}.cl-0f165050{border-radius:calc(var(--cl-radius)*.66);height:1rem;outline:2px solid transparent;outline-offset:2px;width:1rem}.cl-0f165050:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-ba2d0eea{--cl-numeric-spacing:tabular-nums;font-variant-numeric:var(--cl-ordinal) var(--cl-slashed-zero) var(--cl-numeric-figure) var(--cl-numeric-spacing) var(--cl-numeric-fraction)}.cl-7147c693{flex-direction:column}.cl-7147c693,.cl-8a585078{display:flex;gap:1rem}.cl-7a09f230:empty{display:none}.cl-254f463f{display:flex;flex-direction:column;row-gap:1rem}.cl-e1e451e8{display:flex;gap:1rem}.cl-e1e451e8:empty{display:none}.cl-26a6f33a{border-radius:calc(var(--cl-radius)*.66);color:var(--cl-accent-9);height:1rem;outline:2px solid transparent;outline-offset:2px;width:1rem}.cl-26a6f33a:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-031094f6{align-items:center;color:var(--cl-gray-11);column-gap:.75rem;display:flex;font-size:var(--cl-font-size);line-height:1.38462;outline:2px solid transparent;outline-offset:2px;padding:1rem 2.5rem;text-align:start;width:100%;--session-icon-opacity:0}.cl-031094f6:hover,.cl-031094f6[data-focus-visible]{background-color:var(--cl-gray-2)}.cl-031094f6[data-hovered]{--session-icon-opacity:1}.cl-855ce3c9{border-bottom-left-radius:var(--card-content-rounded-b);border-bottom-right-radius:var(--card-content-rounded-b);margin-bottom:calc(var(--card-body-py)*-1);margin-left:calc(var(--card-body-px)*-1);margin-right:calc(var(--card-body-px)*-1);overflow:hidden}.cl-d0f85a65{border-color:var(--cl-gray-a4);border-top-width:1px}.cl-77626d9b{background-color:var(--cl-gray-2);border-color:var(--cl-gray-a4);border-radius:9999px;border-width:1px;display:grid;flex-shrink:0;height:2.25rem;overflow:hidden;place-content:center;position:relative;width:2.25rem}.cl-8ed2f06f{inset:0;object-fit:cover;position:absolute}.cl-f50b29b9{color:var(--cl-gray-11);font-size:var(--cl-font-size);font-weight:500;line-height:1.38462}.cl-cadbbf79{display:flex;flex:1 1 0%;flex-direction:column;min-width:0}.cl-e5dcc04d{color:var(--cl-gray-12);font-weight:500}.cl-32b44f2e{overflow:hidden;text-overflow:ellipsis;width:100%}.cl-32b44f2e,.cl-ef87b06a{color:var(--cl-gray-11)}.cl-ef87b06a{flex-shrink:0;opacity:var(--session-icon-opacity);transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}.cl-d15ca550{display:grid;height:2.25rem;place-content:center;width:2.25rem}.cl-6bb768bd{width:2.25rem}.cl-e333d877{fill:var(--cl-gray-2);stroke:var(--cl-gray-7)}.cl-c7780cae{fill:var(--cl-gray-11)}.cl-daaac3fb,.cl-eab1f521{font-weight:500}.cl-eab1f521{align-items:center;border-radius:var(--cl-radius);color:var(--cl-gray-11);column-gap:.75rem;display:flex;font-size:var(--cl-font-size);line-height:1.38462;margin-bottom:-.25rem;margin-top:-.25rem;outline:2px solid transparent;outline-offset:2px;padding:.25rem 1rem;width:100%}.cl-eab1f521:hover,.cl-eab1f521[data-focus-visible]{background-color:var(--cl-gray-3)}.cl-73ffa5c8{display:grid;place-content:center;width:2.25rem}.cl-99a38caf{width:2.25rem}.cl-99a38caf:where([dir=rtl],[dir=rtl] *){--cl-rotate:180deg;transform:translate(var(--cl-translate-x),var(--cl-translate-y)) rotate(var(--cl-rotate)) skewX(var(--cl-skew-x)) skewY(var(--cl-skew-y)) scaleX(var(--cl-scale-x)) scaleY(var(--cl-scale-y))}.cl-2a10bda8{gap:.75rem}.cl-2a10bda8,.cl-7c5144aa{display:flex;flex-direction:column}.cl-7c5144aa{gap:.5rem}.cl-f0ebe729{display:flex;flex-direction:column;gap:1rem;justify-content:center}.cl-c53048bf{align-items:center;column-gap:1rem;display:flex}.cl-c53048bf:after,.cl-c53048bf:before{content:var(--cl-content);flex:1 1 0%;height:1px}.cl-77b14b2e{color:var(--cl-gray-a11);font-size:var(--cl-font-size);line-height:1.38462}.cl-77b14b2e:after,.cl-77b14b2e:before{background-color:var(--cl-gray-a4);content:var(--cl-content)}.cl-fbddaa7d{border-width:1px;column-gap:.5rem;display:flex;padding:.75rem 1rem}.cl-af4e251c{flex-shrink:0;height:1rem;margin-top:1px;width:1rem}.cl-15c02a47{border-radius:var(--cl-radius);font-size:var(--cl-font-size);line-height:1.38462}.cl-a992fcfc{background-color:hsl(var(--cl-color-warning)/.06);border-color:hsl(var(--cl-color-warning)/.12);color:hsl(var(--cl-color-warning))}.cl-66ef3405{background-color:hsl(var(--cl-color-danger)/.06);border-color:hsl(var(--cl-color-danger)/.12);color:hsl(var(--cl-color-danger))}.cl-16a914bc{--button-icon-size:calc(var(--cl-font-size)*1.24)}.cl-da41fb98{appearance:none;isolation:isolate;position:relative;user-select:none}.cl-f5aee1d0{font-size:var(--cl-font-size);font-weight:500;line-height:1.38462}.cl-c8dc0199{padding:.375rem .75rem}.cl-ff9d26a5{min-height:1.875rem}.cl-ce4a8aff{align-items:center;display:inline-flex;gap:.75rem;justify-content:center;width:100%}.cl-b55f0528{border-radius:var(--cl-radius);--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-offset-width:1px}.cl-d9cf47b8:not(:focus-visible){--cl-ring-color:transparent}.cl-b30fc560{outline:2px solid transparent;outline-offset:2px}.cl-8a3782da>*{min-width:0}.cl-a98b2d0f{--button-icon-color:currentColor}.cl-e7b4a4f3{--button-icon-opacity:0.6}.cl-93e9de3b{background-color:var(--cl-accent-9);color:var(--cl-accent-contrast);--cl-ring-offset-color:var(--cl-accent-9)}.cl-cb1d8f85{--cl-shadow:0px 1px 1px 0px hsla(0,0%,100%,.07) inset,0px 2px 3px 0px var(--cl-gray-a7),0px 1px 1px 0px var(--cl-gray-a9);--cl-shadow-colored:inset 0px 1px 1px 0px var(--cl-shadow-color),0px 2px 3px 0px var(--cl-shadow-color),0px 1px 1px 0px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-2b39a966:before{--cl-shadow:0 1px 1px 0 hsla(0,0%,100%,.07) inset;--cl-shadow-colored:inset 0 1px 1px 0 var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-2b39a966:before,.cl-5d812cb6:after{border-radius:inherit;content:var(--cl-content);inset:0;position:absolute}.cl-5d812cb6:after{background-image:linear-gradient(to bottom,var(--cl-gradient-stops));pointer-events:none;z-index:-10;--cl-gradient-from:hsla(0,0%,100%,.1) var(--cl-gradient-from-position);--cl-gradient-to:hsla(0,0%,100%,0) var(--cl-gradient-to-position);--cl-gradient-stops:var(--cl-gradient-from),var(--cl-gradient-to);--cl-gradient-to:transparent var(--cl-gradient-to-position)}.cl-947a937d{--button-icon-color:var(--cl-gray-12)}.cl-2031c7be{--button-icon-opacity:1}.cl-97c9b979{background-color:var(--cl-gray-surface);color:var(--cl-gray-12);--cl-ring-color:var(--cl-gray-a4);--cl-ring-offset-color:var(--cl-gray-a4)}.cl-aa729509{--cl-shadow:0px 1px 0px 0px var(--cl-gray-a2),0px 2px 3px -1px var(--cl-gray-a3);--cl-shadow-colored:0px 1px 0px 0px var(--cl-shadow-color),0px 2px 3px -1px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-dd1ec9c5:hover{background-color:var(--cl-accent-10)}.cl-dd1ec9c5:hover:after{content:var(--cl-content);opacity:0}.cl-9b31bb43:hover{background-color:var(--cl-gray-2)}.cl-d4e2e313:disabled{cursor:not-allowed;opacity:.5}.cl-d6edf6f5{cursor:wait}.cl-6237331a,.cl-c5cd4d02{color:var(--button-icon-color);flex-shrink:0;font-size:var(--button-icon-size)}.cl-6237331a{opacity:var(--button-icon-opacity)}.cl-63a1f595{line-height:1rem;text-overflow:ellipsis}.cl-32fb0905,.cl-63a1f595{overflow:hidden;white-space:nowrap}.cl-32fb0905{height:1px;margin:-1px;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0}.cl-a6922c72{--card-banner-height:1rem}.cl-5e44c334{--card-body-px:2.5rem}.cl-c4324dd6{--card-body-py:2rem}.cl-3fbacce1{--card-content-rounded-b:calc(var(--cl-radius)*1.33)}.cl-7ea85c83{background-color:var(--cl-gray-2);border-radius:calc(var(--cl-radius)*2);max-width:25rem;position:relative;width:100%;--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(1px + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:var(--cl-gray-a3)}.cl-a52b4c3f{margin-top:calc(var(--card-banner-height)/2)}.cl-5af1449f{--cl-shadow:0px -1.5px 0px 0px hsl(var(--cl-color-warning)),0px 5px 15px 0px var(--cl-gray-a4),0px 15px 35px -5px var(--cl-gray-a4);--cl-shadow-colored:0px -1.5px 0px 0px var(--cl-shadow-color),0px 5px 15px 0px var(--cl-shadow-color),0px 15px 35px -5px var(--cl-shadow-color)}.cl-5af1449f,.cl-bc4a783b{box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-bc4a783b{--cl-shadow:0px 5px 15px 0px var(--cl-gray-a4),0px 15px 35px -5px var(--cl-gray-a4);--cl-shadow-colored:0px 5px 15px 0px var(--cl-shadow-color),0px 15px 35px -5px var(--cl-shadow-color)}.cl-7817f2f2{display:flex;isolation:isolate;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:calc(var(--card-banner-height)/2*-1);z-index:500}.cl-03e68f06{align-items:center;background-color:hsl(var(--cl-color-warning));border-radius:9999px;display:inline-flex;font-size:.6875rem;font-weight:500;height:var(--card-banner-height);letter-spacing:2%;padding-left:.5rem;padding-right:.5rem;pointer-events:auto;--cl-text-opacity:1;color:rgb(255 255 255/var(--cl-text-opacity))}.cl-9c68c093{border-radius:inherit;overflow:hidden}.cl-85f9b607{background-color:var(--cl-gray-surface);border-bottom-left-radius:var(--card-content-rounded-b);border-bottom-right-radius:var(--card-content-rounded-b);border-top-left-radius:0;border-top-right-radius:0;display:flex;flex-direction:column;gap:2rem;padding:var(--card-body-py) var(--card-body-px);position:relative}.cl-1c01a9d7{--cl-shadow:0px 0px 2px 0px var(--cl-gray-a4),0px 1px 2px 0px var(--cl-gray-a3);--cl-shadow-colored:0px 0px 2px 0px var(--cl-shadow-color),0px 1px 2px 0px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow);--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(1px + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:var(--cl-gray-a3)}.cl-c757ad0c{align-items:center;display:flex;flex-direction:column;gap:.25rem;text-align:center;z-index:1}.cl-deefc87a{height:100%;object-fit:contain;width:100%}.cl-4f5262b8{display:flex;height:2rem;justify-content:center;margin-bottom:1.25rem;z-index:1}.cl-33c167b1{border-radius:calc(var(--cl-radius)*.66);margin:-.125rem;outline:2px solid transparent;outline-offset:2px;padding:.125rem}.cl-33c167b1:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-f29e36a7{color:var(--cl-gray-12);font-size:calc(var(--cl-font-size)*1.3);font-weight:700;line-height:1.41176}.cl-5c413d88{color:var(--cl-gray-a11);font-size:var(--cl-font-size);line-height:1.38462}.cl-5eebf917{gap:1.5rem}.cl-5eebf917,.cl-cc1fa4d3{display:flex;flex-direction:column;z-index:1}.cl-cc1fa4d3{gap:.75rem}.cl-04c8fa73 [data-link]{align-self:center}.cl-b4e3cd77{isolation:isolate;pointer-events:none;position:absolute;top:-.5rem;z-index:500}.cl-fb5351c6{font-size:calc(var(--cl-font-size)*.9);font-weight:500;line-height:1.38462;pointer-events:auto;--cl-text-opacity:1;color:rgb(249 115 22/var(--cl-text-opacity))}.cl-0f2a693e{display:grid}.cl-10ec6412{align-items:center;display:flex;padding:1rem 1.5rem}.cl-32c92bb1{justify-content:space-between}.cl-a503dd37{justify-content:center}.cl-286d6459{color:var(--cl-gray-a11);display:inline-flex;font-size:calc(var(--cl-font-size)*.9);font-weight:500;gap:.5rem;line-height:1.38462}.cl-e9dc1e80{align-items:center;border-radius:calc(var(--cl-radius)*.66);display:inline-flex;margin:-.125rem;outline:2px solid transparent;outline-offset:2px;padding:.125rem}.cl-e9dc1e80:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-c354e22d{display:flex;gap:.5rem}.cl-9f2b45b5{border-bottom-width:1px;border-color:var(--cl-gray-a3);padding:1rem 1.5rem}.cl-9f2b45b5:last-of-type{border-bottom-color:transparent}.cl-8e9f71ce{color:var(--cl-gray-a11);text-align:center}.cl-812d8d14,.cl-8e9f71ce{font-size:var(--cl-font-size);line-height:1.38462}.cl-812d8d14{border-radius:calc(var(--cl-radius)*.66);color:var(--cl-accent-a10);font-weight:500;margin-left:-.125rem;margin-right:-.125rem;outline:2px solid transparent;outline-offset:2px;padding-left:.125rem;padding-right:.125rem}.cl-812d8d14:hover{text-decoration-line:underline}.cl-812d8d14:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-a53e0ec1{color:var(--cl-gray-a11);font-size:calc(var(--cl-font-size)*.9);font-weight:500;line-height:1.38462}.cl-a53e0ec1:hover{text-decoration-line:underline}.cl-a8dca104{flex-direction:column;gap:.75rem}.cl-6f38a1ba,.cl-a8dca104{display:flex;justify-content:center}.cl-6f38a1ba{gap:.5rem}.cl-0389eded{align-self:center;background-color:currentColor;border-radius:9999px;height:calc(var(--cl-font-size)*1.38462);width:2px}@media (prefers-reduced-motion:no-preference){.cl-0389eded{animation:cl-blink 1s step-end .2s infinite}}.cl-36b12e83:where([dir=rtl],[dir=rtl] *){--cl-rotate:180deg;transform:translate(var(--cl-translate-x),var(--cl-translate-y)) rotate(var(--cl-rotate)) skewX(var(--cl-skew-x)) skewY(var(--cl-skew-y)) scaleX(var(--cl-scale-x)) scaleY(var(--cl-scale-y))}.cl-dc2a2420{border-radius:calc(var(--cl-radius)*.66);color:var(--cl-accent-9);font-weight:500;margin-left:-.125rem;margin-right:-.125rem;outline:2px solid transparent;outline-offset:2px;padding-left:.125rem;padding-right:.125rem}.cl-5efab14d{cursor:wait;opacity:.5}.cl-b13d8727:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-e6143e08[data-focus-visible]{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-c74ab393{font-size:calc(var(--cl-font-size)*.9);line-height:1.38462}.cl-757071a1{font-size:var(--cl-font-size);line-height:1.38462}.cl-b5672060:hover{text-decoration-line:underline}.cl-ba16e610{padding-inline-end:1.75rem}.cl-f739d7d3{align-items:center;aspect-ratio:1/1;background-color:#fff;border-radius:calc(var(--cl-radius)*.66);color:var(--cl-gray-10);display:inline-flex;font-size:calc(var(--cl-font-size)*1.23);height:1.375rem;inset-inline-start:auto;justify-content:center;line-height:0;margin:.25rem;outline:2px solid transparent;outline-offset:2px;padding:0}.cl-f739d7d3:disabled{cursor:not-allowed;opacity:.5}.cl-35c8e0b5:enabled:hover{background-color:var(--cl-gray-3);color:var(--cl-gray-12)}.cl-c93b25fd:focus-visible{border-radius:calc(var(--cl-radius)*.4);--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-deb747c5{--phone-number-field-py:0.375rem}@supports (-webkit-touch-callout:none){.cl-deb747c5{--phone-number-field-py:0.25rem}}.cl-d9213aa4{--phone-number-field-px:0.75rem}.cl-929952e4{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:transparent;--cl-ring-offset-width:1px;--cl-ring-offset-color:var(--cl-phone-number-field-border)}.cl-000b8592{background-color:#fff;border-radius:var(--cl-radius);color:var(--cl-gray-12);display:flex;font-size:var(--cl-font-size);line-height:1.38462;min-width:0;outline:2px solid transparent;outline-offset:2px;position:relative}.cl-2aeea0c3{--cl-shadow:0px 1px 1px 0px var(--cl-gray-a3);--cl-shadow-colored:0px 1px 1px 0px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-b8d3fb9a:has([data-field-input][disabled]){cursor:not-allowed;opacity:.5}.cl-31e80f10:has([data-field-input]:enabled):hover{--cl-ring-offset-color:var(--cl-phone-number-field-border-active)}.cl-f3ff9abd:has([data-field-input]:focus-visible){--cl-ring-offset-color:var(--cl-phone-number-field-border-active)}.cl-2d93da67:has([data-field-input]:focus-visible){--cl-ring-color:var(--cl-phone-number-field-ring,var(--cl-gray-a4))}.cl-60b2eb1d{--cl-phone-number-field-border:var(--cl-gray-a4)}.cl-9722ed3e{--cl-phone-number-field-border-active:var(--cl-gray-a7)}.cl-d0aba580{--cl-phone-number-field-border:var(--cl-gray-a7)}.cl-5a239b6d{--cl-phone-number-field-border:hsl(var(--cl-color-danger))}.cl-16f89e98{--cl-phone-number-field-border-active:hsl(var(--cl-color-danger))}.cl-a0f5bec1{--cl-phone-number-field-ring:hsl(var(--cl-color-danger)/0.2)}.cl-903d9684{--cl-phone-number-field-border:hsl(var(--cl-color-success))}.cl-9ee10a6a{--cl-phone-number-field-border-active:hsl(var(--cl-color-success))}.cl-7df25448{--cl-phone-number-field-ring:hsl(var(--cl-color-success)/0.25)}.cl-e6adb1a7{--cl-phone-number-field-border:hsl(var(--cl-color-warning))}.cl-9b871c1b{--cl-phone-number-field-border-active:hsl(var(--cl-color-warning))}.cl-08105371{--cl-phone-number-field-ring:hsl(var(--cl-color-warning)/0.2)}.cl-b2ddee5e{align-items:center;background-color:#fff;border-end-start-radius:var(--cl-radius);border-start-start-radius:var(--cl-radius);column-gap:.25rem;display:flex;font-size:var(--cl-font-size);line-height:1.38462;outline:2px solid transparent;outline-offset:2px;padding:.25rem .5rem;position:relative}.cl-b2ddee5e:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:var(--cl-gray-4);--cl-ring-offset-width:1px;--cl-ring-offset-color:var(--cl-gray-8)}.cl-b2ddee5e:enabled:hover{background-color:var(--cl-gray-2)}.cl-6f75bc57{min-width:1.5rem;text-transform:uppercase}.cl-f6142057{color:var(--cl-gray-9);height:1rem;width:1rem}.cl-dc1d9f19{background-clip:padding-box;background-color:#fff;border-color:var(--cl-gray-a3);border-radius:var(--cl-radius);border-width:1px;overflow:hidden;--cl-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--cl-shadow-colored:0 10px 15px -3px var(--cl-shadow-color),0 4px 6px -4px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow);outline:2px solid transparent;outline-offset:2px}.cl-1c0d9e31{padding:.125rem}.cl-54426bd8{background-color:var(--cl-gray-2);border-color:var(--cl-gray-4);border-radius:calc(var(--cl-radius) - 2px);border-width:1px;color:var(--cl-gray-12);font-size:var(--cl-font-size);line-height:1.38462;outline:2px solid transparent;outline-offset:2px;padding:.375rem .5rem;width:100%}.cl-54426bd8::placeholder{color:var(--cl-gray-9)}@supports (-webkit-touch-callout:none){.cl-54426bd8{font-size:1rem;padding-bottom:.25rem;padding-top:.25rem}}.cl-6bc50823{max-height:18vh;overflow-x:hidden;overflow-y:auto}.cl-1facd79b{color:var(--cl-gray-11);text-align:center}.cl-1facd79b,.cl-ba59b9a7{font-size:var(--cl-font-size);line-height:1.38462;padding:.375rem 1rem}.cl-ba59b9a7{column-gap:.5rem;cursor:pointer;display:flex}.cl-ba59b9a7[aria-selected=true]{background-color:var(--cl-gray-2)}.cl-4128a507{display:grid;flex-shrink:0;place-content:center;width:.75rem}.cl-100c22d5{height:1rem;width:1rem}.cl-2bcc5e30{color:var(--cl-gray-12);flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-00c77415{color:var(--cl-gray-11);margin-inline-start:auto}.cl-59bd566c{background-color:#fff;cursor:text;display:grid;font-size:var(--cl-font-size);line-height:1.38462;padding-left:.25rem;padding-right:.25rem;place-content:center}@supports (-webkit-touch-callout:none){.cl-59bd566c{font-size:1rem}}.cl-e564b408{display:none}.cl-4a741be6{background-color:#fff;border-radius:var(--cl-radius);font-size:var(--cl-font-size);line-height:1.38462;outline:2px solid transparent;outline-offset:2px;padding:var(--phone-number-field-py) var(--phone-number-field-px);width:100%}@supports (-webkit-touch-callout:none){.cl-4a741be6{font-size:1rem}}.cl-114ff405{color:currentColor;display:block;height:1em;isolation:isolate;position:relative;width:1em}.cl-4f43603c{height:100%;width:100%}@media (prefers-reduced-motion:no-preference){.cl-bfbc36b1{transform-origin:var(--spinner-origin)}.cl-22c1b7ea{will-change:transform}.cl-45bbc6bf{animation:cl-spin linear infinite}.cl-e5d7b81e{animation-direction:reverse}.cl-4bd15f3b{animation-duration:12s}.cl-3ba7917c{animation-duration:1.5s}}.cl-dcb655e4{--field-input-height:1.875rem}.cl-03811a40{--field-input-px:0.75rem}.cl-81d1ec5b{--field-input-py:0.375rem}@supports (-webkit-touch-callout:none){.cl-81d1ec5b{--field-input-py:0.25rem}}.cl-3a46e0d4{--field-input-group-end-size:var(--field-input-height)}.cl-4636b1d3:has([data-field-checkbox]){--cl-field-label-cursor:pointer}.cl-3da4a9c6:has([data-field-input][disabled]){--cl-field-label-opacity:0.5}.cl-e0435440{align-items:center;color:var(--cl-gray-12);column-gap:.25rem;display:flex;font-size:var(--cl-font-size);font-weight:500;line-height:1.38462;opacity:var(--cl-field-label-opacity,1)}.cl-b830f807{cursor:var(--cl-field-label-cursor,auto)}.cl-43770a6e{align-self:flex-end;flex-grow:1;text-align:end}.cl-275d380b{color:var(--cl-gray-9);font-size:calc(var(--cl-font-size)*.9);font-weight:500;line-height:1.38462}.cl-833ca99c{accent-color:var(--cl-accent-9);cursor:pointer;height:.75rem;margin-top:.1875em;width:.75rem}.cl-ddaf1b10:has([data-field-input-group-end]){--field-input-group-pe:var(--field-input-group-end-size)}.cl-d2d9e1f1{position:relative}.cl-4e1b09eb{height:var(--field-input-group-end-size);inset:0;inset-inline-start:auto;position:absolute;width:var(--field-input-group-end-size)}.cl-43ccb14c{padding-bottom:var(--field-input-py);padding-top:var(--field-input-py)}.cl-f18c4e82{padding-inline-start:var(--field-input-px)}.cl-983f1668{padding-inline-end:var(--field-input-group-pe,var(--field-input-px))}.cl-ed751b03{align-items:center;background-color:#fff;border-radius:var(--cl-radius);color:var(--cl-gray-12);display:flex;font-size:var(--cl-font-size);line-height:1.38462;min-width:0;outline:2px solid transparent;outline-offset:2px;position:relative;--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-offset-width:1px}@supports (-webkit-touch-callout:none){.cl-ed4ed5cf{font-size:1rem;min-height:1.875rem}}.cl-f6005322{justify-content:flex-start;width:100%}.cl-cb0ccd68{aspect-ratio:1/1;font-size:calc(var(--cl-font-size)*1.4);font-weight:600;height:2.5rem;justify-content:center;width:2.5rem}.cl-0290fbc4{--cl-ring-offset-color:var(--cl-field-input-border)}.cl-0290fbc4:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:var(--cl-field-input-ring,var(--cl-gray-a4));--cl-ring-offset-color:var(--cl-field-input-border-active)}.cl-0290fbc4:enabled:hover{--cl-ring-offset-color:var(--cl-field-input-border-active)}.cl-0290fbc4:not(:focus-visible){--cl-ring-color:transparent}.cl-8d0f1e66{--cl-ring-color:transparent;--cl-ring-offset-color:var(--cl-field-input-border-active)}.cl-e88ce474{--cl-ring-color:var(--cl-field-input-ring,var(--cl-gray-a4));--cl-ring-offset-color:var(--cl-field-input-border-active)}.cl-cac18779{--cl-field-input-border:var(--cl-gray-a4)}.cl-03c582dd{--cl-field-input-border-active:var(--cl-gray-a7)}.cl-fa487ffe{--cl-field-input-border:var(--cl-gray-a7)}.cl-cffb481b{--cl-field-input-border:hsl(var(--cl-color-danger))}.cl-776840f6{--cl-field-input-border-active:hsl(var(--cl-color-danger))}.cl-1e334ea3{--cl-field-input-ring:hsl(var(--cl-color-danger)/0.2)}.cl-90c7848a{--cl-field-input-border:hsl(var(--cl-color-success))}.cl-204cd4cf{--cl-field-input-border-active:hsl(var(--cl-color-success))}.cl-0810e01c{--cl-field-input-ring:hsl(var(--cl-color-success)/0.25)}.cl-d250e2b7{--cl-field-input-border:hsl(var(--cl-color-warning))}.cl-8cae7b37{--cl-field-input-border-active:hsl(var(--cl-color-warning))}.cl-43888e8c{--cl-field-input-ring:hsl(var(--cl-color-warning)/0.2)}.cl-12c39ca4{column-gap:.25rem;display:flex;font-size:var(--cl-font-size);line-height:1.38462}.cl-c62ec162{justify-content:flex-start}.cl-307644c3{justify-content:flex-end}.cl-de621653{color:var(--cl-gray-11)}.cl-e5cd1f02{color:hsl(var(--cl-color-danger))}.cl-e8e05e0c{color:hsl(var(--cl-color-success))}.cl-d794f084{color:hsl(var(--cl-color-warning))}.cl-eb8de575{font-size:calc(var(--cl-font-size)*1.23);line-height:0;margin-top:1px}.cl-519e344c{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:calc(var(--cl-connection-gap)/2*-1);--cl-connection-gap:0.5rem}.cl-b9a44166{padding:calc(var(--cl-connection-gap)/2);width:100%}@media (min-width:640px){.cl-b9a44166{width:calc(100%/var(--cl-connection-columns))}}.cl-2a836795{height:.875rem;width:3rem}.cl-698a3297{fill:var(--cl-light,#000) var(--cl-dark,#fff)}.cl-41d907b8{fill:var(--cl-light,#5865f2) var(--cl-dark,#fff)}
1
+ @keyframes cl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes cl-blink{0%,to{opacity:1}50%{opacity:0}}:root{--cl-light:initial;--cl-dark: ;color-scheme:light dark}:where(:not(svg,svg *)[class^=cl-],[class^=cl-] :not(svg,svg *),:not(svg,svg *)[class*=" cl-"],[class*=" cl-"] :not(svg,svg *),use[class^=cl-],[class^=cl-] use,use[class*=" cl-"],[class*=" cl-"] use){all:revert}:where([class^=cl-],[class^=cl-] *,[class*=" cl-"],[class*=" cl-"] *,:before[class^=cl-],[class^=cl-] :before,:before[class*=" cl-"],[class*=" cl-"] :before,:after[class^=cl-],[class^=cl-] :after,:after[class*=" cl-"],[class*=" cl-"] :after){border:0 solid #e5e7eb;box-sizing:border-box}:where([class^=cl-],[class^=cl-] *,[class*=" cl-"],[class*=" cl-"] *){line-height:1.5;-webkit-text-size-adjust:100%;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}:where(hr[class^=cl-],[class^=cl-] hr,hr[class*=" cl-"],[class*=" cl-"] hr){border-top-width:1px;color:inherit;height:0}:where(abbr[title][class^=cl-],[class^=cl-] abbr[title],abbr[title][class*=" cl-"],[class*=" cl-"] abbr[title]){text-decoration:underline dotted}:where(h1[class^=cl-],[class^=cl-] h1,h1[class*=" cl-"],[class*=" cl-"] h1,h2[class^=cl-],[class^=cl-] h2,h2[class*=" cl-"],[class*=" cl-"] h2,h3[class^=cl-],[class^=cl-] h3,h3[class*=" cl-"],[class*=" cl-"] h3,h4[class^=cl-],[class^=cl-] h4,h4[class*=" cl-"],[class*=" cl-"] h4,h5[class^=cl-],[class^=cl-] h5,h5[class*=" cl-"],[class*=" cl-"] h5,h6[class^=cl-],[class^=cl-] h6,h6[class*=" cl-"],[class*=" cl-"] h6){font-size:inherit;font-weight:inherit}:where(a[class^=cl-],[class^=cl-] a,a[class*=" cl-"],[class*=" cl-"] a){color:inherit;text-decoration:inherit}:where(b[class^=cl-],[class^=cl-] b,b[class*=" cl-"],[class*=" cl-"] b,strong[class^=cl-],[class^=cl-] strong,strong[class*=" cl-"],[class*=" cl-"] strong){font-weight:bolder}:where(code[class^=cl-],[class^=cl-] code,code[class*=" cl-"],[class*=" cl-"] code,kbd[class^=cl-],[class^=cl-] kbd,kbd[class*=" cl-"],[class*=" cl-"] kbd,samp[class^=cl-],[class^=cl-] samp,samp[class*=" cl-"],[class*=" cl-"] samp,pre[class^=cl-],[class^=cl-] pre,pre[class*=" cl-"],[class*=" cl-"] pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}:where(small[class^=cl-],[class^=cl-] small,small[class*=" cl-"],[class*=" cl-"] small){font-size:80%}:where(sub[class^=cl-],[class^=cl-] sub,sub[class*=" cl-"],[class*=" cl-"] sub,sup[class^=cl-],[class^=cl-] sup,sup[class*=" cl-"],[class*=" cl-"] sup){font-size:75%;line-height:0;position:relative;vertical-align:baseline}:where(sub[class^=cl-],[class^=cl-] sub,sub[class*=" cl-"],[class*=" cl-"] sub){bottom:-.25em}:where(sup[class^=cl-],[class^=cl-] sup,sup[class*=" cl-"],[class*=" cl-"] sup){top:-.5em}:where(table[class^=cl-],[class^=cl-] table,table[class*=" cl-"],[class*=" cl-"] table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button[class^=cl-],[class^=cl-] button,button[class*=" cl-"],[class*=" cl-"] button,input[class^=cl-],[class^=cl-] input,input[class*=" cl-"],[class*=" cl-"] input,optgroup[class^=cl-],[class^=cl-] optgroup,optgroup[class*=" cl-"],[class*=" cl-"] optgroup,select[class^=cl-],[class^=cl-] select,select[class*=" cl-"],[class*=" cl-"] select,textarea[class^=cl-],[class^=cl-] textarea,textarea[class*=" cl-"],[class*=" cl-"] textarea){color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}:where(button[class^=cl-],[class^=cl-] button,button[class*=" cl-"],[class*=" cl-"] button,select[class^=cl-],[class^=cl-] select,select[class*=" cl-"],[class*=" cl-"] select){text-transform:none}:where(button[class^=cl-],[class^=cl-] button,button[class*=" cl-"],[class*=" cl-"] button,input:where([type=button])[class^=cl-],[class^=cl-] input:where([type=button]),input:where([type=button])[class*=" cl-"],[class*=" cl-"] input:where([type=button]),input:where([type=reset])[class^=cl-],[class^=cl-] input:where([type=reset]),input:where([type=reset])[class*=" cl-"],[class*=" cl-"] input:where([type=reset]),input:where([type=submit])[class^=cl-],[class^=cl-] input:where([type=submit]),input:where([type=submit])[class*=" cl-"],[class*=" cl-"] input:where([type=submit])){-webkit-appearance:button;background-color:transparent;background-image:none}:where(:-moz-focusring[class^=cl-],[class^=cl-] :-moz-focusring,:-moz-focusring[class*=" cl-"],[class*=" cl-"] :-moz-focusring){outline:auto}:where(:-moz-ui-invalid[class^=cl-],[class^=cl-] :-moz-ui-invalid,:-moz-ui-invalid[class*=" cl-"],[class*=" cl-"] :-moz-ui-invalid){box-shadow:none}:where(progress[class^=cl-],[class^=cl-] progress,progress[class*=" cl-"],[class*=" cl-"] progress){vertical-align:baseline}:where(::-webkit-inner-spin-button[class^=cl-],[class^=cl-] ::-webkit-inner-spin-button,::-webkit-inner-spin-button[class*=" cl-"],[class*=" cl-"] ::-webkit-inner-spin-button,::-webkit-outer-spin-button[class^=cl-],[class^=cl-] ::-webkit-outer-spin-button,::-webkit-outer-spin-button[class*=" cl-"],[class*=" cl-"] ::-webkit-outer-spin-button){height:auto}:where([type=search][class^=cl-],[class^=cl-] [type=search],[type=search][class*=" cl-"],[class*=" cl-"] [type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(::-webkit-search-decoration[class^=cl-],[class^=cl-] ::-webkit-search-decoration,::-webkit-search-decoration[class*=" cl-"],[class*=" cl-"] ::-webkit-search-decoration){-webkit-appearance:none}:where(::-webkit-file-upload-button[class^=cl-],[class^=cl-] ::-webkit-file-upload-button,::-webkit-file-upload-button[class*=" cl-"],[class*=" cl-"] ::-webkit-file-upload-button){-webkit-appearance:button;font:inherit}:where(summary[class^=cl-],[class^=cl-] summary,summary[class*=" cl-"],[class*=" cl-"] summary){display:list-item}:where(blockquote[class^=cl-],[class^=cl-] blockquote,blockquote[class*=" cl-"],[class*=" cl-"] blockquote,dl[class^=cl-],[class^=cl-] dl,dl[class*=" cl-"],[class*=" cl-"] dl,dd[class^=cl-],[class^=cl-] dd,dd[class*=" cl-"],[class*=" cl-"] dd,h1[class^=cl-],[class^=cl-] h1,h1[class*=" cl-"],[class*=" cl-"] h1,h2[class^=cl-],[class^=cl-] h2,h2[class*=" cl-"],[class*=" cl-"] h2,h3[class^=cl-],[class^=cl-] h3,h3[class*=" cl-"],[class*=" cl-"] h3,h4[class^=cl-],[class^=cl-] h4,h4[class*=" cl-"],[class*=" cl-"] h4,h5[class^=cl-],[class^=cl-] h5,h5[class*=" cl-"],[class*=" cl-"] h5,h6[class^=cl-],[class^=cl-] h6,h6[class*=" cl-"],[class*=" cl-"] h6,hr[class^=cl-],[class^=cl-] hr,hr[class*=" cl-"],[class*=" cl-"] hr,figure[class^=cl-],[class^=cl-] figure,figure[class*=" cl-"],[class*=" cl-"] figure,p[class^=cl-],[class^=cl-] p,p[class*=" cl-"],[class*=" cl-"] p,pre[class^=cl-],[class^=cl-] pre,pre[class*=" cl-"],[class*=" cl-"] pre){margin:0}:where(fieldset[class^=cl-],[class^=cl-] fieldset,fieldset[class*=" cl-"],[class*=" cl-"] fieldset){margin:0;padding:0}:where(legend[class^=cl-],[class^=cl-] legend,legend[class*=" cl-"],[class*=" cl-"] legend){padding:0}:where(ol[class^=cl-],[class^=cl-] ol,ol[class*=" cl-"],[class*=" cl-"] ol,ul[class^=cl-],[class^=cl-] ul,ul[class*=" cl-"],[class*=" cl-"] ul,menu[class^=cl-],[class^=cl-] menu,menu[class*=" cl-"],[class*=" cl-"] menu){list-style:none;margin:0;padding:0}:where(dialog[class^=cl-],[class^=cl-] dialog,dialog[class*=" cl-"],[class*=" cl-"] dialog){padding:0}:where(textarea[class^=cl-],[class^=cl-] textarea,textarea[class*=" cl-"],[class*=" cl-"] textarea){resize:vertical}:where(input::placeholder[class^=cl-],[class^=cl-] input::placeholder,input::placeholder[class*=" cl-"],[class*=" cl-"] input::placeholder,textarea::placeholder[class^=cl-],[class^=cl-] textarea::placeholder,textarea::placeholder[class*=" cl-"],[class*=" cl-"] textarea::placeholder){color:#9ca3af;opacity:1}:where(button[class^=cl-],[class^=cl-] button,button[class*=" cl-"],[class*=" cl-"] button,[role=button][class^=cl-],[class^=cl-] [role=button],[role=button][class*=" cl-"],[class*=" cl-"] [role=button]){cursor:pointer}:where(:disabled[class^=cl-],[class^=cl-] :disabled,:disabled[class*=" cl-"],[class*=" cl-"] :disabled){cursor:default}:where(img[class^=cl-],[class^=cl-] img,img[class*=" cl-"],[class*=" cl-"] img,svg[class^=cl-],[class^=cl-] svg,svg[class*=" cl-"],[class*=" cl-"] svg,video[class^=cl-],[class^=cl-] video,video[class*=" cl-"],[class*=" cl-"] video,canvas[class^=cl-],[class^=cl-] canvas,canvas[class*=" cl-"],[class*=" cl-"] canvas,audio[class^=cl-],[class^=cl-] audio,audio[class*=" cl-"],[class*=" cl-"] audio,iframe[class^=cl-],[class^=cl-] iframe,iframe[class*=" cl-"],[class*=" cl-"] iframe,embed[class^=cl-],[class^=cl-] embed,embed[class*=" cl-"],[class*=" cl-"] embed,object[class^=cl-],[class^=cl-] object,object[class*=" cl-"],[class*=" cl-"] object){display:block;vertical-align:middle}:where(img[class^=cl-],[class^=cl-] img,img[class*=" cl-"],[class*=" cl-"] img,video[class^=cl-],[class^=cl-] video,video[class*=" cl-"],[class*=" cl-"] video){height:auto;max-width:100%}:where([hidden][class^=cl-],[class^=cl-] [hidden],[hidden][class*=" cl-"],[class*=" cl-"] [hidden]){display:none}:where(:root){--cl-font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;--cl-color-danger:0 84% 60%;--cl-color-success:142 71% 45%;--cl-color-warning:25 95% 53%;--cl-radius:0.375rem;--cl-spacing-unit:1rem;--cl-font-size:0.8125rem;--color-background:#fff;--cl-accent-1:#fdfdfe;--cl-accent-2:#f8f9fd;--cl-accent-3:#eef0f8;--cl-accent-4:#e4e6f3;--cl-accent-5:#dadcea;--cl-accent-6:#cfd1de;--cl-accent-7:#bfc1ce;--cl-accent-8:#a8aab7;--cl-accent-9:#2f3037;--cl-accent-10:#42434a;--cl-accent-11:#656773;--cl-accent-12:#34353c;--cl-accent-a1:#00008002;--cl-accent-a2:#0025b707;--cl-accent-a3:#001e9611;--cl-accent-a4:#00138e1b;--cl-accent-a5:#000e6f25;--cl-accent-a6:#000b5030;--cl-accent-a7:#00083c40;--cl-accent-a8:#00062c57;--cl-accent-a9:#00010ad0;--cl-accent-a10:#00020bbd;--cl-accent-a11:#0004189a;--cl-accent-a12:#00010acb;--cl-accent-contrast:#fff;--cl-accent-surface:#f6f8fdcc;--cl-accent-indicator:#2f3037;--cl-accent-track:#2f3037;--cl-gray-1:#fcfcfd;--cl-gray-2:#f9f9fc;--cl-gray-3:#eff0f4;--cl-gray-4:#e7e8ed;--cl-gray-5:#dfe0e7;--cl-gray-6:#d8d9e1;--cl-gray-7:#cdced8;--cl-gray-8:#b9bbc8;--cl-gray-9:#8b8d99;--cl-gray-10:#81828e;--cl-gray-11:#62646d;--cl-gray-12:#1f2026;--cl-gray-a1:#00005503;--cl-gray-a2:#00008006;--cl-gray-a3:#00105010;--cl-gray-a4:#000b4018;--cl-gray-a5:#00084020;--cl-gray-a6:#00073b27;--cl-gray-a7:#00063932;--cl-gray-a8:#00083746;--cl-gray-a9:#00051f74;--cl-gray-a10:#00031b7e;--cl-gray-a11:#0004129d;--cl-gray-a12:#000108e0;--cl-gray-contrast:#fff;--cl-gray-surface:#ffffffcc;--cl-gray-indicator:#8b8d99;--cl-gray-track:#8b8d99}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:where(:root){--cl-accent-1:oklch(99.4% 0.0012 279.2);--cl-accent-2:oklch(98.3% 0.005 279.2);--cl-accent-3:oklch(95.5% 0.0112 279.2);--cl-accent-4:oklch(92.8% 0.0174 279.2);--cl-accent-5:oklch(89.8% 0.0188 279.2);--cl-accent-6:oklch(86.2% 0.0188 279.2);--cl-accent-7:oklch(81.2% 0.0188 279.2);--cl-accent-8:oklch(74.1% 0.0188 279.2);--cl-accent-9:oklch(31.1% 0.0125 279.2);--cl-accent-10:oklch(38.4% 0.0125 279.2);--cl-accent-11:oklch(51.5% 0.0188 279.2);--cl-accent-12:oklch(33% 0.0125 279.2);--cl-accent-a1:color(display-p3 0.0196 0.0196 0.5098/0.008);--cl-accent-a2:color(display-p3 0.0235 0.1608 0.7216/0.028);--cl-accent-a3:color(display-p3 0.0078 0.1255 0.5333/0.067);--cl-accent-a4:color(display-p3 0.0039 0.0784 0.5216/0.106);--cl-accent-a5:color(display-p3 0.0078 0.0627 0.4118/0.146);--cl-accent-a6:color(display-p3 0.0078 0.0471 0.298/0.189);--cl-accent-a7:color(display-p3 0.0039 0.0314 0.2196/0.251);--cl-accent-a8:color(display-p3 0.0039 0.0275 0.1647/0.342);--cl-accent-a9:color(display-p3 0 0.0039 0.0353/0.816);--cl-accent-a10:color(display-p3 0 0.0078 0.0392/0.742);--cl-accent-a11:color(display-p3 0 0.0157 0.0863/0.604);--cl-accent-a12:color(display-p3 0 0.0039 0.0353/0.797);--cl-accent-contrast:#fff;--cl-accent-surface:color(display-p3 0.9725 0.9725 0.9843/0.8);--cl-accent-indicator:oklch(31.1% 0.0125 279.2);--cl-accent-track:oklch(31.1% 0.0125 279.2);--cl-gray-1:oklch(99.2% 0.0017 279.2);--cl-gray-2:oklch(98.3% 0.0031 279.2);--cl-gray-3:oklch(95.6% 0.0055 279.2);--cl-gray-4:oklch(93.2% 0.0073 279.2);--cl-gray-5:oklch(90.9% 0.0094 279.2);--cl-gray-6:oklch(88.6% 0.0108 279.2);--cl-gray-7:oklch(85.4% 0.0134 279.2);--cl-gray-8:oklch(79.4% 0.0181 279.2);--cl-gray-9:oklch(64.6% 0.0182 279.2);--cl-gray-10:oklch(61.1% 0.0173 279.2);--cl-gray-11:oklch(50.5% 0.015 279.2);--cl-gray-12:oklch(24.5% 0.0125 279.2);--cl-gray-a1:color(display-p3 0.0235 0.0235 0.349/0.012);--cl-gray-a2:color(display-p3 0.0235 0.0235 0.5137/0.024);--cl-gray-a3:color(display-p3 0.0078 0.0667 0.3176/0.063);--cl-gray-a4:color(display-p3 0.0118 0.051 0.2588/0.095);--cl-gray-a5:color(display-p3 0.0078 0.0353 0.2235/0.126);--cl-gray-a6:color(display-p3 0.0039 0.0275 0.2078/0.153);--cl-gray-a7:color(display-p3 0.0078 0.0275 0.2039/0.197);--cl-gray-a8:color(display-p3 0.0039 0.0314 0.2039/0.275);--cl-gray-a9:color(display-p3 0.0039 0.0196 0.1137/0.455);--cl-gray-a10:color(display-p3 0.0039 0.0118 0.098/0.495);--cl-gray-a11:color(display-p3 0 0.0157 0.0667/0.616);--cl-gray-a12:color(display-p3 0 0.0039 0.0275/0.879);--cl-gray-contrast:#fff;--cl-gray-surface:color(display-p3 1 1 1/80%);--cl-gray-indicator:oklch(64.6% 0.0182 279.2);--cl-gray-track:oklch(64.6% 0.0182 279.2)}}}:after,:before{--cl-content:""}:where([class^=cl-],[class^=cl-] *,[class*=" cl-"],[class*=" cl-"] *){font-family:var(--cl-font-family)}*,:after,:before{--cl-border-spacing-x:0;--cl-border-spacing-y:0;--cl-translate-x:0;--cl-translate-y:0;--cl-rotate:0;--cl-skew-x:0;--cl-skew-y:0;--cl-scale-x:1;--cl-scale-y:1;--cl-pan-x: ;--cl-pan-y: ;--cl-pinch-zoom: ;--cl-scroll-snap-strictness:proximity;--cl-gradient-from-position: ;--cl-gradient-via-position: ;--cl-gradient-to-position: ;--cl-ordinal: ;--cl-slashed-zero: ;--cl-numeric-figure: ;--cl-numeric-spacing: ;--cl-numeric-fraction: ;--cl-ring-inset: ;--cl-ring-offset-width:0px;--cl-ring-offset-color:#fff;--cl-ring-color:var(--cl-gray-a7);--cl-ring-offset-shadow:0 0 #0000;--cl-ring-shadow:0 0 #0000;--cl-shadow:0 0 #0000;--cl-shadow-colored:0 0 #0000;--cl-blur: ;--cl-brightness: ;--cl-contrast: ;--cl-grayscale: ;--cl-hue-rotate: ;--cl-invert: ;--cl-saturate: ;--cl-sepia: ;--cl-drop-shadow: ;--cl-backdrop-blur: ;--cl-backdrop-brightness: ;--cl-backdrop-contrast: ;--cl-backdrop-grayscale: ;--cl-backdrop-hue-rotate: ;--cl-backdrop-invert: ;--cl-backdrop-opacity: ;--cl-backdrop-saturate: ;--cl-backdrop-sepia: ;--cl-contain-size: ;--cl-contain-layout: ;--cl-contain-paint: ;--cl-contain-style: }::backdrop{--cl-border-spacing-x:0;--cl-border-spacing-y:0;--cl-translate-x:0;--cl-translate-y:0;--cl-rotate:0;--cl-skew-x:0;--cl-skew-y:0;--cl-scale-x:1;--cl-scale-y:1;--cl-pan-x: ;--cl-pan-y: ;--cl-pinch-zoom: ;--cl-scroll-snap-strictness:proximity;--cl-gradient-from-position: ;--cl-gradient-via-position: ;--cl-gradient-to-position: ;--cl-ordinal: ;--cl-slashed-zero: ;--cl-numeric-figure: ;--cl-numeric-spacing: ;--cl-numeric-fraction: ;--cl-ring-inset: ;--cl-ring-offset-width:0px;--cl-ring-offset-color:#fff;--cl-ring-color:var(--cl-gray-a7);--cl-ring-offset-shadow:0 0 #0000;--cl-ring-shadow:0 0 #0000;--cl-shadow:0 0 #0000;--cl-shadow-colored:0 0 #0000;--cl-blur: ;--cl-brightness: ;--cl-contrast: ;--cl-grayscale: ;--cl-hue-rotate: ;--cl-invert: ;--cl-saturate: ;--cl-sepia: ;--cl-drop-shadow: ;--cl-backdrop-blur: ;--cl-backdrop-brightness: ;--cl-backdrop-contrast: ;--cl-backdrop-grayscale: ;--cl-backdrop-hue-rotate: ;--cl-backdrop-invert: ;--cl-backdrop-opacity: ;--cl-backdrop-saturate: ;--cl-backdrop-sepia: ;--cl-contain-size: ;--cl-contain-layout: ;--cl-contain-paint: ;--cl-contain-style: }.cl-6cb778e1{align-items:center;display:flex;gap:.5rem;justify-content:center}.cl-0f165050{border-radius:calc(var(--cl-radius)*.66);height:1rem;outline:2px solid transparent;outline-offset:2px;width:1rem}.cl-0f165050:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-ba2d0eea{--cl-numeric-spacing:tabular-nums;font-variant-numeric:var(--cl-ordinal) var(--cl-slashed-zero) var(--cl-numeric-figure) var(--cl-numeric-spacing) var(--cl-numeric-fraction)}.cl-254f463f{display:flex;flex-direction:column;row-gap:1rem}.cl-e1e451e8{display:flex;gap:1rem}.cl-e1e451e8:empty{display:none}.cl-7147c693{flex-direction:column}.cl-7147c693,.cl-8a585078{display:flex;gap:1rem}.cl-7a09f230:empty{display:none}.cl-26a6f33a{border-radius:calc(var(--cl-radius)*.66);color:var(--cl-accent-9);height:1rem;outline:2px solid transparent;outline-offset:2px;width:1rem}.cl-26a6f33a:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-031094f6{align-items:center;color:var(--cl-gray-11);column-gap:.75rem;display:flex;font-size:var(--cl-font-size);line-height:1.38462;outline:2px solid transparent;outline-offset:2px;padding:1rem 2.5rem;text-align:start;width:100%;--session-icon-opacity:0}.cl-031094f6:hover,.cl-031094f6[data-focus-visible]{background-color:var(--cl-gray-2)}.cl-031094f6[data-hovered]{--session-icon-opacity:1}.cl-855ce3c9{border-bottom-left-radius:var(--card-content-rounded-b);border-bottom-right-radius:var(--card-content-rounded-b);margin-bottom:calc(var(--card-body-py)*-1);margin-left:calc(var(--card-body-px)*-1);margin-right:calc(var(--card-body-px)*-1);overflow:hidden}.cl-d0f85a65{border-color:var(--cl-gray-a4);border-top-width:1px}.cl-77626d9b{background-color:var(--cl-gray-2);border-color:var(--cl-gray-a4);border-radius:9999px;border-width:1px;display:grid;flex-shrink:0;height:2.25rem;overflow:hidden;place-content:center;position:relative;width:2.25rem}.cl-8ed2f06f{inset:0;object-fit:cover;position:absolute}.cl-f50b29b9{color:var(--cl-gray-11);font-size:var(--cl-font-size);font-weight:500;line-height:1.38462}.cl-cadbbf79{display:flex;flex:1 1 0%;flex-direction:column;min-width:0}.cl-e5dcc04d{color:var(--cl-gray-12);font-weight:500}.cl-32b44f2e{overflow:hidden;text-overflow:ellipsis;width:100%}.cl-32b44f2e,.cl-ef87b06a{color:var(--cl-gray-11)}.cl-ef87b06a{flex-shrink:0;opacity:var(--session-icon-opacity);transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}.cl-d15ca550{display:grid;height:2.25rem;place-content:center;width:2.25rem}.cl-6bb768bd{width:2.25rem}.cl-e333d877{fill:var(--cl-gray-2);stroke:var(--cl-gray-7)}.cl-c7780cae{fill:var(--cl-gray-11)}.cl-daaac3fb,.cl-eab1f521{font-weight:500}.cl-eab1f521{align-items:center;border-radius:var(--cl-radius);color:var(--cl-gray-11);column-gap:.75rem;display:flex;font-size:var(--cl-font-size);line-height:1.38462;margin-bottom:-.25rem;margin-top:-.25rem;outline:2px solid transparent;outline-offset:2px;padding:.25rem 1rem;width:100%}.cl-eab1f521:hover,.cl-eab1f521[data-focus-visible]{background-color:var(--cl-gray-3)}.cl-73ffa5c8{display:grid;place-content:center;width:2.25rem}.cl-99a38caf{width:2.25rem}.cl-99a38caf:where([dir=rtl],[dir=rtl] *){--cl-rotate:180deg;transform:translate(var(--cl-translate-x),var(--cl-translate-y)) rotate(var(--cl-rotate)) skewX(var(--cl-skew-x)) skewY(var(--cl-skew-y)) scaleX(var(--cl-scale-x)) scaleY(var(--cl-scale-y))}.cl-2a10bda8{gap:.75rem}.cl-2a10bda8,.cl-7c5144aa{display:flex;flex-direction:column}.cl-7c5144aa{gap:.5rem}.cl-f0ebe729{display:flex;flex-direction:column;gap:1rem;justify-content:center}.cl-73c00d56{clip-path:polygon(0 0,0 0,0 0,0 0);opacity:0;position:absolute}.cl-519e344c{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:calc(var(--cl-connection-gap)/2*-1);--cl-connection-gap:0.5rem}.cl-b9a44166{padding:calc(var(--cl-connection-gap)/2);width:100%}@media (min-width:640px){.cl-b9a44166{width:calc(100%/var(--cl-connection-columns))}}.cl-fbddaa7d{border-width:1px;column-gap:.5rem;display:flex;padding:.75rem 1rem}.cl-af4e251c{flex-shrink:0;height:1rem;margin-top:1px;width:1rem}.cl-15c02a47{border-radius:var(--cl-radius);font-size:var(--cl-font-size);line-height:1.38462}.cl-a992fcfc{background-color:hsl(var(--cl-color-warning)/.06);border-color:hsl(var(--cl-color-warning)/.12);color:hsl(var(--cl-color-warning))}.cl-66ef3405{background-color:hsl(var(--cl-color-danger)/.06);border-color:hsl(var(--cl-color-danger)/.12);color:hsl(var(--cl-color-danger))}.cl-16a914bc{--button-icon-size:calc(var(--cl-font-size)*1.24)}.cl-da41fb98{appearance:none;isolation:isolate;position:relative;user-select:none}.cl-f5aee1d0{font-size:var(--cl-font-size);font-weight:500;line-height:1.38462}.cl-c8dc0199{padding:.375rem .75rem}.cl-ff9d26a5{min-height:1.875rem}.cl-ce4a8aff{align-items:center;display:inline-flex;gap:.75rem;justify-content:center;width:100%}.cl-8a3782da>*{min-width:0}.cl-27ead27a{flex-shrink:0}.cl-b55f0528{border-radius:var(--cl-radius);--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-offset-width:1px}.cl-d9cf47b8:not(:focus-visible){--cl-ring-color:transparent}.cl-b30fc560{outline:2px solid transparent;outline-offset:2px}.cl-a98b2d0f{--button-icon-color:currentColor}.cl-e7b4a4f3{--button-icon-opacity:0.6}.cl-93e9de3b{background-color:var(--cl-accent-9);color:var(--cl-accent-contrast);--cl-ring-offset-color:var(--cl-accent-9)}.cl-cb1d8f85{--cl-shadow:0px 1px 1px 0px hsla(0,0%,100%,.07) inset,0px 2px 3px 0px var(--cl-gray-a7),0px 1px 1px 0px var(--cl-gray-a9);--cl-shadow-colored:inset 0px 1px 1px 0px var(--cl-shadow-color),0px 2px 3px 0px var(--cl-shadow-color),0px 1px 1px 0px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-2b39a966:before{--cl-shadow:0 1px 1px 0 hsla(0,0%,100%,.07) inset;--cl-shadow-colored:inset 0 1px 1px 0 var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-2b39a966:before,.cl-5d812cb6:after{border-radius:inherit;content:var(--cl-content);inset:0;position:absolute}.cl-5d812cb6:after{background-image:linear-gradient(to bottom,var(--cl-gradient-stops));pointer-events:none;z-index:-10;--cl-gradient-from:hsla(0,0%,100%,.1) var(--cl-gradient-from-position);--cl-gradient-to:hsla(0,0%,100%,0) var(--cl-gradient-to-position);--cl-gradient-stops:var(--cl-gradient-from),var(--cl-gradient-to);--cl-gradient-to:transparent var(--cl-gradient-to-position)}.cl-947a937d{--button-icon-color:var(--cl-gray-12)}.cl-2031c7be{--button-icon-opacity:1}.cl-97c9b979{background-color:var(--cl-gray-surface);color:var(--cl-gray-12);--cl-ring-color:var(--cl-gray-a4);--cl-ring-offset-color:var(--cl-gray-a4)}.cl-aa729509{--cl-shadow:0px 1px 0px 0px var(--cl-gray-a2),0px 2px 3px -1px var(--cl-gray-a3);--cl-shadow-colored:0px 1px 0px 0px var(--cl-shadow-color),0px 2px 3px -1px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-dd1ec9c5:hover{background-color:var(--cl-accent-10)}.cl-dd1ec9c5:hover:after{content:var(--cl-content);opacity:0}.cl-9b31bb43:hover{background-color:var(--cl-gray-2)}.cl-d4e2e313:disabled{cursor:not-allowed;opacity:.5}.cl-d6edf6f5{cursor:wait}.cl-63a1f595{line-height:1rem;text-overflow:ellipsis}.cl-32fb0905,.cl-63a1f595{overflow:hidden;white-space:nowrap}.cl-32fb0905{height:1px;margin:-1px;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0}.cl-2e5aed0f{opacity:var(--button-icon-opacity)}.cl-291bc932,.cl-2e5aed0f{color:var(--button-icon-color);font-size:var(--button-icon-size)}.cl-a6922c72{--card-banner-height:1rem}.cl-5e44c334{--card-body-px:2.5rem}.cl-c4324dd6{--card-body-py:2rem}.cl-3fbacce1{--card-content-rounded-b:calc(var(--cl-radius)*1.33)}.cl-89a8e890{max-width:25rem;position:relative;width:100%}.cl-86f06b43{background-color:var(--cl-gray-2);border-radius:calc(var(--cl-radius)*2);--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(1px + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:var(--cl-gray-a3)}.cl-bc4a783b{--cl-shadow:0px 5px 15px 0px var(--cl-gray-a4),0px 15px 35px -5px var(--cl-gray-a4);--cl-shadow-colored:0px 5px 15px 0px var(--cl-shadow-color),0px 15px 35px -5px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-9c68c093{border-radius:inherit;overflow:hidden}.cl-a52b4c3f{margin-top:calc(var(--card-banner-height)/2)}.cl-5af1449f{--cl-shadow:0px -1.5px 0px 0px hsl(var(--cl-color-warning)),0px 5px 15px 0px var(--cl-gray-a4),0px 15px 35px -5px var(--cl-gray-a4);--cl-shadow-colored:0px -1.5px 0px 0px var(--cl-shadow-color),0px 5px 15px 0px var(--cl-shadow-color),0px 15px 35px -5px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-7817f2f2{display:flex;isolation:isolate;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:calc(var(--card-banner-height)/2*-1);z-index:500}.cl-03e68f06{align-items:center;background-color:hsl(var(--cl-color-warning));border-radius:9999px;display:inline-flex;font-size:.6875rem;font-weight:500;height:var(--card-banner-height);letter-spacing:2%;padding-left:.5rem;padding-right:.5rem;pointer-events:auto;--cl-text-opacity:1;color:rgb(255 255 255/var(--cl-text-opacity))}.cl-8baa595e{display:flex;flex-direction:column;gap:2rem;padding:var(--card-body-py) var(--card-body-px);position:relative}.cl-c99cd8b4{background-color:var(--cl-gray-surface);border-bottom-left-radius:var(--card-content-rounded-b);border-bottom-right-radius:var(--card-content-rounded-b);border-top-left-radius:0;border-top-right-radius:0}.cl-1c01a9d7{--cl-shadow:0px 0px 2px 0px var(--cl-gray-a4),0px 1px 2px 0px var(--cl-gray-a3);--cl-shadow-colored:0px 0px 2px 0px var(--cl-shadow-color),0px 1px 2px 0px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow);--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(1px + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:var(--cl-gray-a3)}.cl-c757ad0c{align-items:center;flex-direction:column;gap:.25rem;text-align:center}.cl-4f5262b8,.cl-c757ad0c{display:flex;z-index:1}.cl-4f5262b8{height:2rem;justify-content:center;margin-bottom:1.25rem}.cl-33c167b1{border-radius:calc(var(--cl-radius)*.66);margin:-.125rem;outline:2px solid transparent;outline-offset:2px;padding:.125rem}.cl-33c167b1:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-deefc87a{height:100%;object-fit:contain;width:100%}.cl-f29e36a7{color:var(--cl-gray-12);font-size:calc(var(--cl-font-size)*1.3);font-weight:700;line-height:1.41176}.cl-5c413d88{color:var(--cl-gray-a11);font-size:var(--cl-font-size);line-height:1.38462}.cl-5eebf917{gap:1.5rem}.cl-5eebf917,.cl-cc1fa4d3{display:flex;flex-direction:column;z-index:1}.cl-cc1fa4d3{gap:.75rem}.cl-04c8fa73 [data-link]{align-self:center}.cl-0f2a693e{display:grid}.cl-0c81043e{padding:1rem 1.5rem}.cl-e7659ac7{border-bottom-width:1px;border-color:var(--cl-gray-a3)}.cl-e7659ac7:last-of-type{border-bottom-color:transparent}.cl-8e9f71ce{color:var(--cl-gray-a11);text-align:center}.cl-812d8d14,.cl-8e9f71ce{font-size:var(--cl-font-size);line-height:1.38462}.cl-812d8d14{border-radius:calc(var(--cl-radius)*.66);color:var(--cl-accent-a10);font-weight:500;margin-left:-.125rem;margin-right:-.125rem;outline:2px solid transparent;outline-offset:2px;padding-left:.125rem;padding-right:.125rem}.cl-812d8d14:hover{text-decoration-line:underline}.cl-812d8d14:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-39faa7ab{color:var(--cl-gray-a11);font-size:var(--cl-font-size);font-weight:500;line-height:1.38462}.cl-39faa7ab:hover{text-decoration-line:underline}.cl-10ec6412{align-items:center;display:flex;padding:1rem 1.5rem}.cl-32c92bb1{justify-content:space-between}.cl-a503dd37{justify-content:center}.cl-286d6459{color:var(--cl-gray-a11);display:inline-flex;font-size:calc(var(--cl-font-size)*.9);font-weight:500;gap:.5rem;line-height:1.38462}.cl-e9dc1e80{align-items:center;border-radius:calc(var(--cl-radius)*.66);display:inline-flex;margin:-.125rem;outline:2px solid transparent;outline-offset:2px;padding:.125rem}.cl-e9dc1e80:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-c354e22d{display:flex;gap:.5rem}.cl-c53048bf{align-items:center;column-gap:1rem;display:flex}.cl-c53048bf:after,.cl-c53048bf:before{content:var(--cl-content);flex:1 1 0%;height:1px}.cl-77b14b2e{color:var(--cl-gray-a11);font-size:var(--cl-font-size);line-height:1.38462}.cl-77b14b2e:after,.cl-77b14b2e:before{background-color:var(--cl-gray-a4);content:var(--cl-content)}.cl-26207fa4{display:block;isolation:isolate;position:relative}.cl-9feebad9{color:currentColor;height:1em;width:1em}.cl-4f43603c{height:100%;width:100%}@media (prefers-reduced-motion:no-preference){.cl-bfbc36b1{transform-origin:var(--spinner-origin)}.cl-22c1b7ea{will-change:transform}.cl-45bbc6bf{animation:cl-spin linear infinite}.cl-e5d7b81e{animation-direction:reverse}.cl-4bd15f3b{animation-duration:12s}.cl-3ba7917c{animation-duration:1.5s}}.cl-a8dca104{flex-direction:column;gap:.75rem}.cl-6f38a1ba,.cl-a8dca104{display:flex;justify-content:center}.cl-6f38a1ba{gap:.5rem}.cl-0389eded{align-self:center;background-color:currentColor;border-radius:9999px;height:calc(var(--cl-font-size)*1.38462);width:2px}@media (prefers-reduced-motion:no-preference){.cl-0389eded{animation:cl-blink 1s step-end .2s infinite}}.cl-36b12e83:where([dir=rtl],[dir=rtl] *){--cl-rotate:180deg;transform:translate(var(--cl-translate-x),var(--cl-translate-y)) rotate(var(--cl-rotate)) skewX(var(--cl-skew-x)) skewY(var(--cl-skew-y)) scaleX(var(--cl-scale-x)) scaleY(var(--cl-scale-y))}.cl-dc2a2420{border-radius:calc(var(--cl-radius)*.66);color:var(--cl-accent-9);font-weight:500;margin-left:-.125rem;margin-right:-.125rem;outline:2px solid transparent;outline-offset:2px;padding-left:.125rem;padding-right:.125rem}.cl-5efab14d{cursor:wait;opacity:.5}.cl-b13d8727:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-e6143e08[data-focus-visible]{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-c74ab393{font-size:calc(var(--cl-font-size)*.9);line-height:1.38462}.cl-757071a1{font-size:var(--cl-font-size);line-height:1.38462}.cl-b5672060:hover{text-decoration-line:underline}.cl-ba16e610{padding-inline-end:1.75rem}.cl-f739d7d3{align-items:center;aspect-ratio:1/1;background-color:#fff;border-radius:calc(var(--cl-radius)*.66);color:var(--cl-gray-10);display:inline-flex;font-size:calc(var(--cl-font-size)*1.23);height:1.375rem;inset-inline-start:auto;justify-content:center;line-height:0;margin:.25rem;outline:2px solid transparent;outline-offset:2px;padding:0}.cl-f739d7d3:disabled{cursor:not-allowed;opacity:.5}.cl-35c8e0b5:enabled:hover{background-color:var(--cl-gray-3);color:var(--cl-gray-12)}.cl-c93b25fd:focus-visible{border-radius:calc(var(--cl-radius)*.4);--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000)}.cl-deb747c5{--phone-number-field-py:0.375rem}@supports (-webkit-touch-callout:none){.cl-deb747c5{--phone-number-field-py:0.25rem}}.cl-d9213aa4{--phone-number-field-px:0.75rem}.cl-929952e4{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:transparent;--cl-ring-offset-width:1px;--cl-ring-offset-color:var(--cl-phone-number-field-border)}.cl-000b8592{background-color:#fff;border-radius:var(--cl-radius);color:var(--cl-gray-12);display:flex;font-size:var(--cl-font-size);line-height:1.38462;min-width:0;outline:2px solid transparent;outline-offset:2px;position:relative}.cl-2aeea0c3{--cl-shadow:0px 1px 1px 0px var(--cl-gray-a3);--cl-shadow-colored:0px 1px 1px 0px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow)}.cl-b8d3fb9a:has([data-field-input][disabled]){cursor:not-allowed;opacity:.5}.cl-31e80f10:has([data-field-input]:enabled):hover{--cl-ring-offset-color:var(--cl-phone-number-field-border-active)}.cl-f3ff9abd:has([data-field-input]:focus-visible){--cl-ring-offset-color:var(--cl-phone-number-field-border-active)}.cl-2d93da67:has([data-field-input]:focus-visible){--cl-ring-color:var(--cl-phone-number-field-ring,var(--cl-gray-a4))}.cl-60b2eb1d{--cl-phone-number-field-border:var(--cl-gray-a4)}.cl-9722ed3e{--cl-phone-number-field-border-active:var(--cl-gray-a7)}.cl-d0aba580{--cl-phone-number-field-border:var(--cl-gray-a7)}.cl-5a239b6d{--cl-phone-number-field-border:hsl(var(--cl-color-danger))}.cl-16f89e98{--cl-phone-number-field-border-active:hsl(var(--cl-color-danger))}.cl-a0f5bec1{--cl-phone-number-field-ring:hsl(var(--cl-color-danger)/0.2)}.cl-903d9684{--cl-phone-number-field-border:hsl(var(--cl-color-success))}.cl-9ee10a6a{--cl-phone-number-field-border-active:hsl(var(--cl-color-success))}.cl-7df25448{--cl-phone-number-field-ring:hsl(var(--cl-color-success)/0.25)}.cl-e6adb1a7{--cl-phone-number-field-border:hsl(var(--cl-color-warning))}.cl-9b871c1b{--cl-phone-number-field-border-active:hsl(var(--cl-color-warning))}.cl-08105371{--cl-phone-number-field-ring:hsl(var(--cl-color-warning)/0.2)}.cl-b2ddee5e{align-items:center;background-color:#fff;border-end-start-radius:var(--cl-radius);border-start-start-radius:var(--cl-radius);column-gap:.25rem;display:flex;font-size:var(--cl-font-size);line-height:1.38462;outline:2px solid transparent;outline-offset:2px;padding:.25rem .5rem;position:relative}.cl-b2ddee5e:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:var(--cl-gray-4);--cl-ring-offset-width:1px;--cl-ring-offset-color:var(--cl-gray-8)}.cl-b2ddee5e:enabled:hover{background-color:var(--cl-gray-2)}.cl-6f75bc57{min-width:1.5rem;text-transform:uppercase}.cl-f6142057{color:var(--cl-gray-9);height:1rem;width:1rem}.cl-dc1d9f19{background-clip:padding-box;background-color:#fff;border-color:var(--cl-gray-a3);border-radius:var(--cl-radius);border-width:1px;overflow:hidden;--cl-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--cl-shadow-colored:0 10px 15px -3px var(--cl-shadow-color),0 4px 6px -4px var(--cl-shadow-color);box-shadow:var(--cl-ring-offset-shadow,0 0 #0000),var(--cl-ring-shadow,0 0 #0000),var(--cl-shadow);outline:2px solid transparent;outline-offset:2px}.cl-1c0d9e31{padding:.125rem}.cl-54426bd8{background-color:var(--cl-gray-2);border-color:var(--cl-gray-4);border-radius:calc(var(--cl-radius) - 2px);border-width:1px;color:var(--cl-gray-12);font-size:var(--cl-font-size);line-height:1.38462;outline:2px solid transparent;outline-offset:2px;padding:.375rem .5rem;width:100%}.cl-54426bd8::placeholder{color:var(--cl-gray-9)}@supports (-webkit-touch-callout:none){.cl-54426bd8{font-size:1rem;padding-bottom:.25rem;padding-top:.25rem}}.cl-6bc50823{max-height:18vh;overflow-x:hidden;overflow-y:auto}.cl-1facd79b{color:var(--cl-gray-11);text-align:center}.cl-1facd79b,.cl-ba59b9a7{font-size:var(--cl-font-size);line-height:1.38462;padding:.375rem 1rem}.cl-ba59b9a7{column-gap:.5rem;cursor:pointer;display:flex}.cl-ba59b9a7[aria-selected=true]{background-color:var(--cl-gray-2)}.cl-4128a507{display:grid;flex-shrink:0;place-content:center;width:.75rem}.cl-100c22d5{height:1rem;width:1rem}.cl-2bcc5e30{color:var(--cl-gray-12);flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-00c77415{color:var(--cl-gray-11);margin-inline-start:auto}.cl-59bd566c{background-color:#fff;cursor:text;display:grid;font-size:var(--cl-font-size);line-height:1.38462;padding-left:.25rem;padding-right:.25rem;place-content:center}@supports (-webkit-touch-callout:none){.cl-59bd566c{font-size:1rem}}.cl-e564b408{display:none}.cl-4a741be6{background-color:#fff;border-radius:var(--cl-radius);font-size:var(--cl-font-size);line-height:1.38462;outline:2px solid transparent;outline-offset:2px;padding:var(--phone-number-field-py) var(--phone-number-field-px);width:100%}@supports (-webkit-touch-callout:none){.cl-4a741be6{font-size:1rem}}.cl-2a836795{height:.875rem;width:3rem}.cl-dcb655e4{--field-input-height:1.875rem}.cl-03811a40{--field-input-px:0.75rem}.cl-81d1ec5b{--field-input-py:0.375rem}@supports (-webkit-touch-callout:none){.cl-81d1ec5b{--field-input-py:0.25rem}}.cl-3a46e0d4{--field-input-group-end-size:var(--field-input-height)}.cl-4636b1d3:has([data-field-checkbox]){--cl-field-label-cursor:pointer}.cl-3da4a9c6:has([data-field-input][disabled]){--cl-field-label-opacity:0.5}.cl-e0435440{align-items:center;color:var(--cl-gray-12);column-gap:.25rem;display:flex;font-size:var(--cl-font-size);font-weight:500;line-height:1.38462;opacity:var(--cl-field-label-opacity,1)}.cl-b830f807{cursor:var(--cl-field-label-cursor,auto)}.cl-43770a6e{align-self:flex-end;flex-grow:1;text-align:end}.cl-275d380b{color:var(--cl-gray-9);font-size:calc(var(--cl-font-size)*.9);font-weight:500;line-height:1.38462}.cl-833ca99c{accent-color:var(--cl-accent-9);cursor:pointer;height:.75rem;margin-top:.1875em;width:.75rem}.cl-ddaf1b10:has([data-field-input-group-end]){--field-input-group-pe:var(--field-input-group-end-size)}.cl-d2d9e1f1{position:relative}.cl-4e1b09eb{height:var(--field-input-group-end-size);inset:0;inset-inline-start:auto;position:absolute;width:var(--field-input-group-end-size)}.cl-43ccb14c{padding-bottom:var(--field-input-py);padding-top:var(--field-input-py)}.cl-f18c4e82{padding-inline-start:var(--field-input-px)}.cl-983f1668{padding-inline-end:var(--field-input-group-pe,var(--field-input-px))}.cl-ed751b03{align-items:center;background-color:#fff;border-radius:var(--cl-radius);color:var(--cl-gray-12);display:flex;font-size:var(--cl-font-size);line-height:1.38462;min-width:0;outline:2px solid transparent;outline-offset:2px;position:relative;--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-offset-width:1px}@supports (-webkit-touch-callout:none){.cl-ed4ed5cf{font-size:1rem;min-height:1.875rem}}.cl-f6005322{justify-content:flex-start;width:100%}.cl-cb0ccd68{aspect-ratio:1/1;font-size:calc(var(--cl-font-size)*1.4);font-weight:600;height:2.5rem;justify-content:center;width:2.5rem}.cl-0290fbc4{--cl-ring-offset-color:var(--cl-field-input-border)}.cl-0290fbc4:focus-visible{--cl-ring-offset-shadow:var(--cl-ring-inset) 0 0 0 var(--cl-ring-offset-width) var(--cl-ring-offset-color);--cl-ring-shadow:var(--cl-ring-inset) 0 0 0 calc(0.1875rem + var(--cl-ring-offset-width)) var(--cl-ring-color);box-shadow:var(--cl-ring-offset-shadow),var(--cl-ring-shadow),var(--cl-shadow,0 0 #0000);--cl-ring-color:var(--cl-field-input-ring,var(--cl-gray-a4));--cl-ring-offset-color:var(--cl-field-input-border-active)}.cl-0290fbc4:enabled:hover{--cl-ring-offset-color:var(--cl-field-input-border-active)}.cl-0290fbc4:not(:focus-visible){--cl-ring-color:transparent}.cl-8d0f1e66{--cl-ring-color:transparent;--cl-ring-offset-color:var(--cl-field-input-border-active)}.cl-e88ce474{--cl-ring-color:var(--cl-field-input-ring,var(--cl-gray-a4));--cl-ring-offset-color:var(--cl-field-input-border-active)}.cl-cac18779{--cl-field-input-border:var(--cl-gray-a4)}.cl-03c582dd{--cl-field-input-border-active:var(--cl-gray-a7)}.cl-fa487ffe{--cl-field-input-border:var(--cl-gray-a7)}.cl-cffb481b{--cl-field-input-border:hsl(var(--cl-color-danger))}.cl-776840f6{--cl-field-input-border-active:hsl(var(--cl-color-danger))}.cl-1e334ea3{--cl-field-input-ring:hsl(var(--cl-color-danger)/0.2)}.cl-90c7848a{--cl-field-input-border:hsl(var(--cl-color-success))}.cl-204cd4cf{--cl-field-input-border-active:hsl(var(--cl-color-success))}.cl-0810e01c{--cl-field-input-ring:hsl(var(--cl-color-success)/0.25)}.cl-d250e2b7{--cl-field-input-border:hsl(var(--cl-color-warning))}.cl-8cae7b37{--cl-field-input-border-active:hsl(var(--cl-color-warning))}.cl-43888e8c{--cl-field-input-ring:hsl(var(--cl-color-warning)/0.2)}.cl-12c39ca4{column-gap:.25rem;display:flex;font-size:var(--cl-font-size);line-height:1.38462}.cl-c62ec162{justify-content:flex-start}.cl-307644c3{justify-content:flex-end}.cl-de621653{color:var(--cl-gray-11)}.cl-e5cd1f02{color:hsl(var(--cl-color-danger))}.cl-e8e05e0c{color:hsl(var(--cl-color-success))}.cl-d794f084{color:hsl(var(--cl-color-warning))}.cl-eb8de575{font-size:calc(var(--cl-font-size)*1.23);line-height:0;margin-top:1px}.cl-698a3297{fill:var(--cl-light,#000) var(--cl-dark,#fff)}.cl-41d907b8{fill:var(--cl-light,#5865f2) var(--cl-dark,#fff)}