{"version":3,"names":["dynamic","omit","createChangeEventDetails","REASONS","composeRefs","userRef","mergeRootProps","resolveClassStyle","useButton","useDialogRootContext","DialogClose","props","root","disabled","Boolean","nativeButton","buttonProps","ref","buttonRef","focusableWhenDisabled","native","internal","onClick","event","open","currentTarget","details","closePress","undefined","preventUnmountOnClose","setOpen","userClassStyle","userProps","merged","Tag","as"],"sources":["dialog-close.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\n/**\n * `<Dialog.Close>` — button that closes the dialog.\n */\n\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 type { DialogRootChangeEventDetails } from \"../dialog-root-context\";\nimport { useDialogRootContext } from \"../dialog-root-context\";\n\n// biome-ignore lint/complexity/noBannedTypes: matches Base UI React — close exposes no state fields.\nexport type DialogCloseState = {};\n\nexport interface DialogCloseProps\n\textends NativeButtonProps,\n\t\tBaseUIComponentProps<\"button\", DialogCloseState> {\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 dialog. Renders a `<button>` by default.\n */\nexport function DialogClose(props: DialogCloseProps): JSX.Element {\n\tconst root = useDialogRootContext();\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\tif (!root.open()) return;\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\t{ preventUnmountOnClose: () => {} },\n\t\t\t) as DialogRootChangeEventDetails;\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;AACA;AACA;;AAEA,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;AAEjE,SAASC,oBAAoB,QAAQ,wBAAwB;;AAE7D;;AAaA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAACC,KAAuB,EAAe;EACjE,MAAMC,IAAI,GAAGH,oBAAoB,CAAC,CAAC;EAEnC,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,IAAI,CAACX,IAAI,CAACY,IAAI,CAAC,CAAC,EAAE;MAClB,MAAMC,aAAa,GAAGF,KAAK,CAACE,aAAmC;MAC/D,MAAMC,OAAO,GAAGxB,wBAAwB,CACvCC,OAAO,CAACwB,UAAU,EAClBJ,KAAK,EACLE,aAAa,IAAIG,SAAS,EAC1B;QAAEC,qBAAqB,EAAEA,CAAA,KAAM,CAAC;MAAE,CACnC,CAAiC;MACjCjB,IAAI,CAACkB,OAAO,CAAC,KAAK,EAAEJ,OAAO,CAAC;IAC7B;EACD,CAAC;EAED,MAAMK,cAAc,GAAGxB,iBAAiB,CAACI,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;EAE3D,MAAMqB,SAAS,GAAG/B,IAAI,CACrBU,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EAEP,UAAU,EACV,cACD,CAAC;EAED,IAAIsB,MAA+B,GAAG3B,cAAc,CAACe,QAAQ,EAAEL,WAAW,CAAC;EAC3EiB,MAAM,GAAG3B,cAAc,CAAC2B,MAAM,EAAEF,cAAc,CAAC;EAC/CE,MAAM,GAAG3B,cAAc,CAAC2B,MAAM,EAAED,SAAS,CAAC;EAE1C,MAAME,GAAG,GAAGlC,OAAO,CAAC,MAAMW,KAAK,CAACwB,EAAE,IAAI,QAAQ,CAAC;EAC/C,OAAO,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC7B,WAAW,CAACc,SAAS,EAAEb,OAAO,CAACM,KAAK,CAAC,CAAC,CAAC,GAAG;AACxE","ignoreList":[]}