{"version":3,"names":["dynamic","createMemo","omit","composeRefs","userRef","mergeRootProps","resolveClassStyle","useComboboxRootContext","ComboboxInputGroup","props","root","listEmpty","flatFilteredItems","length","placeholder","selectionMode","sv","selectedValue","Array","isArray","popupSide","mounted","positionerElement","state","open","disabled","readOnly","internal","role","data-popup-open","undefined","data-pressed","data-disabled","data-readonly","data-list-empty","data-placeholder","data-popup-side","userClassStyle","userProps","merged","Tag","as"],"sources":["combobox-input-group.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 { ComboboxSide } from \"../positioner/positioner-context\";\nimport { useComboboxRootContext } from \"../root/combobox-root-context\";\n\nexport interface ComboboxInputGroupState {\n\topen: boolean;\n\tdisabled: boolean;\n\treadOnly: boolean;\n\tpopupSide: ComboboxSide | null;\n\tlistEmpty: boolean;\n\tplaceholder: boolean;\n}\n\nexport interface ComboboxInputGroupProps\n\textends BaseUIComponentProps<\"div\", ComboboxInputGroupState> {\n\tas?: ValidComponent;\n}\n\n/**\n * A wrapper for the input and its associated controls. Renders a\n * `<div role=\"group\">`.\n */\nexport function ComboboxInputGroup(\n\tprops: ComboboxInputGroupProps,\n): JSX.Element {\n\tconst root = useComboboxRootContext();\n\n\tconst listEmpty = createMemo<boolean>(\n\t\t() => root.flatFilteredItems().length === 0,\n\t);\n\tconst placeholder = createMemo<boolean>(() => {\n\t\tif (root.selectionMode() === \"none\") return false;\n\t\tconst sv = root.selectedValue();\n\t\tif (sv == null) return true;\n\t\tif (Array.isArray(sv)) return sv.length === 0;\n\t\treturn false;\n\t});\n\tconst popupSide = createMemo<ComboboxSide | null>(() => {\n\t\tif (!root.mounted() || root.positionerElement() == null) return null;\n\t\treturn root.popupSide();\n\t});\n\n\tconst state = createMemo<ComboboxInputGroupState>(() => ({\n\t\topen: root.open(),\n\t\tdisabled: root.disabled(),\n\t\treadOnly: root.readOnly(),\n\t\tpopupSide: popupSide(),\n\t\tlistEmpty: listEmpty(),\n\t\tplaceholder: placeholder(),\n\t}));\n\n\tconst internal = {\n\t\trole: \"group\" as const,\n\t\t// triggerStateAttributesMapping projection.\n\t\tget \"data-popup-open\"() {\n\t\t\treturn state().open ? \"\" : undefined;\n\t\t},\n\t\tget \"data-pressed\"() {\n\t\t\treturn state().open ? \"\" : undefined;\n\t\t},\n\t\tget \"data-disabled\"() {\n\t\t\treturn state().disabled ? \"\" : undefined;\n\t\t},\n\t\tget \"data-readonly\"() {\n\t\t\treturn state().readOnly ? \"\" : undefined;\n\t\t},\n\t\tget \"data-list-empty\"() {\n\t\t\treturn state().listEmpty ? \"\" : undefined;\n\t\t},\n\t\tget \"data-placeholder\"() {\n\t\t\treturn state().placeholder ? \"\" : undefined;\n\t\t},\n\t\tget \"data-popup-side\"() {\n\t\t\treturn state().popupSide ?? 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(userRef(props))} />;\n}\n"],"mappings":"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","ignoreList":[]}