@viraui/react 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/catalog.json +13 -1
  2. package/dist/components/annotate/annotate.css +1 -0
  3. package/dist/components/annotate/annotate.d.ts +88 -0
  4. package/dist/components/annotate/annotate.guide.json +103 -0
  5. package/dist/components/annotate/annotate.js +31 -0
  6. package/dist/components/annotate/annotate.module.js +5 -0
  7. package/dist/components/annotate/index.d.ts +2 -0
  8. package/dist/components/avatar/avatar.d.ts +1 -2
  9. package/dist/components/avatar/avatar.js +3 -6
  10. package/dist/components/avatar-group/avatar-group.d.ts +1 -2
  11. package/dist/components/avatar-group/avatar-group.js +1 -4
  12. package/dist/components/basic-input/basic-input.css +1 -1
  13. package/dist/components/basic-input/basic-input.d.ts +7 -0
  14. package/dist/components/basic-input/basic-input.js +4 -1
  15. package/dist/components/basic-input/input-control-group.js +2 -2
  16. package/dist/components/bleed/bleed.d.ts +1 -2
  17. package/dist/components/bleed/bleed.js +1 -4
  18. package/dist/components/button/button-link.d.ts +1 -2
  19. package/dist/components/button/button-link.js +1 -4
  20. package/dist/components/button/button.d.ts +1 -2
  21. package/dist/components/button/button.js +2 -6
  22. package/dist/components/checkbox/checkbox.css +1 -1
  23. package/dist/components/chip/chip.d.ts +1 -2
  24. package/dist/components/chip/chip.js +3 -6
  25. package/dist/components/clamp-text/clamp-text.d.ts +1 -2
  26. package/dist/components/clamp-text/clamp-text.js +1 -4
  27. package/dist/components/dialog/dialog-sheet.js +1 -1
  28. package/dist/components/dialog/dialog.css +1 -1
  29. package/dist/components/elevator/elevator.d.ts +1 -2
  30. package/dist/components/elevator/elevator.js +1 -4
  31. package/dist/components/fieldset/fieldset.d.ts +1 -2
  32. package/dist/components/fieldset/fieldset.js +16 -21
  33. package/dist/components/fit-text/fit-text.css +1 -0
  34. package/dist/components/fit-text/fit-text.d.ts +18 -0
  35. package/dist/components/fit-text/fit-text.guide.json +39 -0
  36. package/dist/components/fit-text/fit-text.js +31 -0
  37. package/dist/components/fit-text/fit-text.module.js +13 -0
  38. package/dist/components/fit-text/index.d.ts +2 -0
  39. package/dist/components/index.d.ts +2 -0
  40. package/dist/components/linear-progress/linear-progress.d.ts +0 -13
  41. package/dist/components/linear-progress/linear-progress.js +41 -46
  42. package/dist/components/masonry/index.d.ts +1 -1
  43. package/dist/components/masonry/masonry-item.d.ts +1 -2
  44. package/dist/components/masonry/masonry-item.js +10 -15
  45. package/dist/components/masonry/masonry.d.ts +10 -11
  46. package/dist/components/masonry/masonry.guide.json +1 -1
  47. package/dist/components/masonry/masonry.js +9 -18
  48. package/dist/components/meter/meter.d.ts +0 -13
  49. package/dist/components/meter/meter.js +40 -45
  50. package/dist/components/popover/popover-sheet.js +1 -1
  51. package/dist/components/progressive-blur/progressive-blur.d.ts +1 -2
  52. package/dist/components/progressive-blur/progressive-blur.js +1 -4
  53. package/dist/components/progressive-blur/progressive-blur.utils.js +4 -7
  54. package/dist/components/select/select-indicator-slot.js +3 -3
  55. package/dist/components/select/select-option.js +2 -2
  56. package/dist/components/select/select.d.ts +1 -2
  57. package/dist/components/select/select.js +3 -6
  58. package/dist/components/separator/separator.d.ts +1 -2
  59. package/dist/components/separator/separator.js +1 -4
  60. package/dist/components/shimmer/shimmer.d.ts +1 -2
  61. package/dist/components/shimmer/shimmer.js +1 -4
  62. package/dist/components/skeleton/skeleton.d.ts +1 -2
  63. package/dist/components/skeleton/skeleton.js +1 -4
  64. package/dist/components/slider/slider.d.ts +0 -13
  65. package/dist/components/slider/slider.js +1 -4
  66. package/dist/components/spinner/spinner.d.ts +1 -2
  67. package/dist/components/spinner/spinner.js +19 -24
  68. package/dist/components/stack/stack.d.ts +1 -2
  69. package/dist/components/stack/stack.js +1 -4
  70. package/dist/components/static-noise/static-noise.d.ts +1 -2
  71. package/dist/components/static-noise/static-noise.js +1 -4
  72. package/dist/components/surface/surface.d.ts +1 -2
  73. package/dist/components/surface/surface.js +1 -4
  74. package/dist/components/switch/switch.d.ts +0 -13
  75. package/dist/components/switch/switch.js +1 -4
  76. package/dist/components/text/text.d.ts +1 -2
  77. package/dist/components/text/text.js +1 -4
  78. package/dist/components/textarea/textarea.d.ts +9 -15
  79. package/dist/components/textarea/textarea.guide.json +7 -1
  80. package/dist/components/textarea/textarea.js +34 -38
  81. package/dist/components/textfield/textfield.d.ts +9 -2
  82. package/dist/components/textfield/textfield.guide.json +5 -0
  83. package/dist/components/textfield/textfield.js +38 -42
  84. package/dist/components/title/title.d.ts +1 -2
  85. package/dist/components/title/title.js +1 -4
  86. package/dist/components/toast/toast-banner.js +1 -1
  87. package/dist/components/tooltip/tooltip-content.js +1 -1
  88. package/dist/components/typewriter/typewriter.d.ts +1 -2
  89. package/dist/components/typewriter/typewriter.js +1 -4
  90. package/dist/index.d.ts +0 -1
  91. package/dist/index.js +3 -1
  92. package/dist/preflight-surface.json +19 -20
  93. package/dist/preflight.css +1 -1
  94. package/package.json +2 -2
  95. package/dist/core/props/intrinsic-vira-props.d.ts +0 -30
  96. package/dist/core/props/intrinsic-vira-props.js +0 -14
@@ -1,6 +1,5 @@
1
1
  import './meter.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
3
  import { Text } from "../text/text.js";
5
4
  import { FieldLabel } from "../basic-input/field-label.js";
6
5
  import { Stack } from "../stack/stack.js";
@@ -8,52 +7,48 @@ import meter_module_default from "./meter.module.js";
8
7
  import { jsx, jsxs } from "react/jsx-runtime";
9
8
  import { Meter } from "@base-ui/react";
10
9
  //#region src/components/meter/meter.tsx
11
- var Meter$1 = ({ className, description, label, showValue = false, value, ...otherProps }) => {
12
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
13
- return /* @__PURE__ */ jsxs(Meter.Root, {
14
- ...componentProps,
15
- ...intrinsicAttributes,
16
- className: clsx(meter_module_default.Meter, className),
17
- value,
18
- render: /* @__PURE__ */ jsx(Stack, {
19
- direction: "column",
10
+ var Meter$1 = ({ className, description, label, showValue = false, value, ...otherProps }) => /* @__PURE__ */ jsxs(Meter.Root, {
11
+ ...otherProps,
12
+ className: clsx(meter_module_default.Meter, className),
13
+ value,
14
+ render: /* @__PURE__ */ jsx(Stack, {
15
+ direction: "column",
16
+ fillChildren: false,
17
+ rowGap: "small",
18
+ columnGap: "x-small"
19
+ }),
20
+ children: [
21
+ (label || showValue) && /* @__PURE__ */ jsxs(Stack, {
22
+ direction: "row",
20
23
  fillChildren: false,
21
- rowGap: "small",
22
- columnGap: "x-small"
23
- }),
24
- children: [
25
- (label || showValue) && /* @__PURE__ */ jsxs(Stack, {
26
- direction: "row",
27
- fillChildren: false,
28
- columnGap: "small",
29
- vAlign: "center",
30
- hAlign: "space-between",
31
- children: [label && /* @__PURE__ */ jsx(Meter.Label, {
32
- render: /* @__PURE__ */ jsx(FieldLabel, {}),
33
- children: label
34
- }), showValue && /* @__PURE__ */ jsx(Text, {
35
- size: "small",
36
- tone: "muted",
37
- family: "mono",
38
- whiteSpace: "nowrap",
39
- selection: false,
40
- align: "end",
41
- shrink: false,
42
- render: /* @__PURE__ */ jsx(Meter.Value, { render: /* @__PURE__ */ jsx("output", {}) })
43
- })]
44
- }),
45
- /* @__PURE__ */ jsx(Meter.Track, {
46
- className: meter_module_default.Track,
47
- children: /* @__PURE__ */ jsx(Meter.Indicator, { className: meter_module_default.Indicator })
48
- }),
49
- description && /* @__PURE__ */ jsx(Text, {
50
- className: meter_module_default.Description,
24
+ columnGap: "small",
25
+ vAlign: "center",
26
+ hAlign: "space-between",
27
+ children: [label && /* @__PURE__ */ jsx(Meter.Label, {
28
+ render: /* @__PURE__ */ jsx(FieldLabel, {}),
29
+ children: label
30
+ }), showValue && /* @__PURE__ */ jsx(Text, {
51
31
  size: "small",
52
32
  tone: "muted",
53
- children: description
54
- })
55
- ]
56
- });
57
- };
33
+ family: "mono",
34
+ whiteSpace: "nowrap",
35
+ selection: false,
36
+ align: "end",
37
+ "data-shrink": "false",
38
+ render: /* @__PURE__ */ jsx(Meter.Value, { render: /* @__PURE__ */ jsx("output", {}) })
39
+ })]
40
+ }),
41
+ /* @__PURE__ */ jsx(Meter.Track, {
42
+ className: meter_module_default.Track,
43
+ children: /* @__PURE__ */ jsx(Meter.Indicator, { className: meter_module_default.Indicator })
44
+ }),
45
+ description && /* @__PURE__ */ jsx(Text, {
46
+ className: meter_module_default.Description,
47
+ size: "small",
48
+ tone: "muted",
49
+ children: description
50
+ })
51
+ ]
52
+ });
58
53
  //#endregion
59
54
  export { Meter$1 as Meter };
@@ -25,7 +25,7 @@ var PopoverSheet = ({ unstyled, title, description, children, showCloseButton =
25
25
  color: 1,
26
26
  border: "all",
27
27
  radius: "large",
28
- vibrant: true,
28
+ "data-vibrant": "",
29
29
  render: /* @__PURE__ */ jsx(Stack, {
30
30
  rowGap: "medium",
31
31
  fillChildren: false
@@ -1,4 +1,3 @@
1
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
2
1
  import { ProgressiveBlurDirection, ProgressiveBlurEasing } from './progressive-blur.utils';
3
2
  import type * as React from 'react';
4
3
  /**
@@ -9,7 +8,7 @@ import type * as React from 'react';
9
8
  *
10
9
  * @default Native div pass-through props keep React defaults.
11
10
  */
12
- export type ProgressiveBlurProps = React.ComponentPropsWithRef<'div'> & IntrinsicViraProps & {
11
+ export type ProgressiveBlurProps = React.ComponentPropsWithRef<'div'> & {
13
12
  /**
14
13
  * Sets the maximum blur radius applied to the first layer at the selected edge.
15
14
  *
@@ -1,12 +1,10 @@
1
1
  import './progressive-blur.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
3
  import progressive_blur_module_default from "./progressive-blur.module.js";
5
4
  import { formatProgressiveBlurMaskGradient, getProgressiveBlurFactor, getProgressiveBlurMaskStops, resolveProgressiveBlurSteps } from "./progressive-blur.utils.js";
6
5
  import { jsx } from "react/jsx-runtime";
7
6
  //#region src/components/progressive-blur/progressive-blur.tsx
8
7
  var ProgressiveBlur = ({ blur = "16px", className, direction = "bottom", easing = "exponential", ref, steps, style, ...otherProps }) => {
9
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
10
8
  const resolvedSteps = resolveProgressiveBlurSteps(steps, easing);
11
9
  const dynamicStyle = {
12
10
  "--vui-progressive-blur-amount": blur,
@@ -25,8 +23,7 @@ var ProgressiveBlur = ({ blur = "16px", className, direction = "bottom", easing
25
23
  }, layerIndex);
26
24
  });
27
25
  return /* @__PURE__ */ jsx("div", {
28
- ...componentProps,
29
- ...intrinsicAttributes,
26
+ ...otherProps,
30
27
  ref,
31
28
  "aria-hidden": "true",
32
29
  className: clsx(progressive_blur_module_default.ProgressiveBlur, className),
@@ -12,13 +12,10 @@ var resolveProgressiveBlurSteps = (steps, easing) => {
12
12
  var getProgressiveBlurFactor = (easing, layerIndex, totalSteps) => {
13
13
  if (easing === "exponential") return .5 ** layerIndex;
14
14
  const progress = layerIndex / (totalSteps - 1);
15
- switch (easing) {
16
- case "linear": return 1 - progress;
17
- case "ease-in": return 1 - progress * progress;
18
- case "ease-out": return 1 - (1 - (1 - progress) ** 2);
19
- case "ease-in-out": return 1 - (progress < .5 ? 2 * progress * progress : 1 - (-2 * progress + 2) ** 2 / 2);
20
- default: return 1 - progress;
21
- }
15
+ if (easing === "linear") return 1 - progress;
16
+ if (easing === "ease-in") return 1 - progress * progress;
17
+ if (easing === "ease-out") return 1 - (1 - (1 - progress) ** 2);
18
+ return 1 - (progress < .5 ? 2 * progress * progress : 1 - (-2 * progress + 2) ** 2 / 2);
22
19
  };
23
20
  var getProgressiveBlurMaskStops = (layerIndex, totalSteps) => {
24
21
  const increment = 100 / totalSteps;
@@ -7,7 +7,7 @@ var indicatorStackRender = /* @__PURE__ */ jsx(Stack, {
7
7
  fillChildren: false,
8
8
  hAlign: "center",
9
9
  inline: true,
10
- shrink: false,
10
+ "data-shrink": "false",
11
11
  vAlign: "center"
12
12
  });
13
13
  function SelectIndicatorSlot({ children, interactive = false }) {
@@ -21,11 +21,11 @@ function SelectIndicatorSlot({ children, interactive = false }) {
21
21
  return /* @__PURE__ */ jsx(Stack, {
22
22
  "aria-hidden": true,
23
23
  className: select_module_default.Indicator,
24
- grow: false,
24
+ "data-grow": "false",
25
25
  fillChildren: false,
26
26
  hAlign: "center",
27
27
  inline: true,
28
- shrink: false,
28
+ "data-shrink": "false",
29
29
  vAlign: "center"
30
30
  });
31
31
  }
@@ -31,8 +31,8 @@ function SelectOption({ addon, addonAlign = "center", children, className, disab
31
31
  children: [addon && /* @__PURE__ */ jsx(Stack, {
32
32
  vPadding: "2x-small",
33
33
  "aria-hidden": "true",
34
- grow: false,
35
- shrink: false,
34
+ "data-grow": "false",
35
+ "data-shrink": "false",
36
36
  children: addon
37
37
  }), /* @__PURE__ */ jsx(Text, {
38
38
  lineHeight: "small",
@@ -1,6 +1,5 @@
1
1
  import { FieldRoot } from '@base-ui/react/field';
2
2
  import { SelectRoot } from '@base-ui/react/select';
3
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
4
3
  import { SelectGroup } from './select-group';
5
4
  import { SelectOption } from './select-option';
6
5
  import { SelectSeparator } from './select-separator';
@@ -14,7 +13,7 @@ import type * as React from 'react';
14
13
  *
15
14
  * @default Base UI pass-through props keep upstream defaults.
16
15
  */
17
- export type SelectProps = SelectRoot.Props<string> & Omit<FieldRoot.Props, 'ref'> & IntrinsicViraProps & {
16
+ export type SelectProps = SelectRoot.Props<string> & Omit<FieldRoot.Props, 'ref'> & {
18
17
  /**
19
18
  * Visible label rendered with shared internal `FieldLabel`.
20
19
  *
@@ -2,7 +2,6 @@
2
2
  import './select.css';
3
3
  import { clsx } from "../../core/clsx.js";
4
4
  import { ChromeChevronDown, ChromeChevronExpandY, ChromeChevronUp } from "../../internal/chrome-icons/chrome-icons.js";
5
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
6
5
  import { Text } from "../text/text.js";
7
6
  import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
8
7
  import { FieldLabel } from "../basic-input/field-label.js";
@@ -20,15 +19,13 @@ import { Field } from "@base-ui/react/field";
20
19
  import { Select } from "@base-ui/react/select";
21
20
  //#region src/components/select/select.tsx
22
21
  function SelectRootComponent({ alignListWithTrigger = true, children, className, description, dirty, disabled, error, addon = /* @__PURE__ */ jsx(ChromeChevronExpandY, { size: 16 }), invalid, label, name, placeholder, ref, touched, validate, validationDebounceTime, validationMode, ...selectRootProps }) {
23
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(selectRootProps);
24
- const { "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...restSelectProps } = componentProps;
22
+ const { "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...restSelectProps } = selectRootProps;
25
23
  const fieldLabelId = useId();
26
24
  const listAccessibleNameProps = {};
27
25
  if (ariaLabel !== void 0) listAccessibleNameProps["aria-label"] = ariaLabel;
28
26
  else if (ariaLabelledBy !== void 0) listAccessibleNameProps["aria-labelledby"] = ariaLabelledBy;
29
27
  else if (label !== void 0) listAccessibleNameProps["aria-labelledby"] = fieldLabelId;
30
28
  return /* @__PURE__ */ jsxs(Field.Root, {
31
- ...intrinsicAttributes,
32
29
  className: clsx(select_module_default.Select, className),
33
30
  dirty,
34
31
  disabled,
@@ -78,7 +75,7 @@ function SelectRootComponent({ alignListWithTrigger = true, children, className,
78
75
  hAlign: "center",
79
76
  hPadding: "x-small",
80
77
  inline: true,
81
- shrink: false,
78
+ "data-shrink": "false",
82
79
  vAlign: "center"
83
80
  }),
84
81
  children: addon
@@ -118,7 +115,7 @@ function SelectRootComponent({ alignListWithTrigger = true, children, className,
118
115
  overflow: "auto",
119
116
  radius: "medium",
120
117
  vPadding: "x-small",
121
- vibrant: true
118
+ "data-vibrant": ""
122
119
  }),
123
120
  children
124
121
  })
@@ -1,5 +1,4 @@
1
1
  import { useRender } from '@base-ui/react/use-render';
2
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
3
2
  import { ThemeTypes } from '@viraui/foundation/vira/types';
4
3
  import type * as React from 'react';
5
4
  type SeparatorAxisPadding = ThemeTypes['space'] | [ThemeTypes['space'] | 0, ThemeTypes['space'] | 0];
@@ -12,7 +11,7 @@ type SeparatorSize = 'small' | 'medium' | 'large';
12
11
  *
13
12
  * @default Native hr pass-through props keep React defaults.
14
13
  */
15
- export type SeparatorProps = Omit<React.ComponentPropsWithoutRef<'hr'>, 'size'> & IntrinsicViraProps & {
14
+ export type SeparatorProps = Omit<React.ComponentPropsWithoutRef<'hr'>, 'size'> & {
16
15
  /**
17
16
  * Replaces the default `hr` line root using Base UI render semantics.
18
17
  *
@@ -1,6 +1,5 @@
1
1
  import './separator.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
3
  import { Stack } from "../stack/stack.js";
5
4
  import separator_module_default from "./separator.module.js";
6
5
  import { jsx } from "react/jsx-runtime";
@@ -12,7 +11,6 @@ var separatorSizeValues = {
12
11
  large: 3
13
12
  };
14
13
  var Separator = ({ className, hPadding, orientation = "horizontal", ref, render, size = "small", style, vPadding, ...otherProps }) => {
15
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
16
14
  const dynamicStyle = {
17
15
  "--vui-separator-size": `${separatorSizeValues[size]}px`,
18
16
  ...style
@@ -22,7 +20,7 @@ var Separator = ({ className, hPadding, orientation = "horizontal", ref, render,
22
20
  render,
23
21
  ref,
24
22
  props: {
25
- ...componentProps,
23
+ ...otherProps,
26
24
  "data-separator-orientation": orientation,
27
25
  "aria-orientation": orientation,
28
26
  className: clsx(separator_module_default.Line, className),
@@ -35,7 +33,6 @@ var Separator = ({ className, hPadding, orientation = "horizontal", ref, render,
35
33
  hPadding,
36
34
  vAlign: orientation === "vertical" ? "stretch" : "initial",
37
35
  vPadding,
38
- ...intrinsicAttributes,
39
36
  children: line
40
37
  });
41
38
  };
@@ -1,4 +1,3 @@
1
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
2
1
  import type * as React from 'react';
3
2
  /**
4
3
  * Public Shimmer props.
@@ -8,7 +7,7 @@ import type * as React from 'react';
8
7
  *
9
8
  * @default Native span pass-through props keep React defaults.
10
9
  */
11
- export type ShimmerProps = React.ComponentPropsWithoutRef<'span'> & IntrinsicViraProps & {
10
+ export type ShimmerProps = React.ComponentPropsWithoutRef<'span'> & {
12
11
  /**
13
12
  * Sets the shimmer sweep duration using any valid CSS time string.
14
13
  *
@@ -1,11 +1,9 @@
1
1
  import './shimmer.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
3
  import shimmer_module_default from "./shimmer.module.js";
5
4
  import { jsx } from "react/jsx-runtime";
6
5
  //#region src/components/shimmer/shimmer.tsx
7
6
  var Shimmer = ({ angle, className, duration, highlightColor, ref, spread, style, ...otherProps }) => {
8
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
9
7
  const dynamicStyle = {
10
8
  ...duration && { "--vui-shimmer-duration": duration },
11
9
  ...spread && { "--vui-shimmer-spread": spread },
@@ -14,8 +12,7 @@ var Shimmer = ({ angle, className, duration, highlightColor, ref, spread, style,
14
12
  ...style
15
13
  };
16
14
  return /* @__PURE__ */ jsx("span", {
17
- ...componentProps,
18
- ...intrinsicAttributes,
15
+ ...otherProps,
19
16
  ref,
20
17
  className: clsx(shimmer_module_default.Shimmer, className),
21
18
  style: dynamicStyle
@@ -1,5 +1,4 @@
1
1
  import { ThemeTypes } from '@viraui/foundation/vira/types';
2
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
3
2
  import type * as React from 'react';
4
3
  /**
5
4
  * Public Skeleton props.
@@ -9,7 +8,7 @@ import type * as React from 'react';
9
8
  *
10
9
  * @default Native span pass-through props keep React defaults.
11
10
  */
12
- export type SkeletonProps = React.ComponentPropsWithoutRef<'span'> & IntrinsicViraProps & {
11
+ export type SkeletonProps = React.ComponentPropsWithoutRef<'span'> & {
13
12
  /**
14
13
  * Sets the skeleton inline size using any valid CSS size string.
15
14
  *
@@ -1,12 +1,10 @@
1
1
  import './skeleton.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
3
  import { resolveThemeValue } from "../../core/theme/resolve-theme-value.js";
5
4
  import skeleton_module_default from "./skeleton.module.js";
6
5
  import { jsx } from "react/jsx-runtime";
7
6
  //#region src/components/skeleton/skeleton.tsx
8
7
  var Skeleton = ({ className, height, minHeight, minWidth, radius, ref, style, width, ...otherProps }) => {
9
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
10
8
  const dynamicStyle = {
11
9
  ...radius != null && { "--vui-skeleton-border-radius": resolveThemeValue(radius, "radius", "var(--radius-small)") },
12
10
  ...width && { "--vui-skeleton-inline-size": width },
@@ -16,8 +14,7 @@ var Skeleton = ({ className, height, minHeight, minWidth, radius, ref, style, wi
16
14
  ...style
17
15
  };
18
16
  return /* @__PURE__ */ jsx("span", {
19
- ...componentProps,
20
- ...intrinsicAttributes,
17
+ ...otherProps,
21
18
  ref,
22
19
  "aria-hidden": "true",
23
20
  className: clsx(skeleton_module_default.Skeleton, className),
@@ -1,6 +1,5 @@
1
1
  import { FieldRoot } from '@base-ui/react/field';
2
2
  import { SliderRoot } from '@base-ui/react/slider';
3
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
4
3
  import type * as React from 'react';
5
4
  /**
6
5
  * Public Slider props.
@@ -11,18 +10,6 @@ import type * as React from 'react';
11
10
  * @default Base UI pass-through props keep upstream defaults.
12
11
  */
13
12
  export type SliderProps = SliderRoot.Props & FieldRoot.Props & {
14
- /**
15
- * Adds `data-grow="false"` to the field root when false.
16
- *
17
- * @default The field root does not render a grow attribute.
18
- */
19
- grow?: IntrinsicViraProps['grow'];
20
- /**
21
- * Adds `data-shrink="false"` to the field root when false.
22
- *
23
- * @default The field root does not render a shrink attribute.
24
- */
25
- shrink?: IntrinsicViraProps['shrink'];
26
13
  /**
27
14
  * Visible label rendered with shared internal `FieldLabel`.
28
15
  *
@@ -1,6 +1,5 @@
1
1
  import './slider.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
3
  import { Text } from "../text/text.js";
5
4
  import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
6
5
  import { FieldLabel } from "../basic-input/field-label.js";
@@ -15,9 +14,7 @@ import { Slider } from "@base-ui/react/slider";
15
14
  var Slider$1 = ({ className, defaultValue, description, dirty, disabled, error, invalid, label, name, orientation = "horizontal", showValue = false, thumbAriaLabel, touched, validate, validationDebounceTime, validationMode, value, ref, ...sliderRootProps }) => {
16
15
  const isRange = isRangeSlider(value, defaultValue);
17
16
  const isVertical = orientation === "vertical";
18
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(sliderRootProps);
19
17
  return /* @__PURE__ */ jsxs(Field.Root, {
20
- ...intrinsicAttributes,
21
18
  className: slider_module_default.Slider,
22
19
  dirty,
23
20
  disabled,
@@ -33,7 +30,7 @@ var Slider$1 = ({ className, defaultValue, description, dirty, disabled, error,
33
30
  rowGap: "small"
34
31
  }),
35
32
  children: [/* @__PURE__ */ jsxs(Slider.Root, {
36
- ...componentProps,
33
+ ...sliderRootProps,
37
34
  ref,
38
35
  className: clsx(slider_module_default.SliderRoot, className),
39
36
  defaultValue,
@@ -1,5 +1,4 @@
1
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
2
- export type SpinnerProps = Omit<React.ComponentProps<'svg'>, 'color'> & IntrinsicViraProps & {
1
+ export type SpinnerProps = Omit<React.ComponentProps<'svg'>, 'color'> & {
3
2
  /**
4
3
  * Sets the rendered spinner size.
5
4
  *
@@ -1,31 +1,26 @@
1
1
  import './spinner.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
3
  import spinner_module_default from "./spinner.module.js";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
6
5
  //#region src/components/spinner/spinner.tsx
7
- var Spinner = ({ className, color, size = "big", ref, style, ...otherProps }) => {
8
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
9
- return /* @__PURE__ */ jsx("svg", {
10
- ...componentProps,
11
- ...intrinsicAttributes,
12
- ref,
13
- className: clsx(spinner_module_default.Spinner, className),
14
- "data-dimension": size,
15
- viewBox: "0 0 16 16",
16
- xmlns: "http://www.w3.org/2000/svg",
17
- color,
18
- style,
19
- children: /* @__PURE__ */ jsxs("g", {
20
- className: spinner_module_default.Glyph,
21
- fill: "currentColor",
22
- children: [
23
- /* @__PURE__ */ jsx("path", { d: "M0 2h2v12H0z" }),
24
- /* @__PURE__ */ jsx("path", { d: "M7 2h2v12H7z" }),
25
- /* @__PURE__ */ jsx("path", { d: "M14 2h2v12h-2z" })
26
- ]
27
- })
28
- });
29
- };
6
+ var Spinner = ({ className, color, size = "big", ref, style, ...otherProps }) => /* @__PURE__ */ jsx("svg", {
7
+ ...otherProps,
8
+ ref,
9
+ className: clsx(spinner_module_default.Spinner, className),
10
+ "data-dimension": size,
11
+ viewBox: "0 0 16 16",
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ color,
14
+ style,
15
+ children: /* @__PURE__ */ jsxs("g", {
16
+ className: spinner_module_default.Glyph,
17
+ fill: "currentColor",
18
+ children: [
19
+ /* @__PURE__ */ jsx("path", { d: "M0 2h2v12H0z" }),
20
+ /* @__PURE__ */ jsx("path", { d: "M7 2h2v12H7z" }),
21
+ /* @__PURE__ */ jsx("path", { d: "M14 2h2v12h-2z" })
22
+ ]
23
+ })
24
+ });
30
25
  //#endregion
31
26
  export { Spinner };
@@ -1,5 +1,4 @@
1
1
  import { useRender } from '@base-ui/react/use-render';
2
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
3
2
  import { ThemeTypes } from '@viraui/foundation/vira/types';
4
3
  import type * as React from 'react';
5
4
  type StackAlignment = 'start' | 'center' | 'end' | 'stretch' | 'initial' | 'space-between' | 'space-around' | 'space-evenly';
@@ -13,7 +12,7 @@ type StackAxisPadding = StackSpace | [StackSpace | 0, StackSpace | 0];
13
12
  *
14
13
  * @default Base UI pass-through props keep upstream defaults.
15
14
  */
16
- export type StackProps = React.ComponentPropsWithoutRef<'div'> & IntrinsicViraProps & {
15
+ export type StackProps = React.ComponentPropsWithoutRef<'div'> & {
17
16
  /**
18
17
  * Replaces the default `div` root using Base UI render semantics.
19
18
  *
@@ -1,6 +1,5 @@
1
1
  import './stack.css';
2
2
  import { clsx } from "../../core/clsx.js";
3
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
4
3
  import { resolveThemeValue } from "../../core/theme/resolve-theme-value.js";
5
4
  import { resolveAxisPadding } from "../../core/styles/resolve-axis-padding.js";
6
5
  import stack_module_default from "./stack.module.js";
@@ -8,7 +7,6 @@ import { useRender } from "@base-ui/react/use-render";
8
7
  //#region src/components/stack/stack.tsx
9
8
  var Stack = ({ className, direction = "column", fillChildren = true, hAlign = "initial", hPadding, inline = false, maxWidth, minWidth, ref, render, rowGap, columnGap, style, vAlign = "initial", vPadding, wrap = false, ...otherProps }) => {
10
9
  const hasPadding = Boolean(hPadding || vPadding);
11
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
12
10
  const dynamicStyle = {
13
11
  "--vui-stack-row-gap": resolveThemeValue(rowGap, "space", 0),
14
12
  "--vui-stack-column-gap": resolveThemeValue(columnGap, "space", 0),
@@ -25,8 +23,7 @@ var Stack = ({ className, direction = "column", fillChildren = true, hAlign = "i
25
23
  render,
26
24
  ref,
27
25
  props: {
28
- ...componentProps,
29
- ...intrinsicAttributes,
26
+ ...otherProps,
30
27
  "data-stack-direction": direction,
31
28
  "data-stack-inline": inline ? "true" : "false",
32
29
  "data-stack-wrap": wrap ? "true" : "false",
@@ -1,4 +1,3 @@
1
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
2
1
  import type * as React from 'react';
3
2
  /**
4
3
  * Public StaticNoise props.
@@ -8,7 +7,7 @@ import type * as React from 'react';
8
7
  *
9
8
  * @default Native figure pass-through props keep React defaults.
10
9
  */
11
- export type StaticNoiseProps = React.ComponentPropsWithRef<'figure'> & IntrinsicViraProps & {
10
+ export type StaticNoiseProps = React.ComponentPropsWithRef<'figure'> & {
12
11
  /**
13
12
  * Sets the SVG turbulence `baseFrequency` for the internal noise filter.
14
13
  *
@@ -1,14 +1,12 @@
1
1
  "use client";
2
2
  import './static-noise.css';
3
3
  import { clsx } from "../../core/clsx.js";
4
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
5
4
  import static_noise_module_default from "./static-noise.module.js";
6
5
  import { jsx } from "react/jsx-runtime";
7
6
  import { useId } from "react";
8
7
  //#region src/components/static-noise/static-noise.tsx
9
8
  var STATIC_NOISE_SEED_FRAMES = "1;5;2;9;3;7;4;11;6;13;8;15;10;17;12;19;14;16;18;20;3;8;1;13";
10
9
  var StaticNoise = ({ animate = false, baseFrequency = .5, className, mixBlendMode = "difference", opacity = .2, ref, style, ...otherProps }) => {
11
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
12
10
  const reactId = useId();
13
11
  const dynamicStyle = {
14
12
  filter: `url(#${reactId}) grayscale(100%)`,
@@ -17,8 +15,7 @@ var StaticNoise = ({ animate = false, baseFrequency = .5, className, mixBlendMod
17
15
  ...style
18
16
  };
19
17
  return /* @__PURE__ */ jsx("figure", {
20
- ...componentProps,
21
- ...intrinsicAttributes,
18
+ ...otherProps,
22
19
  ref,
23
20
  "aria-hidden": "true",
24
21
  className: clsx(static_noise_module_default.StaticNoise, className),
@@ -1,5 +1,4 @@
1
1
  import { useRender } from '@base-ui/react/use-render';
2
- import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
3
2
  import { SurfacePadding, SurfaceRadiusInput } from './surface-radius-context';
4
3
  import type * as React from 'react';
5
4
  /** Base ramp layer for nested surfaces; clamped to 1–3 at runtime. */
@@ -13,7 +12,7 @@ type SurfaceColor = string | SurfaceBaseLevel;
13
12
  *
14
13
  * @default Base UI pass-through props keep upstream defaults.
15
14
  */
16
- export type SurfaceProps = Omit<React.ComponentPropsWithoutRef<'div'>, 'color'> & IntrinsicViraProps & {
15
+ export type SurfaceProps = Omit<React.ComponentPropsWithoutRef<'div'>, 'color'> & {
17
16
  /**
18
17
  * Replaces the default `div` root using Base UI render semantics.
19
18
  *
@@ -1,7 +1,6 @@
1
1
  "use client";
2
2
  import './surface.css';
3
3
  import { clsx } from "../../core/clsx.js";
4
- import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
5
4
  import { resolveAxisPadding } from "../../core/styles/resolve-axis-padding.js";
6
5
  import { SurfaceRadiusContext, useSurfaceRadius } from "./surface-radius-context.js";
7
6
  import surface_module_default from "./surface.module.js";
@@ -23,7 +22,6 @@ var surfaceDefaultRadiusProps = {
23
22
  var Surface = ({ border, borderStyle = "solid", className, color, hPadding, hoverColor, overflow, radius, ref, render, style, vPadding, ...otherProps }) => {
24
23
  const hasPadding = Boolean(hPadding || vPadding);
25
24
  const hasHoverColor = hoverColor !== void 0;
26
- const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
27
25
  const { contextValue, hasAutoRadius, radiusStyle } = useSurfaceRadius({
28
26
  defaults: surfaceDefaultRadiusProps,
29
27
  hPadding,
@@ -46,8 +44,7 @@ var Surface = ({ border, borderStyle = "solid", className, color, hPadding, hove
46
44
  render,
47
45
  ref,
48
46
  props: {
49
- ...componentProps,
50
- ...intrinsicAttributes,
47
+ ...otherProps,
51
48
  ...border && { "data-surface-border": border },
52
49
  ...hasAutoRadius && { "data-surface-radius": "auto" },
53
50
  "data-surface-has-hover-color": hasHoverColor ? "true" : "false",