@teammodlr/ui-kit 2.0.21 → 2.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/lib/__storybook__/argTypes.d.ts +40 -40
  2. package/lib/__storybook__/createStory.d.ts +8 -8
  3. package/lib/__storybook__/index.d.ts +2 -2
  4. package/lib/components/avatar/Avatar.vue.d.ts +56 -56
  5. package/lib/components/avatar/style/Avatar.css.d.ts +9 -9
  6. package/lib/components/avatar/style/index.d.ts +1 -1
  7. package/lib/components/avatargroup/AvatarGroup.vue.d.ts +49 -49
  8. package/lib/components/avatargroup/style/AvatarGroup.css.d.ts +2 -2
  9. package/lib/components/avatargroup/style/index.d.ts +1 -1
  10. package/lib/components/avatargroup/symbol.d.ts +13 -13
  11. package/lib/components/badge/Badge.vue.d.ts +30 -30
  12. package/lib/components/badge/style/Badge.css.d.ts +4 -4
  13. package/lib/components/badge/style/index.d.ts +1 -1
  14. package/lib/components/breadcrumb/Breadcrumb.vue.d.ts +34 -34
  15. package/lib/components/breadcrumb/BreadcrumbItem.vue.d.ts +29 -29
  16. package/lib/components/breadcrumb/style/Breadcrumb.css.d.ts +4 -4
  17. package/lib/components/breadcrumb/style/index.d.ts +1 -1
  18. package/lib/components/breadcrumb/symbol.d.ts +13 -13
  19. package/lib/components/button/Button.vue.d.ts +141 -141
  20. package/lib/components/button/style/Button.css.d.ts +25 -25
  21. package/lib/components/button/style/index.d.ts +1 -1
  22. package/lib/components/buttongroup/ButtonGroup.vue.d.ts +18 -18
  23. package/lib/components/buttongroup/style/ButtonGroup.css.d.ts +2 -2
  24. package/lib/components/buttongroup/style/index.d.ts +1 -1
  25. package/lib/components/buttongroup/symbol.d.ts +6 -6
  26. package/lib/components/checkbox/Checkbox.vue.d.ts +94 -94
  27. package/lib/components/checkbox/style/Checkbox.css.d.ts +16 -16
  28. package/lib/components/checkbox/style/index.d.ts +1 -1
  29. package/lib/components/colorpicker/ColorPicker.vue.d.ts +77 -77
  30. package/lib/components/colorpicker/style/ColorPicker.css.d.ts +10 -10
  31. package/lib/components/colorpicker/style/index.d.ts +1 -1
  32. package/lib/components/colorpicker/utils.d.ts +16 -16
  33. package/lib/components/dropdown/Dropdown.vue.d.ts +122 -122
  34. package/lib/components/dropdown/DropdownItem.vue.d.ts +78 -78
  35. package/lib/components/dropdown/DropdownList.vue.d.ts +5 -5
  36. package/lib/components/dropdown/DropdownSeperator.vue.d.ts +4 -4
  37. package/lib/components/dropdown/DropdownWrapper.vue.d.ts +2 -2
  38. package/lib/components/dropdown/hooks.d.ts +2 -2
  39. package/lib/components/dropdown/style/Dropdown.css.d.ts +6 -6
  40. package/lib/components/dropdown/style/index.d.ts +1 -1
  41. package/lib/components/dropdown/symbol.d.ts +6 -6
  42. package/lib/components/form/Form.vue.d.ts +75 -75
  43. package/lib/components/form/style/Form.css.d.ts +4 -4
  44. package/lib/components/form/style/index.d.ts +2 -2
  45. package/lib/components/form/symbol.d.ts +9 -9
  46. package/lib/components/image/Image.vue.d.ts +50 -50
  47. package/lib/components/index.d.ts +40 -39
  48. package/lib/components/input/Input.vue.d.ts +142 -142
  49. package/lib/components/input/style/Input.css.d.ts +23 -23
  50. package/lib/components/input/style/index.d.ts +1 -1
  51. package/lib/components/link/Link.vue.d.ts +51 -51
  52. package/lib/components/messageprovider/Message.vue.d.ts +73 -73
  53. package/lib/components/messageprovider/MessageProvider.vue.d.ts +52 -52
  54. package/lib/components/messageprovider/style/Message.css.d.ts +12 -12
  55. package/lib/components/messageprovider/style/index.d.ts +1 -1
  56. package/lib/components/messageprovider/types.d.ts +29 -29
  57. package/lib/components/messageprovider/useMessage.d.ts +2 -2
  58. package/lib/components/modal/Modal.vue.d.ts +52 -52
  59. package/lib/components/modal/style/Modal.css.d.ts +21 -21
  60. package/lib/components/modal/style/index.d.ts +1 -1
  61. package/lib/components/pagination/Pagination.vue.d.ts +75 -75
  62. package/lib/components/pagination/style/Pagination.css.d.ts +10 -10
  63. package/lib/components/pagination/style/index.d.ts +1 -1
  64. package/lib/components/radio/Radio.vue.d.ts +85 -85
  65. package/lib/components/radio/style/Checkbox.css.d.ts +16 -16
  66. package/lib/components/radio/style/index.d.ts +1 -1
  67. package/lib/components/radiobutton/RadioButton.vue.d.ts +98 -98
  68. package/lib/components/radiobutton/style/RadioButton.css.d.ts +14 -14
  69. package/lib/components/radiobutton/style/index.d.ts +1 -1
  70. package/lib/components/radiobuttongroup/RadioButtonGroup.vue.d.ts +48 -48
  71. package/lib/components/radiobuttongroup/style/RadioButtonGroup.css.d.ts +3 -3
  72. package/lib/components/radiobuttongroup/style/index.d.ts +1 -1
  73. package/lib/components/radiobuttongroup/symbol.d.ts +9 -9
  74. package/lib/components/select/Select.vue.d.ts +194 -194
  75. package/lib/components/select/style/Select.css.d.ts +31 -31
  76. package/lib/components/select/style/index.d.ts +1 -1
  77. package/lib/components/skeleton/Skeleton.vue.d.ts +33 -33
  78. package/lib/components/skeleton/style/Skeleton.css.d.ts +8 -8
  79. package/lib/components/skeleton/style/index.d.ts +2 -2
  80. package/lib/components/slider/Slider.vue.d.ts +32 -32
  81. package/lib/components/slider/style/Slider.css.d.ts +4 -4
  82. package/lib/components/slider/style/index.d.ts +1 -1
  83. package/lib/components/tab/Tab.vue.d.ts +41 -41
  84. package/lib/components/tab/TabGroup.vue.d.ts +43 -43
  85. package/lib/components/table/Table.vue.d.ts +62 -62
  86. package/lib/components/table/TableBody.vue.d.ts +2 -2
  87. package/lib/components/table/TableCell.vue.d.ts +2 -2
  88. package/lib/components/table/TableHead.vue.d.ts +30 -30
  89. package/lib/components/table/TableHeadRow.vue.d.ts +2 -2
  90. package/lib/components/table/TableRow.vue.d.ts +2 -2
  91. package/lib/components/table/style/Table.css.d.ts +4 -4
  92. package/lib/components/table/style/index.d.ts +1 -1
  93. package/lib/components/table/types/index.d.ts +6 -6
  94. package/lib/components/tag/Tag.vue.d.ts +44 -44
  95. package/lib/components/tag/style/Tag.css.d.ts +11 -11
  96. package/lib/components/tag/style/index.d.ts +1 -1
  97. package/lib/components/textarea/TextArea.vue.d.ts +137 -0
  98. package/lib/components/textarea/style/TextArea.css.d.ts +19 -0
  99. package/lib/components/textarea/style/index.d.ts +1 -0
  100. package/lib/components/tooltip/Tooltip.vue.d.ts +71 -71
  101. package/lib/components/tooltip/style/Tooltip.css.d.ts +10 -10
  102. package/lib/components/tooltip/style/index.d.ts +1 -1
  103. package/lib/components/transfer/Transfer.vue.d.ts +67 -67
  104. package/lib/components/transfer/style/Transfer.css.d.ts +7 -7
  105. package/lib/components/transfer/style/index.d.ts +1 -1
  106. package/lib/components/virtualscroll/VirtualScroll.vue.d.ts +73 -73
  107. package/lib/components/virtualscroll/style/VirtualScroll.css.d.ts +1 -1
  108. package/lib/components/virtualscroll/style/index.d.ts +1 -1
  109. package/lib/composables/element.d.ts +2 -2
  110. package/lib/composables/index.d.ts +3 -3
  111. package/lib/composables/useCachedUid.d.ts +13 -13
  112. package/lib/composables/useEventListener.d.ts +1 -1
  113. package/lib/composables/useInput.d.ts +36 -36
  114. package/lib/composables/useInteractive.d.ts +15 -15
  115. package/lib/composables/useIsServer.d.ts +1 -1
  116. package/lib/composables/useMount.d.ts +13 -13
  117. package/lib/composables/usePopper.d.ts +31 -31
  118. package/lib/composables/useZIndex.d.ts +8 -8
  119. package/lib/create.d.ts +9 -9
  120. package/lib/index.cjs.js +4 -4
  121. package/lib/index.d.ts +5 -5
  122. package/lib/index.es.js +1733 -1578
  123. package/lib/install.d.ts +4 -4
  124. package/lib/style.css +1 -1
  125. package/lib/styles/theme.css.d.ts +167 -167
  126. package/lib/styles/typography.css.d.ts +22 -22
  127. package/lib/types/props.d.ts +3 -3
  128. package/package.json +1 -1
  129. package/src/components/avatargroup/AvatarGroup.vue +71 -71
  130. package/src/components/avatargroup/symbol.ts +16 -16
  131. package/src/components/breadcrumb/BreadcrumbItem.vue +72 -72
  132. package/src/components/breadcrumb/style/Breadcrumb.css.ts +39 -39
  133. package/src/components/breadcrumb/symbol.ts +16 -16
  134. package/src/components/button/Button.vue +203 -203
  135. package/src/components/buttongroup/ButtonGroup.vue +36 -36
  136. package/src/components/buttongroup/symbol.ts +7 -7
  137. package/src/components/dropdown/DropdownItem.vue +134 -134
  138. package/src/components/dropdown/DropdownSeperator.vue +22 -22
  139. package/src/components/dropdown/symbol.ts +7 -7
  140. package/src/components/form/style/Form.css.ts +22 -22
  141. package/src/components/form/style/index.ts +1 -1
  142. package/src/components/form/symbol.ts +10 -10
  143. package/src/components/index.ts +2 -1
  144. package/src/components/modal/examples/index.ts +2 -2
  145. package/src/components/pagination/Pagination.vue +229 -229
  146. package/src/components/pagination/examples/basic.vue +17 -17
  147. package/src/components/pagination/examples/index.stories.ts +14 -14
  148. package/src/components/pagination/style/Pagination.css.ts +87 -87
  149. package/src/components/pagination/style/index.ts +1 -1
  150. package/src/components/radiobutton/RadioButton.vue +131 -131
  151. package/src/components/radiobutton/style/RadioButton.css.ts +183 -183
  152. package/src/components/radiobutton/style/index.ts +1 -1
  153. package/src/components/radiobuttongroup/RadioButtonGroup.vue +74 -74
  154. package/src/components/radiobuttongroup/style/RadioButtonGroup.css.ts +36 -36
  155. package/src/components/radiobuttongroup/symbol.ts +10 -10
  156. package/src/components/skeleton/Skeleton.vue +55 -55
  157. package/src/components/skeleton/style/Skeleton.css.ts +56 -56
  158. package/src/components/skeleton/style/index.ts +1 -1
  159. package/src/components/table/style/Table.css.ts +80 -80
  160. package/src/components/textarea/TextArea.css +173 -0
  161. package/src/components/textarea/TextArea.vue +181 -0
  162. package/src/components/textarea/examples/basic.vue +8 -0
  163. package/src/components/textarea/examples/index.stories.ts +18 -0
  164. package/src/components/textarea/examples/index.ts +1 -0
  165. package/src/components/textarea/style/TextArea.css.ts +190 -0
  166. package/src/components/textarea/style/index.ts +1 -0
  167. package/src/components/tooltip/style/Tooltip.css.ts +91 -91
  168. package/src/components/tooltip/style/index.ts +1 -1
  169. package/src/components/transfer/Transfer.vue +143 -143
  170. package/src/components/transfer/examples/basic.vue +20 -20
  171. package/src/components/transfer/examples/index.stories.ts +15 -15
  172. package/src/components/transfer/examples/index.ts +1 -1
  173. package/src/components/transfer/style/Transfer.css.ts +67 -67
  174. package/src/components/transfer/style/index.ts +1 -1
  175. package/src/composables/index.ts +2 -2
  176. package/src/composables/useInteractive.ts +19 -19
  177. package/src/composables/useZIndex.ts +30 -30
  178. package/src/examples/cards/cards.stories.ts +9 -9
  179. package/src/examples/cards/sidebar.vue +262 -262
  180. package/src/styles/theme.css.ts +170 -170
@@ -1,88 +1,88 @@
1
- import {createVar, globalKeyframes, style, styleVariants} from "@vanilla-extract/css";
2
- import {themeVars} from "../../../styles/theme.css";
3
-
4
- const sizes = {
5
- xs: '300px',
6
- sm: '400px',
7
- md: '640px',
8
- lg: '800px',
9
- xl: '1140px',
10
- };
11
-
12
- export const vars = {
13
- backgroundColor: createVar(),
14
- color: createVar(),
15
- }
16
-
17
- export const pagination = style({
18
- display: "inline-flex",
19
- alignItems: "center",
20
- fontSize: themeVars.fontSize.small,
21
- boxSizing: "border-box"
22
- });
23
-
24
- export const buttons = style({
25
- display: "inline-flex",
26
- alignItems: "center",
27
- fontSize: themeVars.fontSize.small,
28
- boxSizing: "border-box",
29
- gap: themeVars.space["2.5"]
30
- });
31
-
32
- export const pages = style({
33
- display: "inline-flex",
34
- alignItems: "center",
35
- margin: 0,
36
- gap: themeVars.space["1"]
37
- });
38
-
39
- export const page = style({
40
- vars: {
41
- [vars.backgroundColor]: "transparent",
42
- [vars.color]: themeVars.color.gray["700"]
43
- },
44
- height: "28px",
45
- width: "28px",
46
- borderRadius: themeVars.rounded.default,
47
- outline: "none",
48
- border: "none",
49
- fontSize: 'inherit',
50
- padding: `0px ${themeVars.space["2"]}`,
51
- display: "flex",
52
- alignItems: "center",
53
- justifyContent: "center",
54
- lineHeight: 1,
55
- color: vars.color,
56
- backgroundColor: vars.backgroundColor,
57
- cursor: "pointer",
58
- selectors: {
59
- '&:hover': {
60
- vars: {
61
- [vars.backgroundColor]: themeVars.color.gray["150"],
62
- }
63
- }
64
- }
65
- });
66
-
67
- export const active = style({
68
- vars: {
69
- [vars.backgroundColor]: themeVars.color.blue["600"],
70
- [vars.color]: "#FFF"
71
- },
72
- selectors: {
73
- '&:hover': {
74
- vars: {
75
- [vars.backgroundColor]: themeVars.color.blue["700"],
76
- }
77
- }
78
- }
79
- });
80
-
81
- export const svg = style({
82
- height: "calc(1em + 2px)",
83
- width: "calc(1em + 2px)",
84
- display: "inline-block",
85
- fontSize: "inherit",
86
- userSelect: "none",
87
-
1
+ import {createVar, globalKeyframes, style, styleVariants} from "@vanilla-extract/css";
2
+ import {themeVars} from "../../../styles/theme.css";
3
+
4
+ const sizes = {
5
+ xs: '300px',
6
+ sm: '400px',
7
+ md: '640px',
8
+ lg: '800px',
9
+ xl: '1140px',
10
+ };
11
+
12
+ export const vars = {
13
+ backgroundColor: createVar(),
14
+ color: createVar(),
15
+ }
16
+
17
+ export const pagination = style({
18
+ display: "inline-flex",
19
+ alignItems: "center",
20
+ fontSize: themeVars.fontSize.small,
21
+ boxSizing: "border-box"
22
+ });
23
+
24
+ export const buttons = style({
25
+ display: "inline-flex",
26
+ alignItems: "center",
27
+ fontSize: themeVars.fontSize.small,
28
+ boxSizing: "border-box",
29
+ gap: themeVars.space["2.5"]
30
+ });
31
+
32
+ export const pages = style({
33
+ display: "inline-flex",
34
+ alignItems: "center",
35
+ margin: 0,
36
+ gap: themeVars.space["1"]
37
+ });
38
+
39
+ export const page = style({
40
+ vars: {
41
+ [vars.backgroundColor]: "transparent",
42
+ [vars.color]: themeVars.color.gray["700"]
43
+ },
44
+ height: "28px",
45
+ width: "28px",
46
+ borderRadius: themeVars.rounded.default,
47
+ outline: "none",
48
+ border: "none",
49
+ fontSize: 'inherit',
50
+ padding: `0px ${themeVars.space["2"]}`,
51
+ display: "flex",
52
+ alignItems: "center",
53
+ justifyContent: "center",
54
+ lineHeight: 1,
55
+ color: vars.color,
56
+ backgroundColor: vars.backgroundColor,
57
+ cursor: "pointer",
58
+ selectors: {
59
+ '&:hover': {
60
+ vars: {
61
+ [vars.backgroundColor]: themeVars.color.gray["150"],
62
+ }
63
+ }
64
+ }
65
+ });
66
+
67
+ export const active = style({
68
+ vars: {
69
+ [vars.backgroundColor]: themeVars.color.blue["600"],
70
+ [vars.color]: "#FFF"
71
+ },
72
+ selectors: {
73
+ '&:hover': {
74
+ vars: {
75
+ [vars.backgroundColor]: themeVars.color.blue["700"],
76
+ }
77
+ }
78
+ }
79
+ });
80
+
81
+ export const svg = style({
82
+ height: "calc(1em + 2px)",
83
+ width: "calc(1em + 2px)",
84
+ display: "inline-block",
85
+ fontSize: "inherit",
86
+ userSelect: "none",
87
+
88
88
  });
@@ -1 +1 @@
1
- export * from './Pagination.css';
1
+ export * from './Pagination.css';
@@ -1,131 +1,131 @@
1
- <template>
2
- <label :class="computedClasses" :disabled="disabled" @click="handleClick" v-bind="$attrs" :aria-selected="selected" :aria-disabled="disabled">
3
- <input type="radio" :class="computedRadioClasses" :name="name" :value="id" :disabled="disabled">
4
- <span>
5
- <slot />
6
- </span>
7
- </label>
8
- </template>
9
-
10
- <script lang="ts">
11
- import type {PropType} from "vue";
12
- import {computed, defineComponent, inject, ref,defineExpose } from "vue";
13
- import type {Size} from "../../types/props";
14
- import * as style from "./style";
15
- import {useInteractive} from "../../composables/useInteractive";
16
- import {useInput} from "../../composables/useInput";
17
- import {RADIO_BUTTON_GROUP_STATE} from "../radiobuttongroup/symbol";
18
-
19
- export default defineComponent({
20
- name: "MRadioButton",
21
- props: {
22
- ...useInput.props(),
23
- ...useInteractive.props(),
24
- id: {
25
- type: [String, Number],
26
- required: true
27
- },
28
- type: {
29
- type: String,
30
- default: 'button',
31
- },
32
- size: {
33
- type: String as PropType<Size>,
34
- default: 'md'
35
- },
36
- disabled: {
37
- type: Boolean,
38
- default: false
39
- },
40
- icon: {
41
- type: Boolean,
42
- default: false
43
- },
44
- onClick: {
45
- type: Function as PropType<(e: MouseEvent) => void>,
46
- default: () => {
47
- }
48
- }
49
- },
50
- emits: ['update:modelValue'],
51
- setup(props, {emit}) {
52
- const radioRef = ref<HTMLElement | null>(null);
53
- const parentState = inject(RADIO_BUTTON_GROUP_STATE, null);
54
- const value = computed(() => {
55
- return parentState?.modelValue;
56
- });
57
- const sizeValue = computed<Size>(() => {
58
- return parentState?.size || props.size;
59
- });
60
-
61
- const name = computed(() => {
62
- return parentState?.name;
63
- });
64
-
65
- const {focus, blur} = useInteractive(radioRef);
66
-
67
- const {
68
- id,
69
- insideForm,
70
- reset,
71
- validate,
72
- setError,
73
- formError,
74
- formDisabled,
75
- formLoading,
76
- inputListeners
77
- } = useInput(props, {focus, emit});
78
-
79
- const selected = computed(() => {
80
- // @ts-ignore
81
- return value.value === props.id;
82
- });
83
-
84
- const computedClasses = computed(() => {
85
- return [
86
- style.base,
87
- [style.size[sizeValue.value]],
88
- {
89
- [style.icon]: props.icon,
90
- [style.variant.default]: !selected.value,
91
- [style.variant.active]: selected.value,
92
- }
93
- ]
94
- });
95
-
96
- const computedRadioClasses = computed(() => {
97
- return [
98
- style.radio
99
- ]
100
- });
101
-
102
- const handleClick = (e: MouseEvent): void => {
103
- if (props.disabled) {
104
- e.preventDefault();
105
- return;
106
- }
107
-
108
- // @ts-ignore
109
- parentState.doUpdateValue(props.id);
110
- props.onClick(e);
111
- };
112
-
113
- defineExpose({
114
- focus,
115
- blur,
116
- })
117
-
118
- return {
119
- radioRef,
120
- computedClasses,
121
- handleClick,
122
- selected,
123
- value,
124
- name,
125
- focus,
126
- blur,
127
- computedRadioClasses
128
- }
129
- }
130
- })
131
- </script>
1
+ <template>
2
+ <label :class="computedClasses" :disabled="disabled" @click="handleClick" v-bind="$attrs" :aria-selected="selected" :aria-disabled="disabled">
3
+ <input type="radio" :class="computedRadioClasses" :name="name" :value="id" :disabled="disabled">
4
+ <span>
5
+ <slot />
6
+ </span>
7
+ </label>
8
+ </template>
9
+
10
+ <script lang="ts">
11
+ import type {PropType} from "vue";
12
+ import {computed, defineComponent, inject, ref,defineExpose } from "vue";
13
+ import type {Size} from "../../types/props";
14
+ import * as style from "./style";
15
+ import {useInteractive} from "../../composables/useInteractive";
16
+ import {useInput} from "../../composables/useInput";
17
+ import {RADIO_BUTTON_GROUP_STATE} from "../radiobuttongroup/symbol";
18
+
19
+ export default defineComponent({
20
+ name: "MRadioButton",
21
+ props: {
22
+ ...useInput.props(),
23
+ ...useInteractive.props(),
24
+ id: {
25
+ type: [String, Number],
26
+ required: true
27
+ },
28
+ type: {
29
+ type: String,
30
+ default: 'button',
31
+ },
32
+ size: {
33
+ type: String as PropType<Size>,
34
+ default: 'md'
35
+ },
36
+ disabled: {
37
+ type: Boolean,
38
+ default: false
39
+ },
40
+ icon: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ onClick: {
45
+ type: Function as PropType<(e: MouseEvent) => void>,
46
+ default: () => {
47
+ }
48
+ }
49
+ },
50
+ emits: ['update:modelValue'],
51
+ setup(props, {emit}) {
52
+ const radioRef = ref<HTMLElement | null>(null);
53
+ const parentState = inject(RADIO_BUTTON_GROUP_STATE, null);
54
+ const value = computed(() => {
55
+ return parentState?.modelValue;
56
+ });
57
+ const sizeValue = computed<Size>(() => {
58
+ return parentState?.size || props.size;
59
+ });
60
+
61
+ const name = computed(() => {
62
+ return parentState?.name;
63
+ });
64
+
65
+ const {focus, blur} = useInteractive(radioRef);
66
+
67
+ const {
68
+ id,
69
+ insideForm,
70
+ reset,
71
+ validate,
72
+ setError,
73
+ formError,
74
+ formDisabled,
75
+ formLoading,
76
+ inputListeners
77
+ } = useInput(props, {focus, emit});
78
+
79
+ const selected = computed(() => {
80
+ // @ts-ignore
81
+ return value.value === props.id;
82
+ });
83
+
84
+ const computedClasses = computed(() => {
85
+ return [
86
+ style.base,
87
+ [style.size[sizeValue.value]],
88
+ {
89
+ [style.icon]: props.icon,
90
+ [style.variant.default]: !selected.value,
91
+ [style.variant.active]: selected.value,
92
+ }
93
+ ]
94
+ });
95
+
96
+ const computedRadioClasses = computed(() => {
97
+ return [
98
+ style.radio
99
+ ]
100
+ });
101
+
102
+ const handleClick = (e: MouseEvent): void => {
103
+ if (props.disabled) {
104
+ e.preventDefault();
105
+ return;
106
+ }
107
+
108
+ // @ts-ignore
109
+ parentState.doUpdateValue(props.id);
110
+ props.onClick(e);
111
+ };
112
+
113
+ defineExpose({
114
+ focus,
115
+ blur,
116
+ })
117
+
118
+ return {
119
+ radioRef,
120
+ computedClasses,
121
+ handleClick,
122
+ selected,
123
+ value,
124
+ name,
125
+ focus,
126
+ blur,
127
+ computedRadioClasses
128
+ }
129
+ }
130
+ })
131
+ </script>