{"version":3,"names":["dynamic","omit","mergeRootProps","resolveClassStyle","valueToPercent","useMeterRootContext","MeterIndicator","props","context","style","pct","value","min","max","height","width","userClassStyle","userProps","internalSlot","merged","Tag","as"],"sources":["meter-indicator.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 { valueToPercent } from \"../../internals/value-to-percent\";\nimport { useMeterRootContext } from \"../meter-root-context.ts\";\nimport type { MeterRootState } from \"../root/meter-root.tsx\";\n\nexport interface MeterIndicatorState extends MeterRootState {}\n\nexport interface MeterIndicatorProps\n\textends BaseUIComponentProps<\"div\", MeterIndicatorState> {\n\t/** Tag/component to render. Defaults to `\"div\"`. */\n\tas?: ValidComponent;\n}\n\n/**\n * Visualizes the position of the value along the range. Renders a `<div>`\n * (or `as` override).\n *\n * §1 wave 2: replaces `renderElement` with a `dynamic()` element. Sizing style is a\n * reactive getter on the internal slot bag.\n */\nexport function MeterIndicator(props: MeterIndicatorProps): JSX.Element {\n\tconst context = useMeterRootContext();\n\n\tconst style = (): JSX.CSSProperties => {\n\t\tconst pct = valueToPercent(context.value(), context.min(), context.max());\n\t\treturn {\n\t\t\t\"inset-inline-start\": 0,\n\t\t\theight: \"inherit\",\n\t\t\twidth: `${pct}%`,\n\t\t};\n\t};\n\n\tconst userClassStyle = resolveClassStyle(props, () => ({}));\n\tconst userProps = omit(props, \"as\", \"class\", \"style\", \"attrs\");\n\n\tconst internalSlot = {\n\t\tget style(): JSX.CSSProperties {\n\t\t\treturn style();\n\t\t},\n\t};\n\n\tlet merged = mergeRootProps(internalSlot, userClassStyle);\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,SAASC,cAAc,QAAQ,kCAAkC;AACjE,SAASC,mBAAmB,QAAQ,0BAA0B;AAW9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,KAA0B,EAAe;EACvE,MAAMC,OAAO,GAAGH,mBAAmB,CAAC,CAAC;EAErC,MAAMI,KAAK,GAAGA,CAAA,KAAyB;IACtC,MAAMC,GAAG,GAAGN,cAAc,CAACI,OAAO,CAACG,KAAK,CAAC,CAAC,EAAEH,OAAO,CAACI,GAAG,CAAC,CAAC,EAAEJ,OAAO,CAACK,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO;MACN,oBAAoB,EAAE,CAAC;MACvBC,MAAM,EAAE,SAAS;MACjBC,KAAK,EAAE,GAAGL,GAAG;IACd,CAAC;EACF,CAAC;EAED,MAAMM,cAAc,GAAGb,iBAAiB,CAACI,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;EAC3D,MAAMU,SAAS,GAAGhB,IAAI,CAACM,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;EAE9D,MAAMW,YAAY,GAAG;IACpB,IAAIT,KAAKA,CAAA,EAAsB;MAC9B,OAAOA,KAAK,CAAC,CAAC;IACf;EACD,CAAC;EAED,IAAIU,MAAM,GAAGjB,cAAc,CAACgB,YAAY,EAAEF,cAAc,CAAC;EACzDG,MAAM,GAAGjB,cAAc,CAACiB,MAAM,EAAEF,SAAS,CAAC;EAE1C,MAAMG,GAAG,GAAGpB,OAAO,CAAC,MAAMO,KAAK,CAACc,EAAE,IAAI,KAAK,CAAC;EAC5C,OAAO,CAAC,GAAG,CAAC,IAAIF,MAAM,CAAC,GAAG;AAC3B","ignoreList":[]}