{"version":3,"names":["dynamic","omit","composeRefs","userRef","mergeRootProps","resolveClassStyle","useSelectRootContext","EMPTY_STATE","SelectList","props","root","setListRef","el","setListElement","internal","id","role","aria-multiselectable","multiple","undefined","onScroll","event","scrollHandlerRef","current","currentTarget","userClassStyle","userProps","merged","Tag","as"],"sources":["select-list.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { omit } from \"solid-js\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport { useSelectRootContext } from \"../select-root-context\";\n\n// biome-ignore lint/complexity/noBannedTypes: public empty-state for consumer type references.\nexport type SelectListState = {};\n\nexport interface SelectListProps\n\textends BaseUIComponentProps<\"div\", SelectListState> {\n\tas?: ValidComponent;\n}\n\nconst EMPTY_STATE: SelectListState = {};\n\n/**\n * `<Select.List>` — an inner container for `<Select.Item>`s that takes the\n * `listbox` role.\n */\nexport function SelectList(props: SelectListProps): JSX.Element {\n\tconst root = useSelectRootContext();\n\n\tconst setListRef = (el: HTMLElement | null): void => {\n\t\troot.setListElement(el);\n\t};\n\n\tconst internal = {\n\t\tget id() {\n\t\t\treturn `${root.id() ?? \"\"}-list`;\n\t\t},\n\t\trole: \"listbox\" as const,\n\t\tget \"aria-multiselectable\"() {\n\t\t\treturn root.multiple() ? \"true\" : undefined;\n\t\t},\n\t\t// The list is the scroll container when present; keep the popup's\n\t\t// scroll-arrow visibility in sync with it.\n\t\tonScroll(event: Event & { currentTarget: HTMLElement }): void {\n\t\t\troot.scrollHandlerRef.current(event.currentTarget);\n\t\t},\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => EMPTY_STATE);\n\tconst userProps = omit(props, \"as\", \"class\", \"style\", \"attrs\");\n\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\tinternal,\n\t\tuserClassStyle,\n\t);\n\tmerged = mergeRootProps(merged, userProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn <Tag {...merged} ref={composeRefs(setListRef, userRef(props))} />;\n}\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,IAAI,QAAQ,UAAU;AAC/B,SAASC,WAAW,EAAEC,OAAO,QAAQ,8BAA8B;AACnE,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,iBAAiB,QAAQ,qCAAqC;AAEvE,SAASC,oBAAoB,QAAQ,wBAAwB;;AAE7D;;AAQA,MAAMC,WAA4B,GAAG,CAAC,CAAC;;AAEvC;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAACC,KAAsB,EAAe;EAC/D,MAAMC,IAAI,GAAGJ,oBAAoB,CAAC,CAAC;EAEnC,MAAMK,UAAU,GAAIC,EAAsB,IAAW;IACpDF,IAAI,CAACG,cAAc,CAACD,EAAE,CAAC;EACxB,CAAC;EAED,MAAME,QAAQ,GAAG;IAChB,IAAIC,EAAEA,CAAA,EAAG;MACR,OAAO,GAAGL,IAAI,CAACK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO;IACjC,CAAC;IACDC,IAAI,EAAE,SAAkB;IACxB,IAAI,sBAAsBC,CAAA,EAAG;MAC5B,OAAOP,IAAI,CAACQ,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAGC,SAAS;IAC5C,CAAC;IACD;IACA;IACAC,QAAQA,CAACC,KAA6C,EAAQ;MAC7DX,IAAI,CAACY,gBAAgB,CAACC,OAAO,CAACF,KAAK,CAACG,aAAa,CAAC;IACnD;EACD,CAAC;EAED,MAAMC,cAAc,GAAGpB,iBAAiB,CAACI,KAAK,EAAE,MAAMF,WAAW,CAAC;EAClE,MAAMmB,SAAS,GAAGzB,IAAI,CAACQ,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;EAE9D,IAAIkB,MAA+B,GAAGvB,cAAc,CACnDU,QAAQ,EACRW,cACD,CAAC;EACDE,MAAM,GAAGvB,cAAc,CAACuB,MAAM,EAAED,SAAS,CAAC;EAE1C,MAAME,GAAG,GAAG5B,OAAO,CAAC,MAAMS,KAAK,CAACoB,EAAE,IAAI,KAAK,CAAC;EAC5C,OAAO,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC,CAAC,GAAG,CAAC,CAACzB,WAAW,CAACS,UAAU,EAAER,OAAO,CAACM,KAAK,CAAC,CAAC,CAAC,GAAG;AACzE","ignoreList":[]}