{"version":3,"names":["dynamic","createMemo","omit","composeRefs","userRef","mergeRootProps","resolveClassStyle","useComboboxPositionerContext","useComboboxRootContext","ComboboxPopup","props","root","positioner","setPopupRef","el","popupRef","current","state","open","side","align","anchorHidden","transitionStatus","empty","flatFilteredItems","length","internal","role","tabIndex","data-open","undefined","data-closed","data-anchor-hidden","data-side","data-align","data-starting-style","data-ending-style","data-empty","userClassStyle","userProps","merged","Tag","as"],"sources":["combobox-popup.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createMemo, 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 type { TransitionStatus } from \"../../internals/use-transition-status/use-transition-status\";\nimport {\n\ttype ComboboxAlign,\n\ttype ComboboxSide,\n\tuseComboboxPositionerContext,\n} from \"../positioner/positioner-context\";\nimport { useComboboxRootContext } from \"../root/combobox-root-context\";\n\nexport interface ComboboxPopupState {\n\topen: boolean;\n\tside: ComboboxSide;\n\talign: ComboboxAlign;\n\tanchorHidden: boolean;\n\ttransitionStatus: TransitionStatus;\n\tempty: boolean;\n}\n\nexport interface ComboboxPopupProps\n\textends BaseUIComponentProps<\"div\", ComboboxPopupState> {\n\tas?: ValidComponent;\n}\n\n/**\n * A container for the list. Renders a `<div>` element.\n */\nexport function ComboboxPopup(props: ComboboxPopupProps): JSX.Element {\n\tconst root = useComboboxRootContext();\n\tconst positioner = useComboboxPositionerContext();\n\n\tconst setPopupRef = (el: HTMLElement | null): void => {\n\t\troot.popupRef.current = el;\n\t};\n\n\tconst state = createMemo<ComboboxPopupState>(() => ({\n\t\topen: root.open(),\n\t\tside: positioner.side(),\n\t\talign: positioner.align(),\n\t\tanchorHidden: positioner.anchorHidden(),\n\t\ttransitionStatus: root.transitionStatus(),\n\t\tempty: root.flatFilteredItems().length === 0,\n\t}));\n\n\tconst internal = {\n\t\trole: \"presentation\" as const,\n\t\ttabIndex: -1,\n\t\tget \"data-open\"() {\n\t\t\treturn state().open ? \"\" : undefined;\n\t\t},\n\t\tget \"data-closed\"() {\n\t\t\treturn state().open ? undefined : \"\";\n\t\t},\n\t\tget \"data-anchor-hidden\"() {\n\t\t\treturn state().anchorHidden ? \"\" : undefined;\n\t\t},\n\t\tget \"data-side\"() {\n\t\t\treturn state().side;\n\t\t},\n\t\tget \"data-align\"() {\n\t\t\treturn state().align;\n\t\t},\n\t\tget \"data-starting-style\"() {\n\t\t\treturn state().transitionStatus === \"starting\" ? \"\" : undefined;\n\t\t},\n\t\tget \"data-ending-style\"() {\n\t\t\treturn state().transitionStatus === \"ending\" ? \"\" : undefined;\n\t\t},\n\t\tget \"data-empty\"() {\n\t\t\treturn state().empty ? \"\" : undefined;\n\t\t},\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => 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(setPopupRef, userRef(props))} />;\n}\n"],"mappings":"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","ignoreList":[]}