{"version":3,"names":["dynamic","omit","mergeRootProps","resolveClassStyle","useProgressRootContext","ProgressTrack","props","context","userClassStyle","status","userProps","internalSlot","data-indeterminate","undefined","data-progressing","data-complete","merged","Tag","as"],"sources":["progress-track.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 ProgressRootState,\n\tuseProgressRootContext,\n} from \"../progress-root-context.ts\";\n\nexport interface ProgressTrackState extends ProgressRootState {}\n\nexport interface ProgressTrackProps\n\textends BaseUIComponentProps<\"div\", ProgressTrackState> {\n\t/**\n\t * Tag/component to render. Defaults to `\"div\"`. Replaces the\n\t * pre-spike `render` prop (axis G).\n\t */\n\tas?: ValidComponent;\n}\n\n/**\n * Contains the progress bar indicator. Renders a `<div>` (or `as` override).\n *\n * §1 wave 2: replaces `renderElement` with `dynamic(() => props.as ?? \"div\")`.\n * The progress status (`indeterminate` | `progressing` | `complete`) projects\n * to `data-indeterminate` / `data-progressing` / `data-complete` via inline\n * reactive getters on the internal slot bag.\n */\nexport function ProgressTrack(props: ProgressTrackProps): JSX.Element {\n\tconst context = useProgressRootContext();\n\n\t// Resolve `class`/`style` here so function values (stateful styling) are\n\t// invoked with the progress state — otherwise a `class={(state) => …}` is\n\t// spread to the DOM raw and never applied (no class attribute at all).\n\tconst userClassStyle = resolveClassStyle(props, () => ({\n\t\tstatus: context.status(),\n\t}));\n\tconst userProps = omit(props, \"as\", \"class\", \"style\", \"attrs\");\n\n\tconst internalSlot = {\n\t\tget \"data-indeterminate\"(): \"\" | undefined {\n\t\t\treturn context.status() === \"indeterminate\" ? \"\" : undefined;\n\t\t},\n\t\tget \"data-progressing\"(): \"\" | undefined {\n\t\t\treturn context.status() === \"progressing\" ? \"\" : undefined;\n\t\t},\n\t\tget \"data-complete\"(): \"\" | undefined {\n\t\t\treturn context.status() === \"complete\" ? \"\" : undefined;\n\t\t},\n\t};\n\n\tlet merged: Record<string, unknown> = mergeRootProps(\n\t\tinternalSlot,\n\t\tuserClassStyle,\n\t);\n\tmerged = mergeRootProps(merged, userProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\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,sBAAsB,QAChB,6BAA6B;AAapC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,KAAyB,EAAe;EACrE,MAAMC,OAAO,GAAGH,sBAAsB,CAAC,CAAC;;EAExC;EACA;EACA;EACA,MAAMI,cAAc,GAAGL,iBAAiB,CAACG,KAAK,EAAE,OAAO;IACtDG,MAAM,EAAEF,OAAO,CAACE,MAAM,CAAC;EACxB,CAAC,CAAC,CAAC;EACH,MAAMC,SAAS,GAAGT,IAAI,CAACK,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;EAE9D,MAAMK,YAAY,GAAG;IACpB,IAAI,oBAAoBC,CAAA,EAAmB;MAC1C,OAAOL,OAAO,CAACE,MAAM,CAAC,CAAC,KAAK,eAAe,GAAG,EAAE,GAAGI,SAAS;IAC7D,CAAC;IACD,IAAI,kBAAkBC,CAAA,EAAmB;MACxC,OAAOP,OAAO,CAACE,MAAM,CAAC,CAAC,KAAK,aAAa,GAAG,EAAE,GAAGI,SAAS;IAC3D,CAAC;IACD,IAAI,eAAeE,CAAA,EAAmB;MACrC,OAAOR,OAAO,CAACE,MAAM,CAAC,CAAC,KAAK,UAAU,GAAG,EAAE,GAAGI,SAAS;IACxD;EACD,CAAC;EAED,IAAIG,MAA+B,GAAGd,cAAc,CACnDS,YAAY,EACZH,cACD,CAAC;EACDQ,MAAM,GAAGd,cAAc,CAACc,MAAM,EAAEN,SAAS,CAAC;EAE1C,MAAMO,GAAG,GAAGjB,OAAO,CAAC,MAAMM,KAAK,CAACY,EAAE,IAAI,KAAK,CAAC;EAC5C,OAAO,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC,GAAG;AAC3B","ignoreList":[]}