@utk09/finra-ui 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/ComboBox-CbLG-Ss1.js +471 -0
- package/dist/ComboBox-CbLG-Ss1.js.map +1 -0
- package/dist/assets/icons/CheckIcon.d.ts +2 -0
- package/dist/assets/icons/ChevronDownIcon.d.ts +2 -0
- package/dist/assets/icons/CloseIcon.d.ts +2 -0
- package/dist/assets/icons/CloseSmallIcon.d.ts +2 -0
- package/dist/assets/icons/DashIcon.d.ts +2 -0
- package/dist/assets/icons/MinusIcon.d.ts +2 -0
- package/dist/assets/icons/PlusIcon.d.ts +2 -0
- package/dist/assets/icons/SpinnerIcon.d.ts +2 -0
- package/dist/assets/icons/UploadIcon.d.ts +2 -0
- package/dist/assets/icons/index.d.ts +9 -0
- package/dist/components/ComboBox/ComboBox.d.ts +36 -0
- package/dist/components/componentIds.d.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +900 -731
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/unstyled/ComboBox/ComboBox.d.ts +108 -0
- package/dist/unstyled/FileDropZone/FileDropZone.d.ts +14 -0
- package/dist/unstyled/FormField/FormField.d.ts +14 -0
- package/dist/unstyled/PillInput/PillInput.d.ts +16 -0
- package/dist/unstyled.d.ts +8 -0
- package/dist/unstyled.js +213 -22
- package/dist/unstyled.js.map +1 -1
- package/dist/utils/mergeRefs.d.ts +2 -0
- package/package.json +1 -1
- package/dist/Slider-BXQjDfhb.js +0 -73
- package/dist/Slider-BXQjDfhb.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/components/componentIds.ts","../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs","../src/components/Button/Button.tsx","../src/components/IconButton/IconButton.tsx","../src/components/ButtonGroup/ButtonGroup.tsx","../src/components/Input/Input.tsx","../src/components/Textarea/Textarea.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/FormField/FormField.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Switch/Switch.tsx","../src/components/RadioButton/RadioButton.tsx","../src/components/Slider/Slider.tsx","../src/components/PillInput/PillInput.tsx","../src/components/FileDropZone/FileDropZone.tsx","../src/components/Badge/Badge.tsx","../src/components/Divider/Divider.tsx"],"sourcesContent":["export const FINRA_UI_ATTR = \"data-finra-ui\" as const;\n\nexport const componentIds = {\n // Button family\n button: \"button\",\n iconButton: \"icon-button\",\n buttonGroup: \"button-group\",\n\n // Input\n input: \"input\",\n inputField: \"input-field\",\n\n // Textarea\n textarea: \"textarea\",\n textareaField: \"textarea-field\",\n textareaCount: \"textarea-count\",\n\n // NumberInput\n numberInput: \"number-input\",\n numberInputField: \"number-input-field\",\n numberInputIncrement: \"number-input-increment\",\n numberInputDecrement: \"number-input-decrement\",\n\n // FormField\n formField: \"form-field\",\n formFieldLabel: \"form-field-label\",\n formFieldHelper: \"form-field-helper\",\n formFieldError: \"form-field-error\",\n\n // Checkbox\n checkbox: \"checkbox\",\n\n // Switch\n switch: \"switch\",\n\n // RadioButton\n radioButton: \"radio-button\",\n\n // Slider\n slider: \"slider\",\n\n // PillInput\n pillInput: \"pill-input\",\n\n // FileDropZone\n fileDropZone: \"file-drop-zone\",\n\n // Badge\n badge: \"badge\",\n\n // Divider\n divider: \"divider\",\n} as const;\n\nexport type ComponentId = (typeof componentIds)[keyof typeof componentIds];\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 */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import { forwardRef, type ReactNode } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { ButtonBase, type ButtonBaseProps } from \"../../unstyled/Button/Button\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Button.module.scss\";\n\nexport type ButtonSentiment = \"danger\" | \"success\" | \"warning\" | \"info\";\n\nconst sentimentClasses: Record<ButtonSentiment, string> = {\n danger: styles.sentimentDanger,\n success: styles.sentimentSuccess,\n warning: styles.sentimentWarning,\n info: styles.sentimentInfo,\n};\n\nconst buttonVariants = cva(styles.button, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n fullWidth: {\n true: styles.fullWidth,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nexport interface ButtonProps extends ButtonBaseProps, VariantProps<typeof buttonVariants> {\n sentiment?: ButtonSentiment;\n startIcon?: ReactNode;\n endIcon?: ReactNode;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, fullWidth, sentiment, startIcon, endIcon, children, ...props }, ref) => {\n return (\n <ButtonBase\n ref={ref}\n type=\"button\"\n {...{ [FINRA_UI_ATTR]: componentIds.button }}\n className={clsx(\n buttonVariants({ variant, fullWidth }),\n sentiment && sentimentClasses[sentiment],\n className,\n )}\n {...props}>\n {startIcon ? <span className={styles.icon}>{startIcon}</span> : null}\n {children}\n {endIcon ? <span className={styles.icon}>{endIcon}</span> : null}\n </ButtonBase>\n );\n },\n);\n\nButton.displayName = \"Button\";\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { IconButtonBase, type IconButtonBaseProps } from \"../../unstyled/IconButton/IconButton\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./IconButton.module.scss\";\n\nexport type IconButtonSentiment = \"danger\" | \"success\" | \"warning\" | \"info\";\n\nconst sentimentClasses: Record<IconButtonSentiment, string> = {\n danger: styles.sentimentDanger,\n success: styles.sentimentSuccess,\n warning: styles.sentimentWarning,\n info: styles.sentimentInfo,\n};\n\nconst iconButtonVariants = cva(styles.iconButton, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nexport interface IconButtonProps\n extends IconButtonBaseProps, VariantProps<typeof iconButtonVariants> {\n sentiment?: IconButtonSentiment;\n}\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ className, variant, sentiment, ...props }, ref) => {\n return (\n <IconButtonBase\n ref={ref}\n type=\"button\"\n {...{ [FINRA_UI_ATTR]: componentIds.iconButton }}\n className={clsx(\n iconButtonVariants({ variant }),\n sentiment && sentimentClasses[sentiment],\n className,\n )}\n {...props}\n />\n );\n },\n);\n\nIconButton.displayName = \"IconButton\";\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./ButtonGroup.module.scss\";\n\nexport interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: \"horizontal\" | \"vertical\";\n}\n\nexport const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupProps>(\n ({ className, orientation = \"horizontal\", children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n role=\"group\"\n {...{ [FINRA_UI_ATTR]: componentIds.buttonGroup }}\n className={clsx(\n styles.buttonGroup,\n orientation === \"vertical\" && styles.vertical,\n className,\n )}\n {...props}>\n {children}\n </div>\n );\n },\n);\n\nButtonGroup.displayName = \"ButtonGroup\";\n","import {\n forwardRef,\n useRef,\n useCallback,\n type ReactNode,\n type InputHTMLAttributes,\n type MouseEvent,\n} from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Input.module.scss\";\n\nexport type ValidationStatus = \"error\" | \"warning\" | \"success\";\n\nconst inputVariants = cva(styles.wrapper, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nconst validationClasses: Record<ValidationStatus, string> = {\n error: styles.statusError,\n warning: styles.statusWarning,\n success: styles.statusSuccess,\n};\n\nexport interface InputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"size\">, VariantProps<typeof inputVariants> {\n validationStatus?: ValidationStatus;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n clearable?: boolean;\n onClear?: () => void;\n fullWidth?: boolean;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className,\n variant,\n validationStatus,\n startAdornment,\n endAdornment,\n clearable,\n onClear,\n fullWidth,\n disabled,\n readOnly,\n value,\n defaultValue,\n onChange,\n ...props\n },\n ref,\n ) => {\n const internalRef = useRef<HTMLInputElement>(null);\n const inputRef = (ref as React.RefObject<HTMLInputElement>) || internalRef;\n\n const handleClear = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n if (onClear) {\n onClear();\n } else if (inputRef.current) {\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n \"value\",\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, \"\");\n inputRef.current.dispatchEvent(new Event(\"input\", { bubbles: true }));\n }\n inputRef.current?.focus();\n },\n [onClear, inputRef],\n );\n\n const showClear = clearable && !disabled && !readOnly && (value ?? defaultValue ?? \"\") !== \"\";\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.input }}\n className={clsx(\n inputVariants({ variant }),\n validationStatus && validationClasses[validationStatus],\n disabled && styles.disabled,\n fullWidth && styles.fullWidth,\n className,\n )}>\n {startAdornment ? <span className={styles.adornment}>{startAdornment}</span> : null}\n <input\n ref={inputRef}\n {...{ [FINRA_UI_ATTR]: componentIds.inputField }}\n className={styles.field}\n disabled={disabled}\n readOnly={readOnly}\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n {...props}\n />\n {showClear ? (\n <button\n type=\"button\"\n className={styles.clearButton}\n onClick={handleClear}\n aria-label=\"Clear input\"\n tabIndex={-1}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\">\n <path d=\"M18 6 6 18M6 6l12 12\" />\n </svg>\n </button>\n ) : null}\n {endAdornment ? <span className={styles.adornment}>{endAdornment}</span> : null}\n </div>\n );\n },\n);\n\nInput.displayName = \"Input\";\n","import {\n forwardRef,\n useState,\n useCallback,\n useEffect,\n useRef,\n type TextareaHTMLAttributes,\n type ChangeEvent,\n} from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport type { ValidationStatus } from \"../Input/Input\";\nimport styles from \"./Textarea.module.scss\";\n\nconst textareaVariants = cva(styles.wrapper, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nconst validationClasses: Record<ValidationStatus, string> = {\n error: styles.statusError,\n warning: styles.statusWarning,\n success: styles.statusSuccess,\n};\n\nexport interface TextareaProps\n extends\n Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, \"size\">,\n VariantProps<typeof textareaVariants> {\n validationStatus?: ValidationStatus;\n showCharCount?: boolean;\n warningThreshold?: number;\n autoResize?: boolean;\n minRows?: number;\n maxRows?: number;\n fullWidth?: boolean;\n}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n {\n className,\n variant,\n validationStatus,\n showCharCount,\n warningThreshold,\n autoResize,\n minRows = 3,\n maxRows,\n fullWidth,\n maxLength,\n disabled,\n readOnly,\n value,\n defaultValue,\n onChange,\n ...props\n },\n ref,\n ) => {\n const internalRef = useRef<HTMLTextAreaElement>(null);\n const textareaRef = (ref as React.RefObject<HTMLTextAreaElement>) || internalRef;\n\n const [charCount, setCharCount] = useState(() => {\n const initial = (value ?? defaultValue ?? \"\") as string;\n return initial.length;\n });\n\n // Sync charCount when controlled value changes\n useEffect(() => {\n if (value !== undefined) {\n setCharCount((value as string).length);\n }\n }, [value]);\n\n const adjustHeight = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea || !autoResize) return;\n\n textarea.style.height = \"auto\";\n const lineHeight = parseFloat(getComputedStyle(textarea).lineHeight);\n const minHeight = lineHeight * minRows;\n const maxHeight = maxRows ? lineHeight * maxRows : Infinity;\n const scrollHeight = textarea.scrollHeight;\n\n textarea.style.height = `${Math.min(Math.max(scrollHeight, minHeight), maxHeight)}px`;\n textarea.style.overflowY = scrollHeight > maxHeight ? \"auto\" : \"hidden\";\n }, [autoResize, minRows, maxRows, textareaRef]);\n\n useEffect(() => {\n adjustHeight();\n }, [value, adjustHeight]);\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement>) => {\n setCharCount(e.target.value.length);\n adjustHeight();\n onChange?.(e);\n },\n [onChange, adjustHeight],\n );\n\n const isOverWarning =\n warningThreshold !== undefined && maxLength !== undefined && charCount >= warningThreshold;\n const isAtLimit = maxLength !== undefined && charCount >= maxLength;\n\n const countStatus: ValidationStatus | undefined = isAtLimit\n ? \"error\"\n : isOverWarning\n ? \"warning\"\n : undefined;\n\n const effectiveValidation = validationStatus ?? countStatus;\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.textarea }}\n className={clsx(\n textareaVariants({ variant }),\n effectiveValidation && validationClasses[effectiveValidation],\n disabled && styles.disabled,\n fullWidth && styles.fullWidth,\n className,\n )}>\n <textarea\n ref={textareaRef}\n {...{ [FINRA_UI_ATTR]: componentIds.textareaField }}\n className={styles.field}\n rows={minRows}\n maxLength={maxLength}\n disabled={disabled}\n readOnly={readOnly}\n value={value}\n defaultValue={defaultValue}\n onChange={handleChange}\n {...props}\n />\n {showCharCount && maxLength !== undefined ? (\n <span\n {...{ [FINRA_UI_ATTR]: componentIds.textareaCount }}\n className={clsx(\n styles.charCount,\n countStatus === \"warning\" && styles.charCountWarning,\n countStatus === \"error\" && styles.charCountError,\n )}>\n {charCount}/{maxLength}\n </span>\n ) : null}\n </div>\n );\n },\n);\n\nTextarea.displayName = \"Textarea\";\n","import {\n forwardRef,\n useState,\n useCallback,\n useRef,\n useEffect,\n type KeyboardEvent,\n type ChangeEvent,\n type InputHTMLAttributes,\n} from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport type { ValidationStatus } from \"../Input/Input\";\nimport styles from \"./NumberInput.module.scss\";\n\nconst numberInputVariants = cva(styles.wrapper, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nconst validationClasses: Record<ValidationStatus, string> = {\n error: styles.statusError,\n warning: styles.statusWarning,\n success: styles.statusSuccess,\n};\n\nexport interface NumberInputProps\n extends\n Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"type\" | \"size\" | \"onChange\" | \"value\" | \"defaultValue\" | \"min\" | \"max\" | \"step\"\n >,\n VariantProps<typeof numberInputVariants> {\n validationStatus?: ValidationStatus;\n value?: number | \"\";\n defaultValue?: number;\n min?: number;\n max?: number;\n step?: number;\n precision?: number;\n onChange?: (value: number | undefined) => void;\n fullWidth?: boolean;\n}\n\nfunction clampValue(val: number, min?: number, max?: number): number {\n let result = val;\n if (min !== undefined) result = Math.max(result, min);\n if (max !== undefined) result = Math.min(result, max);\n return result;\n}\n\nfunction formatValue(val: number, precision?: number): string {\n if (precision !== undefined) return val.toFixed(precision);\n return String(val);\n}\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n variant,\n validationStatus,\n value: controlledValue,\n defaultValue,\n min,\n max,\n step = 1,\n precision,\n onChange,\n fullWidth,\n disabled,\n readOnly,\n ...props\n },\n ref,\n ) => {\n const internalRef = useRef<HTMLInputElement>(null);\n const inputRef = (ref as React.RefObject<HTMLInputElement>) || internalRef;\n\n const isControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<string>(() =>\n defaultValue !== undefined ? formatValue(defaultValue, precision) : \"\",\n );\n\n const displayValue = isControlled\n ? controlledValue === \"\"\n ? \"\"\n : formatValue(controlledValue as number, precision)\n : internalValue;\n\n // Sync display when controlled value changes\n useEffect(() => {\n if (isControlled && controlledValue !== \"\") {\n setInternalValue(formatValue(controlledValue as number, precision));\n }\n }, [controlledValue, precision, isControlled]);\n\n const commitValue = useCallback(\n (raw: number) => {\n const clamped = clampValue(raw, min, max);\n const display = formatValue(clamped, precision);\n if (!isControlled) setInternalValue(display);\n onChange?.(clamped);\n },\n [min, max, precision, isControlled, onChange],\n );\n\n const stepValue = useCallback(\n (direction: 1 | -1) => {\n const current = parseFloat(displayValue as string) || 0;\n commitValue(current + step * direction);\n },\n [displayValue, step, commitValue],\n );\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value;\n // Allow empty, minus sign, or valid partial numbers while typing\n if (raw === \"\" || raw === \"-\" || raw === \".\") {\n if (!isControlled) setInternalValue(raw);\n if (raw === \"\") onChange?.(undefined);\n return;\n }\n const num = parseFloat(raw);\n if (!isNaN(num)) {\n if (!isControlled) setInternalValue(raw);\n onChange?.(num);\n }\n },\n [isControlled, onChange],\n );\n\n const handleBlur = useCallback(() => {\n const num = parseFloat(displayValue as string);\n if (isNaN(num)) {\n if (!isControlled) setInternalValue(\"\");\n onChange?.(undefined);\n } else {\n commitValue(num);\n }\n }, [displayValue, isControlled, onChange, commitValue]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n stepValue(1);\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n stepValue(-1);\n }\n },\n [stepValue],\n );\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.numberInput }}\n className={clsx(\n numberInputVariants({ variant }),\n validationStatus && validationClasses[validationStatus],\n disabled && styles.disabled,\n fullWidth && styles.fullWidth,\n className,\n )}>\n <button\n type=\"button\"\n {...{ [FINRA_UI_ATTR]: componentIds.numberInputDecrement }}\n className={styles.stepButton}\n onClick={() => stepValue(-1)}\n disabled={\n disabled ||\n readOnly ||\n (min !== undefined && (parseFloat(displayValue as string) || 0) <= min)\n }\n aria-label=\"Decrement\"\n tabIndex={-1}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\">\n <path d=\"M5 12h14\" />\n </svg>\n </button>\n <input\n ref={inputRef}\n {...{ [FINRA_UI_ATTR]: componentIds.numberInputField }}\n className={styles.field}\n inputMode=\"decimal\"\n value={displayValue}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n role=\"spinbutton\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={\n typeof displayValue === \"string\" ? parseFloat(displayValue) || undefined : displayValue\n }\n {...props}\n />\n <button\n type=\"button\"\n {...{ [FINRA_UI_ATTR]: componentIds.numberInputIncrement }}\n className={styles.stepButton}\n onClick={() => stepValue(1)}\n disabled={\n disabled ||\n readOnly ||\n (max !== undefined && (parseFloat(displayValue as string) || 0) >= max)\n }\n aria-label=\"Increment\"\n tabIndex={-1}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\">\n <path d=\"M12 5v14M5 12h14\" />\n </svg>\n </button>\n </div>\n );\n },\n);\n\nNumberInput.displayName = \"NumberInput\";\n","import {\n forwardRef,\n useId,\n Children,\n isValidElement,\n cloneElement,\n type ReactNode,\n type HTMLAttributes,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport type { ValidationStatus } from \"../Input/Input\";\nimport styles from \"./FormField.module.scss\";\n\nexport interface FormFieldProps extends HTMLAttributes<HTMLDivElement> {\n label: string;\n helperText?: string;\n errorMessage?: string;\n validationStatus?: ValidationStatus;\n required?: boolean;\n fullWidth?: boolean;\n disabled?: boolean;\n /** Explicit id for the input element. Auto-generated if omitted. */\n htmlFor?: string;\n children: ReactNode;\n className?: string;\n}\n\nexport const FormField = forwardRef<HTMLDivElement, FormFieldProps>(\n (\n {\n className,\n label,\n helperText,\n errorMessage,\n validationStatus,\n required,\n fullWidth,\n disabled,\n htmlFor,\n children,\n ...props\n },\n ref,\n ) => {\n const autoId = useId();\n const fieldId = htmlFor ?? autoId;\n const helperId = `${fieldId}-helper`;\n const errorId = `${fieldId}-error`;\n\n const showError = validationStatus === \"error\" && errorMessage;\n\n // Build aria-describedby from present elements\n const describedBy =\n [showError ? errorId : undefined, helperText ? helperId : undefined]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n // Clone children to inject a11y props\n const enhancedChildren = Children.map(children, (child) => {\n if (!isValidElement(child)) return child;\n return cloneElement(child as React.ReactElement<Record<string, unknown>>, {\n id: fieldId,\n \"aria-describedby\": describedBy,\n \"aria-invalid\": validationStatus === \"error\" ? true : undefined,\n disabled: disabled || undefined,\n });\n });\n\n return (\n <div\n ref={ref}\n {...{ [FINRA_UI_ATTR]: componentIds.formField }}\n className={clsx(\n styles.formField,\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n className,\n )}\n {...props}>\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.formFieldLabel }}\n htmlFor={fieldId}\n className={clsx(styles.label, required && styles.required)}>\n {label}\n </label>\n\n {enhancedChildren}\n\n {showError ? (\n <p\n {...{ [FINRA_UI_ATTR]: componentIds.formFieldError }}\n id={errorId}\n className={styles.errorMessage}\n role=\"alert\">\n {errorMessage}\n </p>\n ) : null}\n\n {helperText ? (\n <p\n {...{ [FINRA_UI_ATTR]: componentIds.formFieldHelper }}\n id={helperId}\n className={styles.helperText}>\n {helperText}\n </p>\n ) : null}\n </div>\n );\n },\n);\n\nFormField.displayName = \"FormField\";\n","import { forwardRef, useEffect, useRef, type Ref } from \"react\";\nimport { clsx } from \"clsx\";\nimport { CheckboxBase, type CheckboxBaseProps } from \"../../unstyled/Checkbox/Checkbox\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Checkbox.module.scss\";\n\nfunction mergeRefs<T>(...refs: (Ref<T> | undefined)[]): (value: T | null) => void {\n return (value: T | null) => {\n for (const ref of refs) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref && typeof ref === \"object\") {\n (ref as React.RefObject<T | null>).current = value;\n }\n }\n };\n}\n\nexport interface CheckboxProps extends Omit<CheckboxBaseProps, \"className\"> {\n label?: string;\n className?: string;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, label, indeterminate, disabled, ...props }, forwardedRef) => {\n const internalRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (internalRef.current) {\n internalRef.current.indeterminate = indeterminate ?? false;\n }\n }, [indeterminate]);\n\n return (\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.checkbox }}\n className={clsx(styles.checkbox, disabled && styles.disabled, className)}>\n <CheckboxBase\n ref={mergeRefs(forwardedRef, internalRef)}\n className={styles.input}\n disabled={disabled}\n data-indeterminate={indeterminate || undefined}\n {...props}\n />\n <span className={styles.indicator} aria-hidden=\"true\">\n {indeterminate ? (\n <svg\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\">\n <path d=\"M2.5 6h7\" />\n </svg>\n ) : (\n <svg\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\">\n <path d=\"M2.5 6l2.5 2.5 4.5-5\" />\n </svg>\n )}\n </span>\n {label ? <span className={styles.label}>{label}</span> : null}\n </label>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { SwitchBase, type SwitchBaseProps } from \"../../unstyled/Switch/Switch\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Switch.module.scss\";\n\nexport interface SwitchProps extends Omit<SwitchBaseProps, \"className\"> {\n label?: string;\n className?: string;\n}\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n ({ className, label, disabled, ...props }, ref) => {\n return (\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.switch }}\n className={clsx(styles.switch, disabled && styles.disabled, className)}>\n <SwitchBase ref={ref} className={styles.input} disabled={disabled} {...props} />\n <span className={styles.track} aria-hidden=\"true\">\n <span className={styles.thumb} />\n </span>\n {label ? <span className={styles.label}>{label}</span> : null}\n </label>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { RadioButtonBase, type RadioButtonBaseProps } from \"../../unstyled/RadioButton/RadioButton\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./RadioButton.module.scss\";\n\nexport interface RadioButtonProps extends Omit<RadioButtonBaseProps, \"className\"> {\n label?: string;\n className?: string;\n}\n\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\n ({ className, label, disabled, ...props }, ref) => {\n return (\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.radioButton }}\n className={clsx(styles.radio, disabled && styles.disabled, className)}>\n <RadioButtonBase ref={ref} className={styles.input} disabled={disabled} {...props} />\n <span className={styles.indicator} aria-hidden=\"true\">\n <span className={styles.dot} />\n </span>\n {label ? <span className={styles.label}>{label}</span> : null}\n </label>\n );\n },\n);\n\nRadioButton.displayName = \"RadioButton\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { SliderBase, type SliderBaseProps } from \"../../unstyled/Slider/Slider\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Slider.module.scss\";\n\nexport interface SliderProps extends Omit<SliderBaseProps, \"className\"> {\n label?: string;\n showValue?: boolean;\n className?: string;\n}\n\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(\n ({ className, label, showValue, disabled, value, defaultValue, ...props }, ref) => {\n const displayValue = value ?? defaultValue ?? \"\";\n\n return (\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.slider }}\n className={clsx(styles.slider, disabled && styles.disabled, className)}>\n {label || showValue ? (\n <span className={styles.header}>\n {label ? <span className={styles.label}>{label}</span> : null}\n {showValue ? <span className={styles.value}>{displayValue}</span> : null}\n </span>\n ) : null}\n <SliderBase\n ref={ref}\n className={styles.input}\n disabled={disabled}\n value={value}\n defaultValue={defaultValue}\n {...props}\n />\n </label>\n );\n },\n);\n\nSlider.displayName = \"Slider\";\n","import {\n forwardRef,\n useState,\n useRef,\n useCallback,\n type KeyboardEvent,\n type HTMLAttributes,\n type Ref,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./PillInput.module.scss\";\n\nfunction mergeRefs<T>(...refs: (Ref<T> | undefined)[]): (value: T | null) => void {\n return (value: T | null) => {\n for (const ref of refs) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref && typeof ref === \"object\") {\n (ref as React.RefObject<T | null>).current = value;\n }\n }\n };\n}\n\nexport interface PillInputProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n /** Current list of pills (controlled). */\n values?: string[];\n /** Called when the pill list changes. */\n onChange?: (values: string[]) => void;\n /** Placeholder shown when no pills and input is empty. */\n placeholder?: string;\n /** Disable the entire component. */\n disabled?: boolean;\n /** Maximum number of pills allowed. */\n maxPills?: number;\n /** Characters that trigger pill creation (default: Enter). */\n delimiters?: string[];\n}\n\nexport const PillInput = forwardRef<HTMLInputElement, PillInputProps>(\n (\n {\n className,\n values: controlledValues,\n onChange,\n placeholder,\n disabled,\n maxPills,\n delimiters = [],\n ...props\n },\n forwardedRef,\n ) => {\n const [internalValues, setInternalValues] = useState<string[]>([]);\n const [inputValue, setInputValue] = useState(\"\");\n const internalRef = useRef<HTMLInputElement>(null);\n\n const values = controlledValues ?? internalValues;\n\n const updateValues = useCallback(\n (next: string[]) => {\n if (!controlledValues) {\n setInternalValues(next);\n }\n onChange?.(next);\n },\n [controlledValues, onChange],\n );\n\n const addPill = useCallback(\n (text: string) => {\n const trimmed = text.trim();\n if (!trimmed) return;\n if (values.includes(trimmed)) return;\n if (maxPills != null && values.length >= maxPills) return;\n updateValues([...values, trimmed]);\n setInputValue(\"\");\n },\n [values, maxPills, updateValues],\n );\n\n const removePill = useCallback(\n (index: number) => {\n updateValues(values.filter((_, i) => i !== index));\n internalRef.current?.focus();\n },\n [values, updateValues],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n addPill(inputValue);\n return;\n }\n if (e.key === \"Backspace\" && inputValue === \"\" && values.length > 0) {\n removePill(values.length - 1);\n return;\n }\n if (delimiters.includes(e.key)) {\n e.preventDefault();\n addPill(inputValue);\n }\n },\n [inputValue, values, delimiters, addPill, removePill],\n );\n\n const handleContainerClick = useCallback(() => {\n if (!disabled) {\n internalRef.current?.focus();\n }\n }, [disabled]);\n\n const handleContainerKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\n internalRef.current?.focus();\n }\n },\n [disabled],\n );\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.pillInput }}\n role=\"toolbar\"\n className={clsx(styles.pillInput, disabled && styles.disabled, className)}\n onClick={handleContainerClick}\n onKeyDown={handleContainerKeyDown}\n {...props}>\n {values.map((pill) => (\n <span key={pill} className={styles.pill}>\n <span className={styles.pillText}>{pill}</span>\n {!disabled ? (\n <button\n type=\"button\"\n className={styles.pillRemove}\n onClick={(e) => {\n e.stopPropagation();\n removePill(values.indexOf(pill));\n }}\n aria-label={`Remove ${pill}`}\n tabIndex={-1}>\n <svg\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\">\n <path d=\"M3 3l6 6M9 3l-6 6\" />\n </svg>\n </button>\n ) : null}\n </span>\n ))}\n <input\n ref={mergeRefs(forwardedRef, internalRef)}\n className={styles.input}\n type=\"text\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={values.length === 0 ? placeholder : undefined}\n disabled={disabled}\n aria-label={props[\"aria-label\"]}\n aria-labelledby={props[\"aria-labelledby\"]}\n />\n </div>\n );\n },\n);\n\nPillInput.displayName = \"PillInput\";\n","import {\n forwardRef,\n useState,\n useRef,\n useCallback,\n type DragEvent,\n type ChangeEvent,\n type HTMLAttributes,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./FileDropZone.module.scss\";\n\nfunction mergeRefs<T>(...refs: (Ref<T> | undefined)[]): (value: T | null) => void {\n return (value: T | null) => {\n for (const ref of refs) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref && typeof ref === \"object\") {\n (ref as React.RefObject<T | null>).current = value;\n }\n }\n };\n}\n\nexport interface FileDropZoneProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n /** Called with selected files. */\n onChange?: (files: File[]) => void;\n /** Accepted file types (e.g. \".pdf,.csv\" or \"image/*\"). */\n accept?: string;\n /** Allow multiple file selection. */\n multiple?: boolean;\n /** Disable the component. */\n disabled?: boolean;\n /** Custom content inside the drop zone. */\n children?: ReactNode;\n}\n\nexport const FileDropZone = forwardRef<HTMLInputElement, FileDropZoneProps>(\n ({ className, onChange, accept, multiple, disabled, children, ...props }, forwardedRef) => {\n const [isDragOver, setIsDragOver] = useState(false);\n const internalRef = useRef<HTMLInputElement>(null);\n\n const handleFiles = useCallback(\n (fileList: FileList | null) => {\n if (!fileList || fileList.length === 0) return;\n onChange?.(Array.from(fileList));\n },\n [onChange],\n );\n\n const handleDragOver = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (!disabled) {\n setIsDragOver(true);\n }\n },\n [disabled],\n );\n\n const handleDragLeave = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n setIsDragOver(false);\n }, []);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n setIsDragOver(false);\n if (!disabled) {\n handleFiles(e.dataTransfer.files);\n }\n },\n [disabled, handleFiles],\n );\n\n const handleInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n handleFiles(e.target.files);\n // Reset so the same file can be selected again\n e.target.value = \"\";\n },\n [handleFiles],\n );\n\n const handleClick = useCallback(() => {\n if (!disabled) {\n internalRef.current?.click();\n }\n }, [disabled]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault();\n internalRef.current?.click();\n }\n },\n [disabled],\n );\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.fileDropZone }}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled || undefined}\n className={clsx(\n styles.dropZone,\n isDragOver && styles.dragOver,\n disabled && styles.disabled,\n className,\n )}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n {...props}>\n <input\n ref={mergeRefs(forwardedRef, internalRef)}\n type=\"file\"\n className={styles.input}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n onChange={handleInputChange}\n tabIndex={-1}\n aria-hidden=\"true\"\n />\n {children ?? (\n <div className={styles.content}>\n <svg\n className={styles.icon}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"17 8 12 3 7 8\" />\n <line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\" />\n </svg>\n <span className={styles.text}>Drop files here or click to browse</span>\n </div>\n )}\n </div>\n );\n },\n);\n\nFileDropZone.displayName = \"FileDropZone\";\n","import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Badge.module.scss\";\n\nexport type BadgeSentiment = \"danger\" | \"success\" | \"warning\" | \"info\";\n\nconst sentimentClasses: Record<BadgeSentiment, string> = {\n danger: styles.sentimentDanger,\n success: styles.sentimentSuccess,\n warning: styles.sentimentWarning,\n info: styles.sentimentInfo,\n};\n\nconst badgeVariants = cva(styles.badge, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nexport interface BadgeProps\n extends HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {\n sentiment?: BadgeSentiment;\n children: ReactNode;\n}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, sentiment, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n {...{ [FINRA_UI_ATTR]: componentIds.badge }}\n className={clsx(\n badgeVariants({ variant }),\n sentiment && sentimentClasses[sentiment],\n className,\n )}\n {...props}>\n {children}\n </span>\n );\n },\n);\n\nBadge.displayName = \"Badge\";\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Divider.module.scss\";\n\nexport interface DividerProps extends HTMLAttributes<HTMLHRElement> {\n orientation?: \"horizontal\" | \"vertical\";\n decorative?: boolean;\n className?: string;\n}\n\nexport const Divider = forwardRef<HTMLHRElement, DividerProps>(\n ({ className, orientation = \"horizontal\", decorative = false, ...props }, ref) => {\n return (\n <hr\n ref={ref}\n {...{ [FINRA_UI_ATTR]: componentIds.divider }}\n className={clsx(\n styles.divider,\n orientation === \"vertical\" ? styles.vertical : styles.horizontal,\n className,\n )}\n {...(decorative\n ? { \"aria-hidden\": true }\n : { role: \"separator\", \"aria-orientation\": orientation })}\n {...props}\n />\n );\n },\n);\n\nDivider.displayName = \"Divider\";\n"],"names":["FINRA_UI_ATTR","componentIds","r","e","t","f","n","o","clsx","falsyToString","value","cx","cva","base","config","props","_config_compoundVariants","variants","defaultVariants","getVariantClassNames","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","acc","param","key","getCompoundVariantClassNames","cvClass","cvClassName","compoundVariantOptions","sentimentClasses","styles","buttonVariants","Button","forwardRef","className","fullWidth","sentiment","startIcon","endIcon","children","ref","jsxs","ButtonBase","jsx","iconButtonVariants","IconButton","IconButtonBase","ButtonGroup","orientation","inputVariants","validationClasses","Input","validationStatus","startAdornment","endAdornment","clearable","onClear","disabled","readOnly","defaultValue","onChange","internalRef","useRef","inputRef","handleClear","useCallback","showClear","textareaVariants","Textarea","showCharCount","warningThreshold","autoResize","minRows","maxRows","maxLength","textareaRef","charCount","setCharCount","useState","useEffect","adjustHeight","textarea","lineHeight","minHeight","maxHeight","scrollHeight","handleChange","isOverWarning","countStatus","effectiveValidation","numberInputVariants","clampValue","val","min","max","result","formatValue","precision","NumberInput","controlledValue","step","isControlled","internalValue","setInternalValue","displayValue","commitValue","raw","clamped","display","stepValue","direction","current","num","handleBlur","handleKeyDown","FormField","label","helperText","errorMessage","required","htmlFor","autoId","useId","fieldId","helperId","errorId","showError","describedBy","enhancedChildren","Children","child","isValidElement","cloneElement","mergeRefs","refs","Checkbox","indeterminate","forwardedRef","CheckboxBase","Switch","SwitchBase","RadioButton","RadioButtonBase","Slider","showValue","SliderBase","PillInput","controlledValues","placeholder","maxPills","delimiters","internalValues","setInternalValues","inputValue","setInputValue","values","updateValues","next","addPill","text","trimmed","removePill","index","_","i","handleContainerClick","handleContainerKeyDown","pill","FileDropZone","accept","multiple","isDragOver","setIsDragOver","handleFiles","fileList","handleDragOver","handleDragLeave","handleDrop","handleInputChange","handleClick","badgeVariants","Badge","Divider","decorative"],"mappings":";;;AAAO,MAAMA,IAAgB,iBAEhBC,IAAe;AAAA;AAAA,EAE1B,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,aAAa;AAAA;AAAA,EAGb,OAAO;AAAA,EACP,YAAY;AAAA;AAAA,EAGZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,eAAe;AAAA;AAAA,EAGf,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA;AAAA,EAGtB,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA;AAAA,EAGhB,UAAU;AAAA;AAAA,EAGV,QAAQ;AAAA;AAAA,EAGR,aAAa;AAAA;AAAA,EAGb,QAAQ;AAAA;AAAA,EAGR,WAAW;AAAA;AAAA,EAGX,cAAc;AAAA;AAAA,EAGd,OAAO;AAAA;AAAA,EAGP,SAAS;AACX;ACpDA,SAASC,GAAEC,GAAE;AAAC,MAAIC,GAAEC,GAAEC,IAAE;AAAG,MAAa,OAAOH,KAAjB,YAA8B,OAAOA,KAAjB,SAAmB,CAAAG,KAAGH;AAAA,WAAoB,OAAOA,KAAjB,SAAmB,KAAG,MAAM,QAAQA,CAAC,GAAE;AAAC,QAAII,IAAEJ,EAAE;AAAO,SAAIC,IAAE,GAAEA,IAAEG,GAAEH,IAAI,CAAAD,EAAEC,CAAC,MAAIC,IAAEH,GAAEC,EAAEC,CAAC,CAAC,OAAKE,MAAIA,KAAG,MAAKA,KAAGD;AAAA,EAAE,MAAM,MAAIA,KAAKF,EAAE,CAAAA,EAAEE,CAAC,MAAIC,MAAIA,KAAG,MAAKA,KAAGD;AAAG,SAAOC;AAAC;AAAQ,SAASE,IAAM;AAAC,WAAQL,GAAEC,GAAEC,IAAE,GAAEC,IAAE,IAAGC,IAAE,UAAU,QAAOF,IAAEE,GAAEF,IAAI,EAACF,IAAE,UAAUE,CAAC,OAAKD,IAAEF,GAAEC,CAAC,OAAKG,MAAIA,KAAG,MAAKA,KAAGF;AAAG,SAAOE;AAAC;ACe/W,MAAMG,KAAgB,CAACC,MAAQ,OAAOA,KAAU,YAAY,GAAGA,CAAK,KAAKA,MAAU,IAAI,MAAMA,GAChFC,KAAKH,GACLI,IAAM,CAACC,GAAMC,MAAS,CAACC,MAAQ;AACpC,MAAIC;AACJ,MAAqDF,GAAO,YAAa,KAAM,QAAOH,GAAGE,GAAoDE,GAAM,OAAqDA,GAAM,SAAS;AACvN,QAAM,EAAE,UAAAE,GAAU,iBAAAC,EAAe,IAAKJ,GAChCK,IAAuB,OAAO,KAAKF,CAAQ,EAAE,IAAI,CAACG,MAAU;AAC9D,UAAMC,IAA4DN,IAAMK,CAAO,GACzEE,IAAuFJ,IAAgBE,CAAO;AACpH,QAAIC,MAAgB,KAAM,QAAO;AACjC,UAAME,IAAad,GAAcY,CAAW,KAAKZ,GAAca,CAAkB;AACjF,WAAOL,EAASG,CAAO,EAAEG,CAAU;AAAA,EACvC,CAAC,GACKC,IAAwBT,KAAS,OAAO,QAAQA,CAAK,EAAE,OAAO,CAACU,GAAKC,MAAQ;AAC9E,QAAI,CAACC,GAAKjB,CAAK,IAAIgB;AACnB,WAAIhB,MAAU,WAGde,EAAIE,CAAG,IAAIjB,IACJe;AAAA,EACX,GAAG,CAAA,CAAE,GACCG,IAA+Bd,KAAW,SAAsCE,IAA2BF,EAAO,sBAAsB,QAAQE,MAA6B,SAAvG,SAAyHA,EAAyB,OAAO,CAACS,GAAKC,MAAQ;AAC/O,QAAI,EAAE,OAAOG,GAAS,WAAWC,GAAa,GAAGC,EAAsB,IAAKL;AAC5E,WAAO,OAAO,QAAQK,CAAsB,EAAE,MAAM,CAACL,MAAQ;AACzD,UAAI,CAACC,GAAKjB,CAAK,IAAIgB;AACnB,aAAO,MAAM,QAAQhB,CAAK,IAAIA,EAAM,SAAS;AAAA,QACzC,GAAGQ;AAAA,QACH,GAAGM;AAAA,MACvB,EAAkBG,CAAG,CAAC,IAAK;AAAA,QACP,GAAGT;AAAA,QACH,GAAGM;AAAA,MACvB,EAAmBG,CAAG,MAAMjB;AAAA,IAChB,CAAC,IAAI;AAAA,MACD,GAAGe;AAAA,MACHI;AAAA,MACAC;AAAA,IAChB,IAAgBL;AAAA,EACR,GAAG,CAAA,CAAE;AACL,SAAOd,GAAGE,GAAMM,GAAsBS,GAA4Eb,GAAM,OAAqDA,GAAM,SAAS;AAChM;;;;;;;;;;;GC7CEiB,KAAoD;AAAA,EACxD,QAAQC,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,MAAMA,EAAO;AACf,GAEMC,KAAiBtB,EAAIqB,EAAO,QAAQ;AAAA,EACxC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAASA,EAAO;AAAA,MAChB,WAAWA,EAAO;AAAA,MAClB,UAAUA,EAAO;AAAA,IAAA;AAAA,IAEnB,WAAW;AAAA,MACT,MAAMA,EAAO;AAAA,IAAA;AAAA,EACf;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAQYE,KAASC;AAAA,EACpB,CAAC,EAAE,WAAAC,GAAW,SAAAjB,GAAS,WAAAkB,GAAW,WAAAC,GAAW,WAAAC,GAAW,SAAAC,GAAS,UAAAC,GAAU,GAAG3B,EAAA,GAAS4B,MAEnF,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,MAAK;AAAA,MACC,CAAC3C,CAAa,GAAGC,EAAa;AAAA,MACpC,WAAWO;AAAA,QACT0B,GAAe,EAAE,SAAAd,GAAS,WAAAkB,GAAW;AAAA,QACrCC,KAAaP,GAAiBO,CAAS;AAAA,QACvCF;AAAA,MAAA;AAAA,MAED,GAAGtB;AAAA,MACH,UAAA;AAAA,QAAAyB,sBAAa,QAAA,EAAK,WAAWP,EAAO,MAAO,aAAU,IAAU;AAAA,QAC/DS;AAAA,QACAD,IAAU,gBAAAK,EAAC,QAAA,EAAK,WAAWb,EAAO,MAAO,aAAQ,IAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIpE;AAEAE,GAAO,cAAc;;;;;;;;;;GClDfH,KAAwD;AAAA,EAC5D,QAAQC,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,MAAMA,EAAO;AACf,GAEMc,KAAqBnC,EAAIqB,EAAO,YAAY;AAAA,EAChD,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAASA,EAAO;AAAA,MAChB,WAAWA,EAAO;AAAA,MAClB,UAAUA,EAAO;AAAA,IAAA;AAAA,EACnB;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAOYe,KAAaZ;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,SAAAjB,GAAS,WAAAmB,GAAW,GAAGxB,EAAA,GAAS4B,MAE1C,gBAAAG;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,KAAAN;AAAA,MACA,MAAK;AAAA,MACC,CAAC3C,CAAa,GAAGC,EAAa;AAAA,MACpC,WAAWO;AAAA,QACTuC,GAAmB,EAAE,SAAA3B,GAAS;AAAA,QAC9BmB,KAAaP,GAAiBO,CAAS;AAAA,QACvCF;AAAA,MAAA;AAAA,MAED,GAAGtB;AAAA,IAAA;AAAA,EAAA;AAIZ;AAEAiC,GAAW,cAAc;;;;GC3CZE,KAAcd;AAAA,EACzB,CAAC,EAAE,WAAAC,GAAW,aAAAc,IAAc,cAAc,UAAAT,GAAU,GAAG3B,EAAA,GAAS4B,MAE5D,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACA,MAAK;AAAA,MACC,CAAC3C,CAAa,GAAGC,EAAa;AAAA,MACpC,WAAWO;AAAA,QACTyB,GAAO;AAAA,QACPkB,MAAgB,cAAclB,GAAO;AAAA,QACrCI;AAAA,MAAA;AAAA,MAED,GAAGtB;AAAA,MACH,UAAA2B;AAAA,IAAA;AAAA,EAAA;AAIT;AAEAQ,GAAY,cAAc;;;;;;;;;;;;;;GCbpBE,KAAgBxC,EAAIqB,EAAO,SAAS;AAAA,EACxC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAASA,EAAO;AAAA,MAChB,WAAWA,EAAO;AAAA,MAClB,UAAUA,EAAO;AAAA,IAAA;AAAA,EACnB;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAEKoB,KAAsD;AAAA,EAC1D,OAAOpB,EAAO;AAAA,EACd,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAClB,GAYaqB,KAAQlB;AAAA,EACnB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,SAAAjB;AAAA,IACA,kBAAAmC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAArB;AAAA,IACA,UAAAsB;AAAA,IACA,UAAAC;AAAA,IACA,OAAAnD;AAAA,IACA,cAAAoD;AAAA,IACA,UAAAC;AAAA,IACA,GAAGhD;AAAA,EAAA,GAEL4B,MACG;AACH,UAAMqB,IAAcC,EAAyB,IAAI,GAC3CC,IAAYvB,KAA6CqB,GAEzDG,IAAcC;AAAA,MAClB,CAACjE,MAAqC;AACpC,QAAAA,EAAE,eAAA,GACEwD,IACFA,EAAA,IACSO,EAAS,YACa,OAAO;AAAA,UACpC,iBAAiB;AAAA,UACjB;AAAA,QAAA,GACC,KACqB,KAAKA,EAAS,SAAS,EAAE,GACjDA,EAAS,QAAQ,cAAc,IAAI,MAAM,SAAS,EAAE,SAAS,GAAA,CAAM,CAAC,IAEtEA,EAAS,SAAS,MAAA;AAAA,MACpB;AAAA,MACA,CAACP,GAASO,CAAQ;AAAA,IAAA,GAGdG,IAAYX,KAAa,CAACE,KAAY,CAACC,MAAanD,KAASoD,KAAgB,QAAQ;AAE3F,WACE,gBAAAlB;AAAA,MAAC;AAAA,MAAA;AAAA,QACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,QACpC,WAAWO;AAAA,UACT4C,GAAc,EAAE,SAAAhC,GAAS;AAAA,UACzBmC,KAAoBF,GAAkBE,CAAgB;AAAA,UACtDK,KAAY3B,EAAO;AAAA,UACnBK,KAAaL,EAAO;AAAA,UACpBI;AAAA,QAAA;AAAA,QAED,UAAA;AAAA,UAAAmB,sBAAkB,QAAA,EAAK,WAAWvB,EAAO,WAAY,aAAe,IAAU;AAAA,UAC/E,gBAAAa;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAKoB;AAAA,cACC,CAAClE,CAAa,GAAGC,EAAa;AAAA,cACpC,WAAWgC,EAAO;AAAA,cAClB,UAAA2B;AAAA,cACA,UAAAC;AAAA,cACA,OAAAnD;AAAA,cACA,cAAAoD;AAAA,cACA,UAAAC;AAAA,cACC,GAAGhD;AAAA,YAAA;AAAA,UAAA;AAAA,UAELsD,IACC,gBAAAvB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,WAAWb,EAAO;AAAA,cAClB,SAASkC;AAAA,cACT,cAAW;AAAA,cACX,UAAU;AAAA,cACV,UAAA,gBAAArB;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,QAAO;AAAA,kBACP,aAAY;AAAA,kBACZ,eAAc;AAAA,kBACd,gBAAe;AAAA,kBACf,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,uBAAA,CAAuB;AAAA,gBAAA;AAAA,cAAA;AAAA,YACjC;AAAA,UAAA,IAEA;AAAA,UACHW,IAAe,gBAAAX,EAAC,QAAA,EAAK,WAAWb,EAAO,WAAY,aAAa,IAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGjF;AACF;AAEAqB,GAAM,cAAc;;;;;;;;;;;;;;;GCtHdgB,KAAmB1D,EAAIqB,EAAO,SAAS;AAAA,EAC3C,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAASA,EAAO;AAAA,MAChB,WAAWA,EAAO;AAAA,MAClB,UAAUA,EAAO;AAAA,IAAA;AAAA,EACnB;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAEKoB,KAAsD;AAAA,EAC1D,OAAOpB,EAAO;AAAA,EACd,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAClB,GAeasC,KAAWnC;AAAA,EACtB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,SAAAjB;AAAA,IACA,kBAAAmC;AAAA,IACA,eAAAiB;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,SAAAC;AAAA,IACA,WAAAtC;AAAA,IACA,WAAAuC;AAAA,IACA,UAAAjB;AAAA,IACA,UAAAC;AAAA,IACA,OAAAnD;AAAA,IACA,cAAAoD;AAAA,IACA,UAAAC;AAAA,IACA,GAAGhD;AAAA,EAAA,GAEL4B,MACG;AACH,UAAMqB,IAAcC,EAA4B,IAAI,GAC9Ca,IAAenC,KAAgDqB,GAE/D,CAACe,GAAWC,CAAY,IAAIC,EAAS,OACxBvE,KAASoD,KAAgB,IAC3B,MAChB;AAGD,IAAAoB,EAAU,MAAM;AACd,MAAIxE,MAAU,UACZsE,EAActE,EAAiB,MAAM;AAAA,IAEzC,GAAG,CAACA,CAAK,CAAC;AAEV,UAAMyE,IAAef,EAAY,MAAM;AACrC,YAAMgB,IAAWN,EAAY;AAC7B,UAAI,CAACM,KAAY,CAACV,EAAY;AAE9B,MAAAU,EAAS,MAAM,SAAS;AACxB,YAAMC,IAAa,WAAW,iBAAiBD,CAAQ,EAAE,UAAU,GAC7DE,KAAYD,IAAaV,GACzBY,KAAYX,IAAUS,IAAaT,IAAU,OAC7CY,KAAeJ,EAAS;AAE9B,MAAAA,EAAS,MAAM,SAAS,GAAG,KAAK,IAAI,KAAK,IAAII,IAAcF,EAAS,GAAGC,EAAS,CAAC,MACjFH,EAAS,MAAM,YAAYI,KAAeD,KAAY,SAAS;AAAA,IACjE,GAAG,CAACb,GAAYC,GAASC,GAASE,CAAW,CAAC;AAE9C,IAAAI,EAAU,MAAM;AACd,MAAAC,EAAA;AAAA,IACF,GAAG,CAACzE,GAAOyE,CAAY,CAAC;AAExB,UAAMM,IAAerB;AAAA,MACnB,CAACjE,MAAwC;AACvC,QAAA6E,EAAa7E,EAAE,OAAO,MAAM,MAAM,GAClCgF,EAAA,GACApB,IAAW5D,CAAC;AAAA,MACd;AAAA,MACA,CAAC4D,GAAUoB,CAAY;AAAA,IAAA,GAGnBO,IACJjB,MAAqB,UAAaI,MAAc,UAAaE,KAAaN,GAGtEkB,IAFYd,MAAc,UAAaE,KAAaF,IAGtD,UACAa,IACE,YACA,QAEAE,IAAsBrC,KAAoBoC;AAEhD,WACE,gBAAA/C;AAAA,MAAC;AAAA,MAAA;AAAA,QACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,QACpC,WAAWO;AAAA,UACT8D,GAAiB,EAAE,SAAAlD,GAAS;AAAA,UAC5BwE,KAAuBvC,GAAkBuC,CAAmB;AAAA,UAC5DhC,KAAY3B,EAAO;AAAA,UACnBK,KAAaL,EAAO;AAAA,UACpBI;AAAA,QAAA;AAAA,QAEF,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAKgC;AAAA,cACC,CAAC9E,CAAa,GAAGC,EAAa;AAAA,cACpC,WAAWgC,EAAO;AAAA,cAClB,MAAM0C;AAAA,cACN,WAAAE;AAAA,cACA,UAAAjB;AAAA,cACA,UAAAC;AAAA,cACA,OAAAnD;AAAA,cACA,cAAAoD;AAAA,cACA,UAAU2B;AAAA,cACT,GAAG1E;AAAA,YAAA;AAAA,UAAA;AAAA,UAELyD,KAAiBK,MAAc,SAC9B,gBAAAjC;AAAA,YAAC;AAAA,YAAA;AAAA,cACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,cACpC,WAAWO;AAAA,gBACTyB,EAAO;AAAA,gBACP0D,MAAgB,aAAa1D,EAAO;AAAA,gBACpC0D,MAAgB,WAAW1D,EAAO;AAAA,cAAA;AAAA,cAEnC,UAAA;AAAA,gBAAA8C;AAAA,gBAAU;AAAA,gBAAEF;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,IAEb;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEAN,GAAS,cAAc;;;;;;;;;;;;;GClJjBsB,KAAsBjF,EAAIqB,EAAO,SAAS;AAAA,EAC9C,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAASA,EAAO;AAAA,MAChB,WAAWA,EAAO;AAAA,MAClB,UAAUA,EAAO;AAAA,IAAA;AAAA,EACnB;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAEKoB,KAAsD;AAAA,EAC1D,OAAOpB,EAAO;AAAA,EACd,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAClB;AAoBA,SAAS6D,GAAWC,GAAaC,GAAcC,GAAsB;AACnE,MAAIC,IAASH;AACb,SAAIC,MAAQ,WAAWE,IAAS,KAAK,IAAIA,GAAQF,CAAG,IAChDC,MAAQ,WAAWC,IAAS,KAAK,IAAIA,GAAQD,CAAG,IAC7CC;AACT;AAEA,SAASC,EAAYJ,GAAaK,GAA4B;AAC5D,SAAIA,MAAc,SAAkBL,EAAI,QAAQK,CAAS,IAClD,OAAOL,CAAG;AACnB;AAEO,MAAMM,KAAcjE;AAAA,EACzB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,SAAAjB;AAAA,IACA,kBAAAmC;AAAA,IACA,OAAO+C;AAAA,IACP,cAAAxC;AAAA,IACA,KAAAkC;AAAA,IACA,KAAAC;AAAA,IACA,MAAAM,IAAO;AAAA,IACP,WAAAH;AAAA,IACA,UAAArC;AAAA,IACA,WAAAzB;AAAA,IACA,UAAAsB;AAAA,IACA,UAAAC;AAAA,IACA,GAAG9C;AAAA,EAAA,GAEL4B,MACG;AACH,UAAMqB,IAAcC,EAAyB,IAAI,GAC3CC,IAAYvB,KAA6CqB,GAEzDwC,IAAeF,MAAoB,QACnC,CAACG,GAAeC,CAAgB,IAAIzB;AAAA,MAAiB,MACzDnB,MAAiB,SAAYqC,EAAYrC,GAAcsC,CAAS,IAAI;AAAA,IAAA,GAGhEO,IAAeH,IACjBF,MAAoB,KAClB,KACAH,EAAYG,GAA2BF,CAAS,IAClDK;AAGJ,IAAAvB,EAAU,MAAM;AACd,MAAIsB,KAAgBF,MAAoB,MACtCI,EAAiBP,EAAYG,GAA2BF,CAAS,CAAC;AAAA,IAEtE,GAAG,CAACE,GAAiBF,GAAWI,CAAY,CAAC;AAE7C,UAAMI,IAAcxC;AAAA,MAClB,CAACyC,MAAgB;AACf,cAAMC,IAAUhB,GAAWe,GAAKb,GAAKC,CAAG,GAClCc,IAAUZ,EAAYW,GAASV,CAAS;AAC9C,QAAKI,KAAcE,EAAiBK,CAAO,GAC3ChD,IAAW+C,CAAO;AAAA,MACpB;AAAA,MACA,CAACd,GAAKC,GAAKG,GAAWI,GAAczC,CAAQ;AAAA,IAAA,GAGxCiD,IAAY5C;AAAA,MAChB,CAAC6C,MAAsB;AACrB,cAAMC,IAAU,WAAWP,CAAsB,KAAK;AACtD,QAAAC,EAAYM,IAAUX,IAAOU,CAAS;AAAA,MACxC;AAAA,MACA,CAACN,GAAcJ,GAAMK,CAAW;AAAA,IAAA,GAG5BnB,IAAerB;AAAA,MACnB,CAACjE,MAAqC;AACpC,cAAM0G,IAAM1G,EAAE,OAAO;AAErB,YAAI0G,MAAQ,MAAMA,MAAQ,OAAOA,MAAQ,KAAK;AAC5C,UAAKL,KAAcE,EAAiBG,CAAG,GACnCA,MAAQ,MAAI9C,IAAW,MAAS;AACpC;AAAA,QACF;AACA,cAAMoD,IAAM,WAAWN,CAAG;AAC1B,QAAK,MAAMM,CAAG,MACPX,KAAcE,EAAiBG,CAAG,GACvC9C,IAAWoD,CAAG;AAAA,MAElB;AAAA,MACA,CAACX,GAAczC,CAAQ;AAAA,IAAA,GAGnBqD,KAAahD,EAAY,MAAM;AACnC,YAAM+C,IAAM,WAAWR,CAAsB;AAC7C,MAAI,MAAMQ,CAAG,KACNX,KAAcE,EAAiB,EAAE,GACtC3C,IAAW,MAAS,KAEpB6C,EAAYO,CAAG;AAAA,IAEnB,GAAG,CAACR,GAAcH,GAAczC,GAAU6C,CAAW,CAAC,GAEhDS,IAAgBjD;AAAA,MACpB,CAACjE,MAAuC;AACtC,QAAIA,EAAE,QAAQ,aACZA,EAAE,eAAA,GACF6G,EAAU,CAAC,KACF7G,EAAE,QAAQ,gBACnBA,EAAE,eAAA,GACF6G,EAAU,EAAE;AAAA,MAEhB;AAAA,MACA,CAACA,CAAS;AAAA,IAAA;AAGZ,WACE,gBAAApE;AAAA,MAAC;AAAA,MAAA;AAAA,QACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,QACpC,WAAWO;AAAA,UACTqF,GAAoB,EAAE,SAAAzE,GAAS;AAAA,UAC/BmC,KAAoBF,GAAkBE,CAAgB;AAAA,UACtDK,KAAY3B,EAAO;AAAA,UACnBK,KAAaL,EAAO;AAAA,UACpBI;AAAA,QAAA;AAAA,QAEF,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACC,CAAC9C,CAAa,GAAGC,EAAa;AAAA,cACpC,WAAWgC,EAAO;AAAA,cAClB,SAAS,MAAM+E,EAAU,EAAE;AAAA,cAC3B,UACEpD,KACAC,KACCmC,MAAQ,WAAc,WAAWW,CAAsB,KAAK,MAAMX;AAAA,cAErE,cAAW;AAAA,cACX,UAAU;AAAA,cACV,UAAA,gBAAAlD;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,QAAO;AAAA,kBACP,aAAY;AAAA,kBACZ,eAAc;AAAA,kBACd,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,WAAA,CAAW;AAAA,gBAAA;AAAA,cAAA;AAAA,YACrB;AAAA,UAAA;AAAA,UAEF,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAKoB;AAAA,cACC,CAAClE,CAAa,GAAGC,EAAa;AAAA,cACpC,WAAWgC,EAAO;AAAA,cAClB,WAAU;AAAA,cACV,OAAO0E;AAAA,cACP,UAAUlB;AAAA,cACV,QAAQ2B;AAAA,cACR,WAAWC;AAAA,cACX,UAAAzD;AAAA,cACA,UAAAC;AAAA,cACA,MAAK;AAAA,cACL,iBAAemC;AAAA,cACf,iBAAeC;AAAA,cACf,iBACE,OAAOU,KAAiB,WAAW,WAAWA,CAAY,KAAK,SAAYA;AAAA,cAE5E,GAAG5F;AAAA,YAAA;AAAA,UAAA;AAAA,UAEN,gBAAA+B;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACC,CAAC9C,CAAa,GAAGC,EAAa;AAAA,cACpC,WAAWgC,EAAO;AAAA,cAClB,SAAS,MAAM+E,EAAU,CAAC;AAAA,cAC1B,UACEpD,KACAC,KACCoC,MAAQ,WAAc,WAAWU,CAAsB,KAAK,MAAMV;AAAA,cAErE,cAAW;AAAA,cACX,UAAU;AAAA,cACV,UAAA,gBAAAnD;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,QAAO;AAAA,kBACP,aAAY;AAAA,kBACZ,eAAc;AAAA,kBACd,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,mBAAA,CAAmB;AAAA,gBAAA;AAAA,cAAA;AAAA,YAC7B;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAuD,GAAY,cAAc;;;;;;;;;GCrNbiB,KAAYlF;AAAA,EACvB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,OAAAkF;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAlE;AAAA,IACA,UAAAmE;AAAA,IACA,WAAApF;AAAA,IACA,UAAAsB;AAAA,IACA,SAAA+D;AAAA,IACA,UAAAjF;AAAA,IACA,GAAG3B;AAAA,EAAA,GAEL4B,MACG;AACH,UAAMiF,IAASC,GAAA,GACTC,IAAUH,KAAWC,GACrBG,IAAW,GAAGD,CAAO,WACrBE,IAAU,GAAGF,CAAO,UAEpBG,IAAY1E,MAAqB,WAAWkE,GAG5CS,IACJ,CAACD,IAAYD,IAAU,QAAWR,IAAaO,IAAW,MAAS,EAChE,OAAO,OAAO,EACd,KAAK,GAAG,KAAK,QAGZI,IAAmBC,GAAS,IAAI1F,GAAU,CAAC2F,MAC1CC,GAAeD,CAAK,IAClBE,GAAaF,GAAsD;AAAA,MACxE,IAAIP;AAAA,MACJ,oBAAoBI;AAAA,MACpB,gBAAgB3E,MAAqB,UAAU,KAAO;AAAA,MACtD,UAAUK,KAAY;AAAA,IAAA,CACvB,IANkCyE,CAOpC;AAED,WACE,gBAAAzF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACM,CAAC3C,CAAa,GAAGC,EAAa;AAAA,QACpC,WAAWO;AAAA,UACTyB,EAAO;AAAA,UACPK,KAAaL,EAAO;AAAA,UACpB2B,KAAY3B,EAAO;AAAA,UACnBI;AAAA,QAAA;AAAA,QAED,GAAGtB;AAAA,QACJ,UAAA;AAAA,UAAA,gBAAA+B;AAAA,YAAC;AAAA,YAAA;AAAA,cACO,CAAC9C,CAAa,GAAGC,EAAa;AAAA,cACpC,SAAS6H;AAAA,cACT,WAAWtH,EAAKyB,EAAO,OAAOyF,KAAYzF,EAAO,QAAQ;AAAA,cACxD,UAAAsF;AAAA,YAAA;AAAA,UAAA;AAAA,UAGFY;AAAA,UAEAF,IACC,gBAAAnF;AAAA,YAAC;AAAA,YAAA;AAAA,cACO,CAAC9C,CAAa,GAAGC,EAAa;AAAA,cACpC,IAAI+H;AAAA,cACJ,WAAW/F,EAAO;AAAA,cAClB,MAAK;AAAA,cACJ,UAAAwF;AAAA,YAAA;AAAA,UAAA,IAED;AAAA,UAEHD,IACC,gBAAA1E;AAAA,YAAC;AAAA,YAAA;AAAA,cACO,CAAC9C,CAAa,GAAGC,EAAa;AAAA,cACpC,IAAI8H;AAAA,cACJ,WAAW9F,EAAO;AAAA,cACjB,UAAAuF;AAAA,YAAA;AAAA,UAAA,IAED;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEAF,GAAU,cAAc;;;;;;;;AC1GxB,SAASkB,MAAgBC,GAAyD;AAChF,SAAO,CAAC/H,MAAoB;AAC1B,eAAWiC,KAAO8F;AAChB,MAAI,OAAO9F,KAAQ,aACjBA,EAAIjC,CAAK,IACAiC,KAAO,OAAOA,KAAQ,aAC9BA,EAAkC,UAAUjC;AAAA,EAGnD;AACF;AAOO,MAAMgI,KAAWtG;AAAA,EACtB,CAAC,EAAE,WAAAC,GAAW,OAAAkF,GAAO,eAAAoB,GAAe,UAAA/E,GAAU,GAAG7C,EAAA,GAAS6H,MAAiB;AACzE,UAAM5E,IAAcC,EAAyB,IAAI;AAEjD,WAAAiB,EAAU,MAAM;AACd,MAAIlB,EAAY,YACdA,EAAY,QAAQ,gBAAgB2E,KAAiB;AAAA,IAEzD,GAAG,CAACA,CAAa,CAAC,GAGhB,gBAAA/F;AAAA,MAAC;AAAA,MAAA;AAAA,QACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,QACpC,WAAWO,EAAKyB,EAAO,UAAU2B,KAAY3B,EAAO,UAAUI,CAAS;AAAA,QACvE,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAAC+F;AAAA,YAAA;AAAA,cACC,KAAKL,GAAUI,GAAc5E,CAAW;AAAA,cACxC,WAAW/B,EAAO;AAAA,cAClB,UAAA2B;AAAA,cACA,sBAAoB+E,KAAiB;AAAA,cACpC,GAAG5H;AAAA,YAAA;AAAA,UAAA;AAAA,4BAEL,QAAA,EAAK,WAAWkB,EAAO,WAAW,eAAY,QAC5C,UAAA0G,IACC,gBAAA7F;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,QAAO;AAAA,cACP,aAAY;AAAA,cACZ,eAAc;AAAA,cACd,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,WAAA,CAAW;AAAA,YAAA;AAAA,UAAA,IAGrB,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,QAAO;AAAA,cACP,aAAY;AAAA,cACZ,eAAc;AAAA,cACd,gBAAe;AAAA,cACf,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,uBAAA,CAAuB;AAAA,YAAA;AAAA,UAAA,GAGrC;AAAA,UACCyE,IAAQ,gBAAAzE,EAAC,QAAA,EAAK,WAAWb,EAAO,OAAQ,aAAM,IAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAG/D;AACF;AAEAyG,GAAS,cAAc;;;;;;;;GC7DVI,KAAS1G;AAAA,EACpB,CAAC,EAAE,WAAAC,GAAW,OAAAkF,GAAO,UAAA3D,GAAU,GAAG7C,EAAA,GAAS4B,MAEvC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,MACpC,WAAWO,EAAKyB,EAAO,QAAQ2B,KAAY3B,EAAO,UAAUI,CAAS;AAAA,MACrE,UAAA;AAAA,QAAA,gBAAAS,EAACiG,MAAW,KAAApG,GAAU,WAAWV,EAAO,OAAO,UAAA2B,GAAqB,GAAG7C,GAAO;AAAA,QAC9E,gBAAA+B,EAAC,QAAA,EAAK,WAAWb,EAAO,OAAO,eAAY,QACzC,UAAA,gBAAAa,EAAC,QAAA,EAAK,WAAWb,EAAO,MAAA,CAAO,GACjC;AAAA,QACCsF,IAAQ,gBAAAzE,EAAC,QAAA,EAAK,WAAWb,EAAO,OAAQ,aAAM,IAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIjE;AAEA6G,GAAO,cAAc;;;;;;;;GChBRE,KAAc5G;AAAA,EACzB,CAAC,EAAE,WAAAC,GAAW,OAAAkF,GAAO,UAAA3D,GAAU,GAAG7C,EAAA,GAAS4B,MAEvC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,MACpC,WAAWO,EAAKyB,EAAO,OAAO2B,KAAY3B,EAAO,UAAUI,CAAS;AAAA,MACpE,UAAA;AAAA,QAAA,gBAAAS,EAACmG,MAAgB,KAAAtG,GAAU,WAAWV,EAAO,OAAO,UAAA2B,GAAqB,GAAG7C,GAAO;AAAA,QACnF,gBAAA+B,EAAC,QAAA,EAAK,WAAWb,EAAO,WAAW,eAAY,QAC7C,UAAA,gBAAAa,EAAC,QAAA,EAAK,WAAWb,EAAO,IAAA,CAAK,GAC/B;AAAA,QACCsF,IAAQ,gBAAAzE,EAAC,QAAA,EAAK,WAAWb,EAAO,OAAQ,aAAM,IAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIjE;AAEA+G,GAAY,cAAc;;;;;;;;GCfbE,KAAS9G;AAAA,EACpB,CAAC,EAAE,WAAAC,GAAW,OAAAkF,GAAO,WAAA4B,GAAW,UAAAvF,GAAU,OAAAlD,GAAO,cAAAoD,GAAc,GAAG/C,EAAA,GAAS4B,MAAQ;AACjF,UAAMgE,IAAejG,KAASoD,KAAgB;AAE9C,WACE,gBAAAlB;AAAA,MAAC;AAAA,MAAA;AAAA,QACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,QACpC,WAAWO,EAAKyB,EAAO,QAAQ2B,KAAY3B,EAAO,UAAUI,CAAS;AAAA,QACpE,UAAA;AAAA,UAAAkF,KAAS4B,IACR,gBAAAvG,EAAC,QAAA,EAAK,WAAWX,EAAO,QACrB,UAAA;AAAA,YAAAsF,sBAAS,QAAA,EAAK,WAAWtF,EAAO,OAAQ,aAAM,IAAU;AAAA,YACxDkH,IAAY,gBAAArG,EAAC,QAAA,EAAK,WAAWb,EAAO,OAAQ,aAAa,IAAU;AAAA,UAAA,EAAA,CACtE,IACE;AAAA,UACJ,gBAAAa;AAAA,YAACsG;AAAA,YAAA;AAAA,cACC,KAAAzG;AAAA,cACA,WAAWV,EAAO;AAAA,cAClB,UAAA2B;AAAA,cACA,OAAAlD;AAAA,cACA,cAAAoD;AAAA,cACC,GAAG/C;AAAA,YAAA;AAAA,UAAA;AAAA,QACN;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAmI,GAAO,cAAc;;;;;;;;;AC1BrB,SAASV,MAAgBC,GAAyD;AAChF,SAAO,CAAC/H,MAAoB;AAC1B,eAAWiC,KAAO8F;AAChB,MAAI,OAAO9F,KAAQ,aACjBA,EAAIjC,CAAK,IACAiC,KAAO,OAAOA,KAAQ,aAC9BA,EAAkC,UAAUjC;AAAA,EAGnD;AACF;AAiBO,MAAM2I,KAAYjH;AAAA,EACvB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,QAAQiH;AAAA,IACR,UAAAvF;AAAA,IACA,aAAAwF;AAAA,IACA,UAAA3F;AAAA,IACA,UAAA4F;AAAA,IACA,YAAAC,IAAa,CAAA;AAAA,IACb,GAAG1I;AAAA,EAAA,GAEL6H,MACG;AACH,UAAM,CAACc,GAAgBC,CAAiB,IAAI1E,EAAmB,CAAA,CAAE,GAC3D,CAAC2E,GAAYC,CAAa,IAAI5E,EAAS,EAAE,GACzCjB,IAAcC,EAAyB,IAAI,GAE3C6F,IAASR,KAAoBI,GAE7BK,IAAe3F;AAAA,MACnB,CAAC4F,MAAmB;AAClB,QAAKV,KACHK,EAAkBK,CAAI,GAExBjG,IAAWiG,CAAI;AAAA,MACjB;AAAA,MACA,CAACV,GAAkBvF,CAAQ;AAAA,IAAA,GAGvBkG,IAAU7F;AAAA,MACd,CAAC8F,MAAiB;AAChB,cAAMC,IAAUD,EAAK,KAAA;AACrB,QAAKC,MACDL,EAAO,SAASK,CAAO,KACvBX,KAAY,QAAQM,EAAO,UAAUN,MACzCO,EAAa,CAAC,GAAGD,GAAQK,CAAO,CAAC,GACjCN,EAAc,EAAE;AAAA,MAClB;AAAA,MACA,CAACC,GAAQN,GAAUO,CAAY;AAAA,IAAA,GAG3BK,IAAahG;AAAA,MACjB,CAACiG,MAAkB;AACjB,QAAAN,EAAaD,EAAO,OAAO,CAACQ,GAAGC,MAAMA,MAAMF,CAAK,CAAC,GACjDrG,EAAY,SAAS,MAAA;AAAA,MACvB;AAAA,MACA,CAAC8F,GAAQC,CAAY;AAAA,IAAA,GAGjB1C,IAAgBjD;AAAA,MACpB,CAACjE,MAAuC;AACtC,YAAIA,EAAE,QAAQ,SAAS;AACrB,UAAAA,EAAE,eAAA,GACF8J,EAAQL,CAAU;AAClB;AAAA,QACF;AACA,YAAIzJ,EAAE,QAAQ,eAAeyJ,MAAe,MAAME,EAAO,SAAS,GAAG;AACnE,UAAAM,EAAWN,EAAO,SAAS,CAAC;AAC5B;AAAA,QACF;AACA,QAAIL,EAAW,SAAStJ,EAAE,GAAG,MAC3BA,EAAE,eAAA,GACF8J,EAAQL,CAAU;AAAA,MAEtB;AAAA,MACA,CAACA,GAAYE,GAAQL,GAAYQ,GAASG,CAAU;AAAA,IAAA,GAGhDI,IAAuBpG,EAAY,MAAM;AAC7C,MAAKR,KACHI,EAAY,SAAS,MAAA;AAAA,IAEzB,GAAG,CAACJ,CAAQ,CAAC,GAEP6G,IAAyBrG;AAAA,MAC7B,CAACjE,MAA2C;AAC1C,QAAI,CAACyD,MAAazD,EAAE,QAAQ,WAAWA,EAAE,QAAQ,QAC/C6D,EAAY,SAAS,MAAA;AAAA,MAEzB;AAAA,MACA,CAACJ,CAAQ;AAAA,IAAA;AAGX,WACE,gBAAAhB;AAAA,MAAC;AAAA,MAAA;AAAA,QACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,QACpC,MAAK;AAAA,QACL,WAAWO,EAAKyB,EAAO,WAAW2B,KAAY3B,EAAO,UAAUI,CAAS;AAAA,QACxE,SAASmI;AAAA,QACT,WAAWC;AAAA,QACV,GAAG1J;AAAA,QACH,UAAA;AAAA,UAAA+I,EAAO,IAAI,CAACY,wBACV,QAAA,EAAgB,WAAWzI,EAAO,MACjC,UAAA;AAAA,YAAA,gBAAAa,EAAC,QAAA,EAAK,WAAWb,EAAO,UAAW,UAAAyI,GAAK;AAAA,YACtC9G,IAmBE,OAlBF,gBAAAd;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAWb,EAAO;AAAA,gBAClB,SAAS,CAAC9B,MAAM;AACd,kBAAAA,EAAE,gBAAA,GACFiK,EAAWN,EAAO,QAAQY,CAAI,CAAC;AAAA,gBACjC;AAAA,gBACA,cAAY,UAAUA,CAAI;AAAA,gBAC1B,UAAU;AAAA,gBACV,UAAA,gBAAA5H;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,QAAO;AAAA,oBACP,aAAY;AAAA,oBACZ,eAAc;AAAA,oBACd,UAAA,gBAAAA,EAAC,QAAA,EAAK,GAAE,oBAAA,CAAoB;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAC9B;AAAA,YAAA;AAAA,UAEA,EAAA,GArBK4H,CAsBX,CACD;AAAA,UACD,gBAAA5H;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK0F,GAAUI,GAAc5E,CAAW;AAAA,cACxC,WAAW/B,EAAO;AAAA,cAClB,MAAK;AAAA,cACL,OAAO2H;AAAA,cACP,UAAU,CAACzJ,MAAM0J,EAAc1J,EAAE,OAAO,KAAK;AAAA,cAC7C,WAAWkH;AAAA,cACX,aAAayC,EAAO,WAAW,IAAIP,IAAc;AAAA,cACjD,UAAA3F;AAAA,cACA,cAAY7C,EAAM,YAAY;AAAA,cAC9B,mBAAiBA,EAAM,iBAAiB;AAAA,YAAA;AAAA,UAAA;AAAA,QAC1C;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAsI,GAAU,cAAc;;;;;;;;;;AC/JxB,SAASb,MAAgBC,GAAyD;AAChF,SAAO,CAAC/H,MAAoB;AAC1B,eAAWiC,KAAO8F;AAChB,MAAI,OAAO9F,KAAQ,aACjBA,EAAIjC,CAAK,IACAiC,KAAO,OAAOA,KAAQ,aAC9BA,EAAkC,UAAUjC;AAAA,EAGnD;AACF;AAeO,MAAMiK,KAAevI;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,UAAA0B,GAAU,QAAA6G,GAAQ,UAAAC,GAAU,UAAAjH,GAAU,UAAAlB,GAAU,GAAG3B,EAAA,GAAS6H,MAAiB;AACzF,UAAM,CAACkC,GAAYC,CAAa,IAAI9F,EAAS,EAAK,GAC5CjB,IAAcC,EAAyB,IAAI,GAE3C+G,IAAc5G;AAAA,MAClB,CAAC6G,MAA8B;AAC7B,QAAI,CAACA,KAAYA,EAAS,WAAW,KACrClH,IAAW,MAAM,KAAKkH,CAAQ,CAAC;AAAA,MACjC;AAAA,MACA,CAAClH,CAAQ;AAAA,IAAA,GAGLmH,IAAiB9G;AAAA,MACrB,CAACjE,MAAiC;AAChC,QAAAA,EAAE,eAAA,GACGyD,KACHmH,EAAc,EAAI;AAAA,MAEtB;AAAA,MACA,CAACnH,CAAQ;AAAA,IAAA,GAGLuH,IAAkB/G,EAAY,CAACjE,MAAiC;AACpE,MAAAA,EAAE,eAAA,GACF4K,EAAc,EAAK;AAAA,IACrB,GAAG,CAAA,CAAE,GAECK,IAAahH;AAAA,MACjB,CAACjE,MAAiC;AAChC,QAAAA,EAAE,eAAA,GACF4K,EAAc,EAAK,GACdnH,KACHoH,EAAY7K,EAAE,aAAa,KAAK;AAAA,MAEpC;AAAA,MACA,CAACyD,GAAUoH,CAAW;AAAA,IAAA,GAGlBK,IAAoBjH;AAAA,MACxB,CAACjE,MAAqC;AACpC,QAAA6K,EAAY7K,EAAE,OAAO,KAAK,GAE1BA,EAAE,OAAO,QAAQ;AAAA,MACnB;AAAA,MACA,CAAC6K,CAAW;AAAA,IAAA,GAGRM,IAAclH,EAAY,MAAM;AACpC,MAAKR,KACHI,EAAY,SAAS,MAAA;AAAA,IAEzB,GAAG,CAACJ,CAAQ,CAAC,GAEPyD,IAAgBjD;AAAA,MACpB,CAACjE,MAA2C;AAC1C,QAAI,CAACyD,MAAazD,EAAE,QAAQ,WAAWA,EAAE,QAAQ,SAC/CA,EAAE,eAAA,GACF6D,EAAY,SAAS,MAAA;AAAA,MAEzB;AAAA,MACA,CAACJ,CAAQ;AAAA,IAAA;AAGX,WACE,gBAAAhB;AAAA,MAAC;AAAA,MAAA;AAAA,QACO,CAAC5C,CAAa,GAAGC,EAAa;AAAA,QACpC,MAAK;AAAA,QACL,UAAU2D,IAAW,KAAK;AAAA,QAC1B,iBAAeA,KAAY;AAAA,QAC3B,WAAWpD;AAAA,UACTyB,EAAO;AAAA,UACP6I,KAAc7I,EAAO;AAAA,UACrB2B,KAAY3B,EAAO;AAAA,UACnBI;AAAA,QAAA;AAAA,QAEF,SAASiJ;AAAA,QACT,WAAWjE;AAAA,QACX,YAAY6D;AAAA,QACZ,aAAaC;AAAA,QACb,QAAQC;AAAA,QACP,GAAGrK;AAAA,QACJ,UAAA;AAAA,UAAA,gBAAA+B;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK0F,GAAUI,GAAc5E,CAAW;AAAA,cACxC,MAAK;AAAA,cACL,WAAW/B,EAAO;AAAA,cAClB,QAAA2I;AAAA,cACA,UAAAC;AAAA,cACA,UAAAjH;AAAA,cACA,UAAUyH;AAAA,cACV,UAAU;AAAA,cACV,eAAY;AAAA,YAAA;AAAA,UAAA;AAAA,UAEb3I,KACC,gBAAAE,EAAC,OAAA,EAAI,WAAWX,EAAO,SACrB,UAAA;AAAA,YAAA,gBAAAW;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWX,EAAO;AAAA,gBAClB,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,QAAO;AAAA,gBACP,aAAY;AAAA,gBACZ,eAAc;AAAA,gBACd,gBAAe;AAAA,gBACf,eAAY;AAAA,gBACZ,UAAA;AAAA,kBAAA,gBAAAa,EAAC,QAAA,EAAK,GAAE,4CAAA,CAA4C;AAAA,kBACpD,gBAAAA,EAAC,YAAA,EAAS,QAAO,gBAAA,CAAgB;AAAA,kBACjC,gBAAAA,EAAC,UAAK,IAAG,MAAK,IAAG,KAAI,IAAG,MAAK,IAAG,KAAA,CAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAEvC,gBAAAA,EAAC,QAAA,EAAK,WAAWb,EAAO,MAAM,UAAA,qCAAA,CAAkC;AAAA,UAAA,EAAA,CAClE;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA0I,GAAa,cAAc;;;;;;;;;;GCpJrB3I,KAAmD;AAAA,EACvD,QAAQC,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,MAAMA,EAAO;AACf,GAEMsJ,KAAgB3K,EAAIqB,EAAO,OAAO;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAASA,EAAO;AAAA,MAChB,WAAWA,EAAO;AAAA,MAClB,UAAUA,EAAO;AAAA,IAAA;AAAA,EACnB;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAQYuJ,KAAQpJ;AAAA,EACnB,CAAC,EAAE,WAAAC,GAAW,SAAAjB,GAAS,WAAAmB,GAAW,UAAAG,GAAU,GAAG3B,EAAA,GAAS4B,MAEpD,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACM,CAAC3C,CAAa,GAAGC,EAAa;AAAA,MACpC,WAAWO;AAAA,QACT+K,GAAc,EAAE,SAAAnK,GAAS;AAAA,QACzBmB,KAAaP,GAAiBO,CAAS;AAAA,QACvCF;AAAA,MAAA;AAAA,MAED,GAAGtB;AAAA,MACH,UAAA2B;AAAA,IAAA;AAAA,EAAA;AAIT;AAEA8I,GAAM,cAAc;;;;;GCzCPC,KAAUrJ;AAAA,EACrB,CAAC,EAAE,WAAAC,GAAW,aAAAc,IAAc,cAAc,YAAAuI,IAAa,IAAO,GAAG3K,EAAA,GAAS4B,MAEtE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACM,CAAC3C,CAAa,GAAGC,EAAa;AAAA,MACpC,WAAWO;AAAA,QACTyB,EAAO;AAAA,QACPkB,MAAgB,aAAalB,EAAO,WAAWA,EAAO;AAAA,QACtDI;AAAA,MAAA;AAAA,MAED,GAAIqJ,IACD,EAAE,eAAe,GAAA,IACjB,EAAE,MAAM,aAAa,oBAAoBvI,EAAA;AAAA,MAC5C,GAAGpC;AAAA,IAAA;AAAA,EAAA;AAIZ;AAEA0K,GAAQ,cAAc;","x_google_ignoreList":[1,2]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/componentIds.ts","../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs","../src/components/Button/Button.tsx","../src/components/IconButton/IconButton.tsx","../src/components/ButtonGroup/ButtonGroup.tsx","../src/assets/icons/CheckIcon.tsx","../src/assets/icons/DashIcon.tsx","../src/assets/icons/CloseSmallIcon.tsx","../src/assets/icons/CloseIcon.tsx","../src/assets/icons/ChevronDownIcon.tsx","../src/assets/icons/UploadIcon.tsx","../src/assets/icons/SpinnerIcon.tsx","../src/assets/icons/MinusIcon.tsx","../src/assets/icons/PlusIcon.tsx","../src/components/Input/Input.tsx","../src/components/Textarea/Textarea.tsx","../src/components/NumberInput/NumberInput.tsx","../src/components/FormField/FormField.tsx","../src/components/Checkbox/Checkbox.tsx","../src/components/Switch/Switch.tsx","../src/components/RadioButton/RadioButton.tsx","../src/components/Slider/Slider.tsx","../src/components/PillInput/PillInput.tsx","../src/components/FileDropZone/FileDropZone.tsx","../src/components/ComboBox/ComboBox.tsx","../src/components/Badge/Badge.tsx","../src/components/Divider/Divider.tsx"],"sourcesContent":["export const FINRA_UI_ATTR = \"data-finra-ui\" as const;\n\nexport const componentIds = {\n // Button family\n button: \"button\",\n iconButton: \"icon-button\",\n buttonGroup: \"button-group\",\n\n // Input\n input: \"input\",\n inputField: \"input-field\",\n\n // Textarea\n textarea: \"textarea\",\n textareaField: \"textarea-field\",\n textareaCount: \"textarea-count\",\n\n // NumberInput\n numberInput: \"number-input\",\n numberInputField: \"number-input-field\",\n numberInputIncrement: \"number-input-increment\",\n numberInputDecrement: \"number-input-decrement\",\n\n // FormField\n formField: \"form-field\",\n formFieldLabel: \"form-field-label\",\n formFieldHelper: \"form-field-helper\",\n formFieldError: \"form-field-error\",\n\n // Checkbox\n checkbox: \"checkbox\",\n\n // Switch\n switch: \"switch\",\n\n // RadioButton\n radioButton: \"radio-button\",\n\n // Slider\n slider: \"slider\",\n\n // PillInput\n pillInput: \"pill-input\",\n\n // FileDropZone\n fileDropZone: \"file-drop-zone\",\n\n // Badge\n badge: \"badge\",\n\n // ComboBox\n comboBox: \"combo-box\",\n\n // Divider\n divider: \"divider\",\n} as const;\n\nexport type ComponentId = (typeof componentIds)[keyof typeof componentIds];\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 */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","import { forwardRef, type ReactNode } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { ButtonBase, type ButtonBaseProps } from \"../../unstyled/Button/Button\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Button.module.scss\";\n\nexport type ButtonSentiment = \"danger\" | \"success\" | \"warning\" | \"info\";\n\nconst sentimentClasses: Record<ButtonSentiment, string> = {\n danger: styles.sentimentDanger,\n success: styles.sentimentSuccess,\n warning: styles.sentimentWarning,\n info: styles.sentimentInfo,\n};\n\nconst buttonVariants = cva(styles.button, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n fullWidth: {\n true: styles.fullWidth,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nexport interface ButtonProps extends ButtonBaseProps, VariantProps<typeof buttonVariants> {\n sentiment?: ButtonSentiment;\n startIcon?: ReactNode;\n endIcon?: ReactNode;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, fullWidth, sentiment, startIcon, endIcon, children, ...props }, ref) => {\n return (\n <ButtonBase\n ref={ref}\n type=\"button\"\n {...{ [FINRA_UI_ATTR]: componentIds.button }}\n className={clsx(\n buttonVariants({ variant, fullWidth }),\n sentiment && sentimentClasses[sentiment],\n className,\n )}\n {...props}>\n {startIcon ? <span className={styles.icon}>{startIcon}</span> : null}\n {children}\n {endIcon ? <span className={styles.icon}>{endIcon}</span> : null}\n </ButtonBase>\n );\n },\n);\n\nButton.displayName = \"Button\";\n","import { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { IconButtonBase, type IconButtonBaseProps } from \"../../unstyled/IconButton/IconButton\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./IconButton.module.scss\";\n\nexport type IconButtonSentiment = \"danger\" | \"success\" | \"warning\" | \"info\";\n\nconst sentimentClasses: Record<IconButtonSentiment, string> = {\n danger: styles.sentimentDanger,\n success: styles.sentimentSuccess,\n warning: styles.sentimentWarning,\n info: styles.sentimentInfo,\n};\n\nconst iconButtonVariants = cva(styles.iconButton, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nexport interface IconButtonProps\n extends IconButtonBaseProps, VariantProps<typeof iconButtonVariants> {\n sentiment?: IconButtonSentiment;\n}\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ className, variant, sentiment, ...props }, ref) => {\n return (\n <IconButtonBase\n ref={ref}\n type=\"button\"\n {...{ [FINRA_UI_ATTR]: componentIds.iconButton }}\n className={clsx(\n iconButtonVariants({ variant }),\n sentiment && sentimentClasses[sentiment],\n className,\n )}\n {...props}\n />\n );\n },\n);\n\nIconButton.displayName = \"IconButton\";\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./ButtonGroup.module.scss\";\n\nexport interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: \"horizontal\" | \"vertical\";\n}\n\nexport const ButtonGroup = forwardRef<HTMLDivElement, ButtonGroupProps>(\n ({ className, orientation = \"horizontal\", children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n role=\"group\"\n {...{ [FINRA_UI_ATTR]: componentIds.buttonGroup }}\n className={clsx(\n styles.buttonGroup,\n orientation === \"vertical\" && styles.vertical,\n className,\n )}\n {...props}>\n {children}\n </div>\n );\n },\n);\n\nButtonGroup.displayName = \"ButtonGroup\";\n","import type { SVGProps } from \"react\";\n\nexport function CheckIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}>\n <path d=\"M2.5 6l2.5 2.5 4.5-5\" />\n </svg>\n );\n}\n","import type { SVGProps } from \"react\";\n\nexport function DashIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n {...props}>\n <path d=\"M2.5 6h7\" />\n </svg>\n );\n}\n","import type { SVGProps } from \"react\";\n\nexport function CloseSmallIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n {...props}>\n <path d=\"M3 3l6 6M9 3l-6 6\" />\n </svg>\n );\n}\n","import type { SVGProps } from \"react\";\n\nexport function CloseIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}>\n <path d=\"M18 6 6 18M6 6l12 12\" />\n </svg>\n );\n}\n","import type { SVGProps } from \"react\";\n\nexport function ChevronDownIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}>\n <path d=\"M3 4.5l3 3 3-3\" />\n </svg>\n );\n}\n","import type { SVGProps } from \"react\";\n\nexport function UploadIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}>\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <polyline points=\"17 8 12 3 7 8\" />\n <line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\" />\n </svg>\n );\n}\n","import type { SVGProps } from \"react\";\n\nexport function SpinnerIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" {...props}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" opacity=\"0.25\" />\n <path d=\"M12 2a10 10 0 0 1 10 10\" />\n </svg>\n );\n}\n","import type { SVGProps } from \"react\";\n\nexport function MinusIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n {...props}>\n <path d=\"M5 12h14\" />\n </svg>\n );\n}\n","import type { SVGProps } from \"react\";\n\nexport function PlusIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n {...props}>\n <path d=\"M12 5v14M5 12h14\" />\n </svg>\n );\n}\n","import {\n forwardRef,\n useRef,\n useCallback,\n type ReactNode,\n type InputHTMLAttributes,\n type MouseEvent,\n} from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { CloseIcon } from \"../../assets/icons\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Input.module.scss\";\n\nexport type ValidationStatus = \"error\" | \"warning\" | \"success\";\n\nconst inputVariants = cva(styles.wrapper, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nconst validationClasses: Record<ValidationStatus, string> = {\n error: styles.statusError,\n warning: styles.statusWarning,\n success: styles.statusSuccess,\n};\n\nexport interface InputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"size\">, VariantProps<typeof inputVariants> {\n validationStatus?: ValidationStatus;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n clearable?: boolean;\n onClear?: () => void;\n fullWidth?: boolean;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n className,\n variant,\n validationStatus,\n startAdornment,\n endAdornment,\n clearable,\n onClear,\n fullWidth,\n disabled,\n readOnly,\n value,\n defaultValue,\n onChange,\n ...props\n },\n ref,\n ) => {\n const internalRef = useRef<HTMLInputElement>(null);\n const inputRef = (ref as React.RefObject<HTMLInputElement>) || internalRef;\n\n const handleClear = useCallback(\n (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n if (onClear) {\n onClear();\n } else if (inputRef.current) {\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n \"value\",\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, \"\");\n inputRef.current.dispatchEvent(new Event(\"input\", { bubbles: true }));\n }\n inputRef.current?.focus();\n },\n [onClear, inputRef],\n );\n\n const showClear = clearable && !disabled && !readOnly && (value ?? defaultValue ?? \"\") !== \"\";\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.input }}\n className={clsx(\n inputVariants({ variant }),\n validationStatus && validationClasses[validationStatus],\n disabled && styles.disabled,\n fullWidth && styles.fullWidth,\n className,\n )}>\n {startAdornment ? <span className={styles.adornment}>{startAdornment}</span> : null}\n <input\n ref={inputRef}\n {...{ [FINRA_UI_ATTR]: componentIds.inputField }}\n className={styles.field}\n disabled={disabled}\n readOnly={readOnly}\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n {...props}\n />\n {showClear ? (\n <button\n type=\"button\"\n className={styles.clearButton}\n onClick={handleClear}\n aria-label=\"Clear input\"\n tabIndex={-1}>\n <CloseIcon />\n </button>\n ) : null}\n {endAdornment ? <span className={styles.adornment}>{endAdornment}</span> : null}\n </div>\n );\n },\n);\n\nInput.displayName = \"Input\";\n","import {\n forwardRef,\n useState,\n useCallback,\n useEffect,\n useRef,\n type TextareaHTMLAttributes,\n type ChangeEvent,\n} from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport type { ValidationStatus } from \"../Input/Input\";\nimport styles from \"./Textarea.module.scss\";\n\nconst textareaVariants = cva(styles.wrapper, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nconst validationClasses: Record<ValidationStatus, string> = {\n error: styles.statusError,\n warning: styles.statusWarning,\n success: styles.statusSuccess,\n};\n\nexport interface TextareaProps\n extends\n Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, \"size\">,\n VariantProps<typeof textareaVariants> {\n validationStatus?: ValidationStatus;\n showCharCount?: boolean;\n warningThreshold?: number;\n autoResize?: boolean;\n minRows?: number;\n maxRows?: number;\n fullWidth?: boolean;\n}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n {\n className,\n variant,\n validationStatus,\n showCharCount,\n warningThreshold,\n autoResize,\n minRows = 3,\n maxRows,\n fullWidth,\n maxLength,\n disabled,\n readOnly,\n value,\n defaultValue,\n onChange,\n ...props\n },\n ref,\n ) => {\n const internalRef = useRef<HTMLTextAreaElement>(null);\n const textareaRef = (ref as React.RefObject<HTMLTextAreaElement>) || internalRef;\n\n const [charCount, setCharCount] = useState(() => {\n const initial = (value ?? defaultValue ?? \"\") as string;\n return initial.length;\n });\n\n // Sync charCount when controlled value changes\n useEffect(() => {\n if (value !== undefined) {\n setCharCount((value as string).length);\n }\n }, [value]);\n\n const adjustHeight = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea || !autoResize) return;\n\n textarea.style.height = \"auto\";\n const lineHeight = parseFloat(getComputedStyle(textarea).lineHeight);\n const minHeight = lineHeight * minRows;\n const maxHeight = maxRows ? lineHeight * maxRows : Infinity;\n const scrollHeight = textarea.scrollHeight;\n\n textarea.style.height = `${Math.min(Math.max(scrollHeight, minHeight), maxHeight)}px`;\n textarea.style.overflowY = scrollHeight > maxHeight ? \"auto\" : \"hidden\";\n }, [autoResize, minRows, maxRows, textareaRef]);\n\n useEffect(() => {\n adjustHeight();\n }, [value, adjustHeight]);\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement>) => {\n setCharCount(e.target.value.length);\n adjustHeight();\n onChange?.(e);\n },\n [onChange, adjustHeight],\n );\n\n const isOverWarning =\n warningThreshold !== undefined && maxLength !== undefined && charCount >= warningThreshold;\n const isAtLimit = maxLength !== undefined && charCount >= maxLength;\n\n const countStatus: ValidationStatus | undefined = isAtLimit\n ? \"error\"\n : isOverWarning\n ? \"warning\"\n : undefined;\n\n const effectiveValidation = validationStatus ?? countStatus;\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.textarea }}\n className={clsx(\n textareaVariants({ variant }),\n effectiveValidation && validationClasses[effectiveValidation],\n disabled && styles.disabled,\n fullWidth && styles.fullWidth,\n className,\n )}>\n <textarea\n ref={textareaRef}\n {...{ [FINRA_UI_ATTR]: componentIds.textareaField }}\n className={styles.field}\n rows={minRows}\n maxLength={maxLength}\n disabled={disabled}\n readOnly={readOnly}\n value={value}\n defaultValue={defaultValue}\n onChange={handleChange}\n {...props}\n />\n {showCharCount && maxLength !== undefined ? (\n <span\n {...{ [FINRA_UI_ATTR]: componentIds.textareaCount }}\n className={clsx(\n styles.charCount,\n countStatus === \"warning\" && styles.charCountWarning,\n countStatus === \"error\" && styles.charCountError,\n )}>\n {charCount}/{maxLength}\n </span>\n ) : null}\n </div>\n );\n },\n);\n\nTextarea.displayName = \"Textarea\";\n","import {\n forwardRef,\n useState,\n useCallback,\n useRef,\n useEffect,\n type KeyboardEvent,\n type ChangeEvent,\n type InputHTMLAttributes,\n} from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { MinusIcon, PlusIcon } from \"../../assets/icons\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport type { ValidationStatus } from \"../Input/Input\";\nimport styles from \"./NumberInput.module.scss\";\n\nconst numberInputVariants = cva(styles.wrapper, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nconst validationClasses: Record<ValidationStatus, string> = {\n error: styles.statusError,\n warning: styles.statusWarning,\n success: styles.statusSuccess,\n};\n\nexport interface NumberInputProps\n extends\n Omit<\n InputHTMLAttributes<HTMLInputElement>,\n \"type\" | \"size\" | \"onChange\" | \"value\" | \"defaultValue\" | \"min\" | \"max\" | \"step\"\n >,\n VariantProps<typeof numberInputVariants> {\n validationStatus?: ValidationStatus;\n value?: number | \"\";\n defaultValue?: number;\n min?: number;\n max?: number;\n step?: number;\n precision?: number;\n onChange?: (value: number | undefined) => void;\n fullWidth?: boolean;\n}\n\nfunction clampValue(val: number, min?: number, max?: number): number {\n let result = val;\n if (min !== undefined) result = Math.max(result, min);\n if (max !== undefined) result = Math.min(result, max);\n return result;\n}\n\nfunction formatValue(val: number, precision?: number): string {\n if (precision !== undefined) return val.toFixed(precision);\n return String(val);\n}\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n variant,\n validationStatus,\n value: controlledValue,\n defaultValue,\n min,\n max,\n step = 1,\n precision,\n onChange,\n fullWidth,\n disabled,\n readOnly,\n ...props\n },\n ref,\n ) => {\n const internalRef = useRef<HTMLInputElement>(null);\n const inputRef = (ref as React.RefObject<HTMLInputElement>) || internalRef;\n\n const isControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<string>(() =>\n defaultValue !== undefined ? formatValue(defaultValue, precision) : \"\",\n );\n\n const displayValue = isControlled\n ? controlledValue === \"\"\n ? \"\"\n : formatValue(controlledValue as number, precision)\n : internalValue;\n\n // Sync display when controlled value changes\n useEffect(() => {\n if (isControlled && controlledValue !== \"\") {\n setInternalValue(formatValue(controlledValue as number, precision));\n }\n }, [controlledValue, precision, isControlled]);\n\n const commitValue = useCallback(\n (raw: number) => {\n const clamped = clampValue(raw, min, max);\n const display = formatValue(clamped, precision);\n if (!isControlled) setInternalValue(display);\n onChange?.(clamped);\n },\n [min, max, precision, isControlled, onChange],\n );\n\n const stepValue = useCallback(\n (direction: 1 | -1) => {\n const current = parseFloat(displayValue as string) || 0;\n commitValue(current + step * direction);\n },\n [displayValue, step, commitValue],\n );\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value;\n // Allow empty, minus sign, or valid partial numbers while typing\n if (raw === \"\" || raw === \"-\" || raw === \".\") {\n if (!isControlled) setInternalValue(raw);\n if (raw === \"\") onChange?.(undefined);\n return;\n }\n const num = parseFloat(raw);\n if (!isNaN(num)) {\n if (!isControlled) setInternalValue(raw);\n onChange?.(num);\n }\n },\n [isControlled, onChange],\n );\n\n const handleBlur = useCallback(() => {\n const num = parseFloat(displayValue as string);\n if (isNaN(num)) {\n if (!isControlled) setInternalValue(\"\");\n onChange?.(undefined);\n } else {\n commitValue(num);\n }\n }, [displayValue, isControlled, onChange, commitValue]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n stepValue(1);\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n stepValue(-1);\n }\n },\n [stepValue],\n );\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.numberInput }}\n className={clsx(\n numberInputVariants({ variant }),\n validationStatus && validationClasses[validationStatus],\n disabled && styles.disabled,\n fullWidth && styles.fullWidth,\n className,\n )}>\n <button\n type=\"button\"\n {...{ [FINRA_UI_ATTR]: componentIds.numberInputDecrement }}\n className={styles.stepButton}\n onClick={() => stepValue(-1)}\n disabled={\n disabled ||\n readOnly ||\n (min !== undefined && (parseFloat(displayValue as string) || 0) <= min)\n }\n aria-label=\"Decrement\"\n tabIndex={-1}>\n <MinusIcon />\n </button>\n <input\n ref={inputRef}\n {...{ [FINRA_UI_ATTR]: componentIds.numberInputField }}\n className={styles.field}\n inputMode=\"decimal\"\n value={displayValue}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n role=\"spinbutton\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={\n typeof displayValue === \"string\" ? parseFloat(displayValue) || undefined : displayValue\n }\n {...props}\n />\n <button\n type=\"button\"\n {...{ [FINRA_UI_ATTR]: componentIds.numberInputIncrement }}\n className={styles.stepButton}\n onClick={() => stepValue(1)}\n disabled={\n disabled ||\n readOnly ||\n (max !== undefined && (parseFloat(displayValue as string) || 0) >= max)\n }\n aria-label=\"Increment\"\n tabIndex={-1}>\n <PlusIcon />\n </button>\n </div>\n );\n },\n);\n\nNumberInput.displayName = \"NumberInput\";\n","import {\n forwardRef,\n useId,\n Children,\n isValidElement,\n cloneElement,\n type ReactNode,\n type HTMLAttributes,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport type { ValidationStatus } from \"../Input/Input\";\nimport styles from \"./FormField.module.scss\";\n\nexport interface FormFieldProps extends HTMLAttributes<HTMLDivElement> {\n label: string;\n helperText?: string;\n errorMessage?: string;\n validationStatus?: ValidationStatus;\n required?: boolean;\n fullWidth?: boolean;\n disabled?: boolean;\n /** Explicit id for the input element. Auto-generated if omitted. */\n htmlFor?: string;\n children: ReactNode;\n className?: string;\n}\n\nexport const FormField = forwardRef<HTMLDivElement, FormFieldProps>(\n (\n {\n className,\n label,\n helperText,\n errorMessage,\n validationStatus,\n required,\n fullWidth,\n disabled,\n htmlFor,\n children,\n ...props\n },\n ref,\n ) => {\n const autoId = useId();\n const fieldId = htmlFor ?? autoId;\n const helperId = `${fieldId}-helper`;\n const errorId = `${fieldId}-error`;\n\n const showError = validationStatus === \"error\" && errorMessage;\n\n // Build aria-describedby from present elements\n const describedBy =\n [showError ? errorId : undefined, helperText ? helperId : undefined]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n // Clone children to inject a11y props\n const enhancedChildren = Children.map(children, (child) => {\n if (!isValidElement(child)) return child;\n return cloneElement(child as React.ReactElement<Record<string, unknown>>, {\n id: fieldId,\n \"aria-describedby\": describedBy,\n \"aria-invalid\": validationStatus === \"error\" ? true : undefined,\n disabled: disabled || undefined,\n });\n });\n\n return (\n <div\n ref={ref}\n {...{ [FINRA_UI_ATTR]: componentIds.formField }}\n className={clsx(\n styles.formField,\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n className,\n )}\n {...props}>\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.formFieldLabel }}\n htmlFor={fieldId}\n className={clsx(styles.label, required && styles.required)}>\n {label}\n </label>\n\n {enhancedChildren}\n\n {showError ? (\n <p\n {...{ [FINRA_UI_ATTR]: componentIds.formFieldError }}\n id={errorId}\n className={styles.errorMessage}\n role=\"alert\">\n {errorMessage}\n </p>\n ) : null}\n\n {helperText ? (\n <p\n {...{ [FINRA_UI_ATTR]: componentIds.formFieldHelper }}\n id={helperId}\n className={styles.helperText}>\n {helperText}\n </p>\n ) : null}\n </div>\n );\n },\n);\n\nFormField.displayName = \"FormField\";\n","import { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { CheckboxBase, type CheckboxBaseProps } from \"../../unstyled/Checkbox/Checkbox\";\nimport { mergeRefs } from \"../../utils/mergeRefs\";\nimport { CheckIcon, DashIcon } from \"../../assets/icons\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Checkbox.module.scss\";\n\nexport interface CheckboxProps extends Omit<CheckboxBaseProps, \"className\"> {\n label?: string;\n className?: string;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, label, indeterminate, disabled, ...props }, forwardedRef) => {\n const internalRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (internalRef.current) {\n internalRef.current.indeterminate = indeterminate ?? false;\n }\n }, [indeterminate]);\n\n return (\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.checkbox }}\n className={clsx(styles.checkbox, disabled && styles.disabled, className)}>\n <CheckboxBase\n ref={mergeRefs(forwardedRef, internalRef)}\n className={styles.input}\n disabled={disabled}\n data-indeterminate={indeterminate || undefined}\n {...props}\n />\n <span className={styles.indicator} aria-hidden=\"true\">\n {indeterminate ? <DashIcon /> : <CheckIcon />}\n </span>\n {label ? <span className={styles.label}>{label}</span> : null}\n </label>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { SwitchBase, type SwitchBaseProps } from \"../../unstyled/Switch/Switch\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Switch.module.scss\";\n\nexport interface SwitchProps extends Omit<SwitchBaseProps, \"className\"> {\n label?: string;\n className?: string;\n}\n\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n ({ className, label, disabled, ...props }, ref) => {\n return (\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.switch }}\n className={clsx(styles.switch, disabled && styles.disabled, className)}>\n <SwitchBase ref={ref} className={styles.input} disabled={disabled} {...props} />\n <span className={styles.track} aria-hidden=\"true\">\n <span className={styles.thumb} />\n </span>\n {label ? <span className={styles.label}>{label}</span> : null}\n </label>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { RadioButtonBase, type RadioButtonBaseProps } from \"../../unstyled/RadioButton/RadioButton\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./RadioButton.module.scss\";\n\nexport interface RadioButtonProps extends Omit<RadioButtonBaseProps, \"className\"> {\n label?: string;\n className?: string;\n}\n\nexport const RadioButton = forwardRef<HTMLInputElement, RadioButtonProps>(\n ({ className, label, disabled, ...props }, ref) => {\n return (\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.radioButton }}\n className={clsx(styles.radio, disabled && styles.disabled, className)}>\n <RadioButtonBase ref={ref} className={styles.input} disabled={disabled} {...props} />\n <span className={styles.indicator} aria-hidden=\"true\">\n <span className={styles.dot} />\n </span>\n {label ? <span className={styles.label}>{label}</span> : null}\n </label>\n );\n },\n);\n\nRadioButton.displayName = \"RadioButton\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"clsx\";\nimport { SliderBase, type SliderBaseProps } from \"../../unstyled/Slider/Slider\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Slider.module.scss\";\n\nexport interface SliderProps extends Omit<SliderBaseProps, \"className\"> {\n label?: string;\n showValue?: boolean;\n className?: string;\n}\n\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(\n ({ className, label, showValue, disabled, value, defaultValue, ...props }, ref) => {\n const displayValue = value ?? defaultValue ?? \"\";\n\n return (\n <label\n {...{ [FINRA_UI_ATTR]: componentIds.slider }}\n className={clsx(styles.slider, disabled && styles.disabled, className)}>\n {label || showValue ? (\n <span className={styles.header}>\n {label ? <span className={styles.label}>{label}</span> : null}\n {showValue ? <span className={styles.value}>{displayValue}</span> : null}\n </span>\n ) : null}\n <SliderBase\n ref={ref}\n className={styles.input}\n disabled={disabled}\n value={value}\n defaultValue={defaultValue}\n {...props}\n />\n </label>\n );\n },\n);\n\nSlider.displayName = \"Slider\";\n","import {\n forwardRef,\n useState,\n useRef,\n useCallback,\n type KeyboardEvent,\n type HTMLAttributes,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { mergeRefs } from \"../../utils/mergeRefs\";\nimport { CloseSmallIcon } from \"../../assets/icons\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./PillInput.module.scss\";\n\nexport interface PillInputProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n /** Current list of pills (controlled). */\n values?: string[];\n /** Called when the pill list changes. */\n onChange?: (values: string[]) => void;\n /** Placeholder shown when no pills and input is empty. */\n placeholder?: string;\n /** Disable the entire component. */\n disabled?: boolean;\n /** Maximum number of pills allowed. */\n maxPills?: number;\n /** Characters that trigger pill creation (default: Enter). */\n delimiters?: string[];\n}\n\nexport const PillInput = forwardRef<HTMLInputElement, PillInputProps>(\n (\n {\n className,\n values: controlledValues,\n onChange,\n placeholder,\n disabled,\n maxPills,\n delimiters = [],\n ...props\n },\n forwardedRef,\n ) => {\n const [internalValues, setInternalValues] = useState<string[]>([]);\n const [inputValue, setInputValue] = useState(\"\");\n const internalRef = useRef<HTMLInputElement>(null);\n\n const values = controlledValues ?? internalValues;\n\n const updateValues = useCallback(\n (next: string[]) => {\n if (!controlledValues) {\n setInternalValues(next);\n }\n onChange?.(next);\n },\n [controlledValues, onChange],\n );\n\n const addPill = useCallback(\n (text: string) => {\n const trimmed = text.trim();\n if (!trimmed) return;\n if (values.includes(trimmed)) return;\n if (maxPills != null && values.length >= maxPills) return;\n updateValues([...values, trimmed]);\n setInputValue(\"\");\n },\n [values, maxPills, updateValues],\n );\n\n const removePill = useCallback(\n (index: number) => {\n updateValues(values.filter((_, i) => i !== index));\n internalRef.current?.focus();\n },\n [values, updateValues],\n );\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n addPill(inputValue);\n return;\n }\n if (e.key === \"Backspace\" && inputValue === \"\" && values.length > 0) {\n removePill(values.length - 1);\n return;\n }\n if (delimiters.includes(e.key)) {\n e.preventDefault();\n addPill(inputValue);\n }\n },\n [inputValue, values, delimiters, addPill, removePill],\n );\n\n const handleContainerClick = useCallback(() => {\n if (!disabled) {\n internalRef.current?.focus();\n }\n }, [disabled]);\n\n const handleContainerKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\n internalRef.current?.focus();\n }\n },\n [disabled],\n );\n\n return (\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.pillInput }}\n role=\"toolbar\"\n className={clsx(styles.pillInput, disabled && styles.disabled, className)}\n onClick={handleContainerClick}\n onKeyDown={handleContainerKeyDown}\n {...props}>\n {values.map((pill) => (\n <span key={pill} className={styles.pill}>\n <span className={styles.pillText}>{pill}</span>\n {!disabled ? (\n <button\n type=\"button\"\n className={styles.pillRemove}\n onClick={(e) => {\n e.stopPropagation();\n removePill(values.indexOf(pill));\n }}\n aria-label={`Remove ${pill}`}\n tabIndex={-1}>\n <CloseSmallIcon />\n </button>\n ) : null}\n </span>\n ))}\n <input\n ref={mergeRefs(forwardedRef, internalRef)}\n className={styles.input}\n type=\"text\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={values.length === 0 ? placeholder : undefined}\n disabled={disabled}\n aria-label={props[\"aria-label\"]}\n aria-labelledby={props[\"aria-labelledby\"]}\n />\n </div>\n );\n },\n);\n\nPillInput.displayName = \"PillInput\";\n","import {\n forwardRef,\n useState,\n useRef,\n useCallback,\n type DragEvent,\n type ChangeEvent,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { mergeRefs } from \"../../utils/mergeRefs\";\nimport { UploadIcon } from \"../../assets/icons\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./FileDropZone.module.scss\";\n\nexport interface FileDropZoneProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n /** Called with selected files. */\n onChange?: (files: File[]) => void;\n /** Accepted file types (e.g. \".pdf,.csv\" or \"image/*\"). */\n accept?: string;\n /** Allow multiple file selection. */\n multiple?: boolean;\n /** Disable the component. */\n disabled?: boolean;\n /** Custom content inside the drop zone. */\n children?: ReactNode;\n}\n\nexport const FileDropZone = forwardRef<HTMLInputElement, FileDropZoneProps>(\n ({ className, onChange, accept, multiple, disabled, children, ...props }, forwardedRef) => {\n const [isDragOver, setIsDragOver] = useState(false);\n const internalRef = useRef<HTMLInputElement>(null);\n\n const handleFiles = useCallback(\n (fileList: FileList | null) => {\n if (!fileList || fileList.length === 0) return;\n onChange?.(Array.from(fileList));\n },\n [onChange],\n );\n\n const handleDragOver = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (!disabled) {\n setIsDragOver(true);\n }\n },\n [disabled],\n );\n\n const handleDragLeave = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n setIsDragOver(false);\n }, []);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n setIsDragOver(false);\n if (!disabled) {\n handleFiles(e.dataTransfer.files);\n }\n },\n [disabled, handleFiles],\n );\n\n const handleInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n handleFiles(e.target.files);\n // Reset so the same file can be selected again\n e.target.value = \"\";\n },\n [handleFiles],\n );\n\n const handleClick = useCallback(() => {\n if (!disabled) {\n internalRef.current?.click();\n }\n }, [disabled]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault();\n internalRef.current?.click();\n }\n },\n [disabled],\n );\n\n return (\n <>\n <input\n ref={mergeRefs(forwardedRef, internalRef)}\n type=\"file\"\n className={styles.input}\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n onChange={handleInputChange}\n tabIndex={-1}\n aria-hidden=\"true\"\n />\n <div\n {...{ [FINRA_UI_ATTR]: componentIds.fileDropZone }}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled || undefined}\n className={clsx(\n styles.dropZone,\n isDragOver && styles.dragOver,\n disabled && styles.disabled,\n className,\n )}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n {...props}>\n {children ?? (\n <div className={styles.content}>\n <UploadIcon className={styles.icon} aria-hidden=\"true\" />\n <span className={styles.text}>Drop files here or click to browse</span>\n </div>\n )}\n </div>\n </>\n );\n },\n);\n\nFileDropZone.displayName = \"FileDropZone\";\n","import {\n useMemo,\n forwardRef,\n type HTMLAttributes,\n type ReactNode,\n type ForwardedRef,\n type Ref,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { CheckIcon, ChevronDownIcon, CloseSmallIcon, SpinnerIcon } from \"../../assets/icons\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport type { ValidationStatus } from \"../Input/Input\";\nimport {\n ComboBoxBase,\n type ComboBoxClassNames,\n type ComboBoxOption,\n type ComboBoxRenderOptionState,\n} from \"../../unstyled/ComboBox/ComboBox\";\nimport styles from \"./ComboBox.module.scss\";\n\n// ─── Re-export types from unstyled ───\nexport type {\n ComboBoxOption,\n ComboBoxRenderOptionState,\n ComboBoxGroup,\n} from \"../../unstyled/ComboBox/ComboBox\";\n\n// ─── Variants ───\n\nconst wrapperVariants = cva(styles.wrapper, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nconst validationClasses: Record<string, string> = {\n error: styles.statusError,\n warning: styles.statusWarning,\n success: styles.statusSuccess,\n};\n\n// ─── Props ───\n\nexport interface ComboBoxProps<T = string>\n extends\n Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"defaultValue\">,\n VariantProps<typeof wrapperVariants> {\n options: ComboBoxOption<T>[];\n value?: T | T[] | null;\n onChange?: (value: T | T[] | null) => void;\n multiple?: boolean;\n\n inputValue?: string;\n onInputChange?: (value: string) => void;\n filterFn?: (option: ComboBoxOption<T>, inputValue: string) => boolean;\n\n loading?: boolean;\n onLoadOptions?: (inputValue: string) => void;\n\n creatable?: boolean;\n onCreateOption?: (inputValue: string) => void;\n formatCreateLabel?: (inputValue: string) => string;\n\n header?: ReactNode;\n footer?: ReactNode;\n\n placeholder?: string;\n disabled?: boolean;\n validationStatus?: ValidationStatus;\n fullWidth?: boolean;\n noOptionsMessage?: string | ReactNode;\n\n renderOption?: (option: ComboBoxOption<T>, state: ComboBoxRenderOptionState) => ReactNode;\n renderValue?: (option: ComboBoxOption<T>) => ReactNode;\n\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\n// ─── Module-level stable render callbacks ───\n\nfunction styledRenderCheckIcon(): ReactNode {\n return <CheckIcon className={styles.checkIcon} aria-hidden=\"true\" />;\n}\n\nfunction styledRenderIndicator(isCurrentOpen: boolean): ReactNode {\n return (\n <span\n className={clsx(styles.indicator, isCurrentOpen && styles.indicatorOpen)}\n aria-hidden=\"true\">\n <ChevronDownIcon />\n </span>\n );\n}\n\nfunction styledRenderPillRemoveIcon(): ReactNode {\n return <CloseSmallIcon />;\n}\n\nfunction styledRenderLoading(): ReactNode {\n return (\n <>\n <SpinnerIcon className={styles.spinner} aria-hidden=\"true\" />\n Loading...\n </>\n );\n}\n\n// ─── Static data attribute for the root element ───\n\nconst comboBoxDataAttributes = { [FINRA_UI_ATTR]: componentIds.comboBox } as const;\n\n// ─── Component ───\n\nfunction ComboBoxRender<T = string>(\n {\n className,\n variant,\n validationStatus,\n fullWidth,\n disabled = false,\n open,\n ...props\n }: ComboBoxProps<T>,\n forwardedRef: ForwardedRef<HTMLInputElement>,\n): React.ReactElement {\n // Build the classNames object that maps unstyled slots to SCSS module classes.\n // The wrapper class is dynamic (depends on variant, validation, disabled, open),\n // so we compute it inside a useMemo keyed on those values.\n const classNames = useMemo<ComboBoxClassNames>(\n () => ({\n root: clsx(styles.comboBox, fullWidth && styles.fullWidth, className),\n wrapper: clsx(\n wrapperVariants({ variant }),\n disabled && styles.disabled,\n validationStatus && validationClasses[validationStatus],\n open && styles.open,\n ),\n multiValueContainer: styles.multiValueContainer,\n pill: styles.pill,\n pillText: styles.pillText,\n pillRemove: styles.pillRemove,\n singleValue: styles.singleValue,\n input: styles.input,\n inputHidden: styles.inputHidden,\n indicator: styles.indicator,\n indicatorOpen: styles.indicatorOpen,\n listbox: styles.listbox,\n header: styles.header,\n footer: styles.footer,\n options: styles.options,\n option: styles.option,\n optionHighlighted: styles.optionHighlighted,\n optionSelected: styles.optionSelected,\n optionDisabled: styles.optionDisabled,\n optionCreate: styles.optionCreate,\n optionLabel: styles.optionLabel,\n checkIcon: styles.checkIcon,\n group: styles.group,\n groupLabel: styles.groupLabel,\n loading: styles.loading,\n spinner: styles.spinner,\n empty: styles.empty,\n }),\n [className, variant, validationStatus, fullWidth, disabled, open],\n );\n\n return (\n <ComboBoxBase<T>\n ref={forwardedRef}\n disabled={disabled}\n open={open}\n classNames={classNames}\n dataAttributes={comboBoxDataAttributes}\n renderCheckIcon={styledRenderCheckIcon}\n renderIndicator={styledRenderIndicator}\n renderPillRemoveIcon={styledRenderPillRemoveIcon}\n renderLoading={styledRenderLoading}\n {...props}\n />\n );\n}\n\nexport const ComboBox = forwardRef(ComboBoxRender) as <T = string>(\n props: ComboBoxProps<T> & { ref?: Ref<HTMLInputElement> },\n) => React.ReactElement | null;\n\n(ComboBox as { displayName?: string }).displayName = \"ComboBox\";\n","import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Badge.module.scss\";\n\nexport type BadgeSentiment = \"danger\" | \"success\" | \"warning\" | \"info\";\n\nconst sentimentClasses: Record<BadgeSentiment, string> = {\n danger: styles.sentimentDanger,\n success: styles.sentimentSuccess,\n warning: styles.sentimentWarning,\n info: styles.sentimentInfo,\n};\n\nconst badgeVariants = cva(styles.badge, {\n variants: {\n variant: {\n primary: styles.variantPrimary,\n secondary: styles.variantSecondary,\n tertiary: styles.variantTertiary,\n },\n },\n defaultVariants: {\n variant: \"primary\",\n },\n});\n\nexport interface BadgeProps\n extends HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {\n sentiment?: BadgeSentiment;\n children: ReactNode;\n}\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, sentiment, children, ...props }, ref) => {\n return (\n <span\n ref={ref}\n {...{ [FINRA_UI_ATTR]: componentIds.badge }}\n className={clsx(\n badgeVariants({ variant }),\n sentiment && sentimentClasses[sentiment],\n className,\n )}\n {...props}>\n {children}\n </span>\n );\n },\n);\n\nBadge.displayName = \"Badge\";\n","import { forwardRef, type HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport { FINRA_UI_ATTR, componentIds } from \"../componentIds\";\nimport styles from \"./Divider.module.scss\";\n\nexport interface DividerProps extends HTMLAttributes<HTMLHRElement> {\n orientation?: \"horizontal\" | \"vertical\";\n decorative?: boolean;\n className?: string;\n}\n\nexport const Divider = forwardRef<HTMLHRElement, DividerProps>(\n ({ className, orientation = \"horizontal\", decorative = false, ...props }, ref) => {\n return (\n <hr\n ref={ref}\n {...{ [FINRA_UI_ATTR]: componentIds.divider }}\n className={clsx(\n styles.divider,\n orientation === \"vertical\" ? styles.vertical : styles.horizontal,\n className,\n )}\n {...(decorative\n ? { \"aria-hidden\": true }\n : { role: \"separator\", \"aria-orientation\": orientation })}\n {...props}\n />\n );\n },\n);\n\nDivider.displayName = \"Divider\";\n"],"names":["FINRA_UI_ATTR","componentIds","r","e","t","f","n","o","clsx","falsyToString","value","cx","cva","base","config","props","_config_compoundVariants","variants","defaultVariants","getVariantClassNames","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","acc","param","key","getCompoundVariantClassNames","cvClass","cvClassName","compoundVariantOptions","sentimentClasses","styles","buttonVariants","Button","forwardRef","className","fullWidth","sentiment","startIcon","endIcon","children","ref","jsxs","ButtonBase","jsx","iconButtonVariants","IconButton","IconButtonBase","ButtonGroup","orientation","CheckIcon","DashIcon","CloseSmallIcon","CloseIcon","ChevronDownIcon","UploadIcon","SpinnerIcon","MinusIcon","PlusIcon","inputVariants","validationClasses","Input","validationStatus","startAdornment","endAdornment","clearable","onClear","disabled","readOnly","defaultValue","onChange","internalRef","useRef","inputRef","handleClear","useCallback","showClear","textareaVariants","Textarea","showCharCount","warningThreshold","autoResize","minRows","maxRows","maxLength","textareaRef","charCount","setCharCount","useState","useEffect","adjustHeight","textarea","lineHeight","minHeight","maxHeight","scrollHeight","handleChange","isOverWarning","countStatus","effectiveValidation","numberInputVariants","clampValue","val","min","max","result","formatValue","precision","NumberInput","controlledValue","step","isControlled","internalValue","setInternalValue","displayValue","commitValue","raw","clamped","display","stepValue","direction","current","num","handleBlur","handleKeyDown","FormField","label","helperText","errorMessage","required","htmlFor","autoId","useId","fieldId","helperId","errorId","showError","describedBy","enhancedChildren","Children","child","isValidElement","cloneElement","Checkbox","indeterminate","forwardedRef","CheckboxBase","mergeRefs","Switch","SwitchBase","RadioButton","RadioButtonBase","Slider","showValue","SliderBase","PillInput","controlledValues","placeholder","maxPills","delimiters","internalValues","setInternalValues","inputValue","setInputValue","values","updateValues","next","addPill","text","trimmed","removePill","index","_","i","handleContainerClick","handleContainerKeyDown","pill","FileDropZone","accept","multiple","isDragOver","setIsDragOver","handleFiles","fileList","handleDragOver","handleDragLeave","handleDrop","handleInputChange","handleClick","Fragment","wrapperVariants","styledRenderCheckIcon","styledRenderIndicator","isCurrentOpen","styledRenderPillRemoveIcon","styledRenderLoading","comboBoxDataAttributes","ComboBoxRender","open","classNames","useMemo","ComboBoxBase","ComboBox","badgeVariants","Badge","Divider","decorative"],"mappings":"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","x_google_ignoreList":[1,2]}
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._button_nw9o1_1{--_btn-accent: var(--color-primary-600);--_btn-accent-hover: var(--color-primary-700);--_btn-accent-active: var(--color-primary-800);--_btn-accent-subtle: var(--color-primary-50);display:inline-flex;align-items:center;justify-content:center;gap:var(--density-spacing);font-family:var(--font-sans);font-weight:var(--font-medium);font-size:var(--button-font-size);line-height:var(--leading-tight);border-radius:var(--radius-md);transition:all var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._button_nw9o1_1{transition:none}}._button_nw9o1_1{cursor:var(--cursor-pointer);border:var(--border-width-thin) solid var(--color-transparent);outline:none;text-decoration:none;position:relative;white-space:nowrap;height:var(--size-base);padding:0 var(--button-padding-x)}._button_nw9o1_1:disabled{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._button_nw9o1_1:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._button_nw9o1_1._variantPrimary_nw9o1_40{background-color:var(--_btn-accent);color:var(--color-white);border-color:var(--_btn-accent)}._button_nw9o1_1._variantPrimary_nw9o1_40:hover:not(:disabled){background-color:var(--_btn-accent-hover);border-color:var(--_btn-accent-hover)}._button_nw9o1_1._variantPrimary_nw9o1_40:active:not(:disabled){background-color:var(--_btn-accent-active);border-color:var(--_btn-accent-active)}._button_nw9o1_1._variantSecondary_nw9o1_53{background-color:var(--color-transparent);color:var(--_btn-accent);border-color:var(--_btn-accent)}._button_nw9o1_1._variantSecondary_nw9o1_53:hover:not(:disabled){background-color:var(--_btn-accent-subtle)}._button_nw9o1_1._variantSecondary_nw9o1_53:active:not(:disabled){background-color:var(--_btn-accent-subtle);border-color:var(--_btn-accent-hover);color:var(--_btn-accent-hover)}._button_nw9o1_1._variantTertiary_nw9o1_66{background-color:var(--color-transparent);color:var(--_btn-accent);border-color:var(--color-transparent)}._button_nw9o1_1._variantTertiary_nw9o1_66:hover:not(:disabled){background-color:var(--_btn-accent-subtle)}._button_nw9o1_1._variantTertiary_nw9o1_66:active:not(:disabled){background-color:var(--_btn-accent-subtle);color:var(--_btn-accent-hover)}._button_nw9o1_1._sentimentDanger_nw9o1_78{--_btn-accent: var(--color-error);--_btn-accent-hover: var(--color-error-hover);--_btn-accent-active: var(--color-error-active);--_btn-accent-subtle: var(--color-error-subtle)}._button_nw9o1_1._sentimentSuccess_nw9o1_84{--_btn-accent: var(--color-success);--_btn-accent-hover: var(--color-success-hover);--_btn-accent-active: var(--color-success-active);--_btn-accent-subtle: var(--color-success-subtle)}._button_nw9o1_1._sentimentWarning_nw9o1_90{--_btn-accent: var(--color-warning);--_btn-accent-hover: var(--color-warning-hover);--_btn-accent-active: var(--color-warning-active);--_btn-accent-subtle: var(--color-warning-subtle)}._button_nw9o1_1._sentimentInfo_nw9o1_96{--_btn-accent: var(--color-info);--_btn-accent-hover: var(--color-info-hover);--_btn-accent-active: var(--color-info-active);--_btn-accent-subtle: var(--color-info-subtle)}._button_nw9o1_1._fullWidth_nw9o1_102{width:100%}._icon_nw9o1_106{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--icon-size);block-size:var(--icon-size);flex-shrink:0}._icon_nw9o1_106>svg{inline-size:100%;block-size:100%}._iconButton_wgr1d_1{--_btn-accent: var(--color-primary-600);--_btn-accent-hover: var(--color-primary-700);--_btn-accent-active: var(--color-primary-800);--_btn-accent-subtle: var(--color-primary-50);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);border-radius:var(--radius-md);transition:all var(--transition-fast) ease-in-out;cursor:var(--cursor-pointer);border:var(--border-width-thin) solid var(--color-transparent);outline:none;padding:0;inline-size:var(--size-base);block-size:var(--size-base);flex-shrink:0}@media(prefers-reduced-motion:reduce){._iconButton_wgr1d_1{transition:none}}._iconButton_wgr1d_1>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._iconButton_wgr1d_1:disabled{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._iconButton_wgr1d_1:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._iconButton_wgr1d_1._variantPrimary_wgr1d_37{background-color:var(--_btn-accent);color:var(--color-white);border-color:var(--_btn-accent)}._iconButton_wgr1d_1._variantPrimary_wgr1d_37:hover:not(:disabled){background-color:var(--_btn-accent-hover);border-color:var(--_btn-accent-hover)}._iconButton_wgr1d_1._variantPrimary_wgr1d_37:active:not(:disabled){background-color:var(--_btn-accent-active);border-color:var(--_btn-accent-active)}._iconButton_wgr1d_1._variantSecondary_wgr1d_50{background-color:var(--color-transparent);color:var(--_btn-accent);border-color:var(--_btn-accent)}._iconButton_wgr1d_1._variantSecondary_wgr1d_50:hover:not(:disabled){background-color:var(--_btn-accent-subtle)}._iconButton_wgr1d_1._variantSecondary_wgr1d_50:active:not(:disabled){background-color:var(--_btn-accent-subtle);border-color:var(--_btn-accent-hover);color:var(--_btn-accent-hover)}._iconButton_wgr1d_1._variantTertiary_wgr1d_63{background-color:var(--color-transparent);color:var(--_btn-accent);border-color:var(--color-transparent)}._iconButton_wgr1d_1._variantTertiary_wgr1d_63:hover:not(:disabled){background-color:var(--_btn-accent-subtle)}._iconButton_wgr1d_1._variantTertiary_wgr1d_63:active:not(:disabled){background-color:var(--_btn-accent-subtle);color:var(--_btn-accent-hover)}._iconButton_wgr1d_1._sentimentDanger_wgr1d_75{--_btn-accent: var(--color-error);--_btn-accent-hover: var(--color-error-hover);--_btn-accent-active: var(--color-error-active);--_btn-accent-subtle: var(--color-error-subtle)}._iconButton_wgr1d_1._sentimentSuccess_wgr1d_81{--_btn-accent: var(--color-success);--_btn-accent-hover: var(--color-success-hover);--_btn-accent-active: var(--color-success-active);--_btn-accent-subtle: var(--color-success-subtle)}._iconButton_wgr1d_1._sentimentWarning_wgr1d_87{--_btn-accent: var(--color-warning);--_btn-accent-hover: var(--color-warning-hover);--_btn-accent-active: var(--color-warning-active);--_btn-accent-subtle: var(--color-warning-subtle)}._iconButton_wgr1d_1._sentimentInfo_wgr1d_93{--_btn-accent: var(--color-info);--_btn-accent-hover: var(--color-info-hover);--_btn-accent-active: var(--color-info-active);--_btn-accent-subtle: var(--color-info-subtle)}._buttonGroup_vy66t_1{display:inline-flex;flex-direction:row}._buttonGroup_vy66t_1>*{border-radius:0}._buttonGroup_vy66t_1>*:not(:first-child){margin-inline-start:calc(var(--border-width-thin) * -1)}._buttonGroup_vy66t_1>*:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}._buttonGroup_vy66t_1>*:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}._buttonGroup_vy66t_1>*:hover,._buttonGroup_vy66t_1>*:focus-visible{z-index:1}._buttonGroup_vy66t_1._vertical_vy66t_22{flex-direction:column}._buttonGroup_vy66t_1._vertical_vy66t_22>*:not(:first-child){margin-inline-start:0;margin-block-start:calc(var(--border-width-thin) * -1)}._buttonGroup_vy66t_1._vertical_vy66t_22>*:first-child{border-radius:0;border-start-start-radius:var(--radius-md);border-start-end-radius:var(--radius-md)}._buttonGroup_vy66t_1._vertical_vy66t_22>*:last-child{border-radius:0;border-end-start-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}._wrapper_qx7i5_1{--_input-border-color: var(--color-border);display:inline-flex;align-items:center;gap:var(--density-spacing);block-size:var(--size-base);padding-inline:var(--input-padding-x);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--_input-border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast) ease-in-out;cursor:var(--cursor-text)}@media(prefers-reduced-motion:reduce){._wrapper_qx7i5_1{transition:none}}._wrapper_qx7i5_1:focus-within{--_input-border-color: var(--color-primary-500)}._wrapper_qx7i5_1._disabled_qx7i5_25{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._wrapper_qx7i5_1._fullWidth_qx7i5_30{inline-size:100%}._wrapper_qx7i5_1._variantPrimary_qx7i5_33{border-width:var(--border-width-thin)}._wrapper_qx7i5_1._variantSecondary_qx7i5_36{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._wrapper_qx7i5_1._variantTertiary_qx7i5_40{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._wrapper_qx7i5_1._variantTertiary_qx7i5_40:focus-within{border-block-end-color:var(--color-primary-500);box-shadow:none}._wrapper_qx7i5_1._statusError_qx7i5_49{--_input-border-color: var(--color-error)}._wrapper_qx7i5_1._statusWarning_qx7i5_52{--_input-border-color: var(--color-warning)}._wrapper_qx7i5_1._statusSuccess_qx7i5_55{--_input-border-color: var(--color-success)}._field_qx7i5_59{flex:1;min-inline-size:0;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:0}._field_qx7i5_59::placeholder{color:var(--color-neutral-400)}._field_qx7i5_59:disabled{cursor:var(--cursor-disabled)}._adornment_qx7i5_76{display:inline-flex;align-items:center;justify-content:center;color:var(--color-neutral-500);flex-shrink:0}._adornment_qx7i5_76>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._clearButton_qx7i5_88{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-400);cursor:var(--cursor-pointer);border-radius:var(--radius-full);flex-shrink:0}._clearButton_qx7i5_88:hover{color:var(--color-foreground)}._clearButton_qx7i5_88>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._wrapper_16m4i_1{--_input-border-color: var(--color-border);display:inline-flex;flex-direction:column;font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--_input-border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._wrapper_16m4i_1{transition:none}}._wrapper_16m4i_1:focus-within{--_input-border-color: var(--color-primary-500)}._wrapper_16m4i_1._disabled_16m4i_21{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._wrapper_16m4i_1._fullWidth_16m4i_26{inline-size:100%}._wrapper_16m4i_1._variantPrimary_16m4i_29{border-width:var(--border-width-thin)}._wrapper_16m4i_1._variantSecondary_16m4i_32{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._wrapper_16m4i_1._variantTertiary_16m4i_36{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._wrapper_16m4i_1._variantTertiary_16m4i_36:focus-within{border-block-end-color:var(--color-primary-500);box-shadow:none}._wrapper_16m4i_1._statusError_16m4i_45{--_input-border-color: var(--color-error)}._wrapper_16m4i_1._statusWarning_16m4i_48{--_input-border-color: var(--color-warning)}._wrapper_16m4i_1._statusSuccess_16m4i_51{--_input-border-color: var(--color-success)}._field_16m4i_55{flex:1;min-inline-size:0;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:var(--input-padding-x);resize:vertical}._field_16m4i_55::placeholder{color:var(--color-neutral-400)}._field_16m4i_55:disabled{cursor:var(--cursor-disabled);resize:none}._charCount_16m4i_74{display:block;text-align:end;padding-inline:var(--input-padding-x);padding-block-end:var(--density-spacing);font-size:var(--text-xs);color:var(--color-neutral-500);font-variant-numeric:var(--font-tabular-nums)}._charCountWarning_16m4i_84{color:var(--color-warning)}._charCountError_16m4i_88{color:var(--color-error)}._wrapper_1k2cc_1{--_input-border-color: var(--color-border);display:inline-flex;align-items:center;block-size:var(--size-base);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--_input-border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._wrapper_1k2cc_1{transition:none}}._wrapper_1k2cc_1:focus-within{--_input-border-color: var(--color-primary-500)}._wrapper_1k2cc_1._disabled_1k2cc_22{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._wrapper_1k2cc_1._fullWidth_1k2cc_27{inline-size:100%}._wrapper_1k2cc_1._variantPrimary_1k2cc_30{border-width:var(--border-width-thin)}._wrapper_1k2cc_1._variantSecondary_1k2cc_33{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._wrapper_1k2cc_1._variantTertiary_1k2cc_37{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._wrapper_1k2cc_1._variantTertiary_1k2cc_37:focus-within{border-block-end-color:var(--color-primary-500);box-shadow:none}._wrapper_1k2cc_1._statusError_1k2cc_46{--_input-border-color: var(--color-error)}._wrapper_1k2cc_1._statusWarning_1k2cc_49{--_input-border-color: var(--color-warning)}._wrapper_1k2cc_1._statusSuccess_1k2cc_52{--_input-border-color: var(--color-success)}._field_1k2cc_56{flex:1;min-inline-size:0;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);text-align:center;font-variant-numeric:var(--font-tabular-nums);padding:0}._field_1k2cc_56::-webkit-inner-spin-button,._field_1k2cc_56::-webkit-outer-spin-button{appearance:none;margin:0}._field_1k2cc_56::placeholder{color:var(--color-neutral-400)}._field_1k2cc_56:disabled{cursor:var(--cursor-disabled)}._stepButton_1k2cc_79{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-600);cursor:var(--cursor-pointer);inline-size:var(--size-base);block-size:100%;flex-shrink:0;transition:background-color var(--transition-fast) ease-in-out,color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._stepButton_1k2cc_79{transition:none}}._stepButton_1k2cc_79:hover:not(:disabled){background-color:var(--color-neutral-100);color:var(--color-foreground)}._stepButton_1k2cc_79:active:not(:disabled){background-color:var(--color-neutral-200)}._stepButton_1k2cc_79:disabled{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._stepButton_1k2cc_79>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._stepButton_1k2cc_79:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}._stepButton_1k2cc_79:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}._formField_bdanr_1{display:flex;flex-direction:column;gap:calc(var(--density-spacing) * .5)}._formField_bdanr_1._fullWidth_bdanr_6{inline-size:100%}._formField_bdanr_1._fullWidth_bdanr_6>[data-finra-ui]{inline-size:100%}._formField_bdanr_1._disabled_bdanr_12{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._label_bdanr_17{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-foreground);line-height:var(--leading-normal)}._label_bdanr_17._required_bdanr_24:after{content:" *";color:var(--color-error)}._helperText_bdanr_29{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-neutral-500);line-height:var(--leading-normal);margin:0}._errorMessage_bdanr_37{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-error);line-height:var(--leading-normal);margin:0}._checkbox_q1fn9_1{display:inline-flex;align-items:center;gap:var(--density-spacing);cursor:var(--cursor-pointer);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground)}._checkbox_q1fn9_1._disabled_q1fn9_11{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._input_q1fn9_16{position:absolute;opacity:0;inline-size:0;block-size:0;margin:0;padding:0;pointer-events:none}._input_q1fn9_16:checked+._indicator_q1fn9_25{background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white)}._input_q1fn9_16:checked+._indicator_q1fn9_25>svg{opacity:1}._input_q1fn9_16:focus-visible+._indicator_q1fn9_25{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._input_q1fn9_16[data-indeterminate]+._indicator_q1fn9_25{background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white)}._input_q1fn9_16[data-indeterminate]+._indicator_q1fn9_25>svg{opacity:1}._indicator_q1fn9_25{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--checkbox-size);block-size:var(--checkbox-size);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-white);flex-shrink:0;transition:background-color var(--transition-fast) ease-in-out,border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._indicator_q1fn9_25{transition:none}}._indicator_q1fn9_25>svg{inline-size:70%;block-size:70%;opacity:0}._label_q1fn9_70{-webkit-user-select:none;user-select:none}._switch_19daj_1{display:inline-flex;align-items:center;gap:var(--density-spacing);cursor:var(--cursor-pointer);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground)}._switch_19daj_1._disabled_19daj_11{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._input_19daj_16{position:absolute;opacity:0;inline-size:0;block-size:0;margin:0;padding:0;pointer-events:none}._input_19daj_16:checked+._track_19daj_25{background-color:var(--color-primary-600);border-color:var(--color-primary-600)}._input_19daj_16:checked+._track_19daj_25>._thumb_19daj_29{inset-inline-start:calc(var(--switch-track-width) - var(--switch-thumb-size) - 2px)}._input_19daj_16:focus-visible+._track_19daj_25{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._track_19daj_25{position:relative;display:inline-flex;align-items:center;inline-size:var(--switch-track-width);block-size:var(--switch-track-height);border-radius:var(--radius-full);background-color:var(--color-neutral-300);border:var(--border-width-thin) solid var(--color-border);flex-shrink:0;transition:background-color var(--transition-fast) ease-in-out,border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._track_19daj_25{transition:none}}._thumb_19daj_29{position:absolute;inset-inline-start:2px;inline-size:var(--switch-thumb-size);block-size:var(--switch-thumb-size);border-radius:var(--radius-full);background-color:var(--color-white);box-shadow:var(--shadow-sm);transition:inset-inline-start var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._thumb_19daj_29{transition:none}}._label_19daj_71{-webkit-user-select:none;user-select:none}._radio_1ra61_1{display:inline-flex;align-items:center;gap:var(--density-spacing);cursor:var(--cursor-pointer);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground)}._radio_1ra61_1._disabled_1ra61_11{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._input_1ra61_16{position:absolute;opacity:0;inline-size:0;block-size:0;margin:0;padding:0;pointer-events:none}._input_1ra61_16:checked+._indicator_1ra61_25{border-color:var(--color-primary-600)}._input_1ra61_16:checked+._indicator_1ra61_25>._dot_1ra61_28{transform:scale(1)}._input_1ra61_16:focus-visible+._indicator_1ra61_25{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._indicator_1ra61_25{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--checkbox-size);block-size:var(--checkbox-size);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-background);flex-shrink:0;transition:border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._indicator_1ra61_25{transition:none}}._dot_1ra61_28{inline-size:50%;block-size:50%;border-radius:var(--radius-full);background-color:var(--color-primary-600);transform:scale(0);transition:transform var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._dot_1ra61_28{transition:none}}._label_1ra61_68{-webkit-user-select:none;user-select:none}._slider_q8xxv_1{display:inline-flex;flex-direction:column;gap:var(--density-spacing);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground);cursor:var(--cursor-pointer)}._slider_q8xxv_1._disabled_q8xxv_11{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._header_q8xxv_16{display:flex;align-items:center;justify-content:space-between;gap:var(--density-spacing)}._label_q8xxv_23{-webkit-user-select:none;user-select:none}._value_q8xxv_27{font-variant-numeric:var(--font-tabular-nums);color:var(--color-neutral-500);font-size:var(--text-xs)}._input_q8xxv_33{appearance:none;inline-size:100%;block-size:4px;border-radius:var(--radius-full);background-color:var(--color-neutral-200);outline:none;cursor:inherit;transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._input_q8xxv_33{transition:none}}._input_q8xxv_33::-webkit-slider-thumb{appearance:none;inline-size:var(--slider-thumb-size);block-size:var(--slider-thumb-size);border-radius:var(--radius-full);background-color:var(--color-primary-600);border:var(--border-width-medium) solid var(--color-white);box-shadow:var(--shadow-sm);cursor:inherit;transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._input_q8xxv_33::-webkit-slider-thumb{transition:none}}._input_q8xxv_33::-webkit-slider-thumb:hover{background-color:var(--color-primary-700)}._input_q8xxv_33::-moz-range-thumb{inline-size:var(--slider-thumb-size);block-size:var(--slider-thumb-size);border-radius:var(--radius-full);background-color:var(--color-primary-600);border:var(--border-width-medium) solid var(--color-white);box-shadow:var(--shadow-sm);cursor:inherit;transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._input_q8xxv_33::-moz-range-thumb{transition:none}}._input_q8xxv_33::-moz-range-thumb:hover{background-color:var(--color-primary-700)}._input_q8xxv_33::-moz-range-track{background-color:var(--color-neutral-200);block-size:4px;border-radius:var(--radius-full)}._input_q8xxv_33:focus-visible::-webkit-slider-thumb{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._input_q8xxv_33:focus-visible::-moz-range-thumb{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._input_q8xxv_33:disabled::-webkit-slider-thumb{background-color:var(--color-neutral-400)}._input_q8xxv_33:disabled::-moz-range-thumb{background-color:var(--color-neutral-400)}._pillInput_1on4g_1{display:inline-flex;flex-wrap:wrap;align-items:center;gap:calc(var(--density-spacing) * .5);min-block-size:var(--size-base);padding-inline:var(--input-padding-x);padding-block:calc(var(--density-spacing) * .25);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);cursor:var(--cursor-text);transition:border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._pillInput_1on4g_1{transition:none}}._pillInput_1on4g_1:focus-within{border-color:var(--color-primary-500)}._pillInput_1on4g_1._disabled_1on4g_26{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._pill_1on4g_1{display:inline-flex;align-items:center;gap:.125rem;block-size:var(--size-compact);padding-inline:var(--density-spacing);background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-neutral-200);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-foreground);-webkit-user-select:none;user-select:none;flex-shrink:0}._pillText_1on4g_47{max-inline-size:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._pillRemove_1on4g_54{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-400);cursor:var(--cursor-pointer);border-radius:var(--radius-full);flex-shrink:0}._pillRemove_1on4g_54:hover{color:var(--color-foreground)}._pillRemove_1on4g_54>svg{inline-size:.75rem;block-size:.75rem}._input_1on4g_74{flex:1;min-inline-size:4rem;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:0}._input_1on4g_74::placeholder{color:var(--color-neutral-400)}._input_1on4g_74:disabled{cursor:var(--cursor-disabled)}._dropZone_7sw02_1{display:flex;align-items:center;justify-content:center;min-block-size:8rem;padding:var(--spacing-6);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-neutral-500);background-color:var(--color-background);border:var(--border-width-medium) dashed var(--color-border);border-radius:var(--radius-lg);cursor:var(--cursor-pointer);transition:border-color var(--transition-fast) ease-in-out,background-color var(--transition-fast) ease-in-out;-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){._dropZone_7sw02_1{transition:none}}._dropZone_7sw02_1:hover{border-color:var(--color-primary-400);background-color:var(--color-primary-50)}._dropZone_7sw02_1:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._dropZone_7sw02_1._dragOver_7sw02_31{border-color:var(--color-primary-500);background-color:var(--color-primary-50)}._dropZone_7sw02_1._disabled_7sw02_35{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._dropZone_7sw02_1._disabled_7sw02_35:hover{border-color:var(--color-border);background-color:var(--color-background)}._input_7sw02_44{position:absolute;inline-size:0;block-size:0;overflow:hidden;opacity:0;pointer-events:none}._content_7sw02_53{display:flex;flex-direction:column;align-items:center;gap:var(--density-spacing);text-align:center}._icon_7sw02_61{inline-size:2rem;block-size:2rem;color:var(--color-neutral-400)}._text_7sw02_67{color:var(--color-neutral-500)}._badge_1ehok_1{--_badge-accent: var(--color-primary-600);--_badge-accent-subtle: var(--color-primary-50);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);border-radius:var(--radius-full);white-space:nowrap;padding-inline:var(--density-spacing);padding-block:calc(var(--density-spacing) * .25);border:var(--border-width-thin) solid var(--color-transparent)}._badge_1ehok_1._variantPrimary_1ehok_17{background-color:var(--_badge-accent);color:var(--color-white);border-color:var(--_badge-accent)}._badge_1ehok_1._variantSecondary_1ehok_22{background-color:var(--color-transparent);color:var(--_badge-accent);border-color:var(--_badge-accent)}._badge_1ehok_1._variantTertiary_1ehok_27{background-color:var(--_badge-accent-subtle);color:var(--_badge-accent);border-color:var(--color-transparent)}._badge_1ehok_1._sentimentDanger_1ehok_32{--_badge-accent: var(--color-error);--_badge-accent-subtle: var(--color-error-subtle)}._badge_1ehok_1._sentimentSuccess_1ehok_36{--_badge-accent: var(--color-success);--_badge-accent-subtle: var(--color-success-subtle)}._badge_1ehok_1._sentimentWarning_1ehok_40{--_badge-accent: var(--color-warning);--_badge-accent-subtle: var(--color-warning-subtle)}._badge_1ehok_1._sentimentInfo_1ehok_44{--_badge-accent: var(--color-info);--_badge-accent-subtle: var(--color-info-subtle)}._divider_1kyjw_1{border:none;margin:0;flex-shrink:0;background-color:var(--color-border)}._divider_1kyjw_1._horizontal_1kyjw_7{inline-size:100%;block-size:var(--border-width-thin)}._divider_1kyjw_1._vertical_1kyjw_11{block-size:100%;inline-size:var(--border-width-thin);align-self:stretch}:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-neutral-50: #f9fafb;--color-neutral-100: #f3f4f6;--color-neutral-200: #e5e7eb;--color-neutral-300: #d1d5db;--color-neutral-400: #9ca3af;--color-neutral-500: #6b7280;--color-neutral-600: #4b5563;--color-neutral-700: #374151;--color-neutral-800: #1f2937;--color-neutral-900: #111827;--color-success: #047857;--color-warning: #b45309;--color-error: #dc2626;--color-info: #1d4ed8;--color-success-hover: #065f46;--color-warning-hover: #92400e;--color-error-hover: #b91c1c;--color-info-hover: #1e40af;--color-success-active: #064e3b;--color-warning-active: #78350f;--color-error-active: #991b1b;--color-info-active: #1e3a8a;--color-success-disabled: #6ee7b7;--color-warning-disabled: #fcd34d;--color-error-disabled: #fca5a5;--color-info-disabled: #93c5fd;--color-success-subtle: #f0fdf4;--color-warning-subtle: #fffbeb;--color-error-subtle: #fef2f2;--color-info-subtle: #eff6ff;--color-background: #ffffff;--color-foreground: #111827;--color-border: #e5e7eb;--color-white: #ffffff;--color-black: #000000;--color-transparent: transparent;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--font-sans: "Inclusive Sans";--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", monospace;--font-tabular-nums: tabular-nums;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--radius-sm: .025rem;--radius-md: .075rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--transition-fast: .15s;--transition-base: .25s;--transition-slow: .35s;--focus-ring-width: 2px;--focus-ring-color: var(--color-primary-500);--focus-ring-offset: 2px;--cursor-pointer: pointer;--cursor-disabled: not-allowed;--cursor-text: text;--opacity-disabled: .5;--opacity-hover: .8;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 3px;--size-base: 2.25rem;--size-compact: 1.75rem;--density-spacing: .5rem;--icon-size: 1rem;--button-padding-x: 1rem;--button-font-size: var(--text-sm);--input-padding-x: .75rem;--input-font-size: var(--text-sm);--checkbox-size: 1.125rem;--switch-track-width: 2.5rem;--switch-track-height: 1.375rem;--switch-thumb-size: 1.125rem;--slider-thumb-size: 1.125rem}[data-density=high]{--size-base: 1.75rem;--size-compact: 1.25rem;--density-spacing: .25rem;--icon-size: .875rem;--button-padding-x: .75rem;--button-font-size: var(--text-xs);--input-padding-x: .5rem;--input-font-size: var(--text-xs);--checkbox-size: .875rem;--switch-track-width: 2rem;--switch-track-height: 1.125rem;--switch-thumb-size: .875rem;--slider-thumb-size: .875rem}[data-density=low]{--size-base: 2.75rem;--size-compact: 2.25rem;--density-spacing: .75rem;--icon-size: 1.25rem;--button-padding-x: 1.5rem;--button-font-size: var(--text-base);--input-padding-x: 1rem;--input-font-size: var(--text-base);--checkbox-size: 1.375rem;--switch-track-width: 3rem;--switch-track-height: 1.625rem;--switch-thumb-size: 1.375rem;--slider-thumb-size: 1.375rem}[data-theme=dark]{--color-background: #111827;--color-foreground: #f9fafb;--color-border: #374151;--color-primary-50: #1e3a8a;--color-primary-100: #1e40af;--color-primary-200: #1d4ed8;--color-primary-300: #2563eb;--color-primary-400: #3b82f6;--color-primary-500: #60a5fa;--color-primary-600: #93c5fd;--color-primary-700: #bfdbfe;--color-primary-800: #dbeafe;--color-primary-900: #eff6ff;--color-success-subtle: #052e16;--color-warning-subtle: #451a03;--color-error-subtle: #450a0a;--color-info-subtle: #1e3a8a}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:300;font-display:swap;src:url(./fonts/InclusiveSans-Light.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:300;font-display:swap;src:url(./fonts/InclusiveSans-LightItalic.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/InclusiveSans-Regular.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:400;font-display:swap;src:url(./fonts/InclusiveSans-Italic.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/InclusiveSans-Medium.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:500;font-display:swap;src:url(./fonts/InclusiveSans-MediumItalic.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:600;font-display:swap;src:url(./fonts/InclusiveSans-SemiBold.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:600;font-display:swap;src:url(./fonts/InclusiveSans-SemiBoldItalic.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/InclusiveSans-Bold.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:700;font-display:swap;src:url(./fonts/InclusiveSans-BoldItalic.ttf) format("truetype")}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-foreground);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}
|
|
1
|
+
._button_nw9o1_1{--_btn-accent: var(--color-primary-600);--_btn-accent-hover: var(--color-primary-700);--_btn-accent-active: var(--color-primary-800);--_btn-accent-subtle: var(--color-primary-50);display:inline-flex;align-items:center;justify-content:center;gap:var(--density-spacing);font-family:var(--font-sans);font-weight:var(--font-medium);font-size:var(--button-font-size);line-height:var(--leading-tight);border-radius:var(--radius-md);transition:all var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._button_nw9o1_1{transition:none}}._button_nw9o1_1{cursor:var(--cursor-pointer);border:var(--border-width-thin) solid var(--color-transparent);outline:none;text-decoration:none;position:relative;white-space:nowrap;height:var(--size-base);padding:0 var(--button-padding-x)}._button_nw9o1_1:disabled{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._button_nw9o1_1:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._button_nw9o1_1._variantPrimary_nw9o1_40{background-color:var(--_btn-accent);color:var(--color-white);border-color:var(--_btn-accent)}._button_nw9o1_1._variantPrimary_nw9o1_40:hover:not(:disabled){background-color:var(--_btn-accent-hover);border-color:var(--_btn-accent-hover)}._button_nw9o1_1._variantPrimary_nw9o1_40:active:not(:disabled){background-color:var(--_btn-accent-active);border-color:var(--_btn-accent-active)}._button_nw9o1_1._variantSecondary_nw9o1_53{background-color:var(--color-transparent);color:var(--_btn-accent);border-color:var(--_btn-accent)}._button_nw9o1_1._variantSecondary_nw9o1_53:hover:not(:disabled){background-color:var(--_btn-accent-subtle)}._button_nw9o1_1._variantSecondary_nw9o1_53:active:not(:disabled){background-color:var(--_btn-accent-subtle);border-color:var(--_btn-accent-hover);color:var(--_btn-accent-hover)}._button_nw9o1_1._variantTertiary_nw9o1_66{background-color:var(--color-transparent);color:var(--_btn-accent);border-color:var(--color-transparent)}._button_nw9o1_1._variantTertiary_nw9o1_66:hover:not(:disabled){background-color:var(--_btn-accent-subtle)}._button_nw9o1_1._variantTertiary_nw9o1_66:active:not(:disabled){background-color:var(--_btn-accent-subtle);color:var(--_btn-accent-hover)}._button_nw9o1_1._sentimentDanger_nw9o1_78{--_btn-accent: var(--color-error);--_btn-accent-hover: var(--color-error-hover);--_btn-accent-active: var(--color-error-active);--_btn-accent-subtle: var(--color-error-subtle)}._button_nw9o1_1._sentimentSuccess_nw9o1_84{--_btn-accent: var(--color-success);--_btn-accent-hover: var(--color-success-hover);--_btn-accent-active: var(--color-success-active);--_btn-accent-subtle: var(--color-success-subtle)}._button_nw9o1_1._sentimentWarning_nw9o1_90{--_btn-accent: var(--color-warning);--_btn-accent-hover: var(--color-warning-hover);--_btn-accent-active: var(--color-warning-active);--_btn-accent-subtle: var(--color-warning-subtle)}._button_nw9o1_1._sentimentInfo_nw9o1_96{--_btn-accent: var(--color-info);--_btn-accent-hover: var(--color-info-hover);--_btn-accent-active: var(--color-info-active);--_btn-accent-subtle: var(--color-info-subtle)}._button_nw9o1_1._fullWidth_nw9o1_102{width:100%}._icon_nw9o1_106{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--icon-size);block-size:var(--icon-size);flex-shrink:0}._icon_nw9o1_106>svg{inline-size:100%;block-size:100%}._iconButton_wgr1d_1{--_btn-accent: var(--color-primary-600);--_btn-accent-hover: var(--color-primary-700);--_btn-accent-active: var(--color-primary-800);--_btn-accent-subtle: var(--color-primary-50);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);border-radius:var(--radius-md);transition:all var(--transition-fast) ease-in-out;cursor:var(--cursor-pointer);border:var(--border-width-thin) solid var(--color-transparent);outline:none;padding:0;inline-size:var(--size-base);block-size:var(--size-base);flex-shrink:0}@media(prefers-reduced-motion:reduce){._iconButton_wgr1d_1{transition:none}}._iconButton_wgr1d_1>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._iconButton_wgr1d_1:disabled{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._iconButton_wgr1d_1:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._iconButton_wgr1d_1._variantPrimary_wgr1d_37{background-color:var(--_btn-accent);color:var(--color-white);border-color:var(--_btn-accent)}._iconButton_wgr1d_1._variantPrimary_wgr1d_37:hover:not(:disabled){background-color:var(--_btn-accent-hover);border-color:var(--_btn-accent-hover)}._iconButton_wgr1d_1._variantPrimary_wgr1d_37:active:not(:disabled){background-color:var(--_btn-accent-active);border-color:var(--_btn-accent-active)}._iconButton_wgr1d_1._variantSecondary_wgr1d_50{background-color:var(--color-transparent);color:var(--_btn-accent);border-color:var(--_btn-accent)}._iconButton_wgr1d_1._variantSecondary_wgr1d_50:hover:not(:disabled){background-color:var(--_btn-accent-subtle)}._iconButton_wgr1d_1._variantSecondary_wgr1d_50:active:not(:disabled){background-color:var(--_btn-accent-subtle);border-color:var(--_btn-accent-hover);color:var(--_btn-accent-hover)}._iconButton_wgr1d_1._variantTertiary_wgr1d_63{background-color:var(--color-transparent);color:var(--_btn-accent);border-color:var(--color-transparent)}._iconButton_wgr1d_1._variantTertiary_wgr1d_63:hover:not(:disabled){background-color:var(--_btn-accent-subtle)}._iconButton_wgr1d_1._variantTertiary_wgr1d_63:active:not(:disabled){background-color:var(--_btn-accent-subtle);color:var(--_btn-accent-hover)}._iconButton_wgr1d_1._sentimentDanger_wgr1d_75{--_btn-accent: var(--color-error);--_btn-accent-hover: var(--color-error-hover);--_btn-accent-active: var(--color-error-active);--_btn-accent-subtle: var(--color-error-subtle)}._iconButton_wgr1d_1._sentimentSuccess_wgr1d_81{--_btn-accent: var(--color-success);--_btn-accent-hover: var(--color-success-hover);--_btn-accent-active: var(--color-success-active);--_btn-accent-subtle: var(--color-success-subtle)}._iconButton_wgr1d_1._sentimentWarning_wgr1d_87{--_btn-accent: var(--color-warning);--_btn-accent-hover: var(--color-warning-hover);--_btn-accent-active: var(--color-warning-active);--_btn-accent-subtle: var(--color-warning-subtle)}._iconButton_wgr1d_1._sentimentInfo_wgr1d_93{--_btn-accent: var(--color-info);--_btn-accent-hover: var(--color-info-hover);--_btn-accent-active: var(--color-info-active);--_btn-accent-subtle: var(--color-info-subtle)}._buttonGroup_vy66t_1{display:inline-flex;flex-direction:row}._buttonGroup_vy66t_1>*{border-radius:0}._buttonGroup_vy66t_1>*:not(:first-child){margin-inline-start:calc(var(--border-width-thin) * -1)}._buttonGroup_vy66t_1>*:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}._buttonGroup_vy66t_1>*:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}._buttonGroup_vy66t_1>*:hover,._buttonGroup_vy66t_1>*:focus-visible{z-index:1}._buttonGroup_vy66t_1._vertical_vy66t_22{flex-direction:column}._buttonGroup_vy66t_1._vertical_vy66t_22>*:not(:first-child){margin-inline-start:0;margin-block-start:calc(var(--border-width-thin) * -1)}._buttonGroup_vy66t_1._vertical_vy66t_22>*:first-child{border-radius:0;border-start-start-radius:var(--radius-md);border-start-end-radius:var(--radius-md)}._buttonGroup_vy66t_1._vertical_vy66t_22>*:last-child{border-radius:0;border-end-start-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}._wrapper_qx7i5_1{--_input-border-color: var(--color-border);display:inline-flex;align-items:center;gap:var(--density-spacing);block-size:var(--size-base);padding-inline:var(--input-padding-x);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--_input-border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast) ease-in-out;cursor:var(--cursor-text)}@media(prefers-reduced-motion:reduce){._wrapper_qx7i5_1{transition:none}}._wrapper_qx7i5_1:focus-within{--_input-border-color: var(--color-primary-500)}._wrapper_qx7i5_1._disabled_qx7i5_25{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._wrapper_qx7i5_1._fullWidth_qx7i5_30{inline-size:100%}._wrapper_qx7i5_1._variantPrimary_qx7i5_33{border-width:var(--border-width-thin)}._wrapper_qx7i5_1._variantSecondary_qx7i5_36{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._wrapper_qx7i5_1._variantTertiary_qx7i5_40{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._wrapper_qx7i5_1._variantTertiary_qx7i5_40:focus-within{border-block-end-color:var(--color-primary-500);box-shadow:none}._wrapper_qx7i5_1._statusError_qx7i5_49{--_input-border-color: var(--color-error)}._wrapper_qx7i5_1._statusWarning_qx7i5_52{--_input-border-color: var(--color-warning)}._wrapper_qx7i5_1._statusSuccess_qx7i5_55{--_input-border-color: var(--color-success)}._field_qx7i5_59{flex:1;min-inline-size:0;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:0}._field_qx7i5_59::placeholder{color:var(--color-neutral-400)}._field_qx7i5_59:disabled{cursor:var(--cursor-disabled)}._adornment_qx7i5_76{display:inline-flex;align-items:center;justify-content:center;color:var(--color-neutral-500);flex-shrink:0}._adornment_qx7i5_76>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._clearButton_qx7i5_88{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-400);cursor:var(--cursor-pointer);border-radius:var(--radius-full);flex-shrink:0}._clearButton_qx7i5_88:hover{color:var(--color-foreground)}._clearButton_qx7i5_88>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._wrapper_16m4i_1{--_input-border-color: var(--color-border);display:inline-flex;flex-direction:column;font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--_input-border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._wrapper_16m4i_1{transition:none}}._wrapper_16m4i_1:focus-within{--_input-border-color: var(--color-primary-500)}._wrapper_16m4i_1._disabled_16m4i_21{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._wrapper_16m4i_1._fullWidth_16m4i_26{inline-size:100%}._wrapper_16m4i_1._variantPrimary_16m4i_29{border-width:var(--border-width-thin)}._wrapper_16m4i_1._variantSecondary_16m4i_32{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._wrapper_16m4i_1._variantTertiary_16m4i_36{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._wrapper_16m4i_1._variantTertiary_16m4i_36:focus-within{border-block-end-color:var(--color-primary-500);box-shadow:none}._wrapper_16m4i_1._statusError_16m4i_45{--_input-border-color: var(--color-error)}._wrapper_16m4i_1._statusWarning_16m4i_48{--_input-border-color: var(--color-warning)}._wrapper_16m4i_1._statusSuccess_16m4i_51{--_input-border-color: var(--color-success)}._field_16m4i_55{flex:1;min-inline-size:0;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:var(--input-padding-x);resize:vertical}._field_16m4i_55::placeholder{color:var(--color-neutral-400)}._field_16m4i_55:disabled{cursor:var(--cursor-disabled);resize:none}._charCount_16m4i_74{display:block;text-align:end;padding-inline:var(--input-padding-x);padding-block-end:var(--density-spacing);font-size:var(--text-xs);color:var(--color-neutral-500);font-variant-numeric:var(--font-tabular-nums)}._charCountWarning_16m4i_84{color:var(--color-warning)}._charCountError_16m4i_88{color:var(--color-error)}._wrapper_1k2cc_1{--_input-border-color: var(--color-border);display:inline-flex;align-items:center;block-size:var(--size-base);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--_input-border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._wrapper_1k2cc_1{transition:none}}._wrapper_1k2cc_1:focus-within{--_input-border-color: var(--color-primary-500)}._wrapper_1k2cc_1._disabled_1k2cc_22{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._wrapper_1k2cc_1._fullWidth_1k2cc_27{inline-size:100%}._wrapper_1k2cc_1._variantPrimary_1k2cc_30{border-width:var(--border-width-thin)}._wrapper_1k2cc_1._variantSecondary_1k2cc_33{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._wrapper_1k2cc_1._variantTertiary_1k2cc_37{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._wrapper_1k2cc_1._variantTertiary_1k2cc_37:focus-within{border-block-end-color:var(--color-primary-500);box-shadow:none}._wrapper_1k2cc_1._statusError_1k2cc_46{--_input-border-color: var(--color-error)}._wrapper_1k2cc_1._statusWarning_1k2cc_49{--_input-border-color: var(--color-warning)}._wrapper_1k2cc_1._statusSuccess_1k2cc_52{--_input-border-color: var(--color-success)}._field_1k2cc_56{flex:1;min-inline-size:0;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);text-align:center;font-variant-numeric:var(--font-tabular-nums);padding:0}._field_1k2cc_56::-webkit-inner-spin-button,._field_1k2cc_56::-webkit-outer-spin-button{appearance:none;margin:0}._field_1k2cc_56::placeholder{color:var(--color-neutral-400)}._field_1k2cc_56:disabled{cursor:var(--cursor-disabled)}._stepButton_1k2cc_79{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-600);cursor:var(--cursor-pointer);inline-size:var(--size-base);block-size:100%;flex-shrink:0;transition:background-color var(--transition-fast) ease-in-out,color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._stepButton_1k2cc_79{transition:none}}._stepButton_1k2cc_79:hover:not(:disabled){background-color:var(--color-neutral-100);color:var(--color-foreground)}._stepButton_1k2cc_79:active:not(:disabled){background-color:var(--color-neutral-200)}._stepButton_1k2cc_79:disabled{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._stepButton_1k2cc_79>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._stepButton_1k2cc_79:first-child{border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}._stepButton_1k2cc_79:last-child{border-start-end-radius:var(--radius-md);border-end-end-radius:var(--radius-md)}._formField_bdanr_1{display:flex;flex-direction:column;gap:calc(var(--density-spacing) * .5)}._formField_bdanr_1._fullWidth_bdanr_6{inline-size:100%}._formField_bdanr_1._fullWidth_bdanr_6>[data-finra-ui]{inline-size:100%}._formField_bdanr_1._disabled_bdanr_12{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._label_bdanr_17{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-foreground);line-height:var(--leading-normal)}._label_bdanr_17._required_bdanr_24:after{content:" *";color:var(--color-error)}._helperText_bdanr_29{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-neutral-500);line-height:var(--leading-normal);margin:0}._errorMessage_bdanr_37{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-error);line-height:var(--leading-normal);margin:0}._checkbox_q1fn9_1{display:inline-flex;align-items:center;gap:var(--density-spacing);cursor:var(--cursor-pointer);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground)}._checkbox_q1fn9_1._disabled_q1fn9_11{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._input_q1fn9_16{position:absolute;opacity:0;inline-size:0;block-size:0;margin:0;padding:0;pointer-events:none}._input_q1fn9_16:checked+._indicator_q1fn9_25{background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white)}._input_q1fn9_16:checked+._indicator_q1fn9_25>svg{opacity:1}._input_q1fn9_16:focus-visible+._indicator_q1fn9_25{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._input_q1fn9_16[data-indeterminate]+._indicator_q1fn9_25{background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white)}._input_q1fn9_16[data-indeterminate]+._indicator_q1fn9_25>svg{opacity:1}._indicator_q1fn9_25{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--checkbox-size);block-size:var(--checkbox-size);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-white);flex-shrink:0;transition:background-color var(--transition-fast) ease-in-out,border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._indicator_q1fn9_25{transition:none}}._indicator_q1fn9_25>svg{inline-size:70%;block-size:70%;opacity:0}._label_q1fn9_70{-webkit-user-select:none;user-select:none}._switch_19daj_1{display:inline-flex;align-items:center;gap:var(--density-spacing);cursor:var(--cursor-pointer);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground)}._switch_19daj_1._disabled_19daj_11{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._input_19daj_16{position:absolute;opacity:0;inline-size:0;block-size:0;margin:0;padding:0;pointer-events:none}._input_19daj_16:checked+._track_19daj_25{background-color:var(--color-primary-600);border-color:var(--color-primary-600)}._input_19daj_16:checked+._track_19daj_25>._thumb_19daj_29{inset-inline-start:calc(var(--switch-track-width) - var(--switch-thumb-size) - 2px)}._input_19daj_16:focus-visible+._track_19daj_25{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._track_19daj_25{position:relative;display:inline-flex;align-items:center;inline-size:var(--switch-track-width);block-size:var(--switch-track-height);border-radius:var(--radius-full);background-color:var(--color-neutral-300);border:var(--border-width-thin) solid var(--color-border);flex-shrink:0;transition:background-color var(--transition-fast) ease-in-out,border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._track_19daj_25{transition:none}}._thumb_19daj_29{position:absolute;inset-inline-start:2px;inline-size:var(--switch-thumb-size);block-size:var(--switch-thumb-size);border-radius:var(--radius-full);background-color:var(--color-white);box-shadow:var(--shadow-sm);transition:inset-inline-start var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._thumb_19daj_29{transition:none}}._label_19daj_71{-webkit-user-select:none;user-select:none}._radio_1ra61_1{display:inline-flex;align-items:center;gap:var(--density-spacing);cursor:var(--cursor-pointer);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground)}._radio_1ra61_1._disabled_1ra61_11{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._input_1ra61_16{position:absolute;opacity:0;inline-size:0;block-size:0;margin:0;padding:0;pointer-events:none}._input_1ra61_16:checked+._indicator_1ra61_25{border-color:var(--color-primary-600)}._input_1ra61_16:checked+._indicator_1ra61_25>._dot_1ra61_28{transform:scale(1)}._input_1ra61_16:focus-visible+._indicator_1ra61_25{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._indicator_1ra61_25{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--checkbox-size);block-size:var(--checkbox-size);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-background);flex-shrink:0;transition:border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._indicator_1ra61_25{transition:none}}._dot_1ra61_28{inline-size:50%;block-size:50%;border-radius:var(--radius-full);background-color:var(--color-primary-600);transform:scale(0);transition:transform var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._dot_1ra61_28{transition:none}}._label_1ra61_68{-webkit-user-select:none;user-select:none}._slider_q8xxv_1{display:inline-flex;flex-direction:column;gap:var(--density-spacing);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground);cursor:var(--cursor-pointer)}._slider_q8xxv_1._disabled_q8xxv_11{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._header_q8xxv_16{display:flex;align-items:center;justify-content:space-between;gap:var(--density-spacing)}._label_q8xxv_23{-webkit-user-select:none;user-select:none}._value_q8xxv_27{font-variant-numeric:var(--font-tabular-nums);color:var(--color-neutral-500);font-size:var(--text-xs)}._input_q8xxv_33{appearance:none;inline-size:100%;block-size:4px;border-radius:var(--radius-full);background-color:var(--color-neutral-200);outline:none;cursor:inherit;transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._input_q8xxv_33{transition:none}}._input_q8xxv_33::-webkit-slider-thumb{appearance:none;inline-size:var(--slider-thumb-size);block-size:var(--slider-thumb-size);border-radius:var(--radius-full);background-color:var(--color-primary-600);border:var(--border-width-medium) solid var(--color-white);box-shadow:var(--shadow-sm);cursor:inherit;transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._input_q8xxv_33::-webkit-slider-thumb{transition:none}}._input_q8xxv_33::-webkit-slider-thumb:hover{background-color:var(--color-primary-700)}._input_q8xxv_33::-moz-range-thumb{inline-size:var(--slider-thumb-size);block-size:var(--slider-thumb-size);border-radius:var(--radius-full);background-color:var(--color-primary-600);border:var(--border-width-medium) solid var(--color-white);box-shadow:var(--shadow-sm);cursor:inherit;transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._input_q8xxv_33::-moz-range-thumb{transition:none}}._input_q8xxv_33::-moz-range-thumb:hover{background-color:var(--color-primary-700)}._input_q8xxv_33::-moz-range-track{background-color:var(--color-neutral-200);block-size:4px;border-radius:var(--radius-full)}._input_q8xxv_33:focus-visible::-webkit-slider-thumb{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._input_q8xxv_33:focus-visible::-moz-range-thumb{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._input_q8xxv_33:disabled::-webkit-slider-thumb{background-color:var(--color-neutral-400)}._input_q8xxv_33:disabled::-moz-range-thumb{background-color:var(--color-neutral-400)}._pillInput_1tv9n_1{display:inline-flex;flex-wrap:wrap;align-items:center;gap:calc(var(--density-spacing) * .5);min-block-size:var(--size-base);padding-inline:var(--input-padding-x);padding-block:calc(var(--density-spacing) * .25);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--color-border);border-radius:var(--radius-md);cursor:var(--cursor-text);transition:border-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._pillInput_1tv9n_1{transition:none}}._pillInput_1tv9n_1:focus-within{border-color:var(--color-primary-500)}._pillInput_1tv9n_1._disabled_1tv9n_26{cursor:var(--cursor-disabled);background-color:var(--color-neutral-50);color:var(--color-neutral-500);border-color:var(--color-neutral-200)}._pill_1tv9n_1{display:inline-flex;align-items:center;gap:.125rem;block-size:var(--size-compact);padding-inline:var(--density-spacing);background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-neutral-200);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-foreground);-webkit-user-select:none;user-select:none;flex-shrink:0}._pillText_1tv9n_48{max-inline-size:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._pillRemove_1tv9n_55{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-400);cursor:var(--cursor-pointer);border-radius:var(--radius-full);flex-shrink:0}._pillRemove_1tv9n_55:hover{color:var(--color-foreground)}._pillRemove_1tv9n_55>svg{inline-size:.75rem;block-size:.75rem}._input_1tv9n_75{flex:1;min-inline-size:4rem;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:0}._input_1tv9n_75::placeholder{color:var(--color-neutral-400)}._input_1tv9n_75:disabled{cursor:var(--cursor-disabled)}._dropZone_7sw02_1{display:flex;align-items:center;justify-content:center;min-block-size:8rem;padding:var(--spacing-6);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-neutral-500);background-color:var(--color-background);border:var(--border-width-medium) dashed var(--color-border);border-radius:var(--radius-lg);cursor:var(--cursor-pointer);transition:border-color var(--transition-fast) ease-in-out,background-color var(--transition-fast) ease-in-out;-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){._dropZone_7sw02_1{transition:none}}._dropZone_7sw02_1:hover{border-color:var(--color-primary-400);background-color:var(--color-primary-50)}._dropZone_7sw02_1:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}._dropZone_7sw02_1._dragOver_7sw02_31{border-color:var(--color-primary-500);background-color:var(--color-primary-50)}._dropZone_7sw02_1._disabled_7sw02_35{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._dropZone_7sw02_1._disabled_7sw02_35:hover{border-color:var(--color-border);background-color:var(--color-background)}._input_7sw02_44{position:absolute;inline-size:0;block-size:0;overflow:hidden;opacity:0;pointer-events:none}._content_7sw02_53{display:flex;flex-direction:column;align-items:center;gap:var(--density-spacing);text-align:center}._icon_7sw02_61{inline-size:2rem;block-size:2rem;color:var(--color-neutral-400)}._text_7sw02_67{color:var(--color-neutral-500)}._comboBox_1en1h_1{position:relative;display:inline-flex;flex-direction:column}._comboBox_1en1h_1._fullWidth_1en1h_6{inline-size:100%}._wrapper_1en1h_10{--_input-border-color: var(--color-border);display:inline-flex;align-items:center;gap:var(--density-spacing);min-block-size:var(--size-base);padding-inline:var(--input-padding-x);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);background-color:var(--color-background);border:var(--border-width-thin) solid var(--_input-border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast) ease-in-out;cursor:var(--cursor-text)}@media(prefers-reduced-motion:reduce){._wrapper_1en1h_10{transition:none}}._wrapper_1en1h_10:focus-within{--_input-border-color: var(--color-primary-500)}._wrapper_1en1h_10._disabled_1en1h_34{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._wrapper_1en1h_10._open_1en1h_39{border-end-start-radius:0;border-end-end-radius:0}._wrapper_1en1h_10._variantPrimary_1en1h_43{border-width:var(--border-width-thin)}._wrapper_1en1h_10._variantSecondary_1en1h_46{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._wrapper_1en1h_10._variantTertiary_1en1h_50{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._wrapper_1en1h_10._variantTertiary_1en1h_50:focus-within{border-block-end-color:var(--color-primary-500)}._wrapper_1en1h_10._statusError_1en1h_58{--_input-border-color: var(--color-error)}._wrapper_1en1h_10._statusWarning_1en1h_61{--_input-border-color: var(--color-warning)}._wrapper_1en1h_10._statusSuccess_1en1h_64{--_input-border-color: var(--color-success)}._input_1en1h_68{flex:1;min-inline-size:4rem;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:0}._input_1en1h_68::placeholder{color:var(--color-neutral-400)}._input_1en1h_68:disabled{cursor:var(--cursor-disabled)}._input_1en1h_68._inputHidden_1en1h_84{position:absolute;opacity:0;inline-size:0;pointer-events:none}._singleValue_1en1h_91{flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-foreground)}._multiValueContainer_1en1h_100{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--density-spacing) * .5);flex:1;padding-block:calc(var(--density-spacing) * .25)}._pill_1en1h_109{display:inline-flex;align-items:center;gap:.125rem;block-size:var(--size-compact);padding-inline:var(--density-spacing);background-color:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-neutral-200);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-foreground);-webkit-user-select:none;user-select:none;flex-shrink:0}._pillText_1en1h_124{max-inline-size:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._pillRemove_1en1h_131{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-400);cursor:var(--cursor-pointer);border-radius:var(--radius-full);flex-shrink:0}._pillRemove_1en1h_131:hover{color:var(--color-foreground)}._pillRemove_1en1h_131>svg{inline-size:.75rem;block-size:.75rem}._indicator_1en1h_151{display:inline-flex;align-items:center;justify-content:center;color:var(--color-neutral-400);flex-shrink:0;transition:transform var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._indicator_1en1h_151{transition:none}}._indicator_1en1h_151>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._indicator_1en1h_151._indicatorOpen_1en1h_168{transform:rotate(180deg)}._listbox_1en1h_172{position:absolute;z-index:50;inset-inline-start:0;inset-inline-end:0;inset-block-start:100%;display:flex;flex-direction:column;background-color:var(--color-background);border:var(--border-width-thin) solid var(--color-border);border-block-start:none;border-end-start-radius:var(--radius-md);border-end-end-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}._options_1en1h_189{max-block-size:16rem;overflow-y:auto;scrollbar-gutter:stable}._option_1en1h_189{display:flex;align-items:center;justify-content:space-between;gap:var(--density-spacing);padding-inline:var(--input-padding-x);padding-block:calc(var(--density-spacing) * .75);font-family:var(--font-sans);font-size:var(--input-font-size);line-height:var(--leading-normal);color:var(--color-foreground);cursor:var(--cursor-pointer);-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._option_1en1h_189{transition:none}}._option_1en1h_189._optionHighlighted_1en1h_215{background-color:var(--color-primary-50)}._option_1en1h_189._optionSelected_1en1h_218{font-weight:var(--font-medium)}._option_1en1h_189._optionDisabled_1en1h_221{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled)}._option_1en1h_189._optionCreate_1en1h_225{color:var(--color-primary-600);font-style:italic}._optionLabel_1en1h_230{flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._checkIcon_1en1h_238{inline-size:var(--icon-size);block-size:var(--icon-size);flex-shrink:0;color:var(--color-primary-600)}._group_1en1h_245:not(:first-child){border-block-start:var(--border-width-thin) solid var(--color-neutral-100)}._groupLabel_1en1h_249{padding-inline:var(--input-padding-x);padding-block:calc(var(--density-spacing) * .5);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-neutral-500);text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none}._header_1en1h_261,._footer_1en1h_262{padding-inline:var(--input-padding-x);padding-block:calc(var(--density-spacing) * .75);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-neutral-500);border-block-end:var(--border-width-thin) solid var(--color-neutral-100)}._footer_1en1h_262{border-block-start:var(--border-width-thin) solid var(--color-neutral-100);border-block-end:none}._loading_1en1h_276{display:flex;align-items:center;justify-content:center;gap:var(--density-spacing);padding-block:var(--density-spacing);font-family:var(--font-sans);font-size:var(--input-font-size);color:var(--color-neutral-400)}._spinner_1en1h_287{inline-size:1rem;block-size:1rem;animation:_spin_1en1h_287 1s linear infinite}@media(prefers-reduced-motion:reduce){._spinner_1en1h_287{animation:none}}@keyframes _spin_1en1h_287{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._empty_1en1h_306{padding-inline:var(--input-padding-x);padding-block:var(--density-spacing);font-family:var(--font-sans);font-size:var(--input-font-size);color:var(--color-neutral-400);text-align:center}._badge_11y0a_1{--_badge-accent: var(--color-primary-600);--_badge-accent-subtle: var(--color-primary-50);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);border-radius:var(--radius-full);white-space:nowrap;padding-inline:var(--density-spacing);padding-block:calc(var(--density-spacing) * .25);border:var(--border-width-thin) solid var(--color-transparent)}._badge_11y0a_1._variantPrimary_11y0a_17{background-color:var(--_badge-accent);color:var(--color-white);border-color:var(--_badge-accent)}._badge_11y0a_1._variantSecondary_11y0a_22{background-color:var(--color-transparent);color:var(--_badge-accent);border-color:var(--_badge-accent)}._badge_11y0a_1._variantTertiary_11y0a_27{background-color:var(--_badge-accent-subtle);color:var(--_badge-accent-text, var(--_badge-accent));border-color:var(--color-transparent)}._badge_11y0a_1._sentimentDanger_11y0a_32{--_badge-accent: var(--color-error);--_badge-accent-subtle: var(--color-error-subtle);--_badge-accent-text: var(--color-error-hover)}._badge_11y0a_1._sentimentSuccess_11y0a_37{--_badge-accent: var(--color-success);--_badge-accent-subtle: var(--color-success-subtle)}._badge_11y0a_1._sentimentWarning_11y0a_41{--_badge-accent: var(--color-warning);--_badge-accent-subtle: var(--color-warning-subtle)}._badge_11y0a_1._sentimentInfo_11y0a_45{--_badge-accent: var(--color-info);--_badge-accent-subtle: var(--color-info-subtle)}._divider_1kyjw_1{border:none;margin:0;flex-shrink:0;background-color:var(--color-border)}._divider_1kyjw_1._horizontal_1kyjw_7{inline-size:100%;block-size:var(--border-width-thin)}._divider_1kyjw_1._vertical_1kyjw_11{block-size:100%;inline-size:var(--border-width-thin);align-self:stretch}:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-neutral-50: #f9fafb;--color-neutral-100: #f3f4f6;--color-neutral-200: #e5e7eb;--color-neutral-300: #d1d5db;--color-neutral-400: #9ca3af;--color-neutral-500: #6b7280;--color-neutral-600: #4b5563;--color-neutral-700: #374151;--color-neutral-800: #1f2937;--color-neutral-900: #111827;--color-success: #047857;--color-warning: #b45309;--color-error: #dc2626;--color-info: #1d4ed8;--color-success-hover: #065f46;--color-warning-hover: #92400e;--color-error-hover: #b91c1c;--color-info-hover: #1e40af;--color-success-active: #064e3b;--color-warning-active: #78350f;--color-error-active: #991b1b;--color-info-active: #1e3a8a;--color-success-disabled: #6ee7b7;--color-warning-disabled: #fcd34d;--color-error-disabled: #fca5a5;--color-info-disabled: #93c5fd;--color-success-subtle: #f0fdf4;--color-warning-subtle: #fffbeb;--color-error-subtle: #fef2f2;--color-info-subtle: #eff6ff;--color-background: #ffffff;--color-foreground: #111827;--color-border: #e5e7eb;--color-white: #ffffff;--color-black: #000000;--color-transparent: transparent;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--font-sans: "Inclusive Sans";--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", monospace;--font-tabular-nums: tabular-nums;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--radius-sm: .025rem;--radius-md: .075rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--transition-fast: .15s;--transition-base: .25s;--transition-slow: .35s;--focus-ring-width: 2px;--focus-ring-color: var(--color-primary-500);--focus-ring-offset: 2px;--cursor-pointer: pointer;--cursor-disabled: not-allowed;--cursor-text: text;--opacity-disabled: .5;--opacity-hover: .8;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 3px;--size-base: 2.25rem;--size-compact: 1.75rem;--density-spacing: .5rem;--icon-size: 1rem;--button-padding-x: 1rem;--button-font-size: var(--text-sm);--input-padding-x: .75rem;--input-font-size: var(--text-sm);--checkbox-size: 1.125rem;--switch-track-width: 2.5rem;--switch-track-height: 1.375rem;--switch-thumb-size: 1.125rem;--slider-thumb-size: 1.125rem}[data-density=high]{--size-base: 1.75rem;--size-compact: 1.25rem;--density-spacing: .25rem;--icon-size: .875rem;--button-padding-x: .75rem;--button-font-size: var(--text-xs);--input-padding-x: .5rem;--input-font-size: var(--text-xs);--checkbox-size: .875rem;--switch-track-width: 2rem;--switch-track-height: 1.125rem;--switch-thumb-size: .875rem;--slider-thumb-size: .875rem}[data-density=low]{--size-base: 2.75rem;--size-compact: 2.25rem;--density-spacing: .75rem;--icon-size: 1.25rem;--button-padding-x: 1.5rem;--button-font-size: var(--text-base);--input-padding-x: 1rem;--input-font-size: var(--text-base);--checkbox-size: 1.375rem;--switch-track-width: 3rem;--switch-track-height: 1.625rem;--switch-thumb-size: 1.375rem;--slider-thumb-size: 1.375rem}[data-theme=dark]{--color-background: #111827;--color-foreground: #f9fafb;--color-border: #374151;--color-primary-50: #1e3a8a;--color-primary-100: #1e40af;--color-primary-200: #1d4ed8;--color-primary-300: #2563eb;--color-primary-400: #3b82f6;--color-primary-500: #60a5fa;--color-primary-600: #93c5fd;--color-primary-700: #bfdbfe;--color-primary-800: #dbeafe;--color-primary-900: #eff6ff;--color-success-subtle: #052e16;--color-warning-subtle: #451a03;--color-error-subtle: #450a0a;--color-info-subtle: #1e3a8a}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:300;font-display:swap;src:url(./fonts/InclusiveSans-Light.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:300;font-display:swap;src:url(./fonts/InclusiveSans-LightItalic.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:400;font-display:swap;src:url(./fonts/InclusiveSans-Regular.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:400;font-display:swap;src:url(./fonts/InclusiveSans-Italic.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:500;font-display:swap;src:url(./fonts/InclusiveSans-Medium.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:500;font-display:swap;src:url(./fonts/InclusiveSans-MediumItalic.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:600;font-display:swap;src:url(./fonts/InclusiveSans-SemiBold.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:600;font-display:swap;src:url(./fonts/InclusiveSans-SemiBoldItalic.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:normal;font-weight:700;font-display:swap;src:url(./fonts/InclusiveSans-Bold.ttf) format("truetype")}@font-face{font-family:Inclusive Sans;font-style:italic;font-weight:700;font-display:swap;src:url(./fonts/InclusiveSans-BoldItalic.ttf) format("truetype")}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-foreground);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}
|