@viraui/react 0.0.22 → 0.0.23
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 +20 -2
- package/dist/components/avatar/avatar.css +1 -1
- package/dist/components/avatar/avatar.module.js +3 -3
- package/dist/components/avatar-group/avatar-group.css +1 -1
- package/dist/components/avatar-group/avatar-group.module.js +5 -5
- package/dist/components/basic-input/basic-input.css +1 -1
- package/dist/components/basic-input/basic-input.js +0 -1
- package/dist/components/basic-input/basic-input.module.js +1 -1
- package/dist/components/basic-input/field-helper-copy.d.ts +1 -1
- package/dist/components/basic-input/field-helper-copy.js +0 -1
- package/dist/components/basic-input/field-label.css +1 -1
- package/dist/components/basic-input/field-label.js +0 -1
- package/dist/components/basic-input/field-label.module.js +1 -1
- package/dist/components/basic-input/input-control-group.js +0 -1
- package/dist/components/button/button.css +1 -1
- package/dist/components/button/button.d.ts +13 -7
- package/dist/components/button/button.guide.json +7 -5
- package/dist/components/button/button.js +11 -10
- package/dist/components/button/button.module.js +3 -3
- package/dist/components/checkbox/checkbox-group.d.ts +12 -0
- package/dist/components/checkbox/checkbox-group.js +15 -0
- package/dist/components/checkbox/checkbox.css +1 -1
- package/dist/components/checkbox/checkbox.d.ts +6 -21
- package/dist/components/checkbox/checkbox.guide.json +10 -5
- package/dist/components/checkbox/checkbox.js +45 -59
- package/dist/components/checkbox/checkbox.module.js +7 -6
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/chip/chip.css +1 -1
- package/dist/components/chip/chip.js +0 -2
- package/dist/components/chip/chip.module.js +4 -4
- package/dist/components/clamp-text/clamp-text.css +1 -1
- package/dist/components/clamp-text/clamp-text.module.js +1 -1
- package/dist/components/dialog/dialog-close.d.ts +15 -0
- package/dist/components/dialog/dialog-close.js +9 -0
- package/dist/components/dialog/dialog-sheet.d.ts +66 -0
- package/dist/components/dialog/dialog-sheet.js +80 -0
- package/dist/components/dialog/dialog-trigger.d.ts +13 -0
- package/dist/components/dialog/dialog-trigger.js +9 -0
- package/dist/components/dialog/dialog.css +1 -0
- package/dist/components/dialog/dialog.d.ts +21 -0
- package/dist/components/dialog/dialog.guide.json +26 -0
- package/dist/components/dialog/dialog.js +18 -0
- package/dist/components/dialog/dialog.module.js +13 -0
- package/dist/components/dialog/index.d.ts +8 -0
- package/dist/components/elevator/elevator.js +4 -4
- package/dist/components/fieldset/fieldset.d.ts +35 -0
- package/dist/components/fieldset/fieldset.guide.json +28 -0
- package/dist/components/fieldset/fieldset.js +30 -0
- package/dist/components/fieldset/index.d.ts +2 -0
- package/dist/components/icon/icon.css +1 -1
- package/dist/components/icon/icon.module.js +1 -1
- package/dist/components/icon-button/icon-button.d.ts +1 -1
- package/dist/components/icon-button/icon-button.guide.json +1 -1
- package/dist/components/icon-button/icon-button.js +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/linear-progress/linear-progress.css +1 -1
- package/dist/components/linear-progress/linear-progress.js +0 -1
- package/dist/components/linear-progress/linear-progress.module.js +4 -4
- package/dist/components/masonry/masonry-item.js +0 -1
- package/dist/components/masonry/masonry.css +1 -1
- package/dist/components/masonry/masonry.js +2 -3
- package/dist/components/masonry/masonry.module.js +2 -2
- package/dist/components/progressive-blur/progressive-blur.css +1 -1
- package/dist/components/progressive-blur/progressive-blur.module.js +2 -2
- package/dist/components/radio/radio-group.d.ts +5 -38
- package/dist/components/radio/radio-group.js +12 -50
- package/dist/components/radio/radio.css +1 -1
- package/dist/components/radio/radio.d.ts +1 -1
- package/dist/components/radio/radio.guide.json +12 -8
- package/dist/components/radio/radio.js +31 -29
- package/dist/components/radio/radio.module.js +3 -5
- package/dist/components/select/select-group.js +1 -1
- package/dist/components/select/select-indicator-slot.js +0 -1
- package/dist/components/select/select-option.d.ts +9 -2
- package/dist/components/select/select-option.js +32 -31
- package/dist/components/select/select-separator.js +0 -1
- package/dist/components/select/select.css +1 -1
- package/dist/components/select/select.guide.json +8 -3
- package/dist/components/select/select.js +3 -2
- package/dist/components/select/select.module.js +17 -16
- package/dist/components/skeleton/skeleton.css +1 -1
- package/dist/components/skeleton/skeleton.module.js +2 -2
- package/dist/components/slider/slider-control.js +0 -1
- package/dist/components/slider/slider.css +1 -1
- package/dist/components/slider/slider.js +1 -3
- package/dist/components/slider/slider.module.js +9 -8
- package/dist/components/spinner/spinner.css +1 -1
- package/dist/components/spinner/spinner.js +2 -2
- package/dist/components/spinner/spinner.module.js +3 -3
- package/dist/components/stack/stack.css +1 -1
- package/dist/components/stack/stack.d.ts +2 -2
- package/dist/components/stack/stack.js +0 -1
- package/dist/components/stack/stack.module.js +1 -1
- package/dist/components/static-noise/static-noise.css +1 -1
- package/dist/components/static-noise/static-noise.d.ts +1 -1
- package/dist/components/static-noise/static-noise.js +2 -1
- package/dist/components/static-noise/static-noise.module.js +2 -2
- package/dist/components/surface/surface-radius-context.d.ts +9 -1
- package/dist/components/surface/surface-radius-context.js +17 -6
- package/dist/components/surface/surface.css +1 -1
- package/dist/components/surface/surface.d.ts +9 -3
- package/dist/components/surface/surface.guide.json +3 -1
- package/dist/components/surface/surface.js +3 -3
- package/dist/components/surface/surface.module.js +1 -4
- package/dist/components/switch/switch.css +1 -1
- package/dist/components/switch/switch.js +31 -29
- package/dist/components/switch/switch.module.js +4 -3
- package/dist/components/tabs/index.d.ts +6 -0
- package/dist/components/tabs/tabs-indicator.d.ts +9 -0
- package/dist/components/tabs/tabs-indicator.js +16 -0
- package/dist/components/tabs/tabs-list.d.ts +12 -0
- package/dist/components/tabs/tabs-list.js +29 -0
- package/dist/components/tabs/tabs-panel.d.ts +11 -0
- package/dist/components/tabs/tabs-panel.js +13 -0
- package/dist/components/tabs/tabs-tab.d.ts +24 -0
- package/dist/components/tabs/tabs-tab.js +24 -0
- package/dist/components/tabs/tabs-viewport.d.ts +8 -0
- package/dist/components/tabs/tabs-viewport.js +11 -0
- package/dist/components/tabs/tabs.css +1 -0
- package/dist/components/tabs/tabs.d.ts +31 -0
- package/dist/components/tabs/tabs.guide.json +23 -0
- package/dist/components/tabs/tabs.js +30 -0
- package/dist/components/tabs/tabs.module.js +11 -0
- package/dist/components/text/text.css +1 -1
- package/dist/components/text/text.d.ts +2 -2
- package/dist/components/text/text.js +2 -3
- package/dist/components/text/text.module.js +1 -1
- package/dist/components/textarea/textarea.css +1 -1
- package/dist/components/textarea/textarea.guide.json +8 -3
- package/dist/components/textarea/textarea.js +1 -3
- package/dist/components/textarea/textarea.module.js +4 -3
- package/dist/components/textfield/textfield.css +1 -1
- package/dist/components/textfield/textfield.guide.json +9 -3
- package/dist/components/textfield/textfield.js +1 -3
- package/dist/components/textfield/textfield.module.js +6 -5
- package/dist/components/title/title.css +1 -1
- package/dist/components/title/title.js +2 -3
- package/dist/components/title/title.module.js +1 -1
- package/dist/core/elevation/get-elevation-props.js +2 -2
- package/dist/core/props/intrinsic-vira-props.d.ts +3 -3
- package/dist/index.js +8 -1
- package/dist/internal-icons/icon-registry.d.ts +4 -1
- package/dist/internal-icons/icon-registry.js +9 -0
- package/dist/internal-icons/icons/duo/ArrowDown.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowDownLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowDownRight.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowRight.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUp.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUpLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUpRight.js +1 -1
- package/dist/internal-icons/icons/duo/ChevronExpandY.js +2 -2
- package/dist/internal-icons/icons/duo/CircleCheck.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleCheck.js +13 -0
- package/dist/internal-icons/icons/duo/Duplicate.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Duplicate.js +13 -0
- package/dist/internal-icons/icons/duo/RefreshAnticlockwise.js +1 -1
- package/dist/internal-icons/icons/duo/ShieldCheck.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ShieldCheck.js +13 -0
- package/dist/internal-icons/icons/duo/index.d.ts +3 -0
- package/dist/internal-icons/icons/duo/index.js +3 -0
- package/dist/preflight-surface.json +15 -1
- package/dist/preflight.css +1 -1
- package/dist/theme-surface.json +0 -5
- package/package.json +3 -3
package/dist/catalog.json
CHANGED
|
@@ -20,6 +20,12 @@
|
|
|
20
20
|
"summary": "Compact visual label primitive for short status, category, or metadata treatments.",
|
|
21
21
|
"guidePath": "./components/chip/chip.guide.json"
|
|
22
22
|
},
|
|
23
|
+
{
|
|
24
|
+
"id": "dialog",
|
|
25
|
+
"name": "Dialog",
|
|
26
|
+
"summary": "Compound drawer sheet with `Dialog.Trigger`, `Dialog.Sheet`, and `Dialog.Close`, Surface panel, scrim backdrop, title, description, and swipe-to-dismiss.",
|
|
27
|
+
"guidePath": "./components/dialog/dialog.guide.json"
|
|
28
|
+
},
|
|
23
29
|
{
|
|
24
30
|
"id": "clamp-text",
|
|
25
31
|
"name": "ClampText",
|
|
@@ -35,7 +41,7 @@
|
|
|
35
41
|
{
|
|
36
42
|
"id": "button",
|
|
37
43
|
"name": "Button",
|
|
38
|
-
"summary": "Primary action control with size, variant, optional
|
|
44
|
+
"summary": "Primary action control with size, variant, optional addon, optional pill shape, and loading state.",
|
|
39
45
|
"guidePath": "./components/button/button.guide.json"
|
|
40
46
|
},
|
|
41
47
|
{
|
|
@@ -83,9 +89,15 @@
|
|
|
83
89
|
{
|
|
84
90
|
"id": "checkbox",
|
|
85
91
|
"name": "Checkbox",
|
|
86
|
-
"summary": "Field
|
|
92
|
+
"summary": "Field.Item checkbox option for standalone fields or CheckboxGroup children.",
|
|
87
93
|
"guidePath": "./components/checkbox/checkbox.guide.json"
|
|
88
94
|
},
|
|
95
|
+
{
|
|
96
|
+
"id": "fieldset",
|
|
97
|
+
"name": "Fieldset",
|
|
98
|
+
"summary": "Semantic field grouping with shared legend and optional group helper copy.",
|
|
99
|
+
"guidePath": "./components/fieldset/fieldset.guide.json"
|
|
100
|
+
},
|
|
89
101
|
{
|
|
90
102
|
"id": "radio",
|
|
91
103
|
"name": "Radio",
|
|
@@ -122,6 +134,12 @@
|
|
|
122
134
|
"summary": "Presentational container with token background, optional border, radius, and padding; nested surfaces use radius=\"auto\" for concentric corners.",
|
|
123
135
|
"guidePath": "./components/surface/surface.guide.json"
|
|
124
136
|
},
|
|
137
|
+
{
|
|
138
|
+
"id": "tabs",
|
|
139
|
+
"name": "Tabs",
|
|
140
|
+
"summary": "Compound segmented tab control with Surface list chrome, moving indicator, and animated panels.",
|
|
141
|
+
"guidePath": "./components/tabs/tabs.guide.json"
|
|
142
|
+
},
|
|
125
143
|
{
|
|
126
144
|
"id": "spinner",
|
|
127
145
|
"name": "Spinner",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__avatar-module__Avatar_BRuS3{--avatar-size:var(--space-2x-large);--avatar-background:var(--global-contrast);--avatar-foreground:var(--global-foreground);--avatar-radius:var(--radius-infinite);display:inline-flex;align-items:center;justify-content:center;inline-size:var(--avatar-size);block-size:var(--avatar-size);min-inline-size:var(--avatar-size);min-block-size:var(--avatar-size);overflow:hidden;border-radius:var(--avatar-radius);background:var(--avatar-background);color:var(--avatar-foreground);vertical-align:middle;-webkit-user-select:none;user-select:none;container-name:viraui-avatar;container-type:inline-size;&[data-size=x-small]{--avatar-size:var(--space-large)}&[data-size=small]{--avatar-size:var(--space-2x-large)}&[data-size=regular]{--avatar-size:var(--space-wide)}&[data-size=big]{--avatar-size:var(--space-2x-wide)}}.viraui__avatar-module__Image_Q7bHi{inline-size:100%;block-size:100%;display:block;object-fit:cover}.viraui__avatar-module__Label_QASTF{font-size:30cqw}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var avatar_module_default = {
|
|
2
|
-
Avatar: "
|
|
3
|
-
Image: "
|
|
4
|
-
Label: "
|
|
2
|
+
Avatar: "viraui__avatar-module__Avatar_BRuS3",
|
|
3
|
+
Image: "viraui__avatar-module__Image_Q7bHi",
|
|
4
|
+
Label: "viraui__avatar-module__Label_QASTF"
|
|
5
5
|
};
|
|
6
6
|
//#endregion
|
|
7
7
|
export { avatar_module_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__avatar-group-module__AvatarGroup_zOrR-{--avatar-size:var(--space-2x-large);--avatar-overlap-distance:var(--space-medium);--avatar-group-gap-size:var(--space-x-small);--avatar-mask-anti-alias-size:0.5px;--avatar-mask-radius:calc((var(--avatar-size) / 2) + var(--avatar-group-gap-size));display:inline-flex;flex-wrap:nowrap;align-items:flex-start;min-inline-size:max-content;vertical-align:middle;&[data-direction=horizontal]{flex-direction:row}&[data-direction=vertical]{flex-direction:column}&[data-size=x-small]{--avatar-size:var(--space-large);--avatar-overlap-distance:var(--space-x-small)}&[data-size=small]{--avatar-size:var(--space-2x-large);--avatar-overlap-distance:var(--space-small)}&[data-size=regular]{--avatar-size:var(--space-wide);--avatar-overlap-distance:var(--space-medium)}&[data-size=big]{--avatar-size:var(--space-2x-wide);--avatar-overlap-distance:var(--space-large)}}.viraui__avatar-group-module__AvatarWrapper_0opqY{position:relative;display:inline-flex;flex:0 0 auto;inline-size:var(--avatar-size);block-size:var(--avatar-size);.viraui__avatar-group-module__AvatarGroup_zOrR-[data-direction=horizontal] &:not(:first-child){margin-inline-start:calc(var(--avatar-overlap-distance) * -1)}.viraui__avatar-group-module__AvatarGroup_zOrR-[data-direction=vertical] &:not(:first-child){margin-block-start:calc(var(--avatar-overlap-distance) * -1)}.viraui__avatar-group-module__AvatarGroup_zOrR-:dir(ltr)[data-direction=horizontal] &:not(:last-child){mask-image:radial-gradient(circle var(--avatar-mask-radius) at calc(100% + (var(--avatar-size) / 2) - var(--avatar-overlap-distance)) 50%,transparent calc(var(--avatar-mask-radius) - var(--avatar-mask-anti-alias-size)),#000 calc(var(--avatar-mask-radius) + var(--avatar-mask-anti-alias-size)))}.viraui__avatar-group-module__AvatarGroup_zOrR-:dir(rtl)[data-direction=horizontal] &:not(:last-child){mask-image:radial-gradient(circle var(--avatar-mask-radius) at calc((var(--avatar-size) / 2) - var(--avatar-overlap-distance)) 50%,transparent calc(var(--avatar-mask-radius) - var(--avatar-mask-anti-alias-size)),#000 calc(var(--avatar-mask-radius) + var(--avatar-mask-anti-alias-size)))}.viraui__avatar-group-module__AvatarGroup_zOrR-[data-direction=vertical] &:not(:last-child){mask-image:radial-gradient(circle var(--avatar-mask-radius) at 50% calc(100% + (var(--avatar-size) / 2) - var(--avatar-overlap-distance)),transparent calc(var(--avatar-mask-radius) - var(--avatar-mask-anti-alias-size)),#000 calc(var(--avatar-mask-radius) + var(--avatar-mask-anti-alias-size)))}}.viraui__avatar-group-module__OverflowWrapper_bKv6I{inline-size:auto;min-inline-size:var(--avatar-size)}.viraui__avatar-group-module__AvatarGroupItem_Vvlyh{--avatar-radius:100%;corner-shape:unset}.viraui__avatar-group-module__OverflowPill_nMmTD{display:inline-flex;align-items:center;justify-content:center;min-inline-size:var(--avatar-size);block-size:var(--avatar-size);min-block-size:var(--avatar-size);corner-shape:unset}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var avatar_group_module_default = {
|
|
2
|
-
AvatarGroup: "
|
|
3
|
-
AvatarWrapper: "
|
|
4
|
-
OverflowWrapper: "
|
|
5
|
-
AvatarGroupItem: "
|
|
6
|
-
OverflowPill: "
|
|
2
|
+
AvatarGroup: "viraui__avatar-group-module__AvatarGroup_zOrR-",
|
|
3
|
+
AvatarWrapper: "viraui__avatar-group-module__AvatarWrapper_0opqY",
|
|
4
|
+
OverflowWrapper: "viraui__avatar-group-module__OverflowWrapper_bKv6I",
|
|
5
|
+
AvatarGroupItem: "viraui__avatar-group-module__AvatarGroupItem_Vvlyh",
|
|
6
|
+
OverflowPill: "viraui__avatar-group-module__OverflowPill_nMmTD"
|
|
7
7
|
};
|
|
8
8
|
//#endregion
|
|
9
9
|
export { avatar_group_module_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__basic-input-module__BasicInput_5uE64{--basic-input-background:var(--base-1);--basic-input-color:var(--global-foreground);--basic-input-placeholder-color:var(--global-disabled-foreground);--basic-input-padding-inline:var(--space-small);--basic-input-font-size:var(--font-scale-body-small);--basic-input-border-radius:var(--radius-medium);box-sizing:border-box;margin:0;inline-size:100%;min-inline-size:0;padding-inline:var(--basic-input-padding-inline);font-family:inherit;font-size:var(--basic-input-font-size);font-variation-settings:"wght" 400;color:var(--basic-input-color);background:var(--basic-input-background);border:none;border-radius:var(--basic-input-border-radius);appearance:none;&::-webkit-contacts-auto-fill-button{background-color:var(--basic-input-color)}&::placeholder{color:var(--basic-input-placeholder-color)}&:disabled{--basic-input-background:var(--global-disabled-background);--basic-input-color:var(--global-disabled-foreground);--basic-input-placeholder-color:var(--global-disabled-foreground);cursor:not-allowed}&[data-invalid]{outline-color:oklab(from var(--highlight-red) l a b/.3)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__field-label-module__FieldLabel_R9SYf{display:inline;flex-direction:column;align-items:stretch;inline-size:100%;padding-inline:var(--field-label-padding-inline,0)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__button-module__Button_oPhrP{--button-background:var(--global-primary);--button-color:var(--base-1);--button-height:var(--space-x-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-small);--button-spinner-color:currentColor;--button-icon-size:1.125em;--button-radius:var(--radius-medium);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;min-inline-size:fit-content;max-block-size:var(--button-height);block-size:var(--button-height);justify-content:center;text-decoration:none;white-space:nowrap;appearance:button;overflow:hidden;position:relative;padding:var(--button-padding-block) var(--button-padding-inline);font-weight:400;font-variation-settings:"wght" 400;gap:var(--space-small);border:1px solid transparent;background:var(--button-background);color:var(--button-color);font-size:var(--font-scale-body-medium);border-radius:var(--button-radius);transition:translate var(--easing-elastic) var(--duration-instant);will-change:translate;&:not(:disabled){background-clip:padding-box}&:not(:disabled):active{translate:0 1px}&[data-pill=true]{border-radius:var(--radius-infinite);&[data-addon-position=end]{padding-inline-end:calc(var(--button-padding-inline) / 2)}&[data-addon-position=start]{padding-inline-start:calc(var(--button-padding-inline) / 2)}}&[data-size=big]{--button-height:var(--space-2x-large);--button-padding-inline:var(--space-medium);--button-padding-block:var(--space-small);--button-icon-size:1.125em;--button-radius:var(--radius-medium)}&[data-size=small]{--button-height:var(--space-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-x-small);--button-icon-size:1em;--button-radius:var(--radius-small);gap:var(--space-x-small);font-size:var(--font-scale-body-small)}&[data-variant=primary]{--button-background:var(--global-primary);--button-color:contrast-color(var(--global-primary));&:hover{--button-background:oklab(from var(--global-primary) calc(l + 0.05) a b)}}&[data-variant=secondary]{--button-background:var(--global-contrast);--button-color:var(--base-6);background-clip:unset;&:hover{--button-background:oklab(from var(--global-contrast) l a b/calc(alpha + 0.03))}}&[data-variant=flat]{--button-background:transparent;--button-color:var(--base-5);&:hover{--button-background:var(--global-contrast);--button-color:var(--base-7)}}&[data-variant=destructive]{--button-background:oklab(from var(--highlight-red) l a b/12%);--button-color:var(--highlight-red);&:hover{--button-background:oklab(from var(--highlight-red) l a b/30%)}}&[data-addon-position=start]{flex-direction:row;padding-inline-end:calc(var(--button-padding-inline) * 1.2)}&[data-addon-position=end]{flex-direction:row-reverse;padding-inline-start:calc(var(--button-padding-inline) * 1.2)}&[data-icon-only=true]{gap:0;padding-block:var(--button-padding-block);padding-inline:var(--button-padding-block);inline-size:var(--button-height);min-inline-size:var(--button-height);max-inline-size:var(--button-height);aspect-ratio:1/1}&:disabled,&:disabled:hover,&[aria-disabled=true]{--button-background:var(--global-disabled-background);--button-color:var(--global-disabled-foreground);cursor:not-allowed;box-shadow:none}&[data-loading=true][data-disabled]{pointer-events:none;border:0;box-shadow:none;--button-color:var(--base-7)}}.viraui__button-module__Content_w-pX-{display:inline-grid;place-items:center;&[data-loading=true]{opacity:0}&:first-child>svg{block-size:var(--button-icon-size);inline-size:var(--button-icon-size);flex-shrink:0}}.viraui__button-module__SpinnerOverlay_vKqw1{position:absolute;inset:0;display:grid;place-content:center;pointer-events:none}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Button as PrimitiveButton } from '@base-ui/react/button';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
3
2
|
import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
/**
|
|
6
6
|
* Public Button props.
|
|
@@ -24,23 +24,29 @@ export type ButtonProps = PrimitiveButton.Props & IntrinsicViraProps & {
|
|
|
24
24
|
*/
|
|
25
25
|
variant?: 'primary' | 'secondary' | 'flat' | 'destructive';
|
|
26
26
|
/**
|
|
27
|
-
* Decorative
|
|
28
|
-
* Pass any React
|
|
27
|
+
* Decorative addon rendered alongside the button label.
|
|
28
|
+
* Pass any React element; use `<Icon name="..." />` for icons or `<Chip />` for status chips.
|
|
29
29
|
*
|
|
30
|
-
* @default No default; omit when the button has no
|
|
30
|
+
* @default No default; omit when the button has no addon.
|
|
31
31
|
*/
|
|
32
|
-
|
|
32
|
+
addon?: ReactNode;
|
|
33
33
|
/**
|
|
34
|
-
* Controls whether the
|
|
34
|
+
* Controls whether the addon appears before or after the label.
|
|
35
35
|
*
|
|
36
36
|
* @default 'start'
|
|
37
37
|
*/
|
|
38
|
-
|
|
38
|
+
addonPosition?: 'start' | 'end';
|
|
39
39
|
/**
|
|
40
40
|
* Shows a centered spinner overlay while preserving the original content width.
|
|
41
41
|
*
|
|
42
42
|
* @default false
|
|
43
43
|
*/
|
|
44
44
|
loading?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Applies a fully rounded pill shape to the button.
|
|
47
|
+
*
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
pill?: boolean;
|
|
45
51
|
};
|
|
46
52
|
export declare const Button: React.FC<ButtonProps>;
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "Button",
|
|
3
|
-
"summary": "Primary action control with size, variant, optional
|
|
3
|
+
"summary": "Primary action control with size, variant, optional addon, optional pill shape, and loading state.",
|
|
4
4
|
"whenToUse": [
|
|
5
|
-
"Labeled actions with text and optional leading or trailing
|
|
5
|
+
"Labeled actions with text and optional leading or trailing addon",
|
|
6
6
|
"Primary, secondary, flat, or destructive visual treatments",
|
|
7
|
+
"Capsule-shaped actions via pill when a fully rounded button fits the layout",
|
|
7
8
|
"Async actions that need a stable width while loading"
|
|
8
9
|
],
|
|
9
10
|
"whenNotToUse": ["Icon-only actions without a visible label — use IconButton", "Navigation or non-button semantics"],
|
|
10
11
|
"accessibility": [
|
|
11
|
-
"Visible button text should name the action; avoid relying on
|
|
12
|
+
"Visible button text should name the action; avoid relying on addon alone",
|
|
12
13
|
"Loading sets aria-busy on the control while Spinner stays decorative",
|
|
13
14
|
"Disabled and loading states should not remove the action from the tab order without clear context"
|
|
14
15
|
],
|
|
15
16
|
"antiPatterns": [
|
|
16
17
|
"Using Button without children as icon-only — prefer IconButton",
|
|
17
|
-
"Duplicating icon size on every
|
|
18
|
+
"Duplicating icon size on every addon slot — Button CSS sizes SVG descendants",
|
|
19
|
+
"Mixing pill with custom border-radius overrides that fight data-pill styling"
|
|
18
20
|
],
|
|
19
|
-
"related": ["IconButton", "Icon", "Spinner"]
|
|
21
|
+
"related": ["IconButton", "Icon", "Spinner", "Chip"]
|
|
20
22
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import './button.css';
|
|
3
2
|
import { clsx } from "../../core/clsx.js";
|
|
4
3
|
import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
|
|
@@ -37,7 +36,7 @@ var ButtonRenderRoot = ({ isDisabled, ref, render, rootProps }) => {
|
|
|
37
36
|
}
|
|
38
37
|
});
|
|
39
38
|
};
|
|
40
|
-
var ButtonRoot = ({ children, className, intrinsicAttributes, isDisabled, isIconOnly,
|
|
39
|
+
var ButtonRoot = ({ children, className, intrinsicAttributes, isDisabled, isIconOnly, addon, addonPosition, loading, passThroughProps, pill, ref, render, size, variant }) => {
|
|
41
40
|
const rootProps = {
|
|
42
41
|
...passThroughProps,
|
|
43
42
|
...intrinsicAttributes,
|
|
@@ -45,9 +44,10 @@ var ButtonRoot = ({ children, className, intrinsicAttributes, isDisabled, isIcon
|
|
|
45
44
|
children,
|
|
46
45
|
className: clsx(button_module_default.Button, className),
|
|
47
46
|
"data-loading": loading ? "true" : "false",
|
|
47
|
+
"data-pill": pill ? "true" : void 0,
|
|
48
48
|
"data-size": size,
|
|
49
49
|
"data-icon-only": isIconOnly ? "true" : void 0,
|
|
50
|
-
"data-
|
|
50
|
+
"data-addon-position": addon && !isIconOnly ? addonPosition : void 0,
|
|
51
51
|
"data-variant": variant
|
|
52
52
|
};
|
|
53
53
|
if (usesButtonPrimitiveRender(render)) return /* @__PURE__ */ jsx(Button, {
|
|
@@ -64,9 +64,9 @@ var ButtonRoot = ({ children, className, intrinsicAttributes, isDisabled, isIcon
|
|
|
64
64
|
rootProps
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
|
-
var Button$1 = ({ children, className, disabled,
|
|
67
|
+
var Button$1 = ({ children, className, disabled, addon, addonPosition = "start", loading = false, pill = false, size = "medium", variant = "primary", ...otherProps }) => {
|
|
68
68
|
const isDisabled = disabled || loading;
|
|
69
|
-
const isIconOnly = Boolean(
|
|
69
|
+
const isIconOnly = Boolean(addon) && (children == null || children === "");
|
|
70
70
|
const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
|
|
71
71
|
const { render, ref, ...passThroughProps } = componentProps;
|
|
72
72
|
return /* @__PURE__ */ jsxs(ButtonRoot, {
|
|
@@ -74,10 +74,11 @@ var Button$1 = ({ children, className, disabled, icon, iconPosition = "start", l
|
|
|
74
74
|
intrinsicAttributes,
|
|
75
75
|
isDisabled,
|
|
76
76
|
isIconOnly,
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
addon,
|
|
78
|
+
addonPosition,
|
|
79
79
|
loading,
|
|
80
80
|
passThroughProps,
|
|
81
|
+
pill,
|
|
81
82
|
ref,
|
|
82
83
|
render,
|
|
83
84
|
size,
|
|
@@ -86,12 +87,12 @@ var Button$1 = ({ children, className, disabled, icon, iconPosition = "start", l
|
|
|
86
87
|
"aria-hidden": "true",
|
|
87
88
|
className: button_module_default.Content,
|
|
88
89
|
"data-loading": loading ? "true" : "false",
|
|
89
|
-
children:
|
|
90
|
-
}) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
90
|
+
children: addon
|
|
91
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [addon && /* @__PURE__ */ jsx("span", {
|
|
91
92
|
"aria-hidden": "true",
|
|
92
93
|
className: button_module_default.Content,
|
|
93
94
|
"data-loading": loading ? "true" : "false",
|
|
94
|
-
children:
|
|
95
|
+
children: addon
|
|
95
96
|
}), /* @__PURE__ */ jsx("span", {
|
|
96
97
|
className: button_module_default.Content,
|
|
97
98
|
"data-loading": loading ? "true" : "false",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var button_module_default = {
|
|
2
|
-
Button: "
|
|
3
|
-
Content: "
|
|
4
|
-
SpinnerOverlay: "
|
|
2
|
+
Button: "viraui__button-module__Button_oPhrP",
|
|
3
|
+
Content: "viraui__button-module__Content_w-pX-",
|
|
4
|
+
SpinnerOverlay: "viraui__button-module__SpinnerOverlay_vKqw1"
|
|
5
5
|
};
|
|
6
6
|
//#endregion
|
|
7
7
|
export { button_module_default as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CheckboxGroup as CheckboxGroupPrimitive } from '@base-ui/react';
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Public CheckboxGroup props.
|
|
5
|
+
*
|
|
6
|
+
* Thin wrapper around Base UI `CheckboxGroup` with default option spacing.
|
|
7
|
+
* Compose with `Field.Root` and `Fieldset` for group labels, validation, and copy.
|
|
8
|
+
*
|
|
9
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
10
|
+
*/
|
|
11
|
+
export type CheckboxGroupProps = CheckboxGroupPrimitive.Props;
|
|
12
|
+
export declare const CheckboxGroup: React.FC<CheckboxGroupProps>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Stack } from "../stack/stack.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { CheckboxGroup } from "@base-ui/react";
|
|
4
|
+
//#region src/components/checkbox/checkbox-group.tsx
|
|
5
|
+
var CheckboxGroup$1 = ({ children, className, ...props }) => /* @__PURE__ */ jsx(CheckboxGroup, {
|
|
6
|
+
...props,
|
|
7
|
+
className,
|
|
8
|
+
render: /* @__PURE__ */ jsx(Stack, {
|
|
9
|
+
fillChildren: false,
|
|
10
|
+
rowGap: "small"
|
|
11
|
+
}),
|
|
12
|
+
children
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { CheckboxGroup$1 as CheckboxGroup };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.viraui__checkbox-module__Checkbox_3oGip{&:has([required]) .viraui__checkbox-module__Label_n9HL7:after{content:" *";color:var(--highlight-red)}}.viraui__checkbox-module__CheckboxRoot_PeyF5{--checkbox-size:var(--space-medium);--checkbox-radius:var(--radius-x-small);--checkbox-background:var(--global-contrast);--checkbox-border-color:transparent;--checkbox-indicator-color:contrast-color(var(--global-primary));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(--checkbox-border-color);inline-size:var(--checkbox-size);block-size:var(--checkbox-size);background:var(--checkbox-background);border-radius:var(--checkbox-radius);&[data-size=regular]{--checkbox-size:var(--space-large);--checkbox-radius:var(--radius-small)}&[data-checked]:not([data-disabled]):not([data-invalid]),&[data-indeterminate]:not([data-disabled]):not([data-invalid]){--checkbox-background:var(--global-primary);--checkbox-border-color:var(--global-primary);box-shadow:none}&[data-invalid]:not([data-disabled]),[data-invalid] &:not([data-disabled]){--checkbox-border-color:var(--highlight-red);--checkbox-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] &{--checkbox-background:var(--global-disabled-background);--checkbox-border-color:transparent;--checkbox-indicator-color:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.viraui__checkbox-module__Indicator_C-k-l{display:inline-flex;align-items:center;justify-content:center;color:var(--checkbox-indicator-color)}.viraui__checkbox-module__Icon_926Sa{stroke:currentColor}.viraui__checkbox-module__CheckboxRoot_PeyF5:not([data-indeterminate]) .viraui__checkbox-module__MinusIcon_Q57pY,.viraui__checkbox-module__CheckboxRoot_PeyF5[data-indeterminate] .viraui__checkbox-module__CheckIcon_XqUcs{display:none}.viraui__checkbox-module__CheckboxRoot_PeyF5[data-indeterminate] .viraui__checkbox-module__MinusIcon_Q57pY{display:inline-flex}
|
|
@@ -1,29 +1,15 @@
|
|
|
1
|
-
import { CheckboxRoot
|
|
1
|
+
import { CheckboxRoot } from '@base-ui/react/checkbox';
|
|
2
2
|
import { StackProps } from '..';
|
|
3
|
-
import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
|
|
4
3
|
import type * as React from 'react';
|
|
5
4
|
/**
|
|
6
5
|
* Public Checkbox props.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* field label/helper pattern.
|
|
7
|
+
* Self-contained option row for standalone fields or `CheckboxGroup` children.
|
|
8
|
+
* Standalone usage requires an external `Field.Root` wrapper for validation and naming.
|
|
11
9
|
*
|
|
12
10
|
* @default Base UI pass-through props keep upstream defaults.
|
|
13
11
|
*/
|
|
14
|
-
export type CheckboxProps = CheckboxRoot.Props &
|
|
15
|
-
/**
|
|
16
|
-
* Adds `data-grow="false"` to the field root when false.
|
|
17
|
-
*
|
|
18
|
-
* @default The field root does not render a grow attribute.
|
|
19
|
-
*/
|
|
20
|
-
grow?: IntrinsicViraProps['grow'];
|
|
21
|
-
/**
|
|
22
|
-
* Adds `data-shrink="false"` to the field root when false.
|
|
23
|
-
*
|
|
24
|
-
* @default The field root does not render a shrink attribute.
|
|
25
|
-
*/
|
|
26
|
-
shrink?: IntrinsicViraProps['shrink'];
|
|
12
|
+
export type CheckboxProps = CheckboxRoot.Props & {
|
|
27
13
|
/**
|
|
28
14
|
* Visible label rendered with shared internal `FieldLabel`.
|
|
29
15
|
*
|
|
@@ -31,14 +17,13 @@ export type CheckboxProps = CheckboxRoot.Props & Omit<FieldRoot.Props, 'ref'> &
|
|
|
31
17
|
*/
|
|
32
18
|
label?: React.ReactNode;
|
|
33
19
|
/**
|
|
34
|
-
* Helper copy rendered with `Field.Description` and `Text`
|
|
20
|
+
* Helper copy rendered with `Field.Description` and `Text` for this option.
|
|
35
21
|
*
|
|
36
22
|
* @default No description is rendered.
|
|
37
23
|
*/
|
|
38
24
|
description?: React.ReactNode;
|
|
39
25
|
/**
|
|
40
|
-
* Error copy rendered
|
|
41
|
-
* Replaces description while the field is invalid.
|
|
26
|
+
* Error copy rendered in the same slot as `description` while invalid.
|
|
42
27
|
*
|
|
43
28
|
* @default No static error copy is rendered.
|
|
44
29
|
*/
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "Checkbox",
|
|
3
|
-
"summary": "Field
|
|
3
|
+
"summary": "Field.Item checkbox option for standalone fields or CheckboxGroup children.",
|
|
4
4
|
"whenToUse": [
|
|
5
|
-
"Single
|
|
5
|
+
"Single boolean fields wrapped in Field.Root with optional label and helper text — no Fieldset required",
|
|
6
|
+
"CheckboxGroup alone inside Field.Root when each Checkbox has its own label and no shared group legend is needed",
|
|
7
|
+
"Multi-select sets with shared legend or group copy — Field.Root > Fieldset render={<CheckboxGroup />} with Checkbox children",
|
|
6
8
|
"Invalid and disabled states with Switch-parity focus treatment"
|
|
7
9
|
],
|
|
8
10
|
"whenNotToUse": [
|
|
9
11
|
"Unlabeled checkbox without aria-label on the root",
|
|
10
|
-
"Mutually exclusive options in a set (use
|
|
12
|
+
"Mutually exclusive options in a set (use Radio and RadioGroup instead)",
|
|
13
|
+
"Assuming Fieldset is mandatory for every CheckboxGroup — add Fieldset only for shared legend or group copy",
|
|
14
|
+
"Group legend, description, or validation on CheckboxGroup props — use Field.Root and Fieldset instead"
|
|
11
15
|
],
|
|
12
16
|
"accessibility": [
|
|
13
17
|
"Provide visible label or aria-label so the checkbox has an accessible name",
|
|
14
18
|
"Checked and indeterminate states must map to native checkbox semantics exposed by the control",
|
|
15
|
-
"Surface invalid state and error copy through
|
|
19
|
+
"Surface standalone invalid state and error copy through Field.Root and FieldHelperCopy on Checkbox"
|
|
16
20
|
],
|
|
17
21
|
"antiPatterns": [
|
|
18
22
|
"Rendering a checkbox without label and without aria-label",
|
|
23
|
+
"Using Checkbox without Field.Root for standalone validated fields",
|
|
19
24
|
"Expecting description to stay visible when invalid without an error message"
|
|
20
25
|
],
|
|
21
|
-
"related": ["Switch", "Stack", "Text"]
|
|
26
|
+
"related": ["Fieldset", "CheckboxGroup", "Switch", "Stack", "Text"]
|
|
22
27
|
}
|
|
@@ -1,75 +1,61 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import './checkbox.css';
|
|
3
2
|
import { clsx } from "../../core/clsx.js";
|
|
4
|
-
import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
|
|
5
3
|
import { Stack } from "../stack/stack.js";
|
|
6
4
|
import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
|
|
7
5
|
import { FieldLabel } from "../basic-input/field-label.js";
|
|
8
6
|
import checkbox_module_default from "./checkbox.module.js";
|
|
9
7
|
import { Icon } from "../icon/icon.js";
|
|
10
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
-
import {
|
|
9
|
+
import { Field } from "@base-ui/react/field";
|
|
10
|
+
import { Checkbox } from "@base-ui/react/checkbox";
|
|
12
11
|
//#region src/components/checkbox/checkbox.tsx
|
|
13
|
-
var Checkbox$1 = ({ className, description,
|
|
12
|
+
var Checkbox$1 = ({ className, description, disabled, error, label, ref, size = "small", vPadding, hPadding, value, ...checkboxRootProps }) => {
|
|
14
13
|
const hasTextDescription = Boolean(description || error);
|
|
15
14
|
const iconSize = size === "small" ? 12 : 16;
|
|
16
|
-
|
|
17
|
-
return /* @__PURE__ */ jsx(Field.Root, {
|
|
18
|
-
...intrinsicAttributes,
|
|
15
|
+
return /* @__PURE__ */ jsx(Field.Item, {
|
|
19
16
|
className: checkbox_module_default.Checkbox,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
validate,
|
|
26
|
-
validationDebounceTime,
|
|
27
|
-
validationMode,
|
|
28
|
-
render: /* @__PURE__ */ jsx(Stack, {
|
|
29
|
-
direction: "row",
|
|
30
|
-
columnGap: size === "small" ? "small" : "medium",
|
|
31
|
-
fillChildren: false,
|
|
32
|
-
vAlign: hasTextDescription ? "start" : "center"
|
|
33
|
-
}),
|
|
34
|
-
children: /* @__PURE__ */ jsx(Field.Label, { children: /* @__PURE__ */ jsxs(Stack, {
|
|
35
|
-
direction: "row",
|
|
36
|
-
columnGap: size === "small" ? "small" : "medium",
|
|
37
|
-
fillChildren: false,
|
|
38
|
-
vAlign: hasTextDescription ? "start" : "center",
|
|
39
|
-
...hPadding !== void 0 ? { hPadding } : {},
|
|
40
|
-
...vPadding !== void 0 ? { vPadding } : {},
|
|
41
|
-
children: [/* @__PURE__ */ jsx(Checkbox.Root, {
|
|
42
|
-
...componentProps,
|
|
43
|
-
className: clsx(checkbox_module_default.CheckboxRoot, className),
|
|
44
|
-
"data-size": size,
|
|
45
|
-
disabled,
|
|
46
|
-
name,
|
|
47
|
-
ref,
|
|
48
|
-
children: /* @__PURE__ */ jsxs(Checkbox.Indicator, {
|
|
49
|
-
className: checkbox_module_default.Indicator,
|
|
50
|
-
children: [/* @__PURE__ */ jsx(Icon, {
|
|
51
|
-
className: clsx(checkbox_module_default.Icon, checkbox_module_default.CheckIcon),
|
|
52
|
-
name: "Check",
|
|
53
|
-
size: iconSize
|
|
54
|
-
}), /* @__PURE__ */ jsx(Icon, {
|
|
55
|
-
className: clsx(checkbox_module_default.Icon, checkbox_module_default.MinusIcon),
|
|
56
|
-
name: "Minus",
|
|
57
|
-
size: iconSize
|
|
58
|
-
})]
|
|
59
|
-
})
|
|
60
|
-
}), label || description || error ? /* @__PURE__ */ jsxs(Stack, {
|
|
61
|
-
direction: "column",
|
|
17
|
+
children: /* @__PURE__ */ jsx(Field.Label, {
|
|
18
|
+
className: checkbox_module_default.Label,
|
|
19
|
+
children: /* @__PURE__ */ jsxs(Stack, {
|
|
20
|
+
direction: "row",
|
|
21
|
+
columnGap: size === "small" ? "small" : "medium",
|
|
62
22
|
fillChildren: false,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
23
|
+
vAlign: hasTextDescription ? "start" : "center",
|
|
24
|
+
hPadding,
|
|
25
|
+
vPadding,
|
|
26
|
+
children: [/* @__PURE__ */ jsx(Checkbox.Root, {
|
|
27
|
+
...checkboxRootProps,
|
|
28
|
+
className: clsx(checkbox_module_default.CheckboxRoot, className),
|
|
29
|
+
"data-size": size,
|
|
30
|
+
disabled,
|
|
31
|
+
ref,
|
|
32
|
+
value,
|
|
33
|
+
children: /* @__PURE__ */ jsxs(Checkbox.Indicator, {
|
|
34
|
+
className: checkbox_module_default.Indicator,
|
|
35
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
36
|
+
className: clsx(checkbox_module_default.Icon, checkbox_module_default.CheckIcon),
|
|
37
|
+
name: "Check",
|
|
38
|
+
size: iconSize
|
|
39
|
+
}), /* @__PURE__ */ jsx(Icon, {
|
|
40
|
+
className: clsx(checkbox_module_default.Icon, checkbox_module_default.MinusIcon),
|
|
41
|
+
name: "Minus",
|
|
42
|
+
size: iconSize
|
|
43
|
+
})]
|
|
44
|
+
})
|
|
45
|
+
}), label || description || error ? /* @__PURE__ */ jsxs(Stack, {
|
|
46
|
+
direction: "column",
|
|
47
|
+
fillChildren: false,
|
|
48
|
+
rowGap: "small",
|
|
49
|
+
children: [label ? /* @__PURE__ */ jsx(FieldLabel, {
|
|
50
|
+
size: size === "small" ? "small" : "medium",
|
|
51
|
+
children: label
|
|
52
|
+
}) : null, /* @__PURE__ */ jsx(FieldHelperCopy, {
|
|
53
|
+
description,
|
|
54
|
+
error
|
|
55
|
+
})]
|
|
56
|
+
}) : null]
|
|
57
|
+
})
|
|
58
|
+
})
|
|
73
59
|
});
|
|
74
60
|
};
|
|
75
61
|
//#endregion
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
var checkbox_module_default = {
|
|
2
|
-
Checkbox: "
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
Checkbox: "viraui__checkbox-module__Checkbox_3oGip",
|
|
3
|
+
Label: "viraui__checkbox-module__Label_n9HL7",
|
|
4
|
+
CheckboxRoot: "viraui__checkbox-module__CheckboxRoot_PeyF5",
|
|
5
|
+
Indicator: "viraui__checkbox-module__Indicator_C-k-l",
|
|
6
|
+
Icon: "viraui__checkbox-module__Icon_926Sa",
|
|
7
|
+
MinusIcon: "viraui__checkbox-module__MinusIcon_Q57pY",
|
|
8
|
+
CheckIcon: "viraui__checkbox-module__CheckIcon_XqUcs"
|
|
8
9
|
};
|
|
9
10
|
//#endregion
|
|
10
11
|
export { checkbox_module_default as default };
|