{"version":3,"file":"input.cjs","sources":["../../../components/input/input.tsx"],"sourcesContent":["import { Input as InputPrimitive } from '@base-ui/react/input';\nimport { cva, cx, type VariantProps } from 'class-variance-authority';\nimport { ReactNode, RefObject } from 'react';\nimport { Chip } from '../chip';\nimport { useFieldContext } from '../field';\nimport styles from './input.module.css';\n\nconst inputWrapper = cva(styles['input-wrapper'], {\n  variants: {\n    size: {\n      small: styles['size-small'],\n      large: styles['size-large']\n    },\n    variant: {\n      default: styles['variant-default'],\n      borderless: styles['variant-borderless']\n    }\n  },\n  defaultVariants: {\n    size: 'large',\n    variant: 'default'\n  }\n});\n\nexport interface InputProps\n  extends Omit<InputPrimitive.Props, 'size'>,\n    VariantProps<typeof inputWrapper> {\n  disabled?: boolean;\n  leadingIcon?: ReactNode;\n  trailingIcon?: ReactNode;\n  prefix?: string;\n  suffix?: string;\n  chips?: Array<{ label: string; onRemove?: () => void }>;\n  maxChipsVisible?: number;\n  variant?: 'default' | 'borderless';\n  containerRef?: RefObject<HTMLDivElement | null>;\n  /** @deprecated Use `[data-slot=\"input-container\"]` instead. */\n  classNames?: { container?: string };\n}\n\nexport function Input({\n  className,\n  disabled,\n  placeholder,\n  leadingIcon,\n  trailingIcon,\n  prefix,\n  suffix,\n  chips,\n  maxChipsVisible = 2,\n  size,\n  variant = 'default',\n  containerRef,\n  classNames,\n  required,\n  ...props\n}: InputProps) {\n  const fieldContext = useFieldContext();\n  const resolvedRequired = required ?? fieldContext?.required;\n\n  return (\n    <div\n      className={cx(\n        inputWrapper({ size, variant }),\n        chips?.length && styles['has-chips'],\n        classNames?.container\n      )}\n      data-disabled={disabled || undefined}\n      data-slot='input-container'\n      ref={containerRef}\n    >\n      {leadingIcon && (\n        <div\n          className={styles['leading-icon']}\n          aria-hidden='true'\n          data-slot='input-leading-icon'\n        >\n          {leadingIcon}\n        </div>\n      )}\n      {prefix && (\n        <div className={styles.prefix} data-slot='input-prefix'>\n          {prefix}\n        </div>\n      )}\n\n      <div\n        className={styles['chip-input-container']}\n        data-slot='input-chip-container'\n      >\n        {chips?.slice(0, maxChipsVisible).map((chip, index) => (\n          <Chip\n            key={index}\n            variant='outline'\n            isDismissible={!disabled && !!chip.onRemove}\n            onDismiss={disabled ? undefined : chip.onRemove}\n            className={styles.chip}\n            disabled={disabled}\n            data-slot='input-chip'\n          >\n            {chip.label}\n          </Chip>\n        ))}\n        {chips && chips.length > maxChipsVisible && (\n          <span\n            className={styles['chip-overflow']}\n            data-slot='input-chip-overflow'\n          >\n            +{chips.length - maxChipsVisible}\n          </span>\n        )}\n        <InputPrimitive\n          data-slot='input'\n          className={cx(\n            styles['input-field'],\n            leadingIcon && styles['has-leading-icon'],\n            trailingIcon && styles['has-trailing-icon'],\n            prefix && styles['has-prefix'],\n            suffix && styles['has-suffix'],\n            className\n          )}\n          placeholder={chips?.length ? undefined : placeholder}\n          disabled={disabled}\n          required={resolvedRequired}\n          {...props}\n        />\n      </div>\n\n      {suffix && (\n        <div className={styles.suffix} data-slot='input-suffix'>\n          {suffix}\n        </div>\n      )}\n      {trailingIcon && (\n        <div\n          className={styles['trailing-icon']}\n          aria-hidden='true'\n          data-slot='input-trailing-icon'\n        >\n          {trailingIcon}\n        </div>\n      )}\n    </div>\n  );\n}\n\nInput.displayName = 'Input';\n"],"names":["cva","styles","useFieldContext","_jsxs","cx","_jsx","chip","Chip","InputPrimitive"],"mappings":"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"}