@viraui/react 1.0.13 → 1.0.14
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.
- package/dist/catalog.json +10 -4
- package/dist/components/accordion/accordion.css +1 -1
- package/dist/components/accordion/accordion.guide.json +26 -0
- package/dist/components/annotate/annotate.css +1 -1
- package/dist/components/annotate/annotate.guide.json +46 -57
- package/dist/components/avatar/avatar.css +1 -1
- package/dist/components/avatar/avatar.guide.json +22 -10
- package/dist/components/avatar/avatar.js +0 -2
- package/dist/components/avatar-group/avatar-group.css +1 -7
- package/dist/components/avatar-group/avatar-group.guide.json +23 -16
- package/dist/components/badge/badge.css +1 -1
- package/dist/components/badge/badge.d.ts +1 -1
- package/dist/components/badge/badge.guide.json +17 -13
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/basic-input/basic-input.css +1 -1
- package/dist/components/basic-input/field-label.css +1 -1
- package/dist/components/basic-input/field-label.js +2 -0
- package/dist/components/bleed/bleed.guide.json +9 -6
- package/dist/components/button/button-chrome.d.ts +3 -1
- package/dist/components/button/button-chrome.js +3 -2
- package/dist/components/button/button-link.guide.json +55 -1
- package/dist/components/button/button-link.js +1 -0
- package/dist/components/button/button.css +1 -1
- package/dist/components/button/button.guide.json +27 -7
- package/dist/components/button/button.js +1 -0
- package/dist/components/checkbox/checkbox.css +1 -1
- package/dist/components/checkbox/checkbox.guide.json +40 -1
- package/dist/components/checkbox/checkbox.js +2 -2
- package/dist/components/checkbox/checkbox.module.js +1 -3
- package/dist/components/chip/chip.css +1 -1
- package/dist/components/chip/chip.guide.json +23 -6
- package/dist/components/chip/chip.js +1 -0
- package/dist/components/clamp-text/clamp-text.css +1 -1
- package/dist/components/clamp-text/clamp-text.guide.json +9 -0
- package/dist/components/dialog/dialog-sheet.js +1 -1
- package/dist/components/dialog/dialog.css +1 -1
- package/dist/components/dialog/dialog.guide.json +24 -0
- package/dist/components/dialog/dialog.module.js +1 -3
- package/dist/components/elevator/elevator.guide.json +23 -1
- package/dist/components/fieldset/fieldset.guide.json +16 -3
- package/dist/components/fieldset/fieldset.js +6 -6
- package/dist/components/fit-text/fit-text.css +1 -1
- package/dist/components/fit-text/fit-text.guide.json +2 -4
- package/dist/components/icon-button/icon-button-link.guide.json +52 -1
- package/dist/components/icon-button/icon-button-link.js +2 -2
- package/dist/components/icon-button/icon-button.d.ts +1 -1
- package/dist/components/icon-button/icon-button.guide.json +48 -3
- package/dist/components/icon-button/icon-button.js +2 -2
- package/dist/components/index.d.ts +1 -0
- package/dist/components/linear-progress/linear-progress.guide.json +16 -5
- package/dist/components/linear-progress/linear-progress.js +0 -1
- package/dist/components/masonry/masonry.d.ts +1 -1
- package/dist/components/masonry/masonry.guide.json +11 -9
- package/dist/components/menu/index.d.ts +11 -0
- package/dist/components/menu/menu-checkbox-item.d.ts +42 -0
- package/dist/components/menu/menu-checkbox-item.js +28 -0
- package/dist/components/menu/menu-group.d.ts +12 -0
- package/dist/components/menu/menu-group.js +36 -0
- package/dist/components/menu/menu-indicator-slot.d.ts +15 -0
- package/dist/components/menu/menu-indicator-slot.js +52 -0
- package/dist/components/menu/menu-item-row.d.ts +18 -0
- package/dist/components/menu/menu-item-row.js +47 -0
- package/dist/components/menu/menu-item.d.ts +36 -0
- package/dist/components/menu/menu-item.js +23 -0
- package/dist/components/menu/menu-link-item.d.ts +36 -0
- package/dist/components/menu/menu-link-item.js +26 -0
- package/dist/components/menu/menu-popup.d.ts +17 -0
- package/dist/components/menu/menu-popup.js +28 -0
- package/dist/components/menu/menu-radio-group.d.ts +16 -0
- package/dist/components/menu/menu-radio-group.js +36 -0
- package/dist/components/menu/menu-radio-item.d.ts +42 -0
- package/dist/components/menu/menu-radio-item.js +28 -0
- package/dist/components/menu/menu-separator.d.ts +9 -0
- package/dist/components/menu/menu-separator.js +15 -0
- package/dist/components/menu/menu-submenu-trigger.d.ts +29 -0
- package/dist/components/menu/menu-submenu-trigger.js +26 -0
- package/dist/components/menu/menu.css +1 -0
- package/dist/components/menu/menu.d.ts +58 -0
- package/dist/components/menu/menu.guide.json +101 -0
- package/dist/components/menu/menu.js +36 -0
- package/dist/components/menu/menu.module.js +13 -0
- package/dist/components/meter/meter.guide.json +15 -4
- package/dist/components/meter/meter.js +0 -1
- package/dist/components/popover/popover-sheet.js +1 -1
- package/dist/components/popover/popover.guide.json +25 -1
- package/dist/components/progressive-blur/progressive-blur.css +1 -1
- package/dist/components/progressive-blur/progressive-blur.guide.json +14 -4
- package/dist/components/progressive-blur/progressive-blur.js +2 -2
- package/dist/components/radio/radio.css +1 -1
- package/dist/components/radio/radio.guide.json +34 -1
- package/dist/components/radio/radio.js +28 -31
- package/dist/components/select/select-group.js +1 -1
- package/dist/components/select/select-option.d.ts +1 -1
- package/dist/components/select/select-option.js +2 -5
- package/dist/components/select/select-separator.js +7 -4
- package/dist/components/select/select.css +1 -1
- package/dist/components/select/select.guide.json +49 -8
- package/dist/components/select/select.js +1 -1
- package/dist/components/select/select.module.js +1 -5
- package/dist/components/separator/separator.guide.json +28 -1
- package/dist/components/shimmer/shimmer.css +1 -1
- package/dist/components/shimmer/shimmer.guide.json +19 -16
- package/dist/components/skeleton/skeleton.guide.json +24 -31
- package/dist/components/slider/slider.guide.json +27 -7
- package/dist/components/spinner/spinner.guide.json +5 -4
- package/dist/components/stack/stack.guide.json +49 -47
- package/dist/components/static-noise/static-noise.guide.json +18 -2
- package/dist/components/surface/surface.css +1 -1
- package/dist/components/surface/surface.guide.json +41 -48
- package/dist/components/switch/switch.css +1 -1
- package/dist/components/switch/switch.guide.json +25 -10
- package/dist/components/tabs/tabs.guide.json +11 -0
- package/dist/components/text/text.css +1 -1
- package/dist/components/text/text.guide.json +67 -76
- package/dist/components/textarea/textarea.css +1 -1
- package/dist/components/textarea/textarea.d.ts +4 -3
- package/dist/components/textarea/textarea.guide.json +19 -7
- package/dist/components/textfield/textfield.css +1 -1
- package/dist/components/textfield/textfield.guide.json +22 -7
- package/dist/components/title/title.css +1 -1
- package/dist/components/title/title.guide.json +62 -72
- package/dist/components/title/title.js +0 -1
- package/dist/components/toast/toast.css +1 -1
- package/dist/components/toast/toast.guide.json +32 -1
- package/dist/components/toggle-button/toggle-button.css +1 -0
- package/dist/components/toggle-button/toggle-button.d.ts +7 -0
- package/dist/components/toggle-button/toggle-button.guide.json +29 -2
- package/dist/components/toggle-button/toggle-button.js +18 -3
- package/dist/components/toggle-button/toggle-button.module.js +9 -0
- package/dist/components/toggle-group/toggle-group.d.ts +2 -1
- package/dist/components/toggle-group/toggle-group.guide.json +2 -3
- package/dist/components/tooltip/tooltip.guide.json +8 -1
- package/dist/components/typewriter/typewriter.css +1 -1
- package/dist/components/typewriter/typewriter.guide.json +27 -5
- package/dist/index.js +12 -2
- package/dist/internal/chrome-icons/chrome-icons.d.ts +2 -0
- package/dist/internal/chrome-icons/chrome-icons.js +7 -1
- package/dist/preflight-surface.json +1 -1
- package/dist/preflight.css +1 -1
- package/package.json +3 -3
|
@@ -13,14 +13,15 @@
|
|
|
13
13
|
"Cases where a single uniform backdrop blur is sufficient"
|
|
14
14
|
],
|
|
15
15
|
"accessibility": [
|
|
16
|
-
"ProgressiveBlur is decorative — the root
|
|
16
|
+
"ProgressiveBlur is decorative — the root hardcodes `aria-hidden=\"true\"` (not overridable via props)",
|
|
17
17
|
"Parent surface or region must expose any meaningful label or busy state",
|
|
18
|
-
"Consumer
|
|
18
|
+
"Consumer must position the root non-static (for example `position: relative`/`absolute`/`fixed`) and own inset, z-index, and sizing — ProgressiveBlur does not create a containing block"
|
|
19
19
|
],
|
|
20
20
|
"antiPatterns": [
|
|
21
21
|
"Stacking many full-viewport ProgressiveBlur instances on one screen",
|
|
22
22
|
"Driving layout size or scroll behavior from inside the overlay component",
|
|
23
|
-
"Embedding layout positioning rules inside the component stylesheet"
|
|
23
|
+
"Embedding layout positioning rules inside the component stylesheet",
|
|
24
|
+
"Leaving the ProgressiveBlur root `position: static` so absolute layers escape the intended overlay box"
|
|
24
25
|
],
|
|
25
26
|
"related": ["Surface", "StaticNoise"],
|
|
26
27
|
"properties": {
|
|
@@ -28,11 +29,20 @@
|
|
|
28
29
|
"blur": {
|
|
29
30
|
"description": "Sets the maximum blur radius applied to the first layer at the selected edge.",
|
|
30
31
|
"refCss": "amount"
|
|
32
|
+
},
|
|
33
|
+
"direction": {
|
|
34
|
+
"description": "Selects the edge where maximum blur starts and fades toward the opposite edge."
|
|
35
|
+
},
|
|
36
|
+
"easing": {
|
|
37
|
+
"description": "Selects the easing curve used to distribute blur factors across internal layers."
|
|
38
|
+
},
|
|
39
|
+
"steps": {
|
|
40
|
+
"description": "Sets the number of internal blur layers. Values are clamped to `2..16`."
|
|
31
41
|
}
|
|
32
42
|
},
|
|
33
43
|
"css": {
|
|
34
44
|
"amount": {
|
|
35
|
-
"description": "
|
|
45
|
+
"description": "Sets the maximum blur radius applied to the first layer at the selected edge.",
|
|
36
46
|
"refReact": "blur"
|
|
37
47
|
}
|
|
38
48
|
}
|
|
@@ -17,8 +17,8 @@ var ProgressiveBlur = ({ blur = "16px", className, direction = "bottom", easing
|
|
|
17
17
|
"aria-hidden": "true",
|
|
18
18
|
className: progressive_blur_module_default.Layer,
|
|
19
19
|
style: {
|
|
20
|
-
"--
|
|
21
|
-
"--
|
|
20
|
+
"--__progressive-blur-factor": factor,
|
|
21
|
+
"--__progressive-blur-mask-gradient": maskGradient
|
|
22
22
|
}
|
|
23
23
|
}, layerIndex);
|
|
24
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-radio-size{syntax:"<length>";inherits:false;initial-value:0}@property --vui-radio-background{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-radio-border-color{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-radio-indicator-color{syntax:"<color>";inherits:true;initial-value:#0000}.viraui__radio-module__RadioRoot_3uvvn{--vui-radio-size:var(--space-medium);--vui-radio-background:var(--global-contrast);--vui-radio-indicator-color:contrast-color(var(--global-primary));--
|
|
1
|
+
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-radio-size{syntax:"<length>";inherits:false;initial-value:0}@property --vui-radio-background{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-radio-border-color{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-radio-indicator-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --__radio-disk-size{syntax:"<length>";inherits:true;initial-value:0}.viraui__radio-module__RadioRoot_3uvvn{--vui-radio-size:var(--space-medium);--vui-radio-background:var(--global-contrast);--vui-radio-indicator-color:contrast-color(var(--global-primary));--__radio-disk-size:calc(var(--vui-radio-size) / 2);position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;appearance:none;border:0;box-shadow:inset 0 0 0 1px var(--vui-radio-border-color);inline-size:var(--vui-radio-size);block-size:var(--vui-radio-size);background:var(--vui-radio-background);border-radius:100000px;corner-shape:unset;&[data-size=regular]{--vui-radio-size:var(--space-large)}&[data-checked]:not([data-disabled]):not([data-invalid]){--vui-radio-background:var(--global-primary);--vui-radio-border-color:var(--global-primary);box-shadow:none}&[data-invalid]:not([data-disabled]),[data-invalid] &:not([data-disabled]){--vui-radio-border-color:var(--highlight-red);--vui-radio-indicator-color:var(--global-primary);box-shadow:inset 0 0 0 1px var(--highlight-red);outline-color:oklab(from var(--highlight-red) l a b/.5)}&[data-disabled],[data-disabled] &{--vui-radio-background:var(--global-disabled-background);--vui-radio-border-color:#0000;--vui-radio-indicator-color:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.viraui__radio-module__Indicator_Ecavw{display:inline-flex;align-items:center;justify-content:center;color:var(--vui-radio-indicator-color)}.viraui__radio-module__Disk_pV-Q1{inline-size:var(--__radio-disk-size);aspect-ratio:1/1;border-radius:100000px;corner-shape:unset;background:currentColor}.viraui__radio-module__RadioRoot_3uvvn:not([data-checked]) .viraui__radio-module__Disk_pV-Q1{display:none}}
|
|
@@ -27,5 +27,38 @@
|
|
|
27
27
|
"Omitting the RadioGroup generic when option value props form a restricted union",
|
|
28
28
|
"Importing @viraui/react/radio/radio.css or other component CSS subpaths in consumer bootstrap"
|
|
29
29
|
],
|
|
30
|
-
"related": ["Fieldset", "Checkbox", "Surface", "Stack"]
|
|
30
|
+
"related": ["Fieldset", "Checkbox", "Surface", "Stack"],
|
|
31
|
+
"properties": {
|
|
32
|
+
"react": {
|
|
33
|
+
"description": {
|
|
34
|
+
"description": "Helper copy rendered with `Field.Description` and `Text` for this option."
|
|
35
|
+
},
|
|
36
|
+
"hPadding": {
|
|
37
|
+
"description": "Sets inline padding using one token for both sides or a `[start, end]` tuple."
|
|
38
|
+
},
|
|
39
|
+
"label": {
|
|
40
|
+
"description": "Visible label rendered with shared internal `FieldLabel`."
|
|
41
|
+
},
|
|
42
|
+
"size": {
|
|
43
|
+
"description": "Controls the visual radio size."
|
|
44
|
+
},
|
|
45
|
+
"vPadding": {
|
|
46
|
+
"description": "Sets block padding using one token for both sides or a `[start, end]` tuple."
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"css": {
|
|
50
|
+
"background": {
|
|
51
|
+
"description": "Radio control background color."
|
|
52
|
+
},
|
|
53
|
+
"border-color": {
|
|
54
|
+
"description": "Radio control border color; resting default is transparent (same as Checkbox); checked, invalid, and disabled states override."
|
|
55
|
+
},
|
|
56
|
+
"indicator-color": {
|
|
57
|
+
"description": "Radio selected-disk indicator color."
|
|
58
|
+
},
|
|
59
|
+
"size": {
|
|
60
|
+
"description": "Radio control size; size presets adjust footprint."
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
31
64
|
}
|
|
@@ -10,38 +10,35 @@ import { Radio } from "@base-ui/react/radio";
|
|
|
10
10
|
//#region src/components/radio/radio.tsx
|
|
11
11
|
var Radio$1 = ({ className, description, disabled, id, label, ref, size = "small", vPadding, hPadding, value, ...radioRootProps }) => {
|
|
12
12
|
const hasTextDescription = Boolean(description);
|
|
13
|
-
return /* @__PURE__ */ jsx(Field.Item, { children: /* @__PURE__ */ jsx(Field.Label, {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
return /* @__PURE__ */ jsx(Field.Item, { children: /* @__PURE__ */ jsx(Field.Label, { children: /* @__PURE__ */ jsxs(Stack, {
|
|
14
|
+
direction: "row",
|
|
15
|
+
columnGap: size === "small" ? "small" : "medium",
|
|
16
|
+
fillChildren: false,
|
|
17
|
+
vAlign: hasTextDescription ? "start" : "center",
|
|
18
|
+
hPadding,
|
|
19
|
+
vPadding,
|
|
20
|
+
children: [/* @__PURE__ */ jsx(Radio.Root, {
|
|
21
|
+
...radioRootProps,
|
|
22
|
+
className: clsx(radio_module_default.RadioRoot, className),
|
|
23
|
+
"data-size": size,
|
|
24
|
+
disabled,
|
|
25
|
+
id,
|
|
26
|
+
ref,
|
|
27
|
+
value,
|
|
28
|
+
children: /* @__PURE__ */ jsx(Radio.Indicator, {
|
|
29
|
+
className: radio_module_default.Indicator,
|
|
30
|
+
children: /* @__PURE__ */ jsx("span", { className: radio_module_default.Disk })
|
|
31
|
+
})
|
|
32
|
+
}), label || description ? /* @__PURE__ */ jsxs(Stack, {
|
|
33
|
+
direction: "column",
|
|
18
34
|
fillChildren: false,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
disabled,
|
|
27
|
-
id,
|
|
28
|
-
ref,
|
|
29
|
-
value,
|
|
30
|
-
children: /* @__PURE__ */ jsx(Radio.Indicator, {
|
|
31
|
-
className: radio_module_default.Indicator,
|
|
32
|
-
children: /* @__PURE__ */ jsx("span", { className: radio_module_default.Disk })
|
|
33
|
-
})
|
|
34
|
-
}), label || description ? /* @__PURE__ */ jsxs(Stack, {
|
|
35
|
-
direction: "column",
|
|
36
|
-
fillChildren: false,
|
|
37
|
-
rowGap: "small",
|
|
38
|
-
children: [label && /* @__PURE__ */ jsx(FieldLabel, {
|
|
39
|
-
size: size === "small" ? "small" : "medium",
|
|
40
|
-
children: label
|
|
41
|
-
}), /* @__PURE__ */ jsx(FieldHelperCopy, { description })]
|
|
42
|
-
}) : null]
|
|
43
|
-
})
|
|
44
|
-
}) });
|
|
35
|
+
rowGap: "small",
|
|
36
|
+
children: [label && /* @__PURE__ */ jsx(FieldLabel, {
|
|
37
|
+
size: size === "small" ? "small" : "medium",
|
|
38
|
+
children: label
|
|
39
|
+
}), /* @__PURE__ */ jsx(FieldHelperCopy, { description })]
|
|
40
|
+
}) : null]
|
|
41
|
+
}) }) });
|
|
45
42
|
};
|
|
46
43
|
//#endregion
|
|
47
44
|
export { Radio$1 as Radio };
|
|
@@ -22,7 +22,7 @@ function SelectGroup({ children, className, label, ...groupProps }) {
|
|
|
22
22
|
direction: "row",
|
|
23
23
|
fillChildren: false,
|
|
24
24
|
hPadding: "small",
|
|
25
|
-
vPadding: ["small", "small"],
|
|
25
|
+
vPadding: ["small", "x-small"],
|
|
26
26
|
vAlign: "center"
|
|
27
27
|
}),
|
|
28
28
|
children: [/* @__PURE__ */ jsx(Text, {
|
|
@@ -26,4 +26,4 @@ export type SelectOptionProps = SelectItem.Props & {
|
|
|
26
26
|
*/
|
|
27
27
|
indicator?: React.ReactNode;
|
|
28
28
|
};
|
|
29
|
-
export declare function SelectOption({ addon, addonAlign, children, className,
|
|
29
|
+
export declare function SelectOption({ addon, addonAlign, children, className, indicator, label, ...itemProps }: SelectOptionProps): React.JSX.Element;
|
|
@@ -2,21 +2,19 @@ import { clsx } from "../../core/clsx.js";
|
|
|
2
2
|
import { ChromeCheck } from "../../internal/chrome-icons/chrome-icons.js";
|
|
3
3
|
import { Text } from "../text/text.js";
|
|
4
4
|
import { Stack } from "../stack/stack.js";
|
|
5
|
+
import { Surface } from "../surface/surface.js";
|
|
5
6
|
import select_module_default from "./select.module.js";
|
|
6
7
|
import { SelectIndicatorSlot } from "./select-indicator-slot.js";
|
|
7
|
-
import { Surface } from "../surface/surface.js";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { Select } from "@base-ui/react";
|
|
10
10
|
//#region src/components/select/select-option.tsx
|
|
11
|
-
function SelectOption({ addon, addonAlign = "center", children, className,
|
|
11
|
+
function SelectOption({ addon, addonAlign = "center", children, className, indicator, label, ...itemProps }) {
|
|
12
12
|
return /* @__PURE__ */ jsx(Select.Item, {
|
|
13
13
|
...itemProps,
|
|
14
14
|
"aria-label": label,
|
|
15
15
|
label,
|
|
16
16
|
className: clsx(select_module_default.Option, className),
|
|
17
|
-
disabled,
|
|
18
17
|
render: /* @__PURE__ */ jsx(Surface, { radius: "auto" }),
|
|
19
|
-
value,
|
|
20
18
|
children: /* @__PURE__ */ jsxs(Stack, {
|
|
21
19
|
columnGap: "medium",
|
|
22
20
|
direction: "row",
|
|
@@ -29,7 +27,6 @@ function SelectOption({ addon, addonAlign = "center", children, className, disab
|
|
|
29
27
|
vAlign: addonAlign,
|
|
30
28
|
fillChildren: false,
|
|
31
29
|
children: [addon && /* @__PURE__ */ jsx(Stack, {
|
|
32
|
-
vPadding: "2x-small",
|
|
33
30
|
"aria-hidden": "true",
|
|
34
31
|
"data-grow": "false",
|
|
35
32
|
"data-shrink": "false",
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import select_module_default from "./select.module.js";
|
|
1
|
+
import { Separator } from "../separator/separator.js";
|
|
3
2
|
import { jsx } from "react/jsx-runtime";
|
|
4
3
|
import { Select } from "@base-ui/react/select";
|
|
5
4
|
//#region src/components/select/select-separator.tsx
|
|
6
5
|
function SelectSeparator({ className, orientation = "horizontal", ...separatorProps }) {
|
|
7
6
|
return /* @__PURE__ */ jsx(Select.Separator, {
|
|
8
7
|
...separatorProps,
|
|
9
|
-
className
|
|
10
|
-
orientation
|
|
8
|
+
className,
|
|
9
|
+
orientation,
|
|
10
|
+
render: /* @__PURE__ */ jsx(Separator, {
|
|
11
|
+
vPadding: "x-small",
|
|
12
|
+
hPadding: "x-small"
|
|
13
|
+
})
|
|
11
14
|
});
|
|
12
15
|
}
|
|
13
16
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-select-input-height{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-control-group-background{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-border-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-border-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-select-trigger-padding-inline-start{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-trigger-padding-inline-end{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-list-border-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-select-list-padding{syntax:"<length>";inherits:true;initial-value:0}.viraui__select-module__Select_eXv4Y{--vui-select-input-height:var(--space-x-large);--vui-select-control-group-background:var(--base-1);--vui-select-control-group-color:var(--global-foreground);--vui-select-control-group-border-color:var(--global-contrast);--vui-select-control-group-border-radius:var(--radius-medium);--vui-select-trigger-padding-inline-start:var(--space-small);--vui-select-trigger-padding-inline-end:var(--space-x-small);--vui-field-label-padding-inline:calc((var(--vui-select-control-group-border-radius) + 0px) / 2)
|
|
1
|
+
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-select-input-height{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-control-group-background{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-border-color{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-select-control-group-border-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-select-trigger-padding-inline-start{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-trigger-padding-inline-end{syntax:"<length>";inherits:true;initial-value:0}@property --vui-select-list-border-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-select-list-padding{syntax:"<length>";inherits:true;initial-value:0}@property --__select-list-appear-offset{syntax:"<length>";inherits:false;initial-value:8px}.viraui__select-module__Select_eXv4Y{--vui-select-input-height:var(--space-x-large);--vui-select-control-group-background:var(--base-1);--vui-select-control-group-color:var(--global-foreground);--vui-select-control-group-border-color:var(--global-contrast);--vui-select-control-group-border-radius:var(--radius-medium);--vui-select-trigger-padding-inline-start:var(--space-small);--vui-select-trigger-padding-inline-end:var(--space-x-small);--vui-field-label-padding-inline:calc((var(--vui-select-control-group-border-radius) + 0px) / 2);z-index:0;&:has([required]) .viraui__select-module__Label_-Y1fR:after{content:" *";color:var(--highlight-red)}&[data-invalid]>.viraui__select-module__Trigger_-wBsg:not(:disabled):not([data-disabled]){--vui-select-control-group-border-color:var(--highlight-red);box-shadow:none;outline-color:oklab(from var(--highlight-red) l a b/.5)}}.viraui__select-module__Trigger_-wBsg{box-sizing:border-box;inline-size:100%;min-inline-size:0;block-size:var(--vui-select-input-height);padding-inline:var(--vui-select-trigger-padding-inline-start) var(--vui-select-trigger-padding-inline-end);border:1px solid var(--vui-select-control-group-border-color);border-radius:var(--vui-select-control-group-border-radius);background:var(--vui-select-control-group-background);color:var(--vui-select-control-group-color);font:inherit;text-align:start;cursor:pointer;&[data-popup-open]{outline:none}&:disabled,&[data-disabled]{--vui-select-control-group-background:var(--global-disabled-background);--vui-select-control-group-border-color:#0000;--vui-select-control-group-color:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.viraui__select-module__Icon_EOwki{font-size:var(--font-scale-body-small);pointer-events:none}.viraui__select-module__Description_OmwmV{padding-inline:calc((var(--vui-select-control-group-border-radius) + 0px) / 2)}.viraui__select-module__SelectPopup_UzGXL{--vui-select-list-border-radius:var(--radius-medium);--vui-select-list-padding:var(--space-x-small);box-sizing:border-box;min-inline-size:var(--anchor-width);overflow:visible;color:var(--global-foreground);outline:none;position:relative;transform-origin:var(--transform-origin);transition:opacity var(--duration-instant) var(--easing-entrance),scale var(--duration-instant) var(--easing-entrance),translate var(--duration-instant) var(--easing-entrance);&[data-ending-style],&[data-starting-style]{opacity:0;scale:.96}&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{translate:0 calc(var(--__select-list-appear-offset) * -1)}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{translate:0 var(--__select-list-appear-offset)}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style],&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{translate:var(--__select-list-appear-offset) 0}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style],&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{translate:calc(var(--__select-list-appear-offset) * -1) 0}&[data-side=none]{transition:none;scale:1;translate:0;opacity:1}}.viraui__select-module__ScrollArrow_kHlEi{position:absolute;inset-inline:0;z-index:1;inline-size:100%;block-size:var(--space-large);cursor:default;background:var(--base-1);border:1px solid var(--global-contrast);@container root not style(--vibrancy-enable: initial){background:oklab(from var(--base-1) l a b/80%);backdrop-filter:brightness(var(--vibrancy-brightness)) blur(calc(var(--vibrancy-blur) * 1px))}}.viraui__select-module__ScrollButton_sHBOa{pointer-events:none}.viraui__select-module__ScrollArrowUp_DGXS-{inset-block-start:0;border-radius:var(--vui-select-list-border-radius) var(--vui-select-list-border-radius) 0 0}.viraui__select-module__ScrollArrowDown_vhJy0{inset-block-end:0;border-radius:0 0 var(--vui-select-list-border-radius) var(--vui-select-list-border-radius)}.viraui__select-module__List_jdUWx{box-sizing:border-box;inline-size:100%;max-block-size:var(--available-height);scroll-padding-block:var(--vui-select-list-padding);overscroll-behavior:contain;&:focus,&:focus-visible{outline:none}}.viraui__select-module__Indicator_YNUuz{min-inline-size:var(--space-medium);min-block-size:var(--space-medium);inline-size:fit-content;block-size:fit-content;color:var(--global-primary);opacity:0;transition:opacity var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard);&[data-selected]{opacity:1}}.viraui__select-module__Group_xzkuA+.viraui__select-module__Group_xzkuA{margin-block-start:var(--space-medium)}}@layer viraui.overrides{.viraui__select-module__Value_uWHPX{flex:1 1 auto;min-inline-size:0;overflow:hidden;display:block;text-overflow:ellipsis;&[data-placeholder]{color:var(--global-disabled-foreground)}}.viraui__select-module__Option_KgYqz{cursor:pointer;&:focus{outline:none}&:focus-visible{outline:none;box-shadow:none}&:not([data-disabled]):hover,&:not([data-disabled])[data-highlighted]{background:var(--global-contrast);@container root not style(--vibrancy-enable: initial){background:oklab(from var(--global-contrast) l a b/12%)}}&:not([data-disabled],:hover)[data-selected]{background:light-dark(oklab(from var(--global-contrast) l a b/8%),oklab(from var(--global-contrast) l a b/5%))}&[data-disabled]{color:var(--global-disabled-foreground);cursor:not-allowed}}}
|
|
@@ -26,27 +26,68 @@
|
|
|
26
26
|
],
|
|
27
27
|
"related": ["Fieldset", "Textfield", "Stack", "Surface", "Icon"],
|
|
28
28
|
"properties": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"description": "Select
|
|
29
|
+
"react": {
|
|
30
|
+
"addon": {
|
|
31
|
+
"description": "Trigger addon rendered inside `Select.Icon`. Pass any React node; use a named icon from `@viraui/icons/react` for content icons."
|
|
32
|
+
},
|
|
33
|
+
"alignListWithTrigger": {
|
|
34
|
+
"description": "When `true`, aligns the list popup width with the trigger via Base UI `alignItemWithTrigger`. Prefer `false` when options use a leading `addon`."
|
|
35
|
+
},
|
|
36
|
+
"description": {
|
|
37
|
+
"description": "Helper copy rendered with `Field.Description` and `Text` while the field is valid."
|
|
38
|
+
},
|
|
39
|
+
"error": {
|
|
40
|
+
"description": "Error copy rendered with `Field.Error` and `Text` in the same slot as `description`. Replaces description while the field is invalid."
|
|
41
|
+
},
|
|
42
|
+
"Group.label": {
|
|
43
|
+
"description": "Accessible group label rendered with `Select.GroupLabel`."
|
|
44
|
+
},
|
|
45
|
+
"label": {
|
|
46
|
+
"description": "Visible label rendered with shared internal `FieldLabel`."
|
|
32
47
|
},
|
|
48
|
+
"Option.addon": {
|
|
49
|
+
"description": "Decorative leading node rendered before the option label."
|
|
50
|
+
},
|
|
51
|
+
"Option.addonAlign": {
|
|
52
|
+
"description": "Vertical alignment of the addon relative to the option label row."
|
|
53
|
+
},
|
|
54
|
+
"Option.indicator": {
|
|
55
|
+
"description": "Custom indicator node rendered when the option is selected."
|
|
56
|
+
},
|
|
57
|
+
"placeholder": {
|
|
58
|
+
"description": "Placeholder text shown in the trigger when no value is selected."
|
|
59
|
+
},
|
|
60
|
+
"ref": {
|
|
61
|
+
"description": "Ref forwarded to the select trigger button."
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"css": {
|
|
33
65
|
"control-group-background": {
|
|
34
66
|
"description": "Trigger background fill."
|
|
35
67
|
},
|
|
36
|
-
"control-group-color": {
|
|
37
|
-
"description": "Trigger text and icon color."
|
|
38
|
-
},
|
|
39
68
|
"control-group-border-color": {
|
|
40
69
|
"description": "Trigger border color; invalid state overrides."
|
|
41
70
|
},
|
|
42
71
|
"control-group-border-radius": {
|
|
43
72
|
"description": "Trigger corner radius."
|
|
44
73
|
},
|
|
45
|
-
"
|
|
46
|
-
"description": "Trigger
|
|
74
|
+
"control-group-color": {
|
|
75
|
+
"description": "Trigger text and icon color."
|
|
76
|
+
},
|
|
77
|
+
"input-height": {
|
|
78
|
+
"description": "Select trigger block size."
|
|
79
|
+
},
|
|
80
|
+
"list-border-radius": {
|
|
81
|
+
"description": "list border radius custom property on the component root."
|
|
82
|
+
},
|
|
83
|
+
"list-padding": {
|
|
84
|
+
"description": "list padding custom property on the component root."
|
|
47
85
|
},
|
|
48
86
|
"trigger-padding-inline-end": {
|
|
49
87
|
"description": "Trigger inline-end padding."
|
|
88
|
+
},
|
|
89
|
+
"trigger-padding-inline-start": {
|
|
90
|
+
"description": "Trigger inline-start padding."
|
|
50
91
|
}
|
|
51
92
|
}
|
|
52
93
|
}
|
|
@@ -8,11 +8,11 @@ import { FieldLabel } from "../basic-input/field-label.js";
|
|
|
8
8
|
import { Stack } from "../stack/stack.js";
|
|
9
9
|
import { Elevator } from "../elevator/elevator.js";
|
|
10
10
|
import { IconButton } from "../icon-button/icon-button.js";
|
|
11
|
+
import { Surface } from "../surface/surface.js";
|
|
11
12
|
import select_module_default from "./select.module.js";
|
|
12
13
|
import { SelectGroup } from "./select-group.js";
|
|
13
14
|
import { SelectOption } from "./select-option.js";
|
|
14
15
|
import { SelectSeparator } from "./select-separator.js";
|
|
15
|
-
import { Surface } from "../surface/surface.js";
|
|
16
16
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
17
|
import { useId } from "react";
|
|
18
18
|
import { Field } from "@base-ui/react/field";
|
|
@@ -10,10 +10,8 @@ var ScrollButton = "viraui__select-module__ScrollButton_sHBOa";
|
|
|
10
10
|
var ScrollArrowUp = "viraui__select-module__ScrollArrowUp_DGXS-";
|
|
11
11
|
var ScrollArrowDown = "viraui__select-module__ScrollArrowDown_vhJy0";
|
|
12
12
|
var List = "viraui__select-module__List_jdUWx";
|
|
13
|
-
var OptionText = "viraui__select-module__OptionText_UynBD";
|
|
14
13
|
var Indicator = "viraui__select-module__Indicator_YNUuz";
|
|
15
14
|
var Group = "viraui__select-module__Group_xzkuA";
|
|
16
|
-
var Separator = "viraui__select-module__Separator_Q-ri9";
|
|
17
15
|
var Value = "viraui__select-module__Value_uWHPX";
|
|
18
16
|
var Option = "viraui__select-module__Option_KgYqz";
|
|
19
17
|
var select_module_default = {
|
|
@@ -28,12 +26,10 @@ var select_module_default = {
|
|
|
28
26
|
ScrollArrowUp,
|
|
29
27
|
ScrollArrowDown,
|
|
30
28
|
List,
|
|
31
|
-
OptionText,
|
|
32
29
|
Indicator,
|
|
33
30
|
Group,
|
|
34
|
-
Separator,
|
|
35
31
|
Value,
|
|
36
32
|
Option
|
|
37
33
|
};
|
|
38
34
|
//#endregion
|
|
39
|
-
export { Description, Group, Icon, Indicator, Label, List, Option,
|
|
35
|
+
export { Description, Group, Icon, Indicator, Label, List, Option, ScrollArrow, ScrollArrowDown, ScrollArrowUp, ScrollButton, Select, SelectPopup, Trigger, Value, select_module_default as default };
|
|
@@ -21,5 +21,32 @@
|
|
|
21
21
|
"Using Select.Separator for general layout dividers",
|
|
22
22
|
"Replacing Surface borders with Separator for container chrome"
|
|
23
23
|
],
|
|
24
|
-
"related": ["Stack", "Surface", "Select"]
|
|
24
|
+
"related": ["Stack", "Surface", "Select"],
|
|
25
|
+
"properties": {
|
|
26
|
+
"react": {
|
|
27
|
+
"hPadding": {
|
|
28
|
+
"description": "Sets inline padding on the Stack wrapper using one token for both sides or a `[start, end]` tuple."
|
|
29
|
+
},
|
|
30
|
+
"orientation": {
|
|
31
|
+
"description": "Sets the separator line direction."
|
|
32
|
+
},
|
|
33
|
+
"ref": {
|
|
34
|
+
"description": "Ref forwarded to the rendered line root element."
|
|
35
|
+
},
|
|
36
|
+
"render": {
|
|
37
|
+
"description": "Replaces the default `hr` line root using Base UI render semantics."
|
|
38
|
+
},
|
|
39
|
+
"size": {
|
|
40
|
+
"description": "Sets the line thickness preset."
|
|
41
|
+
},
|
|
42
|
+
"vPadding": {
|
|
43
|
+
"description": "Sets block padding on the Stack wrapper using one token for both sides or a `[start, end]` tuple."
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"css": {
|
|
47
|
+
"size": {
|
|
48
|
+
"description": "Separator line thickness."
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
25
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-shimmer-duration{syntax:"<time>";inherits:false;initial-value:0s}@property --vui-shimmer-spread{syntax:"<length>";inherits:false;initial-value:0}@property --vui-shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --vui-shimmer-highlight{syntax:"<color>";inherits:false;initial-value:#0000}.viraui__shimmer-module__Shimmer_1k-ZM{--vui-shimmer-duration:var(--duration-slowest);--vui-shimmer-spread:calc(3ch + var(--space-2x-large));--
|
|
1
|
+
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-shimmer-duration{syntax:"<time>";inherits:false;initial-value:0s}@property --vui-shimmer-spread{syntax:"<length>";inherits:false;initial-value:0}@property --vui-shimmer-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --vui-shimmer-highlight{syntax:"<color>";inherits:false;initial-value:#0000}@property --__shimmer-base{syntax:"<color>";inherits:false;initial-value:currentcolor}.viraui__shimmer-module__Shimmer_1k-ZM{--vui-shimmer-duration:var(--duration-slowest);--vui-shimmer-spread:calc(3ch + var(--space-2x-large));--vui-shimmer-highlight:oklch(from var(--__shimmer-base) min(calc(l + 0.35),1) c h);background-image:linear-gradient(calc(90deg + var(--vui-shimmer-angle)),var(--__shimmer-base) calc(50% - var(--vui-shimmer-spread)),color-mix(in oklch,var(--vui-shimmer-highlight),var(--__shimmer-base) 50%) calc(50% - var(--vui-shimmer-spread) * .5),var(--vui-shimmer-highlight) 50%,color-mix(in oklch,var(--vui-shimmer-highlight),var(--__shimmer-base) 50%) calc(50% + var(--vui-shimmer-spread) * .5),var(--__shimmer-base) calc(50% + var(--vui-shimmer-spread)));background-repeat:no-repeat;background-size:calc(200% + var(--vui-shimmer-spread) * 2) 100%;background-position:0 0;background-clip:text;-webkit-text-fill-color:#0000;animation:viraui__shimmer-module__shimmer-slide_V1znC var(--vui-shimmer-duration) linear infinite;&::selection{background-color:var(--global-primary);color:contrast-color(var(--global-primary));-webkit-text-fill-color:contrast-color(var(--global-primary));background-image:none;background-clip:initial;text-shadow:none}@media (prefers-reduced-motion:reduce){animation:none;background-image:none;-webkit-text-fill-color:currentcolor}}@keyframes viraui__shimmer-module__shimmer-slide_V1znC{0%{background-position:0 0}to{background-position:100% 0}}}
|
|
@@ -25,39 +25,42 @@
|
|
|
25
25
|
"related": ["Text", "Title", "Skeleton"],
|
|
26
26
|
"properties": {
|
|
27
27
|
"react": {
|
|
28
|
+
"angle": {
|
|
29
|
+
"description": "Sets the shimmer gradient angle offset using any valid CSS angle string.",
|
|
30
|
+
"refCss": "angle"
|
|
31
|
+
},
|
|
28
32
|
"duration": {
|
|
29
33
|
"description": "Sets the shimmer sweep duration using any valid CSS time string.",
|
|
30
34
|
"refCss": "duration"
|
|
31
35
|
},
|
|
36
|
+
"highlightColor": {
|
|
37
|
+
"description": "Overrides the shimmer highlight color when relative base lightness tuning is not used.",
|
|
38
|
+
"refCss": "highlight"
|
|
39
|
+
},
|
|
40
|
+
"ref": {
|
|
41
|
+
"description": "Ref forwarded to the rendered shimmer root element."
|
|
42
|
+
},
|
|
32
43
|
"spread": {
|
|
33
44
|
"description": "Sets the shimmer highlight spread using any valid CSS length string.",
|
|
34
45
|
"refCss": "spread"
|
|
35
|
-
},
|
|
36
|
-
"angle": {
|
|
37
|
-
"description": "Sets the shimmer gradient angle offset using any valid CSS angle string.",
|
|
38
|
-
"refCss": "angle"
|
|
39
|
-
},
|
|
40
|
-
"highlightColor": {
|
|
41
|
-
"description": "Overrides the shimmer highlight color.",
|
|
42
|
-
"refCss": "highlight"
|
|
43
46
|
}
|
|
44
47
|
},
|
|
45
48
|
"css": {
|
|
46
|
-
"duration": {
|
|
47
|
-
"description": "Shimmer animation duration.",
|
|
48
|
-
"refReact": "duration"
|
|
49
|
-
},
|
|
50
|
-
"spread": {
|
|
51
|
-
"description": "Shimmer highlight spread width.",
|
|
52
|
-
"refReact": "spread"
|
|
53
|
-
},
|
|
54
49
|
"angle": {
|
|
55
50
|
"description": "Shimmer gradient angle offset.",
|
|
56
51
|
"refReact": "angle"
|
|
57
52
|
},
|
|
53
|
+
"duration": {
|
|
54
|
+
"description": "Shimmer animation duration.",
|
|
55
|
+
"refReact": "duration"
|
|
56
|
+
},
|
|
58
57
|
"highlight": {
|
|
59
58
|
"description": "Shimmer highlight color.",
|
|
60
59
|
"refReact": "highlightColor"
|
|
60
|
+
},
|
|
61
|
+
"spread": {
|
|
62
|
+
"description": "Shimmer highlight spread width.",
|
|
63
|
+
"refReact": "spread"
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
}
|
|
@@ -23,50 +23,43 @@
|
|
|
23
23
|
"related": ["Avatar"],
|
|
24
24
|
"properties": {
|
|
25
25
|
"react": {
|
|
26
|
-
"radius": {
|
|
27
|
-
"description": "Sets the corner radius from the Vira radius token scale.",
|
|
28
|
-
"refCss": "border-radius"
|
|
29
|
-
},
|
|
30
|
-
"width": {
|
|
31
|
-
"description": "Sets the skeleton inline size.",
|
|
32
|
-
"refCss": "inline-size"
|
|
33
|
-
},
|
|
34
26
|
"height": {
|
|
35
|
-
"description": "Sets the skeleton block size."
|
|
36
|
-
|
|
27
|
+
"description": "Sets the skeleton block size using any valid CSS size string."
|
|
28
|
+
},
|
|
29
|
+
"minHeight": {
|
|
30
|
+
"description": "Sets the skeleton minimum block size using any valid CSS size string."
|
|
37
31
|
},
|
|
38
32
|
"minWidth": {
|
|
39
|
-
"description": "Sets the skeleton minimum inline size."
|
|
40
|
-
"refCss": "min-inline-size"
|
|
33
|
+
"description": "Sets the skeleton minimum inline size using any valid CSS size string."
|
|
41
34
|
},
|
|
42
|
-
"
|
|
43
|
-
"description": "Sets the
|
|
44
|
-
|
|
35
|
+
"radius": {
|
|
36
|
+
"description": "Sets the corner radius from the Vira radius token scale."
|
|
37
|
+
},
|
|
38
|
+
"ref": {
|
|
39
|
+
"description": "Ref forwarded to the rendered skeleton root element."
|
|
40
|
+
},
|
|
41
|
+
"width": {
|
|
42
|
+
"description": "Sets the skeleton inline size using any valid CSS size string."
|
|
45
43
|
}
|
|
46
44
|
},
|
|
47
45
|
"css": {
|
|
48
|
-
"
|
|
49
|
-
"description": "Skeleton
|
|
50
|
-
"refReact": "radius"
|
|
51
|
-
},
|
|
52
|
-
"inline-size": {
|
|
53
|
-
"description": "Skeleton inline size.",
|
|
54
|
-
"refReact": "width"
|
|
46
|
+
"background": {
|
|
47
|
+
"description": "Skeleton placeholder background color."
|
|
55
48
|
},
|
|
56
49
|
"block-size": {
|
|
57
|
-
"description": "Skeleton block size."
|
|
58
|
-
"refReact": "height"
|
|
50
|
+
"description": "Skeleton block size."
|
|
59
51
|
},
|
|
60
|
-
"
|
|
61
|
-
"description": "Skeleton
|
|
62
|
-
|
|
52
|
+
"border-radius": {
|
|
53
|
+
"description": "Skeleton corner radius."
|
|
54
|
+
},
|
|
55
|
+
"inline-size": {
|
|
56
|
+
"description": "Skeleton inline size."
|
|
63
57
|
},
|
|
64
58
|
"min-block-size": {
|
|
65
|
-
"description": "Skeleton minimum block size."
|
|
66
|
-
"refReact": "minHeight"
|
|
59
|
+
"description": "Skeleton minimum block size."
|
|
67
60
|
},
|
|
68
|
-
"
|
|
69
|
-
"description": "Skeleton
|
|
61
|
+
"min-inline-size": {
|
|
62
|
+
"description": "Skeleton minimum inline size."
|
|
70
63
|
}
|
|
71
64
|
}
|
|
72
65
|
}
|
|
@@ -22,21 +22,41 @@
|
|
|
22
22
|
],
|
|
23
23
|
"related": ["Textfield", "Stack", "Text"],
|
|
24
24
|
"properties": {
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"description": "
|
|
25
|
+
"react": {
|
|
26
|
+
"description": {
|
|
27
|
+
"description": "Helper copy rendered with `Field.Description` and `Text` while the field is valid."
|
|
28
28
|
},
|
|
29
|
-
"
|
|
30
|
-
"description": "
|
|
29
|
+
"error": {
|
|
30
|
+
"description": "Error copy rendered with `Field.Error` and `Text` in the same slot as `description`."
|
|
31
31
|
},
|
|
32
|
-
"
|
|
33
|
-
"description": "
|
|
32
|
+
"label": {
|
|
33
|
+
"description": "Visible label rendered with shared internal `FieldLabel`."
|
|
34
|
+
},
|
|
35
|
+
"required": {
|
|
36
|
+
"description": "Marks the slider as required and shows a required indicator on the label."
|
|
34
37
|
},
|
|
38
|
+
"showValue": {
|
|
39
|
+
"description": "Renders the formatted current value via `Slider.Value` and `Text`."
|
|
40
|
+
},
|
|
41
|
+
"thumbAriaLabel": {
|
|
42
|
+
"description": "Accessible name for the thumb when `label` is omitted. Pass a string to name the first thumb (single-thumb slider, or the minimum thumb on a range). Pass a two-element tuple to name each range thumb in order; on a single-thumb slider only the first tuple value is applied."
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"css": {
|
|
35
46
|
"progress-background": {
|
|
36
47
|
"description": "Slider filled progress color."
|
|
37
48
|
},
|
|
38
49
|
"thumb-background": {
|
|
39
50
|
"description": "Slider thumb fill color."
|
|
51
|
+
},
|
|
52
|
+
"thumb-size": {
|
|
53
|
+
"description": "Slider thumb size."
|
|
54
|
+
},
|
|
55
|
+
"track-background": {
|
|
56
|
+
"description": "Slider track background color."
|
|
57
|
+
},
|
|
58
|
+
"track-size": {
|
|
59
|
+
"description": "Slider track thickness."
|
|
40
60
|
}
|
|
41
61
|
}
|
|
42
62
|
}
|