@viraui/react 1.0.12 → 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 +16 -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 -0
- package/dist/components/badge/badge.d.ts +39 -0
- package/dist/components/badge/badge.guide.json +59 -0
- package/dist/components/badge/badge.js +50 -0
- package/dist/components/badge/badge.module.js +11 -0
- package/dist/components/badge/index.d.ts +2 -0
- 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 +2 -1
- package/dist/components/button/button.css +1 -1
- package/dist/components/button/button.guide.json +27 -7
- package/dist/components/button/button.js +2 -1
- 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 +2 -1
- package/dist/components/clamp-text/clamp-text.css +1 -1
- package/dist/components/clamp-text/clamp-text.guide.json +9 -0
- package/dist/components/clamp-text/clamp-text.js +1 -1
- 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 +2 -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/masonry/masonry.js +1 -1
- 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 +13 -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 +2 -2
|
@@ -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
|
}
|
|
@@ -23,15 +23,16 @@
|
|
|
23
23
|
"related": ["Button", "IconButton"],
|
|
24
24
|
"properties": {
|
|
25
25
|
"react": {
|
|
26
|
+
"color": {
|
|
27
|
+
"description": "Overrides the spinner fill color."
|
|
28
|
+
},
|
|
26
29
|
"size": {
|
|
27
|
-
"description": "Sets the rendered spinner size."
|
|
28
|
-
"refCss": "size"
|
|
30
|
+
"description": "Sets the rendered spinner size."
|
|
29
31
|
}
|
|
30
32
|
},
|
|
31
33
|
"css": {
|
|
32
34
|
"size": {
|
|
33
|
-
"description": "Spinner glyph size on the root."
|
|
34
|
-
"refReact": "size"
|
|
35
|
+
"description": "Spinner glyph size on the root."
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
}
|
|
@@ -24,77 +24,79 @@
|
|
|
24
24
|
"related": ["Surface", "Text", "Button"],
|
|
25
25
|
"properties": {
|
|
26
26
|
"react": {
|
|
27
|
-
"rowGap": {
|
|
28
|
-
"description": "Sets row gap using a Vira space token.",
|
|
29
|
-
"refCss": "row-gap"
|
|
30
|
-
},
|
|
31
27
|
"columnGap": {
|
|
32
|
-
"description": "Sets
|
|
33
|
-
"refCss": "column-gap"
|
|
28
|
+
"description": "Sets the gap between flex columns using the Vira space token scale."
|
|
34
29
|
},
|
|
35
|
-
"
|
|
36
|
-
"description": "
|
|
37
|
-
"refCss": "h-align"
|
|
30
|
+
"direction": {
|
|
31
|
+
"description": "Renders children across rows or columns using the chosen flex direction."
|
|
38
32
|
},
|
|
39
|
-
"
|
|
40
|
-
"description": "
|
|
41
|
-
|
|
33
|
+
"fillChildren": {
|
|
34
|
+
"description": "Makes direct children grow to fill the available space within the stack."
|
|
35
|
+
},
|
|
36
|
+
"hAlign": {
|
|
37
|
+
"description": "Aligns content on the horizontal axis from the consumer point of view."
|
|
42
38
|
},
|
|
43
39
|
"hPadding": {
|
|
44
|
-
"description": "Sets inline padding using one token or a [start, end] tuple."
|
|
40
|
+
"description": "Sets inline padding using one token for both sides or a `[start, end]` tuple."
|
|
45
41
|
},
|
|
46
|
-
"
|
|
47
|
-
"description": "
|
|
42
|
+
"inline": {
|
|
43
|
+
"description": "Displays the stack as `inline-flex` instead of `flex`."
|
|
48
44
|
},
|
|
49
45
|
"maxWidth": {
|
|
50
|
-
"description": "
|
|
51
|
-
"refCss": "max-width"
|
|
46
|
+
"description": "Applies a maximum width value to the stack root."
|
|
52
47
|
},
|
|
53
48
|
"minWidth": {
|
|
54
|
-
"description": "
|
|
55
|
-
|
|
49
|
+
"description": "Applies a minimum width value to the stack root."
|
|
50
|
+
},
|
|
51
|
+
"ref": {
|
|
52
|
+
"description": "Ref forwarded to the rendered stack root element."
|
|
53
|
+
},
|
|
54
|
+
"render": {
|
|
55
|
+
"description": "Replaces the default `div` root using Base UI render semantics."
|
|
56
|
+
},
|
|
57
|
+
"rowGap": {
|
|
58
|
+
"description": "Sets the gap between flex rows using the Vira space token scale."
|
|
59
|
+
},
|
|
60
|
+
"vAlign": {
|
|
61
|
+
"description": "Aligns content on the vertical axis from the consumer point of view."
|
|
62
|
+
},
|
|
63
|
+
"vPadding": {
|
|
64
|
+
"description": "Sets block padding using one token for both sides or a `[start, end]` tuple."
|
|
65
|
+
},
|
|
66
|
+
"wrap": {
|
|
67
|
+
"description": "Allows direct children to wrap onto additional lines when space is constrained."
|
|
56
68
|
}
|
|
57
69
|
},
|
|
58
70
|
"css": {
|
|
59
|
-
"row-gap": {
|
|
60
|
-
"description": "Flex row gap on the root.",
|
|
61
|
-
"refReact": "rowGap"
|
|
62
|
-
},
|
|
63
71
|
"column-gap": {
|
|
64
|
-
"description": "Flex column gap on the root."
|
|
65
|
-
"refReact": "columnGap"
|
|
72
|
+
"description": "Flex column gap on the root."
|
|
66
73
|
},
|
|
67
74
|
"h-align": {
|
|
68
|
-
"description": "Logical horizontal flex alignment hook."
|
|
69
|
-
"refReact": "hAlign"
|
|
75
|
+
"description": "Logical horizontal flex alignment hook."
|
|
70
76
|
},
|
|
71
|
-
"
|
|
72
|
-
"description": "
|
|
73
|
-
"refReact": "vAlign"
|
|
77
|
+
"max-width": {
|
|
78
|
+
"description": "Max inline size of the stack root."
|
|
74
79
|
},
|
|
75
|
-
"
|
|
76
|
-
"description": "
|
|
77
|
-
"refReact": "hPadding"
|
|
80
|
+
"min-width": {
|
|
81
|
+
"description": "Min inline size of the stack root."
|
|
78
82
|
},
|
|
79
|
-
"padding-
|
|
80
|
-
"description": "
|
|
81
|
-
"refReact": "hPadding"
|
|
83
|
+
"padding-block-end": {
|
|
84
|
+
"description": "Block-end padding when padding is enabled."
|
|
82
85
|
},
|
|
83
86
|
"padding-block-start": {
|
|
84
|
-
"description": "Block-start padding when padding is enabled."
|
|
85
|
-
"refReact": "vPadding"
|
|
87
|
+
"description": "Block-start padding when padding is enabled."
|
|
86
88
|
},
|
|
87
|
-
"padding-
|
|
88
|
-
"description": "
|
|
89
|
-
"refReact": "vPadding"
|
|
89
|
+
"padding-inline-end": {
|
|
90
|
+
"description": "Inline-end padding when padding is enabled."
|
|
90
91
|
},
|
|
91
|
-
"
|
|
92
|
-
"description": "
|
|
93
|
-
"refReact": "maxWidth"
|
|
92
|
+
"padding-inline-start": {
|
|
93
|
+
"description": "Inline-start padding when padding is enabled."
|
|
94
94
|
},
|
|
95
|
-
"
|
|
96
|
-
"description": "
|
|
97
|
-
|
|
95
|
+
"row-gap": {
|
|
96
|
+
"description": "Flex row gap on the root."
|
|
97
|
+
},
|
|
98
|
+
"v-align": {
|
|
99
|
+
"description": "Logical vertical flex alignment hook."
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
102
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"Large numbers of simultaneous full-viewport overlays on the same page"
|
|
14
14
|
],
|
|
15
15
|
"accessibility": [
|
|
16
|
-
"StaticNoise is decorative — the root
|
|
16
|
+
"StaticNoise 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
18
|
"Consumer owns position, inset, z-index, and sizing for the overlay placement"
|
|
19
19
|
],
|
|
@@ -22,5 +22,21 @@
|
|
|
22
22
|
"Using StaticNoise as the only loading announcement for a page",
|
|
23
23
|
"Embedding layout positioning rules inside the component stylesheet"
|
|
24
24
|
],
|
|
25
|
-
"related": ["Surface", "Skeleton"]
|
|
25
|
+
"related": ["Surface", "Skeleton"],
|
|
26
|
+
"properties": {
|
|
27
|
+
"react": {
|
|
28
|
+
"animate": {
|
|
29
|
+
"description": "Animates the internal turbulence filter by cycling `feTurbulence` seed values."
|
|
30
|
+
},
|
|
31
|
+
"baseFrequency": {
|
|
32
|
+
"description": "Sets the SVG turbulence `baseFrequency` for the internal noise filter."
|
|
33
|
+
},
|
|
34
|
+
"mixBlendMode": {
|
|
35
|
+
"description": "Sets the rendered overlay mix blend mode."
|
|
36
|
+
},
|
|
37
|
+
"opacity": {
|
|
38
|
+
"description": "Sets the rendered overlay opacity."
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
26
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-surface-background{syntax:"*";inherits:false;initial-value:none}@property --vui-surface-background-hover{syntax:"*";inherits:false;initial-value:none}@property --vui-surface-border-style{syntax:"<custom-ident>";inherits:false;initial-value:solid}@property --vui-surface-overflow{syntax:"<custom-ident>";inherits:false;initial-value:visible}@property --vui-surface-border-radius{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-top-left{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-top-right{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-bottom-right{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-bottom-left{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-padding-inline-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-inline-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-block-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-block-end{syntax:"<length>";inherits:false;initial-value:0}.viraui__surface-module__Surface_slEYq{--vui-surface-border-radius-top-left:var(--vui-surface-border-radius);--vui-surface-border-radius-top-right:var(--vui-surface-border-radius);--vui-surface-border-radius-bottom-right:var(--vui-surface-border-radius);--vui-surface-border-radius-bottom-left:var(--vui-surface-border-radius);--vui-surface-background-hover:var(--vui-surface-background);position:relative;overflow:var(--vui-surface-overflow);box-sizing:border-box;background:var(--vui-surface-background);border-radius:var(--vui-surface-border-radius-top-left) var(--vui-surface-border-radius-top-right) var(--vui-surface-border-radius-bottom-right) var(--vui-surface-border-radius-bottom-left);border:0;@container root not style(--vibrancy-enable: initial){&[data-vibrant]{background:oklab(from var(--vui-surface-background) l a b/80%)}}&[data-surface-
|
|
1
|
+
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-surface-background{syntax:"*";inherits:false;initial-value:none}@property --vui-surface-background-hover{syntax:"*";inherits:false;initial-value:none}@property --vui-surface-border-style{syntax:"<custom-ident>";inherits:false;initial-value:solid}@property --vui-surface-overflow{syntax:"<custom-ident>";inherits:false;initial-value:visible}@property --vui-surface-border-radius{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-top-left{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-top-right{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-bottom-right{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-border-radius-bottom-left{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --vui-surface-padding-inline-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-inline-end{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-block-start{syntax:"<length>";inherits:false;initial-value:0}@property --vui-surface-padding-block-end{syntax:"<length>";inherits:false;initial-value:0}.viraui__surface-module__Surface_slEYq{--vui-surface-border-radius-top-left:var(--vui-surface-border-radius);--vui-surface-border-radius-top-right:var(--vui-surface-border-radius);--vui-surface-border-radius-bottom-right:var(--vui-surface-border-radius);--vui-surface-border-radius-bottom-left:var(--vui-surface-border-radius);--vui-surface-background-hover:var(--vui-surface-background);position:relative;overflow:var(--vui-surface-overflow);box-sizing:border-box;background:var(--vui-surface-background);border-radius:var(--vui-surface-border-radius-top-left) var(--vui-surface-border-radius-top-right) var(--vui-surface-border-radius-bottom-right) var(--vui-surface-border-radius-bottom-left);border:0;@container root not style(--vibrancy-enable: initial){&[data-vibrant]{background:oklab(from var(--vui-surface-background) l a b/80%)}}&[data-surface-has-padding=true]{padding:var(--vui-surface-padding-block-start) var(--vui-surface-padding-inline-end) var(--vui-surface-padding-block-end) var(--vui-surface-padding-inline-start)}&[data-surface-border]{border-style:var(--vui-surface-border-style);border-color:var(--global-contrast)}&[data-surface-border=all]{border-width:1px}&[data-surface-border=top]{border-width:1px 0 0}&[data-surface-border=right]{border-width:0 1px 0 0}&[data-surface-border=bottom]{border-width:0 0 1px}&[data-surface-border=left]{border-width:0 0 0 1px}&[data-surface-border=x]{border-width:0 1px}&[data-surface-border=y]{border-width:1px 0}@media (hover:hover) and (pointer:fine){&[data-surface-has-hover-color=true]:hover{background:var(--vui-surface-background-hover)}}}}
|
|
@@ -33,85 +33,78 @@
|
|
|
33
33
|
"related": ["Elevator", "Stack"],
|
|
34
34
|
"properties": {
|
|
35
35
|
"react": {
|
|
36
|
+
"border": {
|
|
37
|
+
"description": "Applies the shared contrast border on the chosen side or axis. Omit for no border."
|
|
38
|
+
},
|
|
39
|
+
"borderStyle": {
|
|
40
|
+
"description": "Sets the CSS border style when `border` is set."
|
|
41
|
+
},
|
|
36
42
|
"color": {
|
|
37
|
-
"description": "Sets the resting background using a base ramp layer or literal CSS color."
|
|
38
|
-
"refCss": "background"
|
|
43
|
+
"description": "Sets the resting background using a base ramp layer (`1`–`3`) or a literal CSS color value."
|
|
39
44
|
},
|
|
40
45
|
"hoverColor": {
|
|
41
|
-
"description": "Sets the hover background on hover-capable pointers."
|
|
42
|
-
"refCss": "background-hover"
|
|
46
|
+
"description": "Sets the hover background on hover-capable pointers using a base ramp layer (`1`–`3`) or literal CSS value."
|
|
43
47
|
},
|
|
44
|
-
"
|
|
45
|
-
"description": "Sets
|
|
46
|
-
"refCss": "border-style"
|
|
48
|
+
"hPadding": {
|
|
49
|
+
"description": "Sets inline padding using one token for both sides or a `[start, end]` tuple."
|
|
47
50
|
},
|
|
48
51
|
"overflow": {
|
|
49
|
-
"description": "Sets root overflow through the surface
|
|
52
|
+
"description": "Sets root overflow through the `--vui-surface-overflow` custom property.",
|
|
50
53
|
"refCss": "overflow"
|
|
51
54
|
},
|
|
52
55
|
"radius": {
|
|
53
|
-
"description": "Sets corner radius from
|
|
54
|
-
"refCss": "border-radius"
|
|
56
|
+
"description": "Sets corner radius from the Vira radius token scale, a per-corner `[top-left, top-right, bottom-right, bottom-left]` tuple (`0` for square corners), or `auto` for concentric radii from the nearest ancestor Surface."
|
|
55
57
|
},
|
|
56
|
-
"
|
|
57
|
-
"description": "
|
|
58
|
+
"ref": {
|
|
59
|
+
"description": "Ref forwarded to the rendered surface root element."
|
|
60
|
+
},
|
|
61
|
+
"render": {
|
|
62
|
+
"description": "Replaces the default `div` root using Base UI render semantics."
|
|
58
63
|
},
|
|
59
64
|
"vPadding": {
|
|
60
|
-
"description": "Sets block padding using one token or a [start, end] tuple."
|
|
65
|
+
"description": "Sets block padding using one token for both sides or a `[start, end]` tuple."
|
|
61
66
|
}
|
|
62
67
|
},
|
|
63
68
|
"css": {
|
|
64
69
|
"background": {
|
|
65
|
-
"description": "Resting surface background on the root."
|
|
66
|
-
"refReact": "color"
|
|
70
|
+
"description": "Resting surface background on the root."
|
|
67
71
|
},
|
|
68
72
|
"background-hover": {
|
|
69
|
-
"description": "Hover surface background on the root."
|
|
70
|
-
"refReact": "hoverColor"
|
|
73
|
+
"description": "Hover surface background on the root."
|
|
71
74
|
},
|
|
72
|
-
"border-
|
|
73
|
-
"description": "
|
|
74
|
-
"refReact": "borderStyle"
|
|
75
|
+
"border-radius": {
|
|
76
|
+
"description": "Uniform corner radius when radius is a single token."
|
|
75
77
|
},
|
|
76
|
-
"
|
|
77
|
-
"description": "
|
|
78
|
-
"refReact": "overflow"
|
|
78
|
+
"border-radius-bottom-left": {
|
|
79
|
+
"description": "Bottom-left corner radius; radius tuple or auto resolves per corner."
|
|
79
80
|
},
|
|
80
|
-
"border-radius": {
|
|
81
|
-
"description": "
|
|
82
|
-
"refReact": "radius"
|
|
81
|
+
"border-radius-bottom-right": {
|
|
82
|
+
"description": "Bottom-right corner radius; radius tuple or auto resolves per corner."
|
|
83
83
|
},
|
|
84
84
|
"border-radius-top-left": {
|
|
85
|
-
"description": "Top-left corner radius; radius tuple or auto resolves per corner."
|
|
86
|
-
"refReact": "radius"
|
|
85
|
+
"description": "Top-left corner radius; radius tuple or auto resolves per corner."
|
|
87
86
|
},
|
|
88
87
|
"border-radius-top-right": {
|
|
89
|
-
"description": "Top-right corner radius; radius tuple or auto resolves per corner."
|
|
90
|
-
"refReact": "radius"
|
|
88
|
+
"description": "Top-right corner radius; radius tuple or auto resolves per corner."
|
|
91
89
|
},
|
|
92
|
-
"border-
|
|
93
|
-
"description": "
|
|
94
|
-
"refReact": "radius"
|
|
95
|
-
},
|
|
96
|
-
"border-radius-bottom-left": {
|
|
97
|
-
"description": "Bottom-left corner radius; radius tuple or auto resolves per corner.",
|
|
98
|
-
"refReact": "radius"
|
|
90
|
+
"border-style": {
|
|
91
|
+
"description": "Border style when border is enabled."
|
|
99
92
|
},
|
|
100
|
-
"
|
|
101
|
-
"description": "
|
|
102
|
-
"refReact": "
|
|
93
|
+
"overflow": {
|
|
94
|
+
"description": "Root overflow behavior.",
|
|
95
|
+
"refReact": "overflow"
|
|
103
96
|
},
|
|
104
|
-
"padding-
|
|
105
|
-
"description": "
|
|
106
|
-
"refReact": "hPadding"
|
|
97
|
+
"padding-block-end": {
|
|
98
|
+
"description": "Block-end padding when padding is enabled."
|
|
107
99
|
},
|
|
108
100
|
"padding-block-start": {
|
|
109
|
-
"description": "Block-start padding when padding is enabled."
|
|
110
|
-
"refReact": "vPadding"
|
|
101
|
+
"description": "Block-start padding when padding is enabled."
|
|
111
102
|
},
|
|
112
|
-
"padding-
|
|
113
|
-
"description": "
|
|
114
|
-
|
|
103
|
+
"padding-inline-end": {
|
|
104
|
+
"description": "Inline-end padding when padding is enabled."
|
|
105
|
+
},
|
|
106
|
+
"padding-inline-start": {
|
|
107
|
+
"description": "Inline-start padding when padding is enabled."
|
|
115
108
|
}
|
|
116
109
|
}
|
|
117
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-switch-track-block-size{syntax:"<length>";inherits:false;initial-value:0}@property --vui-switch-track-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-switch-track-background{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-switch-thumb-background{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-switch-thumb-size{syntax:"<length>";inherits:true;initial-value:0}@property --vui-switch-thumb-inset{syntax:"<length>";inherits:true;initial-value:0}.viraui__switch-module__Switch_L86y7{&:has([required]) .viraui__switch-module__Label_9R-rv:after{content:" *";color:var(--highlight-red)}}.viraui__switch-module__SwitchRoot_Zv9An{--vui-switch-track-block-size:var(--space-large);--vui-switch-track-radius:var(--radius-small);--vui-switch-track-background:var(--global-contrast);--vui-switch-thumb-background:var(--base-1);--vui-switch-thumb-size:calc(var(--space-large) - var(--space-x-small));--vui-switch-thumb-inset:var(--space-2x-small);position:relative;appearance:none;border:0;box-shadow:none;inline-size:calc((var(--vui-switch-thumb-size) * 2) + var(--vui-switch-thumb-inset) * 2);block-size:var(--vui-switch-track-block-size);background:var(--vui-switch-track-background);border-radius:var(--vui-switch-track-radius);&[data-size=small]{--vui-switch-track-radius:var(--radius-x-small);--vui-switch-track-block-size:var(--space-medium);--vui-switch-thumb-size:calc(var(--space-medium) - var(--space-x-small))}&[data-checked]:not([data-disabled]){--vui-switch-track-background:var(--global-primary);--vui-switch-thumb-background:contrast-color(var(--global-primary))}&[data-invalid]:not([data-disabled])
|
|
1
|
+
@layer viraui.preflight, viraui.components, viraui.overrides;@layer viraui.components{@property --vui-switch-track-block-size{syntax:"<length>";inherits:false;initial-value:0}@property --vui-switch-track-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}@property --vui-switch-track-background{syntax:"<color>";inherits:false;initial-value:#0000}@property --vui-switch-thumb-background{syntax:"<color>";inherits:true;initial-value:#0000}@property --vui-switch-thumb-size{syntax:"<length>";inherits:true;initial-value:0}@property --vui-switch-thumb-inset{syntax:"<length>";inherits:true;initial-value:0}@property --__switch-thumb-radius{syntax:"<length-percentage>";inherits:true;initial-value:0}.viraui__switch-module__Switch_L86y7{&:has([required]) .viraui__switch-module__Label_9R-rv:after{content:" *";color:var(--highlight-red)}}.viraui__switch-module__SwitchRoot_Zv9An{--vui-switch-track-block-size:var(--space-large);--vui-switch-track-radius:var(--radius-small);--vui-switch-track-background:var(--global-contrast);--vui-switch-thumb-background:var(--base-1);--vui-switch-thumb-size:calc(var(--space-large) - var(--space-x-small));--vui-switch-thumb-inset:var(--space-2x-small);position:relative;appearance:none;border:0;box-shadow:none;inline-size:calc((var(--vui-switch-thumb-size) * 2) + var(--vui-switch-thumb-inset) * 2);block-size:var(--vui-switch-track-block-size);background:var(--vui-switch-track-background);border-radius:var(--vui-switch-track-radius);&[data-size=small]{--vui-switch-track-radius:var(--radius-x-small);--vui-switch-track-block-size:var(--space-medium);--vui-switch-thumb-size:calc(var(--space-medium) - var(--space-x-small))}&[data-checked]:not([data-disabled]){--vui-switch-track-background:var(--global-primary);--vui-switch-thumb-background:contrast-color(var(--global-primary))}&[data-invalid]:not([data-disabled]){box-shadow:inset 0 0 0 1px var(--highlight-red);outline-color:oklab(from var(--highlight-red) l a b/.5)}&[data-disabled]{--vui-switch-track-background:var(--global-disabled-background);--vui-switch-thumb-background:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.viraui__switch-module__Thumb_ldwJw{--__switch-thumb-radius:calc(var(--vui-switch-track-radius) - var(--vui-switch-thumb-inset));position:absolute;inset-block:var(--vui-switch-thumb-inset);inset-inline-start:var(--vui-switch-thumb-inset);background:var(--vui-switch-thumb-background);inline-size:var(--vui-switch-thumb-size);block-size:var(--vui-switch-thumb-size);border-radius:var(--__switch-thumb-radius);transition:translate var(--easing-entrance) var(--duration-fast);box-shadow:0 0 1px 1px var(--global-contrast);.viraui__switch-module__SwitchRoot_Zv9An[data-checked]>&{translate:100% 0;box-shadow:none}.viraui__switch-module__SwitchRoot_Zv9An[data-checked]:dir(rtl)>&{translate:-100% 0}}}
|