@utk09/finra-ui 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Calendar-EtS0i3_l.js +664 -0
- package/dist/Calendar-EtS0i3_l.js.map +1 -0
- package/dist/Calendar.module-D02DGwqf.js +374 -0
- package/dist/Calendar.module-D02DGwqf.js.map +1 -0
- package/dist/DateInput-DhLq-Jah.js +230 -0
- package/dist/DateInput-DhLq-Jah.js.map +1 -0
- package/dist/assets/icons/CalendarIcon.d.ts +2 -0
- package/dist/assets/icons/CheckIcon.d.ts +2 -0
- package/dist/assets/icons/ChevronDownIcon.d.ts +2 -0
- package/dist/assets/icons/ChevronLeftIcon.d.ts +2 -0
- package/dist/assets/icons/ChevronRightIcon.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 +12 -0
- package/dist/components/Badge/Badge.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/ComboBox/ComboBox.d.ts +36 -0
- package/dist/components/DateInput/DateInput.d.ts +16 -0
- package/dist/components/DateTenorInput/DateTenorInput.d.ts +16 -0
- package/dist/components/FormField/FormField.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/NumberInput/NumberInput.d.ts +1 -1
- package/dist/components/TenorInput/TenorInput.d.ts +14 -0
- package/dist/components/Textarea/Textarea.d.ts +1 -1
- package/dist/components/componentIds.d.ts +15 -0
- package/dist/dateFormat-CGZCSpqw.js +77 -0
- package/dist/dateFormat-CGZCSpqw.js.map +1 -0
- package/dist/finance.d.ts +8 -0
- package/dist/finance.js +486 -0
- package/dist/finance.js.map +1 -0
- package/dist/index.d.ts +20 -16
- package/dist/index.js +821 -805
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/unstyled/Calendar/Calendar.d.ts +54 -0
- package/dist/unstyled/ComboBox/ComboBox.d.ts +108 -0
- package/dist/unstyled/DateInput/DateInput.d.ts +58 -0
- package/dist/unstyled/DateTenorInput/DateTenorInput.d.ts +78 -0
- package/dist/unstyled/FormField/FormField.d.ts +1 -1
- package/dist/unstyled/Slot.d.ts +1 -1
- package/dist/unstyled/TenorInput/TenorInput.d.ts +27 -0
- package/dist/unstyled.d.ts +24 -18
- package/dist/unstyled.js +146 -153
- package/dist/unstyled.js.map +1 -1
- package/dist/utils/dateFormat.d.ts +17 -0
- package/dist/utils/mergeRefs.d.ts +2 -0
- package/dist/utils/tenor.d.ts +15 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.js +98 -0
- package/dist/utils.js.map +1 -0
- package/package.json +11 -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":"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","x_google_ignoreList":[1,2]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/Button/Button.tsx","../src/components/IconButton/IconButton.tsx","../src/components/ButtonGroup/ButtonGroup.tsx","../src/assets/icons/CloseIcon.tsx","../src/assets/icons/DashIcon.tsx","../src/assets/icons/MinusIcon.tsx","../src/assets/icons/PlusIcon.tsx","../src/assets/icons/UploadIcon.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/DateInput/DateInput.tsx","../src/components/Badge/Badge.tsx","../src/components/Divider/Divider.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, type ReactNode } from \"react\";\n\nimport { ButtonBase, type ButtonBaseProps } from \"../../unstyled/Button/Button\";\nimport { componentIds, FINRA_UI_ATTR } 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 { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\n\nimport { IconButtonBase, type IconButtonBaseProps } from \"../../unstyled/IconButton/IconButton\";\nimport { componentIds, FINRA_UI_ATTR } 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 { clsx } from \"clsx\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\n\nimport { componentIds, FINRA_UI_ATTR } 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 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 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 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 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 { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport {\n forwardRef,\n type InputHTMLAttributes,\n type MouseEvent,\n type ReactNode,\n useCallback,\n useRef,\n} from \"react\";\n\nimport { CloseIcon } from \"../../assets/icons\";\nimport { componentIds, FINRA_UI_ATTR } 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 { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport {\n type ChangeEvent,\n forwardRef,\n type TextareaHTMLAttributes,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { componentIds, FINRA_UI_ATTR } 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 { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport {\n type ChangeEvent,\n forwardRef,\n type InputHTMLAttributes,\n type KeyboardEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { MinusIcon, PlusIcon } from \"../../assets/icons\";\nimport { componentIds, FINRA_UI_ATTR } 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 { clsx } from \"clsx\";\nimport {\n Children,\n cloneElement,\n forwardRef,\n type HTMLAttributes,\n isValidElement,\n type ReactNode,\n useId,\n} from \"react\";\n\nimport { componentIds, FINRA_UI_ATTR } 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 { clsx } from \"clsx\";\nimport { forwardRef, useEffect, useRef } from \"react\";\n\nimport { CheckIcon, DashIcon } from \"../../assets/icons\";\nimport { CheckboxBase, type CheckboxBaseProps } from \"../../unstyled/Checkbox/Checkbox\";\nimport { mergeRefs } from \"../../utils/mergeRefs\";\nimport { componentIds, FINRA_UI_ATTR } 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\n className={styles.indicator}\n aria-hidden=\"true\"\n {...{ [FINRA_UI_ATTR]: componentIds.checkboxIndicator }}>\n {indeterminate ? <DashIcon /> : <CheckIcon />}\n </span>\n {label ? (\n <span className={styles.label} {...{ [FINRA_UI_ATTR]: componentIds.checkboxLabel }}>\n {label}\n </span>\n ) : null}\n </label>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n","import { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\n\nimport { SwitchBase, type SwitchBaseProps } from \"../../unstyled/Switch/Switch\";\nimport { componentIds, FINRA_UI_ATTR } 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\n className={styles.track}\n aria-hidden=\"true\"\n {...{ [FINRA_UI_ATTR]: componentIds.switchTrack }}>\n <span className={styles.thumb} {...{ [FINRA_UI_ATTR]: componentIds.switchThumb }} />\n </span>\n {label ? (\n <span className={styles.label} {...{ [FINRA_UI_ATTR]: componentIds.switchLabel }}>\n {label}\n </span>\n ) : null}\n </label>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n","import { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\n\nimport { RadioButtonBase, type RadioButtonBaseProps } from \"../../unstyled/RadioButton/RadioButton\";\nimport { componentIds, FINRA_UI_ATTR } 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\n className={styles.indicator}\n aria-hidden=\"true\"\n {...{ [FINRA_UI_ATTR]: componentIds.radioButtonIndicator }}>\n <span className={styles.dot} />\n </span>\n {label ? (\n <span className={styles.label} {...{ [FINRA_UI_ATTR]: componentIds.radioButtonLabel }}>\n {label}\n </span>\n ) : null}\n </label>\n );\n },\n);\n\nRadioButton.displayName = \"RadioButton\";\n","import { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\n\nimport { SliderBase, type SliderBaseProps } from \"../../unstyled/Slider/Slider\";\nimport { componentIds, FINRA_UI_ATTR } 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} {...{ [FINRA_UI_ATTR]: componentIds.sliderHeader }}>\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 { clsx } from \"clsx\";\nimport {\n forwardRef,\n type HTMLAttributes,\n type KeyboardEvent,\n useCallback,\n useRef,\n useState,\n} from \"react\";\n\nimport { CloseSmallIcon } from \"../../assets/icons\";\nimport { mergeRefs } from \"../../utils/mergeRefs\";\nimport { componentIds, FINRA_UI_ATTR } 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 { clsx } from \"clsx\";\nimport {\n type ChangeEvent,\n type DragEvent,\n forwardRef,\n type HTMLAttributes,\n type ReactNode,\n useCallback,\n useRef,\n useState,\n} from \"react\";\n\nimport { UploadIcon } from \"../../assets/icons\";\nimport { mergeRefs } from \"../../utils/mergeRefs\";\nimport { componentIds, FINRA_UI_ATTR } 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 {...{ [FINRA_UI_ATTR]: componentIds.fileDropZoneInput }}\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 { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, useMemo } from \"react\";\n\nimport { CalendarIcon, ChevronLeftIcon, ChevronRightIcon } from \"../../assets/icons\";\nimport type { DateInputBaseProps, DateInputClassNames } from \"../../unstyled/DateInput/DateInput\";\nimport { DateInputBase } from \"../../unstyled/DateInput/DateInput\";\nimport calendarStyles from \"../Calendar/Calendar.module.scss\";\nimport { componentIds, FINRA_UI_ATTR } from \"../componentIds\";\nimport type { ValidationStatus } from \"../Input/Input\";\nimport styles from \"./DateInput.module.scss\";\n\nconst dateInputVariants = 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 DateInputProps\n extends\n Omit<\n DateInputBaseProps,\n | \"classNames\"\n | \"dataAttributes\"\n | \"renderCalendarIcon\"\n | \"renderCalendarNavPrev\"\n | \"renderCalendarNavNext\"\n >,\n VariantProps<typeof dateInputVariants> {\n /** Visual validation status. */\n validationStatus?: ValidationStatus;\n /** Stretch to fill container width. */\n fullWidth?: boolean;\n /** Additional CSS class for the wrapper. */\n className?: string;\n}\n\nfunction styledCalendarIcon() {\n return <CalendarIcon aria-hidden=\"true\" {...{ [FINRA_UI_ATTR]: componentIds.calendarIcon }} />;\n}\n\nfunction styledNavPrev() {\n return <ChevronLeftIcon aria-hidden=\"true\" />;\n}\n\nfunction styledNavNext() {\n return <ChevronRightIcon aria-hidden=\"true\" />;\n}\n\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>(\n ({ className, variant, validationStatus, fullWidth, disabled, ...props }, ref) => {\n const classNames = useMemo<DateInputClassNames>(\n () => ({\n root: clsx(\n dateInputVariants({ variant }),\n validationStatus && validationClasses[validationStatus],\n disabled && styles.disabled,\n fullWidth && styles.fullWidth,\n className,\n ),\n calendarOpen: styles.calendarOpen,\n input: styles.field,\n adornment: styles.adornment,\n popup: styles.popup,\n calendar: {\n root: calendarStyles.root,\n header: calendarStyles.header,\n navButton: calendarStyles.navButton,\n title: calendarStyles.title,\n weekdayRow: calendarStyles.weekdayRow,\n weekday: calendarStyles.weekday,\n grid: calendarStyles.grid,\n row: calendarStyles.row,\n day: calendarStyles.day,\n dayToday: calendarStyles.dayToday,\n daySelected: calendarStyles.daySelected,\n dayDisabled: calendarStyles.dayDisabled,\n dayOutside: calendarStyles.dayOutside,\n footer: calendarStyles.footer,\n },\n }),\n [className, variant, validationStatus, fullWidth, disabled],\n );\n\n return (\n <DateInputBase\n ref={ref}\n disabled={disabled}\n classNames={classNames}\n dataAttributes={{\n [FINRA_UI_ATTR]: componentIds.dateInput,\n }}\n renderCalendarIcon={styledCalendarIcon}\n renderCalendarNavPrev={styledNavPrev}\n renderCalendarNavNext={styledNavNext}\n {...props}\n />\n );\n },\n);\n\nDateInput.displayName = \"DateInput\";\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\n\nimport { componentIds, FINRA_UI_ATTR } 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 { clsx } from \"clsx\";\nimport { forwardRef, type HTMLAttributes } from \"react\";\n\nimport { componentIds, FINRA_UI_ATTR } 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":["sentimentClasses","styles","buttonVariants","cva","Button","forwardRef","className","variant","fullWidth","sentiment","startIcon","endIcon","children","props","ref","jsxs","ButtonBase","FINRA_UI_ATTR","componentIds","clsx","jsx","iconButtonVariants","IconButton","IconButtonBase","ButtonGroup","orientation","CloseIcon","DashIcon","MinusIcon","PlusIcon","UploadIcon","inputVariants","validationClasses","Input","validationStatus","startAdornment","endAdornment","clearable","onClear","disabled","readOnly","value","defaultValue","onChange","internalRef","useRef","inputRef","handleClear","useCallback","e","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","CheckIcon","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","CloseSmallIcon","FileDropZone","accept","multiple","isDragOver","setIsDragOver","handleFiles","fileList","handleDragOver","handleDragLeave","handleDrop","handleInputChange","handleClick","Fragment","dateInputVariants","styledCalendarIcon","CalendarIcon","styledNavPrev","ChevronLeftIcon","styledNavNext","ChevronRightIcon","DateInput","classNames","useMemo","calendarStyles","DateInputBase","badgeVariants","Badge","Divider","decorative"],"mappings":"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"}
|
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
|
+
._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}._root_t6hwx_1{display:flex;flex-direction:column;gap:calc(var(--density-spacing) * .5);padding:var(--density-spacing);-webkit-user-select:none;user-select:none}._header_t6hwx_9{display:flex;align-items:center;justify-content:space-between;gap:var(--density-spacing);padding-block-end:calc(var(--density-spacing) * .25)}._navButton_t6hwx_17{display:inline-flex;align-items:center;justify-content:center;block-size:1.5rem;inline-size:1.5rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-neutral-500);cursor:var(--cursor-pointer);transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._navButton_t6hwx_17{transition:none}}._navButton_t6hwx_17:hover{background-color:var(--color-neutral-100);color:var(--color-foreground)}._navButton_t6hwx_17:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:-2px}._navButton_t6hwx_17>svg{inline-size:.75rem;block-size:.75rem}._title_t6hwx_49{flex:1;text-align:center;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-foreground);white-space:nowrap}._weekday_t6hwx_59{display:flex;align-items:center;justify-content:center;block-size:1.75rem;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-neutral-500);text-decoration:none;cursor:default}._grid_t6hwx_72{display:flex;flex-direction:column;gap:1px}._row_t6hwx_78{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}._day_t6hwx_84{display:flex;align-items:center;justify-content:center;block-size:2rem;inline-size:2rem;margin:auto;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-sans);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-foreground);cursor:var(--cursor-pointer);transition:background-color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._day_t6hwx_84{transition:none}}._day_t6hwx_84:hover:not(:disabled){background-color:var(--color-neutral-100)}._day_t6hwx_84:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:-2px}._day_t6hwx_84._dayToday_t6hwx_114{font-weight:var(--font-bold);color:var(--color-primary-600)}._day_t6hwx_84._daySelected_t6hwx_118{background-color:var(--color-primary-500);color:var(--color-neutral-0)}._day_t6hwx_84._daySelected_t6hwx_118:hover:not(:disabled){background-color:var(--color-primary-600)}._day_t6hwx_84._daySelected_t6hwx_118._dayToday_t6hwx_114{color:var(--color-neutral-0)}._day_t6hwx_84._dayDisabled_t6hwx_128{color:var(--color-neutral-200);cursor:var(--cursor-disabled)}._day_t6hwx_84._dayDisabled_t6hwx_128:hover{background:transparent}._day_t6hwx_84._dayOutside_t6hwx_135{color:var(--color-neutral-200);cursor:var(--cursor-disabled)}._footer_t6hwx_140{display:flex;align-items:center;justify-content:center;padding-block-start:calc(var(--density-spacing) * .5);border-block-start:var(--border-width-thin) solid var(--color-neutral-100)}._root_s79ry_1{position:relative;display:inline-flex;flex-direction:column}._root_s79ry_1._fullWidth_s79ry_6{inline-size:100%}._trigger_s79ry_10{--_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){._trigger_s79ry_10{transition:none}}._trigger_s79ry_10:focus-within{--_input-border-color: var(--color-primary-500)}._trigger_s79ry_10._variantPrimary_s79ry_34{border-width:var(--border-width-thin)}._trigger_s79ry_10._variantSecondary_s79ry_37{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._trigger_s79ry_10._variantTertiary_s79ry_41{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._trigger_s79ry_10._variantTertiary_s79ry_41:focus-within{border-block-end-color:var(--color-primary-500)}._trigger_s79ry_10._statusError_s79ry_49{--_input-border-color: var(--color-error)}._trigger_s79ry_10._statusWarning_s79ry_52{--_input-border-color: var(--color-warning)}._trigger_s79ry_10._statusSuccess_s79ry_55{--_input-border-color: var(--color-success)}._trigger_s79ry_10._open_s79ry_58{border-end-start-radius:0;border-end-end-radius:0}._disabled_s79ry_63{cursor:var(--cursor-disabled);color:var(--color-neutral-300)}._disabled_s79ry_63 ._trigger_s79ry_10{background-color:var(--color-neutral-50);border-color:var(--color-neutral-200);cursor:var(--cursor-disabled)}._disabled_s79ry_63 ._dateInput_s79ry_72{color:var(--color-neutral-300)}._disabled_s79ry_63 ._tenorBadge_s79ry_75{background-color:var(--color-neutral-100);border-color:var(--color-neutral-200);color:var(--color-neutral-600)}._disabled_s79ry_63 ._calendarButton_s79ry_80,._disabled_s79ry_63 ._indicator_s79ry_81{color:var(--color-neutral-200)}._dateInput_s79ry_72{flex:1;min-inline-size:0;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:0}._dateInput_s79ry_72::placeholder{color:var(--color-neutral-400)}._dateInput_s79ry_72:disabled{cursor:var(--cursor-disabled)}._tenorBadge_s79ry_75{display:inline-flex;align-items:center;block-size:var(--size-compact);padding-inline:calc(var(--density-spacing) * .75);background-color:var(--color-primary-50);border:var(--border-width-thin) solid var(--color-primary-200);border-radius:var(--radius-full);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary-700);white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none}._calendarButton_s79ry_80{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-500);cursor:var(--cursor-pointer);flex-shrink:0;border-radius:var(--radius-sm);transition:color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._calendarButton_s79ry_80{transition:none}}._calendarButton_s79ry_80:hover:not(:disabled){color:var(--color-foreground)}._calendarButton_s79ry_80:disabled{cursor:var(--cursor-disabled)}._calendarButton_s79ry_80>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._indicator_s79ry_81{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;cursor:var(--cursor-pointer)}@media(prefers-reduced-motion:reduce){._indicator_s79ry_81{transition:none}}._indicator_s79ry_81>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._indicator_s79ry_81._indicatorOpen_s79ry_166{transform:rotate(180deg)}._popup_s79ry_170{position:absolute;z-index:50;inset-inline-start:0;inset-block-start:100%;display:flex;min-inline-size:max(100%,26rem);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)}._calendarSection_s79ry_185{flex:1;min-inline-size:0}._tenorSection_s79ry_190{display:flex;flex-direction:column;border-inline-start:var(--border-width-thin) solid var(--color-neutral-100);min-inline-size:6rem;max-block-size:20rem;overflow-y:auto;scrollbar-gutter:stable}._tenorTitle_s79ry_200{position:sticky;inset-block-start:0;padding-inline:var(--density-spacing);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;background-color:var(--color-background);border-block-end:var(--border-width-thin) solid var(--color-neutral-100);-webkit-user-select:none;user-select:none}._tenorGrid_s79ry_216{display:flex;flex-direction:column}._tenor_s79ry_75{display:flex;align-items:center;justify-content:center;padding-inline:var(--density-spacing);padding-block:calc(var(--density-spacing) * .5);border:none;background:transparent;font-family:var(--font-sans);font-size:var(--text-sm);font-variant-numeric:tabular-nums;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){._tenor_s79ry_75{transition:none}}._tenor_s79ry_75:hover{background-color:var(--color-primary-50)}._tenor_s79ry_75._tenorSelected_s79ry_245{background-color:var(--color-primary-500);color:var(--color-neutral-0);font-weight:var(--font-semibold)}._tenor_s79ry_75._tenorSelected_s79ry_245:hover{background-color:var(--color-primary-600)}._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)}._wrapper_shywj_1{--_input-border-color: var(--color-border);position:relative;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_shywj_1{transition:none}}._wrapper_shywj_1:focus-within{--_input-border-color: var(--color-primary-500)}._wrapper_shywj_1._disabled_shywj_26{opacity:var(--opacity-disabled);cursor:var(--cursor-disabled);background-color:var(--color-neutral-50)}._wrapper_shywj_1._fullWidth_shywj_31{inline-size:100%}._wrapper_shywj_1._calendarOpen_shywj_34{border-end-start-radius:0;border-end-end-radius:0}._wrapper_shywj_1._variantPrimary_shywj_38{border-width:var(--border-width-thin)}._wrapper_shywj_1._variantSecondary_shywj_41{border-width:var(--border-width-thin);background-color:var(--color-neutral-50)}._wrapper_shywj_1._variantTertiary_shywj_45{border-color:var(--color-transparent);border-block-end-color:var(--_input-border-color);border-radius:0}._wrapper_shywj_1._variantTertiary_shywj_45:focus-within{border-block-end-color:var(--color-primary-500);box-shadow:none}._wrapper_shywj_1._statusError_shywj_54{--_input-border-color: var(--color-error)}._wrapper_shywj_1._statusWarning_shywj_57{--_input-border-color: var(--color-warning)}._wrapper_shywj_1._statusSuccess_shywj_60{--_input-border-color: var(--color-success)}._field_shywj_64{flex:1;min-inline-size:0;border:none;outline:none;background:transparent;font:inherit;color:var(--color-foreground);padding:0}._field_shywj_64::placeholder{color:var(--color-neutral-400)}._field_shywj_64:disabled{cursor:var(--cursor-disabled)}._adornment_shywj_81{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--color-neutral-500);cursor:var(--cursor-pointer);flex-shrink:0;border-radius:var(--radius-sm);transition:color var(--transition-fast) ease-in-out}@media(prefers-reduced-motion:reduce){._adornment_shywj_81{transition:none}}._adornment_shywj_81:hover:not(:disabled){color:var(--color-foreground)}._adornment_shywj_81:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:-2px}._adornment_shywj_81:disabled{cursor:var(--cursor-disabled)}._adornment_shywj_81>svg{inline-size:var(--icon-size);block-size:var(--icon-size)}._popup_shywj_114{position:absolute;z-index:50;inset-inline-start:0;inset-block-start:100%;min-inline-size:max(100%,18rem);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)}._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}
|