UNPKG

primereact

Version:

A rich set of premium UI Components for React.

4 lines (2 loc) 1.36 kB
'use client'; import{Component as P,withComponent as y}from"@primereact/core/component";import{useListboxOption as b}from"@primereact/headless/listbox";import{mergeProps as u}from"@primeuix/utils";import*as c from"react";import{createOptionalContext as O}from"@primereact/core/utils";var[v,l]=O();import{createOptionalContext as A}from"@primereact/core/utils";var[a,R]=A();var d={as:"li",group:!1,uKey:void 0,index:void 0};var z=y({name:"AutoComplete.Option",defaultProps:d,setup(t){let i=l(),{listbox:o}=i||{},e=o?.getOptions(),p=t.props?.index??e?.findIndex(n=>n&&typeof n=="object"&&o?.props.optionKey?n[o.props.optionKey]===t.props.uKey:!1)??-1,r=e?.[p],s=t.props?.group??o?.isOptionGroup(r),m=b({option:r,index:p,group:s,context:o});return{autocomplete:i,listbox:o,listboxOption:m,option:r,index:p,...m?.state}},render(t){let{props:i,ptmi:o,autocomplete:e,listboxOption:p,index:r,selected:s,focused:m,disabled:n,group:f}=t,x=f?u(p.groupProps,{className:e?.cx("optionGroup",{index:r})},e?.ptm("optionGroup")):u(p.optionProps,{className:e?.cx("option",{index:r,selected:s,focused:m,disabled:n})},e?.ptm("option")),C=u(x,o("root"));return c.createElement(a,{value:t},c.createElement(P,{instance:t,attrs:C,children:i.children}))}});export{z as AutoCompleteOption,a as AutoCompleteOptionProvider,d as defaultOptionProps,R as useAutoCompleteOptionContext};