{"version":3,"file":"ComboboxOptions.cjs","sources":["../../../../src/components/Combobox/ComboboxOptions/ComboboxOptions.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { useId } from '@raikou/hooks';\nimport {\n  Box,\n  BoxProps,\n  CompoundStylesApiProps,\n  ElementProps,\n  factory,\n  Factory,\n  useProps,\n} from '../../../core';\nimport { useComboboxContext } from '../Combobox.context';\n\nexport type ComboboxOptionsStylesNames = 'options';\n\nexport interface ComboboxOptionsProps\n  extends BoxProps,\n    CompoundStylesApiProps<ComboboxOptionsFactory>,\n    ElementProps<'div'> {\n  /** Id of the element that should label the options list */\n  labelledBy?: string;\n}\n\nexport type ComboboxOptionsFactory = Factory<{\n  props: ComboboxOptionsProps;\n  ref: HTMLDivElement;\n  stylesNames: ComboboxOptionsStylesNames;\n  compound: true;\n}>;\n\nconst defaultProps: Partial<ComboboxOptionsProps> = {};\n\nexport const ComboboxOptions = factory<ComboboxOptionsFactory>((_props, ref) => {\n  const props = useProps('ComboboxOptions', defaultProps, _props);\n  const { classNames, className, style, styles, id, onMouseDown, labelledBy, ...others } = props;\n  const ctx = useComboboxContext();\n  const _id = useId(id);\n\n  useEffect(() => {\n    ctx.store.setListId(_id);\n  }, [_id]);\n\n  return (\n    <Box\n      ref={ref}\n      {...ctx.getStyles('options', { className, style, classNames, styles })}\n      {...others}\n      id={_id}\n      role=\"listbox\"\n      aria-labelledby={labelledBy}\n      onMouseDown={(event) => {\n        event.preventDefault();\n        onMouseDown?.(event);\n      }}\n    />\n  );\n});\n\nComboboxOptions.displayName = '@raikou/core/ComboboxOptions';\n"],"names":["factory","useProps","useComboboxContext","useId","useEffect","jsx","Box"],"mappings":";;;;;;;;;;;;;AA8BA,MAAM,eAA8C,EAAC;AAE9C,MAAM,eAAkB,GAAAA,eAAA,CAAgC,CAAC,MAAA,EAAQ,GAAQ,KAAA;AAC9E,EAAA,MAAM,KAAQ,GAAAC,iBAAA,CAAS,iBAAmB,EAAA,YAAA,EAAc,MAAM,CAAA;AAC9D,EAAM,MAAA,EAAE,UAAY,EAAA,SAAA,EAAW,KAAO,EAAA,MAAA,EAAQ,IAAI,WAAa,EAAA,UAAA,EAAY,GAAG,MAAA,EAAW,GAAA,KAAA;AACzF,EAAA,MAAM,MAAMC,mCAAmB,EAAA;AAC/B,EAAM,MAAA,GAAA,GAAMC,YAAM,EAAE,CAAA;AAEpB,EAAAC,eAAA,CAAU,MAAM;AACd,IAAI,GAAA,CAAA,KAAA,CAAM,UAAU,GAAG,CAAA;AAAA,GACzB,EAAG,CAAC,GAAG,CAAC,CAAA;AAER,EACE,uBAAAC,cAAA;AAAA,IAACC,OAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACC,GAAG,IAAI,SAAU,CAAA,SAAA,EAAW,EAAE,SAAW,EAAA,KAAA,EAAO,UAAY,EAAA,MAAA,EAAQ,CAAA;AAAA,MACpE,GAAG,MAAA;AAAA,MACJ,EAAI,EAAA,GAAA;AAAA,MACJ,IAAK,EAAA,SAAA;AAAA,MACL,iBAAiB,EAAA,UAAA;AAAA,MACjB,WAAA,EAAa,CAAC,KAAU,KAAA;AACtB,QAAA,KAAA,CAAM,cAAe,EAAA;AACrB,QAAA,WAAA,GAAc,KAAK,CAAA;AAAA;AACrB;AAAA,GACF;AAEJ,CAAC;AAED,eAAA,CAAgB,WAAc,GAAA,8BAAA;;;;"}