{"version":3,"names":["dynamic","omit","onCleanup","untrack","useBaseUiId","useFieldRootContext","fieldStateAttrs","mergeRootProps","resolveClassStyle","useFieldMessagesContext","FieldDescription","props","field","messages","id","undefined","source","Symbol","registerMessageId","userStyling","state","userHtmlProps","internalProps","data-disabled","disabled","styledUserProps","merged","Tag","as"],"sources":["field-description.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { omit, onCleanup, untrack } from \"solid-js\";\nimport { useBaseUiId } from \"../../internals/base-ui-id\";\nimport {\n\ttype FieldRootState,\n\tuseFieldRootContext,\n} from \"../../internals/field-context.ts\";\nimport { fieldStateAttrs } from \"../../internals/field-state-attrs.ts\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport { useFieldMessagesContext } from \"../field-messages-context.ts\";\n\nexport interface FieldDescriptionState extends FieldRootState {}\n\nexport interface FieldDescriptionProps\n\textends BaseUIComponentProps<\"p\", FieldDescriptionState> {\n\t/** Tag/component to render. Defaults to `\"p\"`. */\n\tas?: ValidComponent;\n}\n\n/**\n * A paragraph with additional information about the field. Renders a `<p>`\n * element (or `as` override).\n */\nexport function FieldDescription(props: FieldDescriptionProps): JSX.Element {\n\tconst field = useFieldRootContext();\n\tconst messages = useFieldMessagesContext();\n\n\tconst id = useBaseUiId(\n\t\tuntrack(() => (typeof props.id === \"string\" ? props.id : undefined)),\n\t);\n\n\tconst source = Symbol(\"field-description\");\n\tmessages.registerMessageId(source, id);\n\tonCleanup(() => {\n\t\tmessages.registerMessageId(source, undefined);\n\t});\n\n\tconst userStyling = resolveClassStyle(props, () => field.state());\n\n\tconst userHtmlProps = omit(\n\t\tprops,\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\t\t\"as\",\n\t\t\"id\",\n\t) as Record<string, unknown>;\n\n\tconst internalProps = mergeRootProps(fieldStateAttrs(field.state), {\n\t\tid,\n\t\tget \"data-disabled\"(): \"\" | undefined {\n\t\t\treturn field.state().disabled ? \"\" : 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 ?? \"p\");\n\treturn <Tag {...merged} />;\n}\n"],"mappings":"AACA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,IAAI,EAAEC,SAAS,EAAEC,OAAO,QAAQ,UAAU;AACnD,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAECC,mBAAmB,QACb,kCAAkC;AACzC,SAASC,eAAe,QAAQ,sCAAsC;AACtE,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,iBAAiB,QAAQ,qCAAqC;AAEvE,SAASC,uBAAuB,QAAQ,8BAA8B;AAUtE;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAe;EAC3E,MAAMC,KAAK,GAAGP,mBAAmB,CAAC,CAAC;EACnC,MAAMQ,QAAQ,GAAGJ,uBAAuB,CAAC,CAAC;EAE1C,MAAMK,EAAE,GAAGV,WAAW,CACrBD,OAAO,CAAC,MAAO,OAAOQ,KAAK,CAACG,EAAE,KAAK,QAAQ,GAAGH,KAAK,CAACG,EAAE,GAAGC,SAAU,CACpE,CAAC;EAED,MAAMC,MAAM,GAAGC,MAAM,CAAC,mBAAmB,CAAC;EAC1CJ,QAAQ,CAACK,iBAAiB,CAACF,MAAM,EAAEF,EAAE,CAAC;EACtCZ,SAAS,CAAC,MAAM;IACfW,QAAQ,CAACK,iBAAiB,CAACF,MAAM,EAAED,SAAS,CAAC;EAC9C,CAAC,CAAC;EAEF,MAAMI,WAAW,GAAGX,iBAAiB,CAACG,KAAK,EAAE,MAAMC,KAAK,CAACQ,KAAK,CAAC,CAAC,CAAC;EAEjE,MAAMC,aAAa,GAAGpB,IAAI,CACzBU,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,IAAI,EACJ,IACD,CAA4B;EAE5B,MAAMW,aAAa,GAAGf,cAAc,CAACD,eAAe,CAACM,KAAK,CAACQ,KAAK,CAAC,EAAE;IAClEN,EAAE;IACF,IAAI,eAAeS,CAAA,EAAmB;MACrC,OAAOX,KAAK,CAACQ,KAAK,CAAC,CAAC,CAACI,QAAQ,GAAG,EAAE,GAAGT,SAAS;IAC/C;EACD,CAAC,CAAC;EAEF,MAAMU,eAAe,GAAGlB,cAAc,CAACY,WAAW,EAAEE,aAAa,CAAC;EAElE,MAAMK,MAAM,GAAGnB,cAAc,CAACe,aAAa,EAAEG,eAAe,CAAC;EAE7D,MAAME,GAAG,GAAG3B,OAAO,CAAC,MAAMW,KAAK,CAACiB,EAAE,IAAI,GAAG,CAAC;EAC1C,OAAO,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC,GAAG;AAC3B","ignoreList":[]}