{"version":3,"names":["dynamic","omit","mergeRootProps","resolveClassStyle","useAccordionItemContext","AccordionHeader","props","item","userStyling","state","userHtmlProps","internalProps","data-open","open","undefined","data-closed","data-disabled","disabled","data-index","i","index","Number","isInteger","String","styledUserProps","merged","Tag","as"],"sources":["accordion-header.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { omit } from \"solid-js\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport {\n\ttype AccordionItemState,\n\tuseAccordionItemContext,\n} from \"../accordion-item-context.ts\";\n\nexport interface AccordionHeaderState extends AccordionItemState {}\n\nexport interface AccordionHeaderProps\n\textends BaseUIComponentProps<\"h3\", AccordionHeaderState> {\n\t/** Tag/component to render. Defaults to `\"h3\"`. */\n\tas?: ValidComponent;\n}\n\n/**\n * Heading that labels the accordion's collapsible panel. Renders an `<h3>`\n * element by default — override via `as` for a different heading level.\n *\n * The header inherits all item-level data attributes (`data-open`,\n * `data-closed`, `data-disabled`, `data-index`) so consumers can style\n * heading + trigger together.\n */\nexport function AccordionHeader(props: AccordionHeaderProps): JSX.Element {\n\tconst item = useAccordionItemContext();\n\n\tconst userStyling = resolveClassStyle(props, () => item.state());\n\n\tconst userHtmlProps = omit(props, \"class\", \"style\", \"attrs\", \"as\") as Record<\n\t\tstring,\n\t\tunknown\n\t>;\n\n\tconst internalProps = {\n\t\tget \"data-open\"(): \"\" | undefined {\n\t\t\treturn item.state().open ? \"\" : undefined;\n\t\t},\n\t\tget \"data-closed\"(): \"\" | undefined {\n\t\t\treturn item.state().open ? undefined : \"\";\n\t\t},\n\t\tget \"data-disabled\"(): \"\" | undefined {\n\t\t\treturn item.state().disabled ? \"\" : undefined;\n\t\t},\n\t\tget \"data-index\"() {\n\t\t\tconst i = item.state().index;\n\t\t\treturn Number.isInteger(i) ? String(i) : undefined;\n\t\t},\n\t};\n\n\tconst styledUserProps = mergeRootProps(userStyling, userHtmlProps);\n\n\tconst merged = mergeRootProps(internalProps, styledUserProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"h3\");\n\treturn <Tag {...merged} />;\n}\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,IAAI,QAAQ,UAAU;AAC/B,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,iBAAiB,QAAQ,qCAAqC;AAEvE,SAECC,uBAAuB,QACjB,8BAA8B;AAUrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,KAA2B,EAAe;EACzE,MAAMC,IAAI,GAAGH,uBAAuB,CAAC,CAAC;EAEtC,MAAMI,WAAW,GAAGL,iBAAiB,CAACG,KAAK,EAAE,MAAMC,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;EAEhE,MAAMC,aAAa,GAAGT,IAAI,CAACK,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAGhE;EAED,MAAMK,aAAa,GAAG;IACrB,IAAI,WAAWC,CAAA,EAAmB;MACjC,OAAOL,IAAI,CAACE,KAAK,CAAC,CAAC,CAACI,IAAI,GAAG,EAAE,GAAGC,SAAS;IAC1C,CAAC;IACD,IAAI,aAAaC,CAAA,EAAmB;MACnC,OAAOR,IAAI,CAACE,KAAK,CAAC,CAAC,CAACI,IAAI,GAAGC,SAAS,GAAG,EAAE;IAC1C,CAAC;IACD,IAAI,eAAeE,CAAA,EAAmB;MACrC,OAAOT,IAAI,CAACE,KAAK,CAAC,CAAC,CAACQ,QAAQ,GAAG,EAAE,GAAGH,SAAS;IAC9C,CAAC;IACD,IAAI,YAAYI,CAAA,EAAG;MAClB,MAAMC,CAAC,GAAGZ,IAAI,CAACE,KAAK,CAAC,CAAC,CAACW,KAAK;MAC5B,OAAOC,MAAM,CAACC,SAAS,CAACH,CAAC,CAAC,GAAGI,MAAM,CAACJ,CAAC,CAAC,GAAGL,SAAS;IACnD;EACD,CAAC;EAED,MAAMU,eAAe,GAAGtB,cAAc,CAACM,WAAW,EAAEE,aAAa,CAAC;EAElE,MAAMe,MAAM,GAAGvB,cAAc,CAACS,aAAa,EAAEa,eAAe,CAAC;EAE7D,MAAME,GAAG,GAAG1B,OAAO,CAAC,MAAMM,KAAK,CAACqB,EAAE,IAAI,IAAI,CAAC;EAC3C,OAAO,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC,GAAG;AAC3B","ignoreList":[]}