ropav 0.0.2 → 0.0.4
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/README.md +32 -3
- package/dist/base.css +153 -77
- package/dist/button.css +276 -32
- package/dist/button.js +40 -19
- package/dist/button.js.map +1 -1
- package/dist/checkbox.css +127 -19
- package/dist/checkbox.js +57 -44
- package/dist/checkbox.js.map +1 -1
- package/dist/components/button/button.d.ts +2 -2
- package/dist/components/button/index.d.ts +1 -1
- package/dist/components/button/types.d.ts +8 -1
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/checkbox/types.d.ts +8 -0
- package/dist/components/input/index.d.ts +1 -1
- package/dist/components/input/input.d.ts +5 -1
- package/dist/components/input/types.d.ts +5 -0
- package/dist/components/radio/index.d.ts +1 -1
- package/dist/components/radio/types.d.ts +12 -0
- package/dist/components/select/types.d.ts +3 -0
- package/dist/components/select/useSelect.d.ts +2 -0
- package/dist/components/switch/index.d.ts +1 -1
- package/dist/components/switch/types.d.ts +4 -0
- package/dist/components/textarea/index.d.ts +1 -1
- package/dist/components/textarea/types.d.ts +5 -0
- package/dist/components/textarea/useTextarea.d.ts +1 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.js +2 -4
- package/dist/input.css +91 -15
- package/dist/input.js +66 -23
- package/dist/input.js.map +1 -1
- package/dist/radio.css +84 -16
- package/dist/radio.js +35 -8
- package/dist/radio.js.map +1 -1
- package/dist/select.css +97 -32
- package/dist/select.js +128 -88
- package/dist/select.js.map +1 -1
- package/dist/switch.css +75 -20
- package/dist/switch.js +8 -4
- package/dist/switch.js.map +1 -1
- package/dist/textarea.css +84 -14
- package/dist/textarea.js +33 -5
- package/dist/textarea.js.map +1 -1
- package/dist/useControlState.js +4 -0
- package/dist/useControlState.js.map +1 -1
- package/package.json +11 -10
- package/src/styles/_mixins.scss +21 -11
- package/src/styles/_tokens.scss +168 -96
- package/src/styles/_variables.scss +30 -28
- package/dist/components/_internal/icons/CheckIcon.d.ts +0 -18
- package/dist/components/_internal/icons/ChevronDownIcon.d.ts +0 -18
- package/dist/components/_internal/icons/MinusIcon.d.ts +0 -18
- package/dist/components/_internal/icons/index.d.ts +0 -3
- package/dist/components/_internal/optionList.d.ts +0 -9
- package/dist/components/tabs/index.d.ts +0 -5
- package/dist/components/tabs/index.js +0 -2
- package/dist/components/tabs/tab-panel.d.ts +0 -21
- package/dist/components/tabs/tabs-list.d.ts +0 -20
- package/dist/components/tabs/tabs-trigger.d.ts +0 -21
- package/dist/components/tabs/tabs.d.ts +0 -23
- package/dist/components/tabs/types.d.ts +0 -18
- package/dist/components/tabs/useTabs.d.ts +0 -19
- package/dist/components/tooltip/index.d.ts +0 -2
- package/dist/components/tooltip/index.js +0 -2
- package/dist/components/tooltip/tooltip.d.ts +0 -23
- package/dist/components/tooltip/types.d.ts +0 -5
- package/dist/components/tooltip/useTooltip.d.ts +0 -8
- package/dist/tabs.css +0 -45
- package/dist/tabs.js +0 -205
- package/dist/tabs.js.map +0 -1
- package/dist/tooltip.css +0 -78
- package/dist/tooltip.js +0 -112
- package/dist/tooltip.js.map +0 -1
- package/dist/useRequiredInject.js +0 -11
- package/dist/useRequiredInject.js.map +0 -1
|
@@ -3,12 +3,15 @@ export interface SelectOption {
|
|
|
3
3
|
value: string | number;
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
}
|
|
6
|
+
export type SelectRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
6
7
|
export interface SelectProps {
|
|
7
8
|
id?: string;
|
|
8
9
|
name?: string;
|
|
9
10
|
modelValue: string | number | null;
|
|
10
11
|
options?: SelectOption[];
|
|
12
|
+
radius?: SelectRadius;
|
|
11
13
|
placeholder?: string;
|
|
14
|
+
clearable?: boolean;
|
|
12
15
|
disabled?: boolean;
|
|
13
16
|
required?: boolean;
|
|
14
17
|
invalid?: boolean;
|
|
@@ -13,8 +13,10 @@ export declare function useSelect(props: Readonly<SelectProps>, emitUpdate: (val
|
|
|
13
13
|
rootClass: import('vue').ComputedRef<string[]>;
|
|
14
14
|
hasValue: import('vue').ComputedRef<boolean>;
|
|
15
15
|
displayLabel: import('vue').ComputedRef<string>;
|
|
16
|
+
canClear: import('vue').ComputedRef<boolean>;
|
|
16
17
|
toggle: () => void;
|
|
17
18
|
selectOption: (option: SelectOption) => void;
|
|
19
|
+
clearSelection: () => void;
|
|
18
20
|
onOptionMouseenter: (option: SelectOption, index: number) => void;
|
|
19
21
|
onTriggerKeydown: (e: KeyboardEvent) => void;
|
|
20
22
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Switch } from './switch';
|
|
2
|
-
export type { SwitchProps } from './types';
|
|
2
|
+
export type { SwitchColor, SwitchProps, SwitchSize } from './types';
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
export type SwitchColor = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'neutral';
|
|
2
|
+
export type SwitchSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
1
3
|
export interface SwitchProps {
|
|
2
4
|
id?: string;
|
|
3
5
|
name?: string;
|
|
4
6
|
modelValue: boolean;
|
|
7
|
+
color?: SwitchColor;
|
|
8
|
+
size?: SwitchSize;
|
|
5
9
|
disabled?: boolean;
|
|
6
10
|
required?: boolean;
|
|
7
11
|
invalid?: boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Textarea } from './textarea';
|
|
2
|
-
export type { TextareaProps } from './types';
|
|
2
|
+
export type { TextareaProps, TextareaRadius, TextareaSize } from './types';
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
export type TextareaRadius = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2
|
+
export type TextareaSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
1
3
|
export interface TextareaProps {
|
|
2
4
|
id?: string;
|
|
3
5
|
name?: string;
|
|
4
6
|
modelValue: string;
|
|
7
|
+
size?: TextareaSize;
|
|
8
|
+
radius?: TextareaRadius;
|
|
5
9
|
placeholder?: string;
|
|
6
10
|
rows?: number;
|
|
7
11
|
disabled?: boolean;
|
|
8
12
|
readonly?: boolean;
|
|
9
13
|
required?: boolean;
|
|
10
14
|
invalid?: boolean;
|
|
15
|
+
valid?: boolean;
|
|
11
16
|
ariaLabel?: string;
|
|
12
17
|
describedby?: string;
|
|
13
18
|
labelledby?: string;
|
|
@@ -3,4 +3,5 @@ export declare function useTextarea(props: Readonly<TextareaProps>, emitUpdate:
|
|
|
3
3
|
control: import('../../composables/useControlState').ControlState;
|
|
4
4
|
rootClass: import('vue').ComputedRef<string[]>;
|
|
5
5
|
onInput: (e: Event) => void;
|
|
6
|
+
focusTextarea: (e: MouseEvent) => void;
|
|
6
7
|
};
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { t as button_default } from "./button.js";
|
|
2
2
|
import { t as checkbox_default } from "./checkbox.js";
|
|
3
|
-
import { t as select_default } from "./select.js";
|
|
4
3
|
import { t as input_default } from "./input.js";
|
|
5
4
|
import { n as radio_default, t as radio_group_default } from "./radio.js";
|
|
5
|
+
import { t as select_default } from "./select.js";
|
|
6
6
|
import { t as switch_default } from "./switch.js";
|
|
7
|
-
import { i as tabs_default, n as tabs_trigger_default, r as tabs_list_default, t as tab_panel_default } from "./tabs.js";
|
|
8
7
|
import { t as textarea_default } from "./textarea.js";
|
|
9
|
-
|
|
10
|
-
export { button_default as Button, checkbox_default as Checkbox, input_default as Input, radio_default as Radio, radio_group_default as RadioGroup, select_default as Select, switch_default as Switch, tab_panel_default as TabPanel, tabs_default as Tabs, tabs_list_default as TabsList, tabs_trigger_default as TabsTrigger, textarea_default as Textarea, tooltip_default as Tooltip };
|
|
8
|
+
export { button_default as Button, checkbox_default as Checkbox, input_default as Input, radio_default as Radio, radio_group_default as RadioGroup, select_default as Select, switch_default as Switch, textarea_default as Textarea };
|
package/dist/input.css
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
.rp-input[data-v-
|
|
1
|
+
.rp-input[data-v-fedf15e7] {
|
|
2
|
+
--_rp-input-height: var(--rp-size-control-md);
|
|
3
|
+
--_rp-input-padding-x: var(--rp-spacing-3);
|
|
4
|
+
--_rp-input-font-size: var(--rp-font-size-base);
|
|
5
|
+
--_rp-input-radius: var(--rp-radius-sm);
|
|
6
|
+
--_rp-input-valid-border: var(--rp-color-success-border-hover);
|
|
7
|
+
--_rp-input-valid-ring: color-mix(in srgb, var(--rp-color-success) 32%, transparent);
|
|
8
|
+
--_rp-input-invalid-border: var(--rp-color-danger-border-hover);
|
|
9
|
+
--_rp-input-invalid-ring: color-mix(in srgb, var(--rp-color-danger) 32%, transparent);
|
|
2
10
|
display: inline-flex;
|
|
3
11
|
align-items: center;
|
|
4
12
|
justify-content: center;
|
|
@@ -8,34 +16,96 @@
|
|
|
8
16
|
font-weight: var(--rp-font-weight-normal);
|
|
9
17
|
background-color: var(--rp-color-control-bg);
|
|
10
18
|
border: var(--rp-border-width-thin) solid var(--rp-color-control-border);
|
|
19
|
+
cursor: text;
|
|
11
20
|
transition: border-color var(--rp-transition-fast), box-shadow var(--rp-transition-fast);
|
|
12
21
|
}
|
|
13
|
-
.rp-input[data-v-
|
|
22
|
+
.rp-input[data-v-fedf15e7]:hover:not(.rp-input--disabled):not(.rp-input--invalid):not(.rp-input--valid) {
|
|
14
23
|
border-color: var(--rp-color-control-border-hover);
|
|
15
24
|
}
|
|
16
|
-
.rp-input[data-v-
|
|
25
|
+
.rp-input[data-v-fedf15e7]:focus-within:not(.rp-input--disabled):not(.rp-input--invalid):not(.rp-input--valid) {
|
|
17
26
|
border-color: var(--rp-color-control-border-focus);
|
|
18
27
|
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
|
|
19
28
|
}
|
|
20
|
-
.rp-input[data-v-
|
|
21
|
-
height: var(--
|
|
22
|
-
padding: 0 var(--
|
|
23
|
-
font-size: var(--
|
|
24
|
-
border-radius: var(--
|
|
29
|
+
.rp-input[data-v-fedf15e7] {
|
|
30
|
+
height: var(--_rp-input-height);
|
|
31
|
+
padding: 0 var(--_rp-input-padding-x);
|
|
32
|
+
font-size: var(--_rp-input-font-size);
|
|
33
|
+
border-radius: var(--_rp-input-radius);
|
|
25
34
|
}
|
|
26
|
-
.rp-input--
|
|
35
|
+
.rp-input--size-xs[data-v-fedf15e7] {
|
|
36
|
+
--_rp-input-height: calc(var(--rp-size-control-sm) - var(--rp-spacing-1));
|
|
37
|
+
--_rp-input-padding-x: var(--rp-spacing-1);
|
|
38
|
+
--_rp-input-font-size: var(--rp-font-size-xs);
|
|
39
|
+
}
|
|
40
|
+
.rp-input--size-sm[data-v-fedf15e7] {
|
|
41
|
+
--_rp-input-height: var(--rp-size-control-sm);
|
|
42
|
+
--_rp-input-padding-x: var(--rp-spacing-2);
|
|
43
|
+
--_rp-input-font-size: var(--rp-font-size-sm);
|
|
44
|
+
}
|
|
45
|
+
.rp-input--size-md[data-v-fedf15e7] {
|
|
46
|
+
--_rp-input-height: var(--rp-size-control-md);
|
|
47
|
+
--_rp-input-padding-x: var(--rp-spacing-3);
|
|
48
|
+
--_rp-input-font-size: var(--rp-font-size-base);
|
|
49
|
+
}
|
|
50
|
+
.rp-input--size-lg[data-v-fedf15e7] {
|
|
51
|
+
--_rp-input-height: var(--rp-size-control-lg);
|
|
52
|
+
--_rp-input-padding-x: var(--rp-spacing-4);
|
|
53
|
+
--_rp-input-font-size: var(--rp-font-size-lg);
|
|
54
|
+
}
|
|
55
|
+
.rp-input--size-xl[data-v-fedf15e7] {
|
|
56
|
+
--_rp-input-height: calc(var(--rp-size-control-lg) + var(--rp-spacing-2));
|
|
57
|
+
--_rp-input-padding-x: var(--rp-spacing-5);
|
|
58
|
+
--_rp-input-font-size: var(--rp-font-size-lg);
|
|
59
|
+
}
|
|
60
|
+
.rp-input--radius-xs[data-v-fedf15e7] {
|
|
61
|
+
--_rp-input-radius: var(--rp-radius-sm);
|
|
62
|
+
}
|
|
63
|
+
.rp-input--radius-sm[data-v-fedf15e7] {
|
|
64
|
+
--_rp-input-radius: var(--rp-radius-sm);
|
|
65
|
+
}
|
|
66
|
+
.rp-input--radius-md[data-v-fedf15e7] {
|
|
67
|
+
--_rp-input-radius: var(--rp-radius-md);
|
|
68
|
+
}
|
|
69
|
+
.rp-input--radius-lg[data-v-fedf15e7] {
|
|
70
|
+
--_rp-input-radius: var(--rp-radius-lg);
|
|
71
|
+
}
|
|
72
|
+
.rp-input--radius-xl[data-v-fedf15e7] {
|
|
73
|
+
--_rp-input-radius: var(--rp-radius-xl);
|
|
74
|
+
}
|
|
75
|
+
html.dark .rp-input[data-v-fedf15e7] {
|
|
76
|
+
--_rp-input-valid-border: var(--rp-color-success-fg);
|
|
77
|
+
--_rp-input-valid-ring: color-mix(in srgb, var(--rp-color-success-fg) 32%, transparent);
|
|
78
|
+
--_rp-input-invalid-border: var(--rp-color-danger-fg);
|
|
79
|
+
--_rp-input-invalid-ring: color-mix(in srgb, var(--rp-color-danger-fg) 32%, transparent);
|
|
80
|
+
}
|
|
81
|
+
.rp-input--disabled[data-v-fedf15e7] {
|
|
27
82
|
opacity: var(--rp-opacity-disabled);
|
|
28
83
|
cursor: not-allowed;
|
|
29
84
|
}
|
|
30
|
-
.rp-input--
|
|
31
|
-
border-color: var(--
|
|
85
|
+
.rp-input--valid[data-v-fedf15e7] {
|
|
86
|
+
border-color: var(--_rp-input-valid-border);
|
|
87
|
+
}
|
|
88
|
+
.rp-input--valid[data-v-fedf15e7]:focus-within:not(.rp-input--disabled) {
|
|
89
|
+
border-color: var(--_rp-input-valid-border);
|
|
90
|
+
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-input-valid-ring);
|
|
91
|
+
}
|
|
92
|
+
.rp-input--invalid[data-v-fedf15e7] {
|
|
93
|
+
border-color: var(--_rp-input-invalid-border);
|
|
94
|
+
}
|
|
95
|
+
.rp-input--invalid[data-v-fedf15e7]:focus-within:not(.rp-input--disabled) {
|
|
96
|
+
border-color: var(--_rp-input-invalid-border);
|
|
97
|
+
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--_rp-input-invalid-ring);
|
|
32
98
|
}
|
|
33
|
-
.rp-input--readonly[data-v-
|
|
99
|
+
.rp-input--readonly[data-v-fedf15e7] {
|
|
34
100
|
background-color: var(--rp-color-control-readonly-bg);
|
|
35
101
|
}
|
|
36
|
-
.rp-input__native[data-v-
|
|
102
|
+
.rp-input__native[data-v-fedf15e7] {
|
|
103
|
+
box-sizing: border-box;
|
|
37
104
|
flex: 1;
|
|
105
|
+
width: 100%;
|
|
106
|
+
height: 100%;
|
|
38
107
|
min-width: 0;
|
|
108
|
+
padding: 0;
|
|
39
109
|
border: none;
|
|
40
110
|
outline: none;
|
|
41
111
|
background: transparent;
|
|
@@ -43,9 +113,15 @@
|
|
|
43
113
|
color: var(--rp-color-control-fg);
|
|
44
114
|
line-height: var(--rp-line-height-none);
|
|
45
115
|
}
|
|
46
|
-
.rp-input__native[data-v-
|
|
116
|
+
.rp-input__native[data-v-fedf15e7]::placeholder {
|
|
47
117
|
color: var(--rp-color-control-placeholder);
|
|
48
118
|
}
|
|
49
|
-
.rp-input__native[data-v-
|
|
119
|
+
.rp-input__native[data-v-fedf15e7]:disabled {
|
|
50
120
|
cursor: not-allowed;
|
|
121
|
+
}
|
|
122
|
+
.rp-input__left[data-v-fedf15e7], .rp-input__right[data-v-fedf15e7] {
|
|
123
|
+
display: inline-flex;
|
|
124
|
+
align-items: center;
|
|
125
|
+
flex-shrink: 0;
|
|
126
|
+
color: var(--rp-color-control-icon);
|
|
51
127
|
}
|
package/dist/input.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import './input.css';
|
|
2
2
|
import { n as bem, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
3
3
|
import { t as useControlState } from "./useControlState.js";
|
|
4
|
-
import { child, computed, createInvoker, defineVaporComponent, delegateEvents, renderEffect, setAttr, setClass, setProp, setValue, template, unref } from "vue";
|
|
4
|
+
import { child, computed, createIf, createInvoker, createSlot, defineVaporComponent, delegateEvents, renderEffect, setAttr, setClass, setInsertionState, setProp, setValue, template, unref } from "vue";
|
|
5
5
|
//#region src/components/input/input.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
6
|
-
var t0 = template("<
|
|
7
|
-
|
|
6
|
+
var t0 = template("<span data-v-fedf15e7 class=rp-input__left>");
|
|
7
|
+
var t1 = template("<span data-v-fedf15e7 class=rp-input__right>");
|
|
8
|
+
var t2 = template("<label data-v-fedf15e7><input data-v-fedf15e7 class=rp-input__native>", 1);
|
|
9
|
+
delegateEvents("input", "mousedown");
|
|
8
10
|
//#endregion
|
|
9
11
|
//#region src/components/input/input.vue
|
|
10
12
|
var input_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -15,6 +17,8 @@ var input_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
15
17
|
name: {},
|
|
16
18
|
modelValue: {},
|
|
17
19
|
type: { default: "text" },
|
|
20
|
+
size: {},
|
|
21
|
+
radius: {},
|
|
18
22
|
placeholder: { default: "" },
|
|
19
23
|
disabled: {
|
|
20
24
|
type: Boolean,
|
|
@@ -32,47 +36,86 @@ var input_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
32
36
|
type: Boolean,
|
|
33
37
|
default: void 0
|
|
34
38
|
},
|
|
39
|
+
valid: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: void 0
|
|
42
|
+
},
|
|
35
43
|
ariaLabel: {},
|
|
36
44
|
describedby: {},
|
|
37
45
|
labelledby: {}
|
|
38
46
|
},
|
|
39
47
|
emits: ["update:modelValue"],
|
|
40
|
-
setup(__props, { emit: __emit }) {
|
|
48
|
+
setup(__props, { emit: __emit, slots: $slots }) {
|
|
41
49
|
const props = __props;
|
|
42
50
|
const emit = __emit;
|
|
43
51
|
const control = useControlState(props);
|
|
44
52
|
const rootClass = computed(() => bem("rp-input", {
|
|
53
|
+
[`size-${props.size}`]: Boolean(props.size),
|
|
54
|
+
[`radius-${props.radius}`]: Boolean(props.radius),
|
|
45
55
|
disabled: control.disabled,
|
|
46
56
|
invalid: control.invalid,
|
|
57
|
+
valid: control.valid && !control.invalid,
|
|
47
58
|
readonly: props.readonly
|
|
48
59
|
}));
|
|
49
60
|
function onInput(e) {
|
|
50
61
|
emit("update:modelValue", e.target.value);
|
|
51
62
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
63
|
+
function focusInput(e) {
|
|
64
|
+
if (control.disabled) return;
|
|
65
|
+
const target = e.target;
|
|
66
|
+
if (target instanceof Element && isInteractiveElement(target)) return;
|
|
67
|
+
e.currentTarget.querySelector(".rp-input__native")?.focus();
|
|
68
|
+
}
|
|
69
|
+
function isInteractiveElement(target) {
|
|
70
|
+
return Boolean(target.closest([
|
|
71
|
+
"button",
|
|
72
|
+
"a[href]",
|
|
73
|
+
"input:not(.rp-input__native)",
|
|
74
|
+
"select",
|
|
75
|
+
"textarea",
|
|
76
|
+
"[contenteditable=\"true\"]",
|
|
77
|
+
"[tabindex]:not([tabindex=\"-1\"])"
|
|
78
|
+
].join(",")));
|
|
79
|
+
}
|
|
80
|
+
const n9 = t2();
|
|
81
|
+
const n4 = child(n9, 1);
|
|
82
|
+
renderEffect(() => setClass(n9, rootClass.value));
|
|
83
|
+
setInsertionState(n9, 0, 0);
|
|
84
|
+
createIf(() => $slots.left, () => {
|
|
85
|
+
const n3 = t0();
|
|
86
|
+
setInsertionState(n3, null, 0);
|
|
87
|
+
createSlot("left", null, null, 1);
|
|
88
|
+
return n3;
|
|
89
|
+
});
|
|
90
|
+
n4.$evtinput = createInvoker(onInput);
|
|
55
91
|
renderEffect(() => {
|
|
56
92
|
const _control = unref(control);
|
|
57
93
|
const _control_required = _control.required;
|
|
58
|
-
|
|
59
|
-
setProp(
|
|
60
|
-
setProp(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
setProp(
|
|
64
|
-
setProp(
|
|
65
|
-
setProp(
|
|
66
|
-
|
|
67
|
-
setAttr(
|
|
68
|
-
setAttr(
|
|
69
|
-
setAttr(
|
|
70
|
-
setAttr(
|
|
71
|
-
|
|
94
|
+
setProp(n4, "id", _control.id);
|
|
95
|
+
setProp(n4, "name", __props.name);
|
|
96
|
+
setProp(n4, "type", __props.type);
|
|
97
|
+
setValue(n4, __props.modelValue);
|
|
98
|
+
setProp(n4, "placeholder", __props.placeholder);
|
|
99
|
+
setProp(n4, "disabled", _control.disabled || void 0);
|
|
100
|
+
setProp(n4, "readonly", __props.readonly || void 0);
|
|
101
|
+
setProp(n4, "required", _control_required || void 0);
|
|
102
|
+
setAttr(n4, "aria-label", __props.ariaLabel || void 0);
|
|
103
|
+
setAttr(n4, "aria-labelledby", _control.ariaLabelledby);
|
|
104
|
+
setAttr(n4, "aria-describedby", _control.ariaDescribedby);
|
|
105
|
+
setAttr(n4, "aria-invalid", _control.invalid || void 0);
|
|
106
|
+
setAttr(n4, "aria-required", _control_required || void 0);
|
|
107
|
+
});
|
|
108
|
+
setInsertionState(n9, null, 2);
|
|
109
|
+
createIf(() => $slots.right, () => {
|
|
110
|
+
const n8 = t1();
|
|
111
|
+
setInsertionState(n8, null, 0);
|
|
112
|
+
createSlot("right", null, null, 1);
|
|
113
|
+
return n8;
|
|
72
114
|
});
|
|
73
|
-
|
|
115
|
+
n9.$evtmousedown = createInvoker(focusInput);
|
|
116
|
+
return n9;
|
|
74
117
|
}
|
|
75
|
-
}), [["__scopeId", "data-v-
|
|
118
|
+
}), [["__scopeId", "data-v-fedf15e7"]]);
|
|
76
119
|
//#endregion
|
|
77
120
|
export { input_default as t };
|
|
78
121
|
|
package/dist/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","names":[],"sources":["../src/components/input/input.vue","../src/components/input/input.vue"],"sourcesContent":["<template>\n <
|
|
1
|
+
{"version":3,"file":"input.js","names":[],"sources":["../src/components/input/input.vue","../src/components/input/input.vue"],"sourcesContent":["<template>\n <label :class=\"rootClass\" @mousedown=\"focusInput\">\n <span v-if=\"$slots.left\" class=\"rp-input__left\">\n <slot name=\"left\" />\n </span>\n <input\n :id=\"control.id\"\n :name=\"name\"\n class=\"rp-input__native\"\n :type=\"type\"\n :value=\"modelValue\"\n :placeholder=\"placeholder\"\n :disabled=\"control.disabled || undefined\"\n :readonly=\"readonly || undefined\"\n :required=\"control.required || undefined\"\n :aria-label=\"ariaLabel || undefined\"\n :aria-labelledby=\"control.ariaLabelledby\"\n :aria-describedby=\"control.ariaDescribedby\"\n :aria-invalid=\"control.invalid || undefined\"\n :aria-required=\"control.required || undefined\"\n @input=\"onInput\"\n />\n <span v-if=\"$slots.right\" class=\"rp-input__right\">\n <slot name=\"right\" />\n </span>\n </label>\n</template>\n\n<script lang=\"ts\" setup vapor>\nimport { computed } from 'vue';\nimport { useControlState } from '@/composables/useControlState';\nimport { bem } from '@/utils/bem';\nimport type { InputProps } from './types';\n\ndefineOptions({ name: 'RpInput' });\n\nconst props = withDefaults(defineProps<InputProps>(), {\n type: 'text',\n placeholder: '',\n disabled: undefined,\n required: undefined,\n invalid: undefined,\n valid: undefined,\n readonly: false,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string];\n}>();\n\nconst control = useControlState(props);\n\nconst rootClass = computed(() =>\n bem('rp-input', {\n [`size-${props.size}`]: Boolean(props.size),\n [`radius-${props.radius}`]: Boolean(props.radius),\n disabled: control.disabled,\n invalid: control.invalid,\n valid: control.valid && !control.invalid,\n readonly: props.readonly,\n }),\n);\n\nfunction onInput(e: Event) {\n emit('update:modelValue', (e.target as HTMLInputElement).value);\n}\n\nfunction focusInput(e: MouseEvent) {\n if (control.disabled) return;\n\n const target = e.target;\n if (target instanceof Element && isInteractiveElement(target)) return;\n\n (e.currentTarget as HTMLElement).querySelector<HTMLInputElement>('.rp-input__native')?.focus();\n}\n\nfunction isInteractiveElement(target: Element) {\n return Boolean(\n target.closest(\n [\n 'button',\n 'a[href]',\n 'input:not(.rp-input__native)',\n 'select',\n 'textarea',\n '[contenteditable=\"true\"]',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(','),\n ),\n );\n}\n</script>\n\n<style src=\"./input.scss\" lang=\"scss\" scoped></style>\n","<template>\n <label :class=\"rootClass\" @mousedown=\"focusInput\">\n <span v-if=\"$slots.left\" class=\"rp-input__left\">\n <slot name=\"left\" />\n </span>\n <input\n :id=\"control.id\"\n :name=\"name\"\n class=\"rp-input__native\"\n :type=\"type\"\n :value=\"modelValue\"\n :placeholder=\"placeholder\"\n :disabled=\"control.disabled || undefined\"\n :readonly=\"readonly || undefined\"\n :required=\"control.required || undefined\"\n :aria-label=\"ariaLabel || undefined\"\n :aria-labelledby=\"control.ariaLabelledby\"\n :aria-describedby=\"control.ariaDescribedby\"\n :aria-invalid=\"control.invalid || undefined\"\n :aria-required=\"control.required || undefined\"\n @input=\"onInput\"\n />\n <span v-if=\"$slots.right\" class=\"rp-input__right\">\n <slot name=\"right\" />\n </span>\n </label>\n</template>\n\n<script lang=\"ts\" setup vapor>\nimport { computed } from 'vue';\nimport { useControlState } from '@/composables/useControlState';\nimport { bem } from '@/utils/bem';\nimport type { InputProps } from './types';\n\ndefineOptions({ name: 'RpInput' });\n\nconst props = withDefaults(defineProps<InputProps>(), {\n type: 'text',\n placeholder: '',\n disabled: undefined,\n required: undefined,\n invalid: undefined,\n valid: undefined,\n readonly: false,\n});\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string];\n}>();\n\nconst control = useControlState(props);\n\nconst rootClass = computed(() =>\n bem('rp-input', {\n [`size-${props.size}`]: Boolean(props.size),\n [`radius-${props.radius}`]: Boolean(props.radius),\n disabled: control.disabled,\n invalid: control.invalid,\n valid: control.valid && !control.invalid,\n readonly: props.readonly,\n }),\n);\n\nfunction onInput(e: Event) {\n emit('update:modelValue', (e.target as HTMLInputElement).value);\n}\n\nfunction focusInput(e: MouseEvent) {\n if (control.disabled) return;\n\n const target = e.target;\n if (target instanceof Element && isInteractiveElement(target)) return;\n\n (e.currentTarget as HTMLElement).querySelector<HTMLInputElement>('.rp-input__native')?.focus();\n}\n\nfunction isInteractiveElement(target: Element) {\n return Boolean(\n target.closest(\n [\n 'button',\n 'a[href]',\n 'input:not(.rp-input__native)',\n 'select',\n 'textarea',\n '[contenteditable=\"true\"]',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(','),\n ),\n );\n}\n</script>\n\n<style src=\"./input.scss\" lang=\"scss\" scoped></style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCA,MAAM,QAAQ;EAUd,MAAM,OAAO;EAIb,MAAM,UAAU,gBAAgB,KAAK;EAErC,MAAM,YAAY,eACd,IAAI,YAAY;IACX,QAAQ,MAAM,SAAS,QAAQ,MAAM,IAAI;IACzC,UAAU,MAAM,WAAW,QAAQ,MAAM,MAAM;GAChD,UAAU,QAAQ;GAClB,SAAS,QAAQ;GACjB,OAAO,QAAQ,SAAS,CAAC,QAAQ;GACjC,UAAU,MAAM;EACpB,CAAC,CACL;EAEA,SAAS,QAAQ,GAAU;GACvB,KAAK,qBAAsB,EAAE,OAA4B,KAAK;EAClE;EAEA,SAAS,WAAW,GAAe;GAC/B,IAAI,QAAQ,UAAU;GAEtB,MAAM,SAAS,EAAE;GACjB,IAAI,kBAAkB,WAAW,qBAAqB,MAAM,GAAG;GAE/D,EAAG,cAA8B,cAAgC,mBAAmB,CAAC,EAAE,MAAM;EACjG;EAEA,SAAS,qBAAqB,QAAiB;GAC3C,OAAO,QACH,OAAO,QACH;IACI;IACA;IACA;IACA;IACA;IACA;IACA;GACJ,CAAC,CAAC,KAAK,GAAG,CACd,CACJ;EACJ;;;kCAzFmB,UAAA,KAAS,CAAA;;iBACR,OAAM,YAAA;;;cACR,QAAW,MAAA,MAAA,CAAA;;;+BAiBT,OAAO;;;;eAdd,MAAI,SAAO,EAAA;eACX,QAAM,QAAA,IAAI;eAEV,QAAM,QAAA,IAAI;gBACH,QAAA,UAAU;eACjB,eAAa,QAAA,WAAW;eACxB,YAAU,SAAO,YAAa,KAAA,CAAS;eACvC,YAAU,QAAA,YAAY,KAAA,CAAS;eAC/B,YAAU,qBAAoB,KAAA,CAAS;eACvC,cAAY,QAAA,aAAa,KAAA,CAAS;eAClC,mBAAiB,SAAO,cAAA;eACxB,oBAAkB,SAAO,eAAA;eACzB,gBAAc,SAAO,WAAY,KAAA,CAAS;eAC1C,iBAAe,qBAAoB,KAAA,CAAS;;;iBAGrC,OAAM,aAAA;;;cACR,SAAY,MAAA,MAAA,CAAA;;;mCAtBY,UAAU"}
|
package/dist/radio.css
CHANGED
|
@@ -1,21 +1,27 @@
|
|
|
1
|
-
.rp-radio[data-v-
|
|
1
|
+
.rp-radio[data-v-ecddd6c8] {
|
|
2
|
+
--_radio-color: var(--rp-color-control-selected-bg);
|
|
3
|
+
--_radio-on-color: var(--rp-color-control-selected-fg);
|
|
4
|
+
--_radio-size: 18px;
|
|
5
|
+
--_radio-dot: 8px;
|
|
6
|
+
--_radio-font-size: var(--rp-font-size-base);
|
|
7
|
+
--_radio-checked-bg: var(--_radio-color);
|
|
8
|
+
--_radio-checked-border: var(--_radio-color);
|
|
9
|
+
--_radio-checked-dot: var(--_radio-on-color);
|
|
2
10
|
display: inline-flex;
|
|
3
11
|
align-items: center;
|
|
4
12
|
cursor: pointer;
|
|
5
13
|
font-family: var(--rp-font-family);
|
|
6
14
|
user-select: none;
|
|
7
15
|
}
|
|
8
|
-
.rp-radio--disabled[data-v-
|
|
16
|
+
.rp-radio--disabled[data-v-ecddd6c8] {
|
|
9
17
|
opacity: var(--rp-opacity-disabled);
|
|
10
18
|
cursor: not-allowed;
|
|
11
19
|
}
|
|
12
|
-
.rp-radio[data-v-
|
|
20
|
+
.rp-radio[data-v-ecddd6c8] {
|
|
13
21
|
gap: var(--rp-spacing-2);
|
|
14
|
-
font-size: var(--
|
|
15
|
-
--_radio-size: 18px;
|
|
16
|
-
--_radio-dot: 8px;
|
|
22
|
+
font-size: var(--_radio-font-size);
|
|
17
23
|
}
|
|
18
|
-
.rp-radio__native[data-v-
|
|
24
|
+
.rp-radio__native[data-v-ecddd6c8] {
|
|
19
25
|
position: absolute;
|
|
20
26
|
width: 1px;
|
|
21
27
|
height: 1px;
|
|
@@ -27,7 +33,11 @@
|
|
|
27
33
|
border-width: 0;
|
|
28
34
|
pointer-events: none;
|
|
29
35
|
}
|
|
30
|
-
.rp-radio__dot[data-v-
|
|
36
|
+
.rp-radio__native:focus-visible + .rp-radio__dot[data-v-ecddd6c8] {
|
|
37
|
+
border-color: var(--rp-color-primary);
|
|
38
|
+
box-shadow: 0 0 0 var(--rp-border-width-medium) var(--rp-color-focus-ring);
|
|
39
|
+
}
|
|
40
|
+
.rp-radio__dot[data-v-ecddd6c8] {
|
|
31
41
|
display: inline-flex;
|
|
32
42
|
align-items: center;
|
|
33
43
|
justify-content: center;
|
|
@@ -39,26 +49,84 @@
|
|
|
39
49
|
background-color: var(--rp-color-control-bg);
|
|
40
50
|
transition: background-color var(--rp-transition-fast), border-color var(--rp-transition-fast);
|
|
41
51
|
}
|
|
42
|
-
.rp-radio__dot[data-v-
|
|
52
|
+
.rp-radio__dot[data-v-ecddd6c8]::after {
|
|
43
53
|
content: "";
|
|
44
54
|
width: var(--_radio-dot);
|
|
45
55
|
height: var(--_radio-dot);
|
|
46
56
|
border-radius: var(--rp-radius-full);
|
|
47
|
-
background-color: var(--
|
|
57
|
+
background-color: var(--_radio-checked-dot);
|
|
48
58
|
transform: scale(0);
|
|
49
59
|
transition: transform var(--rp-transition-fast);
|
|
50
60
|
}
|
|
51
|
-
.rp-radio--checked .rp-radio__dot[data-v-
|
|
52
|
-
background-color: var(--
|
|
53
|
-
border-color: var(--
|
|
61
|
+
.rp-radio--checked .rp-radio__dot[data-v-ecddd6c8] {
|
|
62
|
+
background-color: var(--_radio-checked-bg);
|
|
63
|
+
border-color: var(--_radio-checked-border);
|
|
54
64
|
}
|
|
55
|
-
.rp-radio--checked .rp-radio__dot[data-v-
|
|
65
|
+
.rp-radio--checked .rp-radio__dot[data-v-ecddd6c8]::after {
|
|
56
66
|
transform: scale(1);
|
|
57
67
|
}
|
|
58
|
-
.rp-radio__label[data-v-
|
|
68
|
+
.rp-radio__label[data-v-ecddd6c8] {
|
|
59
69
|
line-height: var(--rp-line-height-normal);
|
|
60
70
|
color: var(--rp-color-text);
|
|
61
|
-
}
|
|
71
|
+
}
|
|
72
|
+
.rp-radio--color-primary[data-v-ecddd6c8] {
|
|
73
|
+
--_radio-color: var(--rp-color-primary);
|
|
74
|
+
--_radio-on-color: var(--rp-color-on-primary);
|
|
75
|
+
}
|
|
76
|
+
.rp-radio--color-secondary[data-v-ecddd6c8] {
|
|
77
|
+
--_radio-color: var(--rp-color-secondary);
|
|
78
|
+
--_radio-on-color: var(--rp-color-on-secondary);
|
|
79
|
+
}
|
|
80
|
+
.rp-radio--color-success[data-v-ecddd6c8] {
|
|
81
|
+
--_radio-color: var(--rp-color-success);
|
|
82
|
+
--_radio-on-color: var(--rp-color-on-success);
|
|
83
|
+
}
|
|
84
|
+
.rp-radio--color-warning[data-v-ecddd6c8] {
|
|
85
|
+
--_radio-color: var(--rp-color-warning);
|
|
86
|
+
--_radio-on-color: var(--rp-color-on-warning);
|
|
87
|
+
}
|
|
88
|
+
.rp-radio--color-danger[data-v-ecddd6c8] {
|
|
89
|
+
--_radio-color: var(--rp-color-danger);
|
|
90
|
+
--_radio-on-color: var(--rp-color-on-danger);
|
|
91
|
+
}
|
|
92
|
+
.rp-radio--color-info[data-v-ecddd6c8] {
|
|
93
|
+
--_radio-color: var(--rp-color-info);
|
|
94
|
+
--_radio-on-color: var(--rp-color-on-info);
|
|
95
|
+
}
|
|
96
|
+
.rp-radio--color-neutral[data-v-ecddd6c8] {
|
|
97
|
+
--_radio-color: var(--rp-color-neutral);
|
|
98
|
+
--_radio-on-color: var(--rp-color-on-neutral);
|
|
99
|
+
}
|
|
100
|
+
.rp-radio--outline[data-v-ecddd6c8] {
|
|
101
|
+
--_radio-checked-bg: var(--rp-color-control-bg);
|
|
102
|
+
--_radio-checked-border: var(--_radio-color);
|
|
103
|
+
--_radio-checked-dot: var(--_radio-color);
|
|
104
|
+
}
|
|
105
|
+
.rp-radio--size-xs[data-v-ecddd6c8] {
|
|
106
|
+
--_radio-size: 14px;
|
|
107
|
+
--_radio-dot: 6px;
|
|
108
|
+
--_radio-font-size: var(--rp-font-size-xs);
|
|
109
|
+
}
|
|
110
|
+
.rp-radio--size-sm[data-v-ecddd6c8] {
|
|
111
|
+
--_radio-size: 16px;
|
|
112
|
+
--_radio-dot: 7px;
|
|
113
|
+
--_radio-font-size: var(--rp-font-size-sm);
|
|
114
|
+
}
|
|
115
|
+
.rp-radio--size-md[data-v-ecddd6c8] {
|
|
116
|
+
--_radio-size: 18px;
|
|
117
|
+
--_radio-dot: 8px;
|
|
118
|
+
--_radio-font-size: var(--rp-font-size-base);
|
|
119
|
+
}
|
|
120
|
+
.rp-radio--size-lg[data-v-ecddd6c8] {
|
|
121
|
+
--_radio-size: 22px;
|
|
122
|
+
--_radio-dot: 10px;
|
|
123
|
+
--_radio-font-size: var(--rp-font-size-lg);
|
|
124
|
+
}
|
|
125
|
+
.rp-radio--size-xl[data-v-ecddd6c8] {
|
|
126
|
+
--_radio-size: 26px;
|
|
127
|
+
--_radio-dot: 12px;
|
|
128
|
+
--_radio-font-size: var(--rp-font-size-xl);
|
|
129
|
+
}.rp-radio-group[data-v-a2c46e46] {
|
|
62
130
|
display: flex;
|
|
63
131
|
flex-direction: column;
|
|
64
132
|
gap: var(--rp-spacing-3);
|
package/dist/radio.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import './radio.css';
|
|
2
2
|
import { n as bem, t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
3
3
|
import { t as useControlState } from "./useControlState.js";
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import { child, computed, createIf, createSlot, defineVaporComponent, inject, on, provide, renderEffect, setAttr, setClass, setInsertionState, setProp, setValue, template, unref, useId } from "vue";
|
|
5
|
+
//#region src/composables/useRequiredInject.ts
|
|
6
|
+
function useRequiredInject(key, componentName) {
|
|
7
|
+
const value = inject(key);
|
|
8
|
+
if (value == null) throw new Error(`[Ropav] <${componentName}> must be used inside its parent provider component.`);
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
6
12
|
//#region src/components/radio/types.ts
|
|
7
13
|
var radioGroupKey = Symbol("radioGroup");
|
|
8
14
|
//#endregion
|
|
@@ -11,9 +17,15 @@ function useRadio(props) {
|
|
|
11
17
|
const group = useRequiredInject(radioGroupKey, "RpRadio");
|
|
12
18
|
const isChecked = computed(() => group.modelValue === props.value);
|
|
13
19
|
const isDisabled = computed(() => props.disabled || group.disabled);
|
|
20
|
+
const variant = computed(() => props.variant ?? group.variant);
|
|
21
|
+
const color = computed(() => props.color ?? group.color);
|
|
22
|
+
const size = computed(() => props.size ?? group.size);
|
|
14
23
|
const rootClass = computed(() => bem("rp-radio", {
|
|
15
24
|
checked: isChecked.value,
|
|
16
|
-
disabled: isDisabled.value
|
|
25
|
+
disabled: isDisabled.value,
|
|
26
|
+
[variant.value ?? ""]: Boolean(variant.value),
|
|
27
|
+
[`color-${color.value}`]: Boolean(color.value),
|
|
28
|
+
[`size-${size.value}`]: Boolean(size.value)
|
|
17
29
|
}));
|
|
18
30
|
function onSelect() {
|
|
19
31
|
if (isDisabled.value) return;
|
|
@@ -48,6 +60,15 @@ function useRadioGroup(props, emitUpdate) {
|
|
|
48
60
|
get required() {
|
|
49
61
|
return control.required;
|
|
50
62
|
},
|
|
63
|
+
get variant() {
|
|
64
|
+
return props.variant;
|
|
65
|
+
},
|
|
66
|
+
get color() {
|
|
67
|
+
return props.color;
|
|
68
|
+
},
|
|
69
|
+
get size() {
|
|
70
|
+
return props.size;
|
|
71
|
+
},
|
|
51
72
|
select(value) {
|
|
52
73
|
emitUpdate(value);
|
|
53
74
|
}
|
|
@@ -59,8 +80,8 @@ function useRadioGroup(props, emitUpdate) {
|
|
|
59
80
|
}
|
|
60
81
|
//#endregion
|
|
61
82
|
//#region src/components/radio/radio.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
62
|
-
var t0$1 = template("<span data-v-
|
|
63
|
-
var t1 = template("<label data-v-
|
|
83
|
+
var t0$1 = template("<span data-v-ecddd6c8 class=rp-radio__label>");
|
|
84
|
+
var t1 = template("<label data-v-ecddd6c8><input data-v-ecddd6c8 type=radio class=rp-radio__native><span data-v-ecddd6c8 class=rp-radio__dot></span>", 1);
|
|
64
85
|
//#endregion
|
|
65
86
|
//#region src/components/radio/radio.vue
|
|
66
87
|
var radio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -68,6 +89,9 @@ var radio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
68
89
|
__name: "radio",
|
|
69
90
|
props: {
|
|
70
91
|
value: {},
|
|
92
|
+
variant: { default: void 0 },
|
|
93
|
+
color: { default: void 0 },
|
|
94
|
+
size: { default: void 0 },
|
|
71
95
|
disabled: {
|
|
72
96
|
type: Boolean,
|
|
73
97
|
default: false
|
|
@@ -99,10 +123,10 @@ var radio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__
|
|
|
99
123
|
});
|
|
100
124
|
return n5;
|
|
101
125
|
}
|
|
102
|
-
}), [["__scopeId", "data-v-
|
|
126
|
+
}), [["__scopeId", "data-v-ecddd6c8"]]);
|
|
103
127
|
//#endregion
|
|
104
128
|
//#region src/components/radio/radio-group.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
105
|
-
var t0 = template("<div data-v-
|
|
129
|
+
var t0 = template("<div data-v-a2c46e46 role=radiogroup>", 1);
|
|
106
130
|
//#endregion
|
|
107
131
|
//#region src/components/radio/radio-group.vue
|
|
108
132
|
var radio_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineVaporComponent({
|
|
@@ -112,6 +136,9 @@ var radio_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
112
136
|
id: {},
|
|
113
137
|
name: {},
|
|
114
138
|
modelValue: {},
|
|
139
|
+
variant: { default: void 0 },
|
|
140
|
+
color: { default: void 0 },
|
|
141
|
+
size: { default: void 0 },
|
|
115
142
|
disabled: {
|
|
116
143
|
type: Boolean,
|
|
117
144
|
default: void 0
|
|
@@ -153,7 +180,7 @@ var radio_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
|
|
|
153
180
|
createSlot("default", null, null, 1);
|
|
154
181
|
return n1;
|
|
155
182
|
}
|
|
156
|
-
}), [["__scopeId", "data-v-
|
|
183
|
+
}), [["__scopeId", "data-v-a2c46e46"]]);
|
|
157
184
|
//#endregion
|
|
158
185
|
export { radio_default as n, radio_group_default as t };
|
|
159
186
|
|