{"version":3,"file":"select-content.cjs","sources":["../../../components/select/select-content.tsx"],"sourcesContent":["'use client';\n\nimport {\n  Combobox as ComboboxPrimitive,\n  Select as SelectPrimitive\n} from '@base-ui/react';\nimport { cx } from 'class-variance-authority';\nimport styles from './select.module.css';\nimport { useSelectContext } from './select-root';\n\nexport interface SelectContentProps\n  extends Omit<\n      SelectPrimitive.Positioner.Props,\n      'render' | 'className' | 'style' | 'ref'\n    >,\n    SelectPrimitive.Popup.Props {\n  searchPlaceholder?: string;\n}\n\nexport function SelectContent({\n  className,\n  children,\n  searchPlaceholder = 'Search...',\n  sideOffset = 4,\n  side = 'bottom',\n  align = 'start',\n  ...props\n}: SelectContentProps) {\n  const { autocomplete, multiple } = useSelectContext();\n\n  if (autocomplete) {\n    return (\n      <ComboboxPrimitive.Portal keepMounted>\n        <ComboboxPrimitive.Positioner\n          sideOffset={sideOffset}\n          side={side}\n          align={align}\n          className={styles.positioner}\n          data-slot='select-positioner'\n        >\n          <ComboboxPrimitive.Popup\n            className={cx(styles.content, className)}\n            data-multiselectable={multiple ? true : undefined}\n            data-slot='select-content'\n            {...props}\n          >\n            <ComboboxPrimitive.Input\n              placeholder={searchPlaceholder}\n              className={styles.comboboxInput}\n              size={12}\n              data-slot='select-search'\n            />\n            <ComboboxPrimitive.List\n              className={styles.comboboxContent}\n              data-slot='select-list'\n            >\n              {children}\n            </ComboboxPrimitive.List>\n          </ComboboxPrimitive.Popup>\n        </ComboboxPrimitive.Positioner>\n      </ComboboxPrimitive.Portal>\n    );\n  }\n\n  return (\n    <SelectPrimitive.Positioner\n      sideOffset={sideOffset}\n      side={side}\n      align={align}\n      className={styles.positioner}\n      alignItemWithTrigger={false}\n      data-slot='select-positioner'\n    >\n      <SelectPrimitive.Popup\n        className={cx(styles.content, className)}\n        data-multiselectable={multiple ? true : undefined}\n        data-slot='select-content'\n        {...props}\n      >\n        <SelectPrimitive.List\n          className={styles.viewport}\n          data-slot='select-list'\n        >\n          {children}\n        </SelectPrimitive.List>\n      </SelectPrimitive.Popup>\n    </SelectPrimitive.Positioner>\n  );\n}\nSelectContent.displayName = 'Select.Content';\n"],"names":[],"mappings":";;;;;;;;;AAmBM;;;;;AA6CJ;AAwBF;AACA;;"}