{"version":3,"names":["dynamic","createSignal","omit","mergeRootProps","resolveClassStyle","useButton","useToastProviderContext","useToastRootContext","ToastClose","props","store","ctx","disabled","Boolean","nativeButton","button","native","hasFocus","setHasFocus","userClassStyle","type","toast","userHtmlProps","internalProps","ref","aria-hidden","expanded","undefined","data-type","onClick","closeToast","id","onFocus","onBlur","merged","Tag","as"],"sources":["toast-close.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createSignal, omit } from \"solid-js\";\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 { useToastProviderContext } from \"../provider/toast-provider-context\";\nimport { useToastRootContext } from \"../root/toast-root-context\";\n\nexport interface ToastCloseState {\n\ttype: string | undefined;\n}\n\nexport interface ToastCloseProps\n\textends NativeButtonProps,\n\t\tBaseUIComponentProps<\"button\", ToastCloseState> {\n\t/** Tag/component to render. Defaults to `\"button\"`. */\n\tas?: ValidComponent;\n}\n\n/**\n * Close button for the toast.\n */\nexport function ToastClose(props: ToastCloseProps): JSX.Element {\n\tconst store = useToastProviderContext();\n\tconst ctx = useToastRootContext();\n\n\tconst disabled = (): boolean => Boolean(props.disabled);\n\tconst nativeButton = (): boolean => props.nativeButton ?? true;\n\n\tconst button = useButton({\n\t\tdisabled,\n\t\tnative: nativeButton,\n\t});\n\n\tconst [hasFocus, setHasFocus] = createSignal(false);\n\tconst userClassStyle = resolveClassStyle(props, () => ({\n\t\ttype: ctx.toast().type,\n\t}));\n\n\tconst userHtmlProps = omit(\n\t\tprops,\n\t\t\"as\",\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\t\t\"nativeButton\",\n\t) as Record<string, unknown>;\n\n\tconst internalProps = {\n\t\tref: button.ref,\n\t\tget \"aria-hidden\"() {\n\t\t\treturn !ctx.expanded() && !hasFocus() ? \"true\" : undefined;\n\t\t},\n\t\tget \"data-type\"() {\n\t\t\treturn ctx.toast().type;\n\t\t},\n\t\tonClick() {\n\t\t\tstore.closeToast(ctx.toast().id);\n\t\t},\n\t\tonFocus() {\n\t\t\tsetHasFocus(true);\n\t\t},\n\t\tonBlur() {\n\t\t\tsetHasFocus(false);\n\t\t},\n\t};\n\n\tconst merged = mergeRootProps(\n\t\tmergeRootProps(mergeRootProps(internalProps, button.props), userClassStyle),\n\t\tuserHtmlProps,\n\t);\n\n\tconst Tag = dynamic(() => props.as ?? \"button\");\n\treturn <Tag {...merged} />;\n}\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,YAAY,EAAEC,IAAI,QAAQ,UAAU;AAC7C,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,iBAAiB,QAAQ,qCAAqC;AAKvE,SAASC,SAAS,QAAQ,uCAAuC;AACjE,SAASC,uBAAuB,QAAQ,oCAAoC;AAC5E,SAASC,mBAAmB,QAAQ,4BAA4B;AAahE;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAACC,KAAsB,EAAe;EAC/D,MAAMC,KAAK,GAAGJ,uBAAuB,CAAC,CAAC;EACvC,MAAMK,GAAG,GAAGJ,mBAAmB,CAAC,CAAC;EAEjC,MAAMK,QAAQ,GAAGA,CAAA,KAAeC,OAAO,CAACJ,KAAK,CAACG,QAAQ,CAAC;EACvD,MAAME,YAAY,GAAGA,CAAA,KAAeL,KAAK,CAACK,YAAY,IAAI,IAAI;EAE9D,MAAMC,MAAM,GAAGV,SAAS,CAAC;IACxBO,QAAQ;IACRI,MAAM,EAAEF;EACT,CAAC,CAAC;EAEF,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAGjB,YAAY,CAAC,KAAK,CAAC;EACnD,MAAMkB,cAAc,GAAGf,iBAAiB,CAACK,KAAK,EAAE,OAAO;IACtDW,IAAI,EAAET,GAAG,CAACU,KAAK,CAAC,CAAC,CAACD;EACnB,CAAC,CAAC,CAAC;EAEH,MAAME,aAAa,GAAGpB,IAAI,CACzBO,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EACP,cACD,CAA4B;EAE5B,MAAMc,aAAa,GAAG;IACrBC,GAAG,EAAET,MAAM,CAACS,GAAG;IACf,IAAI,aAAaC,CAAA,EAAG;MACnB,OAAO,CAACd,GAAG,CAACe,QAAQ,CAAC,CAAC,IAAI,CAACT,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAGU,SAAS;IAC3D,CAAC;IACD,IAAI,WAAWC,CAAA,EAAG;MACjB,OAAOjB,GAAG,CAACU,KAAK,CAAC,CAAC,CAACD,IAAI;IACxB,CAAC;IACDS,OAAOA,CAAA,EAAG;MACTnB,KAAK,CAACoB,UAAU,CAACnB,GAAG,CAACU,KAAK,CAAC,CAAC,CAACU,EAAE,CAAC;IACjC,CAAC;IACDC,OAAOA,CAAA,EAAG;MACTd,WAAW,CAAC,IAAI,CAAC;IAClB,CAAC;IACDe,MAAMA,CAAA,EAAG;MACRf,WAAW,CAAC,KAAK,CAAC;IACnB;EACD,CAAC;EAED,MAAMgB,MAAM,GAAG/B,cAAc,CAC5BA,cAAc,CAACA,cAAc,CAACoB,aAAa,EAAER,MAAM,CAACN,KAAK,CAAC,EAAEU,cAAc,CAAC,EAC3EG,aACD,CAAC;EAED,MAAMa,GAAG,GAAGnC,OAAO,CAAC,MAAMS,KAAK,CAAC2B,EAAE,IAAI,QAAQ,CAAC;EAC/C,OAAO,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC,GAAG;AAC3B","ignoreList":[]}