{"version":3,"names":["dynamic","omit","createChangeEventDetails","REASONS","composeRefs","userRef","mergeRootProps","resolveClassStyle","useButton","usePopoverRootContext","PopoverClose","props","root","disabled","Boolean","nativeButton","buttonProps","ref","buttonRef","focusableWhenDisabled","native","internal","onClick","event","currentTarget","details","closePress","undefined","setOpen","userClassStyle","userProps","merged","Tag","as"],"sources":["popover-close.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { omit } from \"solid-js\";\nimport {\n\tcreateChangeEventDetails,\n\tREASONS,\n} from \"../../internals/change-event-details\";\nimport { composeRefs, userRef } from \"../../internals/compose-refs\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type {\n\tBaseUIComponentProps,\n\tNativeButtonProps,\n} from \"../../internals/types\";\nimport { useButton } from \"../../internals/use-button/use-button\";\nimport { usePopoverRootContext } from \"../popover-root-context\";\n\n// biome-ignore lint/complexity/noBannedTypes: matches Base UI React — close exposes no state fields.\nexport type PopoverCloseState = {};\n\nexport interface PopoverCloseProps\n\textends NativeButtonProps,\n\t\tBaseUIComponentProps<\"button\", PopoverCloseState> {\n\t/**\n\t * Tag/component to render. Defaults to `\"button\"`. Replaces the\n\t * pre-spike `render` prop (axis G).\n\t */\n\tas?: ValidComponent;\n}\n\n/**\n * A button that closes the popover. Renders a `<button>` by default.\n */\nexport function PopoverClose(props: PopoverCloseProps): JSX.Element {\n\tconst root = usePopoverRootContext();\n\n\tconst disabled = (): boolean => Boolean(props.disabled);\n\tconst nativeButton = (): boolean => props.nativeButton ?? true;\n\n\tconst { props: buttonProps, ref: buttonRef } = useButton({\n\t\tdisabled,\n\t\tfocusableWhenDisabled: () => false,\n\t\tnative: nativeButton,\n\t});\n\n\tconst internal = {\n\t\tonClick(event: MouseEvent) {\n\t\t\tconst currentTarget = event.currentTarget as HTMLElement | null;\n\t\t\tconst details = createChangeEventDetails(\n\t\t\t\tREASONS.closePress,\n\t\t\t\tevent,\n\t\t\t\tcurrentTarget ?? undefined,\n\t\t\t);\n\t\t\troot.setOpen(false, details);\n\t\t},\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => ({}));\n\n\tconst userProps = omit(\n\t\tprops,\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\n\t\t\"disabled\",\n\t\t\"nativeButton\",\n\t);\n\n\tlet merged: Record<string, unknown> = mergeRootProps(internal, buttonProps);\n\tmerged = mergeRootProps(merged, userClassStyle);\n\tmerged = mergeRootProps(merged, userProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"button\");\n\treturn <Tag {...merged} ref={composeRefs(buttonRef, userRef(props))} />;\n}\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,IAAI,QAAQ,UAAU;AAC/B,SACCC,wBAAwB,EACxBC,OAAO,QACD,sCAAsC;AAC7C,SAASC,WAAW,EAAEC,OAAO,QAAQ,8BAA8B;AACnE,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,iBAAiB,QAAQ,qCAAqC;AAKvE,SAASC,SAAS,QAAQ,uCAAuC;AACjE,SAASC,qBAAqB,QAAQ,yBAAyB;;AAE/D;;AAaA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAACC,KAAwB,EAAe;EACnE,MAAMC,IAAI,GAAGH,qBAAqB,CAAC,CAAC;EAEpC,MAAMI,QAAQ,GAAGA,CAAA,KAAeC,OAAO,CAACH,KAAK,CAACE,QAAQ,CAAC;EACvD,MAAME,YAAY,GAAGA,CAAA,KAAeJ,KAAK,CAACI,YAAY,IAAI,IAAI;EAE9D,MAAM;IAAEJ,KAAK,EAAEK,WAAW;IAAEC,GAAG,EAAEC;EAAU,CAAC,GAAGV,SAAS,CAAC;IACxDK,QAAQ;IACRM,qBAAqB,EAAEA,CAAA,KAAM,KAAK;IAClCC,MAAM,EAAEL;EACT,CAAC,CAAC;EAEF,MAAMM,QAAQ,GAAG;IAChBC,OAAOA,CAACC,KAAiB,EAAE;MAC1B,MAAMC,aAAa,GAAGD,KAAK,CAACC,aAAmC;MAC/D,MAAMC,OAAO,GAAGvB,wBAAwB,CACvCC,OAAO,CAACuB,UAAU,EAClBH,KAAK,EACLC,aAAa,IAAIG,SAClB,CAAC;MACDf,IAAI,CAACgB,OAAO,CAAC,KAAK,EAAEH,OAAO,CAAC;IAC7B;EACD,CAAC;EAED,MAAMI,cAAc,GAAGtB,iBAAiB,CAACI,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;EAE3D,MAAMmB,SAAS,GAAG7B,IAAI,CACrBU,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EAEP,UAAU,EACV,cACD,CAAC;EAED,IAAIoB,MAA+B,GAAGzB,cAAc,CAACe,QAAQ,EAAEL,WAAW,CAAC;EAC3Ee,MAAM,GAAGzB,cAAc,CAACyB,MAAM,EAAEF,cAAc,CAAC;EAC/CE,MAAM,GAAGzB,cAAc,CAACyB,MAAM,EAAED,SAAS,CAAC;EAE1C,MAAME,GAAG,GAAGhC,OAAO,CAAC,MAAMW,KAAK,CAACsB,EAAE,IAAI,QAAQ,CAAC;EAC/C,OAAO,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC3B,WAAW,CAACc,SAAS,EAAEb,OAAO,CAACM,KAAK,CAAC,CAAC,CAAC,GAAG;AACxE","ignoreList":[]}