@teammodlr/ui-kit 2.0.20 → 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 (182) 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 -115
  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 +2271 -2108
  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/colorpicker/ColorPicker.vue +2 -2
  138. package/src/components/dropdown/Dropdown.vue +10 -5
  139. package/src/components/dropdown/DropdownItem.vue +134 -134
  140. package/src/components/dropdown/DropdownSeperator.vue +22 -22
  141. package/src/components/dropdown/symbol.ts +7 -7
  142. package/src/components/form/style/Form.css.ts +22 -22
  143. package/src/components/form/style/index.ts +1 -1
  144. package/src/components/form/symbol.ts +10 -10
  145. package/src/components/index.ts +2 -1
  146. package/src/components/modal/examples/index.ts +2 -2
  147. package/src/components/pagination/Pagination.vue +229 -229
  148. package/src/components/pagination/examples/basic.vue +17 -17
  149. package/src/components/pagination/examples/index.stories.ts +14 -14
  150. package/src/components/pagination/style/Pagination.css.ts +87 -87
  151. package/src/components/pagination/style/index.ts +1 -1
  152. package/src/components/radiobutton/RadioButton.vue +131 -131
  153. package/src/components/radiobutton/style/RadioButton.css.ts +183 -183
  154. package/src/components/radiobutton/style/index.ts +1 -1
  155. package/src/components/radiobuttongroup/RadioButtonGroup.vue +74 -74
  156. package/src/components/radiobuttongroup/style/RadioButtonGroup.css.ts +36 -36
  157. package/src/components/radiobuttongroup/symbol.ts +10 -10
  158. package/src/components/skeleton/Skeleton.vue +55 -55
  159. package/src/components/skeleton/style/Skeleton.css.ts +56 -56
  160. package/src/components/skeleton/style/index.ts +1 -1
  161. package/src/components/table/style/Table.css.ts +80 -80
  162. package/src/components/textarea/TextArea.css +173 -0
  163. package/src/components/textarea/TextArea.vue +181 -0
  164. package/src/components/textarea/examples/basic.vue +8 -0
  165. package/src/components/textarea/examples/index.stories.ts +18 -0
  166. package/src/components/textarea/examples/index.ts +1 -0
  167. package/src/components/textarea/style/TextArea.css.ts +190 -0
  168. package/src/components/textarea/style/index.ts +1 -0
  169. package/src/components/tooltip/style/Tooltip.css.ts +91 -91
  170. package/src/components/tooltip/style/index.ts +1 -1
  171. package/src/components/transfer/Transfer.vue +143 -143
  172. package/src/components/transfer/examples/basic.vue +20 -20
  173. package/src/components/transfer/examples/index.stories.ts +15 -15
  174. package/src/components/transfer/examples/index.ts +1 -1
  175. package/src/components/transfer/style/Transfer.css.ts +67 -67
  176. package/src/components/transfer/style/index.ts +1 -1
  177. package/src/composables/index.ts +2 -2
  178. package/src/composables/useInteractive.ts +19 -19
  179. package/src/composables/useZIndex.ts +30 -30
  180. package/src/examples/cards/cards.stories.ts +9 -9
  181. package/src/examples/cards/sidebar.vue +262 -262
  182. package/src/styles/theme.css.ts +170 -170
@@ -1,204 +1,204 @@
1
- <template>
2
- <component :is="computedTag" :to="to" :href="href" :type="type" :class="computedClasses" :disabled="disabled"
3
- @click="handleClick" v-bind="$attrs">
4
- <!-- <div :class="computedWaveClasses" :key="waveTimerId"></div>-->
5
- <div :class="computedBorderClasses"></div>
6
- <div :class="computedBorderStateClasses"></div>
7
- <span v-if="hasIconLeft" :class="iconLeft">
8
- <slot name="icon-left"/>
9
- </span>
10
- <span>
11
- <slot/>
12
- </span>
13
- <span v-if="hasIconRight" :class="iconRight">
14
- <slot name="icon-right"/>
15
- </span>
16
- </component>
17
- </template>
18
-
19
- <script lang="ts">
20
- import type {PropType} from "vue";
21
- import {computed, defineComponent, inject, onBeforeUnmount, onMounted, ref, toRef} from "vue";
22
- import type {Size, Variant} from "../../types/props";
23
- import * as style from "./style";
24
- import {BUTTON_GROUP_STATE} from "../buttongroup/symbol";
25
- import {FORM_STATE} from "../form/symbol";
26
-
27
- export default defineComponent({
28
- name: "MButton",
29
- props: {
30
- type: {
31
- type: String,
32
- default: 'button',
33
- },
34
- variant: {
35
- type: String as PropType<Variant>,
36
- default: 'default'
37
- },
38
- size: {
39
- type: String as PropType<Size>,
40
- default: 'md'
41
- },
42
- rounded: {
43
- type: Boolean,
44
- default: false
45
- },
46
- disabled: {
47
- type: Boolean,
48
- default: false
49
- },
50
- loading: {
51
- type: Boolean,
52
- default: false
53
- },
54
- block: {
55
- type: Boolean,
56
- default: false
57
- },
58
- secondary: {
59
- type: Boolean,
60
- default: false
61
- },
62
- to: {
63
- type: [String, Object],
64
- default: null
65
- },
66
- href: {
67
- type: String,
68
- default: '',
69
- },
70
- link: {
71
- type: Boolean,
72
- default: false
73
- },
74
- icon: {
75
- type: Boolean,
76
- default: false
77
- },
78
- onClick: {
79
- type: Function as PropType<(e: MouseEvent) => void>,
80
- default: () => {
81
- }
82
- }
83
- },
84
- setup(props, {slots}) {
85
- const group = inject(BUTTON_GROUP_STATE, null);
86
- const form = inject(FORM_STATE, null);
87
- const state = inject("dropdown", null);
88
-
89
- const sizeValue = ref<Size>('md');
90
- const waveActive = ref<boolean>(false);
91
- const waveTimerId = ref<number | null>(0);
92
- const loading = toRef(props, 'loading');
93
-
94
- const dropdownOpen = computed(() => {
95
- // @ts-ignore
96
- return state?.isOpen.value;
97
- });
98
-
99
- const groupSize = computed(() => {
100
- return group?.size;
101
- });
102
-
103
- const size = computed<Size>(() => {
104
- return groupSize.value || props.size;
105
- })
106
-
107
- const hasIconLeft = computed(() => !!(slots['icon-left']));
108
- const hasIconRight = computed(() => !!(slots['icon-right']));
109
-
110
- const computedClasses = computed(() => {
111
- // TODO: We can use dropdownOpen (T or F) to style the open button :)
112
- return [
113
- style.base,
114
- [style.size[size.value]],
115
- style.variant[props.variant],
116
- {
117
- [style.rounded]: props.rounded,
118
- [style.secondary[props.variant]]: props.secondary,
119
- [style.block]: props.block,
120
- [style.link[props.variant]]: props.link,
121
- [style.iconButton]: props.icon,
122
- [style.loading]: form?.loading || loading.value,
123
- }
124
- ]
125
- });
126
-
127
- const computedWaveClasses = computed(() => {
128
- return [
129
- style.wave,
130
- {
131
- [style.waveActive]: waveActive.value
132
- }
133
- ]
134
- });
135
-
136
- const computedBorderClasses = computed(() => {
137
- return [
138
- style.border
139
- ]
140
- });
141
-
142
- const computedBorderStateClasses = computed(() => {
143
- return [
144
- style.borderState
145
- ]
146
- });
147
-
148
- const computedTag = computed(() => (props.to ? 'nuxt-link' : props.href ? 'a' : 'button'));
149
-
150
- onMounted(() => {
151
- sizeValue.value = groupSize.value || props.size;
152
- });
153
-
154
- onBeforeUnmount(() => {
155
- if (waveTimerId.value) {
156
- clearTimeout(waveTimerId.value);
157
- }
158
- });
159
-
160
- // const playWave = () => {
161
- // if (props.disabled || props.secondary) {
162
- // return;
163
- // }
164
- // if (waveTimerId.value) {
165
- // clearTimeout(waveTimerId.value);
166
- // waveActive.value = false;
167
- // waveTimerId.value = null;
168
- // }
169
- // nextTick(() => {
170
- // waveActive.value = true;
171
- // waveTimerId.value = setTimeout(() => {
172
- // waveActive.value = false;
173
- // waveTimerId.value = null;
174
- // }, 800);
175
- // })
176
- // }
177
-
178
- const handleClick = (e: MouseEvent): void => {
179
- if (props.disabled) {
180
- e.preventDefault();
181
- return;
182
- }
183
- // playWave();
184
- props.onClick(e);
185
- };
186
-
187
- return {
188
- dropdownOpen,
189
- computedClasses,
190
- computedWaveClasses,
191
- computedBorderClasses,
192
- computedBorderStateClasses,
193
- computedTag,
194
- hasIconLeft,
195
- hasIconRight,
196
- handleClick,
197
- waveTimerId,
198
- iconLeft: style.iconLeft,
199
- iconRight: style.iconRight,
200
- }
201
- }
202
- })
203
- </script>
1
+ <template>
2
+ <component :is="computedTag" :to="to" :href="href" :type="type" :class="computedClasses" :disabled="disabled"
3
+ @click="handleClick" v-bind="$attrs">
4
+ <!-- <div :class="computedWaveClasses" :key="waveTimerId"></div>-->
5
+ <div :class="computedBorderClasses"></div>
6
+ <div :class="computedBorderStateClasses"></div>
7
+ <span v-if="hasIconLeft" :class="iconLeft">
8
+ <slot name="icon-left"/>
9
+ </span>
10
+ <span>
11
+ <slot/>
12
+ </span>
13
+ <span v-if="hasIconRight" :class="iconRight">
14
+ <slot name="icon-right"/>
15
+ </span>
16
+ </component>
17
+ </template>
18
+
19
+ <script lang="ts">
20
+ import type {PropType} from "vue";
21
+ import {computed, defineComponent, inject, onBeforeUnmount, onMounted, ref, toRef} from "vue";
22
+ import type {Size, Variant} from "../../types/props";
23
+ import * as style from "./style";
24
+ import {BUTTON_GROUP_STATE} from "../buttongroup/symbol";
25
+ import {FORM_STATE} from "../form/symbol";
26
+
27
+ export default defineComponent({
28
+ name: "MButton",
29
+ props: {
30
+ type: {
31
+ type: String,
32
+ default: 'button',
33
+ },
34
+ variant: {
35
+ type: String as PropType<Variant>,
36
+ default: 'default'
37
+ },
38
+ size: {
39
+ type: String as PropType<Size>,
40
+ default: 'md'
41
+ },
42
+ rounded: {
43
+ type: Boolean,
44
+ default: false
45
+ },
46
+ disabled: {
47
+ type: Boolean,
48
+ default: false
49
+ },
50
+ loading: {
51
+ type: Boolean,
52
+ default: false
53
+ },
54
+ block: {
55
+ type: Boolean,
56
+ default: false
57
+ },
58
+ secondary: {
59
+ type: Boolean,
60
+ default: false
61
+ },
62
+ to: {
63
+ type: [String, Object],
64
+ default: null
65
+ },
66
+ href: {
67
+ type: String,
68
+ default: '',
69
+ },
70
+ link: {
71
+ type: Boolean,
72
+ default: false
73
+ },
74
+ icon: {
75
+ type: Boolean,
76
+ default: false
77
+ },
78
+ onClick: {
79
+ type: Function as PropType<(e: MouseEvent) => void>,
80
+ default: () => {
81
+ }
82
+ }
83
+ },
84
+ setup(props, {slots}) {
85
+ const group = inject(BUTTON_GROUP_STATE, null);
86
+ const form = inject(FORM_STATE, null);
87
+ const state = inject("dropdown", null);
88
+
89
+ const sizeValue = ref<Size>('md');
90
+ const waveActive = ref<boolean>(false);
91
+ const waveTimerId = ref<number | null>(0);
92
+ const loading = toRef(props, 'loading');
93
+
94
+ const dropdownOpen = computed(() => {
95
+ // @ts-ignore
96
+ return state?.isOpen.value;
97
+ });
98
+
99
+ const groupSize = computed(() => {
100
+ return group?.size;
101
+ });
102
+
103
+ const size = computed<Size>(() => {
104
+ return groupSize.value || props.size;
105
+ })
106
+
107
+ const hasIconLeft = computed(() => !!(slots['icon-left']));
108
+ const hasIconRight = computed(() => !!(slots['icon-right']));
109
+
110
+ const computedClasses = computed(() => {
111
+ // TODO: We can use dropdownOpen (T or F) to style the open button :)
112
+ return [
113
+ style.base,
114
+ [style.size[size.value]],
115
+ style.variant[props.variant],
116
+ {
117
+ [style.rounded]: props.rounded,
118
+ [style.secondary[props.variant]]: props.secondary,
119
+ [style.block]: props.block,
120
+ [style.link[props.variant]]: props.link,
121
+ [style.iconButton]: props.icon,
122
+ [style.loading]: form?.loading || loading.value,
123
+ }
124
+ ]
125
+ });
126
+
127
+ const computedWaveClasses = computed(() => {
128
+ return [
129
+ style.wave,
130
+ {
131
+ [style.waveActive]: waveActive.value
132
+ }
133
+ ]
134
+ });
135
+
136
+ const computedBorderClasses = computed(() => {
137
+ return [
138
+ style.border
139
+ ]
140
+ });
141
+
142
+ const computedBorderStateClasses = computed(() => {
143
+ return [
144
+ style.borderState
145
+ ]
146
+ });
147
+
148
+ const computedTag = computed(() => (props.to ? 'nuxt-link' : props.href ? 'a' : 'button'));
149
+
150
+ onMounted(() => {
151
+ sizeValue.value = groupSize.value || props.size;
152
+ });
153
+
154
+ onBeforeUnmount(() => {
155
+ if (waveTimerId.value) {
156
+ clearTimeout(waveTimerId.value);
157
+ }
158
+ });
159
+
160
+ // const playWave = () => {
161
+ // if (props.disabled || props.secondary) {
162
+ // return;
163
+ // }
164
+ // if (waveTimerId.value) {
165
+ // clearTimeout(waveTimerId.value);
166
+ // waveActive.value = false;
167
+ // waveTimerId.value = null;
168
+ // }
169
+ // nextTick(() => {
170
+ // waveActive.value = true;
171
+ // waveTimerId.value = setTimeout(() => {
172
+ // waveActive.value = false;
173
+ // waveTimerId.value = null;
174
+ // }, 800);
175
+ // })
176
+ // }
177
+
178
+ const handleClick = (e: MouseEvent): void => {
179
+ if (props.disabled) {
180
+ e.preventDefault();
181
+ return;
182
+ }
183
+ // playWave();
184
+ props.onClick(e);
185
+ };
186
+
187
+ return {
188
+ dropdownOpen,
189
+ computedClasses,
190
+ computedWaveClasses,
191
+ computedBorderClasses,
192
+ computedBorderStateClasses,
193
+ computedTag,
194
+ hasIconLeft,
195
+ hasIconRight,
196
+ handleClick,
197
+ waveTimerId,
198
+ iconLeft: style.iconLeft,
199
+ iconRight: style.iconRight,
200
+ }
201
+ }
202
+ })
203
+ </script>
204
204
 
@@ -1,36 +1,36 @@
1
- <template>
2
- <div
3
- :class="classes"
4
- >
5
- <slot/>
6
- </div>
7
- </template>
8
-
9
- <script lang="ts">
10
- import type {Size} from '../../types/props';
11
- import {defineComponent, type PropType, provide, reactive, toRef} from 'vue';
12
- import * as style from "./style";
13
- import type {ButtonGroupState} from "./symbol";
14
- import {BUTTON_GROUP_STATE} from "./symbol";
15
-
16
- export default defineComponent({
17
- name: "MButtonGroup",
18
- props: {
19
- size: {
20
- type: String as PropType<Size>,
21
- default: 'md'
22
- }
23
- },
24
- setup(props) {
25
- const state: ButtonGroupState = reactive({
26
- size: toRef(props, 'size')
27
- });
28
-
29
- provide(BUTTON_GROUP_STATE, state);
30
-
31
- return {
32
- classes: style.base
33
- }
34
- }
35
- })
36
- </script>
1
+ <template>
2
+ <div
3
+ :class="classes"
4
+ >
5
+ <slot/>
6
+ </div>
7
+ </template>
8
+
9
+ <script lang="ts">
10
+ import type {Size} from '../../types/props';
11
+ import {defineComponent, type PropType, provide, reactive, toRef} from 'vue';
12
+ import * as style from "./style";
13
+ import type {ButtonGroupState} from "./symbol";
14
+ import {BUTTON_GROUP_STATE} from "./symbol";
15
+
16
+ export default defineComponent({
17
+ name: "MButtonGroup",
18
+ props: {
19
+ size: {
20
+ type: String as PropType<Size>,
21
+ default: 'md'
22
+ }
23
+ },
24
+ setup(props) {
25
+ const state: ButtonGroupState = reactive({
26
+ size: toRef(props, 'size')
27
+ });
28
+
29
+ provide(BUTTON_GROUP_STATE, state);
30
+
31
+ return {
32
+ classes: style.base
33
+ }
34
+ }
35
+ })
36
+ </script>
@@ -1,8 +1,8 @@
1
- import type {InjectionKey} from "vue";
2
- import type {Size} from "../../types/props";
3
-
4
- export interface ButtonGroupState {
5
- size: Size
6
- }
7
-
1
+ import type {InjectionKey} from "vue";
2
+ import type {Size} from "../../types/props";
3
+
4
+ export interface ButtonGroupState {
5
+ size: Size
6
+ }
7
+
8
8
  export const BUTTON_GROUP_STATE: InjectionKey<ButtonGroupState> = Symbol('BUTTON_GROUP_STATE');
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div ref="wrapper">
2
+ <div ref="wrapper" class="m-color-picker">
3
3
  <div ref="referenceRef"
4
4
  @click="isOpen = !isOpen"
5
5
  :class="style.reference"
@@ -321,4 +321,4 @@ export default defineComponent({
321
321
  };
322
322
  }
323
323
  })
324
- </script>
324
+ </script>
@@ -7,7 +7,7 @@
7
7
  <DropdownWrapper>
8
8
  <Teleport :disabled="isNested" to="body">
9
9
  <transition :name="transitionName">
10
- <div v-if="isOpen" ref="popper" :class="menuClasses">
10
+ <div v-if="isOpen" ref="popper" :class="menuClasses" :style="{zIndex: zIndex}">
11
11
  <slot name="menu"/>
12
12
  </div>
13
13
  </transition>
@@ -34,6 +34,7 @@ import {
34
34
  import {onClickOutside, useEventListener} from '@vueuse/core';
35
35
  import DropdownWrapper from './DropdownWrapper.vue';
36
36
  import {useLabel} from './hooks';
37
+ import {useZIndex} from "../../composables/useZIndex";
37
38
  import type {DropdownState} from "./symbol";
38
39
  import {DROPDOWN_STATE} from "./symbol";
39
40
  import * as style from "./style";
@@ -84,6 +85,9 @@ export default defineComponent({
84
85
  type: Function as PropType<(labels: any) => void>,
85
86
  default: () => {
86
87
  }
88
+ },
89
+ zIndex: {
90
+ type: Number
87
91
  }
88
92
  },
89
93
  emits: [
@@ -91,7 +95,7 @@ export default defineComponent({
91
95
  ],
92
96
  setup(props, {emit}) {
93
97
  const parentState = inject(DROPDOWN_STATE, null);
94
-
98
+ const {nextZIndex} = useZIndex();
95
99
  const isNested = !!parentState;
96
100
  const label = toRef(props, 'label')
97
101
  const isOpen = ref(props.open);
@@ -99,7 +103,7 @@ export default defineComponent({
99
103
  const transfer = toRef(props, 'transfer');
100
104
  const wrapper = ref(null);
101
105
  const referenceRef = ref(null);
102
-
106
+ const zIndex = ref(props.zIndex ?? nextZIndex());
103
107
  const reference = computed(() => {
104
108
  if (props.virtual !== null) {
105
109
  const virtual = (props.virtual as any).$el ?? props.virtual;
@@ -251,8 +255,9 @@ export default defineComponent({
251
255
  computedWrapperClasses,
252
256
  computedReferenceClasses,
253
257
  transitionName,
254
- toggleDropdown
258
+ toggleDropdown,
259
+ zIndex
255
260
  }
256
261
  }
257
262
  })
258
- </script>
263
+ </script>