{"version":3,"names":["dynamic","createSignal","omit","userRef","readOption","mergeRootProps","resolveClassStyle","VISUALLY_HIDDEN_STYLE","createMeter","MeterRootContext","MeterRoot","props","c","value","min","max","format","locale","getAriaValueText","formattedValue","labelId","setLabelId","undefined","ownedWrite","contextValue","userClassStyle","userProps","internalSlot","aria-labelledby","aria-valuetext","provided","ariaValueText","merged","root","Tag","as","children"],"sources":["meter-root.tsx"],"sourcesContent":["import type { JSX, ValidComponent } from \"@solidjs/web\";\nimport { dynamic } from \"@solidjs/web\";\nimport { createSignal, omit } from \"solid-js\";\nimport { userRef } from \"../../internals/compose-refs\";\nimport { type MaybeAccessor, readOption } from \"../../internals/maybe-accessor\";\nimport { mergeRootProps } from \"../../internals/merge-root-props\";\nimport { resolveClassStyle } from \"../../internals/resolve-class-style\";\nimport type { BaseUIComponentProps } from \"../../internals/types\";\nimport { VISUALLY_HIDDEN_STYLE } from \"../../internals/visually-hidden-style\";\nimport { createMeter } from \"../create-meter.tsx\";\nimport {\n\tMeterRootContext,\n\ttype MeterRootContextValue,\n} from \"../meter-root-context.ts\";\n\nexport type MeterRootState = Record<never, never>;\n\nexport interface MeterRootProps\n\textends Omit<\n\t\tBaseUIComponentProps<\"div\", MeterRootState>,\n\t\t| \"role\"\n\t\t| \"aria-valuemax\"\n\t\t| \"aria-valuemin\"\n\t\t| \"aria-valuenow\"\n\t\t| \"aria-labelledby\"\n\t> {\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\t\"aria-valuetext\"?: JSX.AriaAttributes[\"aria-valuetext\"] | undefined;\n\tformat?: MaybeAccessor<Intl.NumberFormatOptions | undefined>;\n\tgetAriaValueText?:\n\t\t| ((formattedValue: string, value: number) => string)\n\t\t| undefined;\n\tlocale?: MaybeAccessor<Intl.LocalesArgument | undefined>;\n\tmax?: MaybeAccessor<number | undefined>;\n\tmin?: MaybeAccessor<number | undefined>;\n\tvalue: MaybeAccessor<number>;\n}\n\n/**\n * Groups all parts of the meter and provides the value for screen readers.\n * Renders a `<div>` (or `as` override).\n *\n * §1 wave 2: replaces `renderElement` with `dynamic(() => props.as ?? \"div\")`.\n * The slot factory `createMeter().root()` carries `role=\"meter\"` and the\n * aria-valuemin/max/now/text getters; aria-labelledby is an inline reactive\n * getter on the wrapper's internal slot bag.\n */\nexport function MeterRoot(props: MeterRootProps): JSX.Element {\n\tconst c = createMeter({\n\t\tvalue: () => readOption(props.value),\n\t\tmin: () => readOption(props.min),\n\t\tmax: () => readOption(props.max),\n\t\tformat: () => readOption(props.format),\n\t\tlocale: () => readOption(props.locale),\n\t\tgetAriaValueText: props.getAriaValueText,\n\t});\n\tconst value = c.value;\n\tconst min = c.min;\n\tconst max = c.max;\n\tconst formattedValue = c.formattedValue;\n\n\tconst [labelId, setLabelId] = createSignal<string | undefined>(undefined, {\n\t\townedWrite: true,\n\t});\n\n\tconst contextValue: MeterRootContextValue = {\n\t\tvalue,\n\t\tmin,\n\t\tmax,\n\t\tformattedValue,\n\t\tsetLabelId,\n\t};\n\tconst userClassStyle = resolveClassStyle(props, () => ({}));\n\n\tconst userProps = omit(\n\t\tprops,\n\t\t\"as\",\n\t\t\"children\",\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"attrs\",\n\t\t\"format\",\n\t\t\"getAriaValueText\",\n\t\t\"locale\",\n\t\t\"max\",\n\t\t\"min\",\n\t\t\"value\",\n\t\t\"aria-valuetext\",\n\t);\n\n\tconst internalSlot = {\n\t\tget \"aria-labelledby\"(): string {\n\t\t\treturn labelId() ?? \"\";\n\t\t},\n\t\tget \"aria-valuetext\"(): string {\n\t\t\tconst provided = props[\"aria-valuetext\"];\n\t\t\treturn typeof provided === \"string\" ? provided : c.ariaValueText();\n\t\t},\n\t};\n\n\tlet merged: Record<string, unknown> = mergeRootProps(c.root(), internalSlot);\n\tmerged = mergeRootProps(merged, userClassStyle);\n\tmerged = mergeRootProps(merged, userProps);\n\n\tconst Tag = dynamic(() => props.as ?? \"div\");\n\treturn (\n\t\t<MeterRootContext value={contextValue}>\n\t\t\t<Tag {...merged} ref={userRef(props)}>\n\t\t\t\t{props.children}\n\t\t\t\t<span role=\"presentation\" style={{ ...VISUALLY_HIDDEN_STYLE }}>\n\t\t\t\t\t{/* force NVDA to read the label https://github.com/mui/base-ui/issues/4184 */}\n\t\t\t\t\tx\n\t\t\t\t</span>\n\t\t\t</Tag>\n\t\t</MeterRootContext>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}