element-pe 2.0.6 → 2.0.7

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 (302) hide show
  1. package/dist/index.full.js +1 -1
  2. package/dist/index.full.min.js +1 -1
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +1 -1
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +1 -1
  7. package/es/components/affix/index.mjs +2 -2
  8. package/es/components/affix/src/affix.mjs +114 -23
  9. package/es/components/affix/src/affix.mjs.map +1 -1
  10. package/es/components/affix/src/affix2.mjs +23 -114
  11. package/es/components/affix/src/affix2.mjs.map +1 -1
  12. package/es/components/autocomplete/index.mjs +2 -2
  13. package/es/components/autocomplete/src/autocomplete.mjs +325 -67
  14. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  15. package/es/components/autocomplete/src/autocomplete2.mjs +67 -325
  16. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  17. package/es/components/backtop/index.mjs +2 -2
  18. package/es/components/backtop/src/backtop.mjs +100 -21
  19. package/es/components/backtop/src/backtop.mjs.map +1 -1
  20. package/es/components/backtop/src/backtop2.mjs +21 -100
  21. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  22. package/es/components/breadcrumb/index.mjs +2 -2
  23. package/es/components/breadcrumb/src/breadcrumb-item.mjs +11 -57
  24. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  25. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +57 -11
  26. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  27. package/es/components/button/index.mjs +3 -3
  28. package/es/components/button/src/button-group.mjs +5 -30
  29. package/es/components/button/src/button-group.mjs.map +1 -1
  30. package/es/components/button/src/button-group2.mjs +30 -5
  31. package/es/components/button/src/button-group2.mjs.map +1 -1
  32. package/es/components/button/src/button.mjs +106 -51
  33. package/es/components/button/src/button.mjs.map +1 -1
  34. package/es/components/button/src/button2.mjs +51 -106
  35. package/es/components/button/src/button2.mjs.map +1 -1
  36. package/es/components/carousel/index.mjs +2 -2
  37. package/es/components/carousel/src/carousel.mjs +48 -319
  38. package/es/components/carousel/src/carousel.mjs.map +1 -1
  39. package/es/components/carousel/src/carousel2.mjs +319 -48
  40. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  41. package/es/components/dialog/index.mjs +2 -2
  42. package/es/components/dialog/src/dialog.mjs +113 -70
  43. package/es/components/dialog/src/dialog.mjs.map +1 -1
  44. package/es/components/dialog/src/dialog2.mjs +70 -113
  45. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  46. package/es/components/drawer/index.mjs +2 -2
  47. package/es/components/drawer/src/drawer.mjs +21 -126
  48. package/es/components/drawer/src/drawer.mjs.map +1 -1
  49. package/es/components/drawer/src/drawer2.mjs +126 -21
  50. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  51. package/es/components/empty/index.mjs +2 -2
  52. package/es/components/empty/src/empty.mjs +11 -56
  53. package/es/components/empty/src/empty.mjs.map +1 -1
  54. package/es/components/empty/src/empty2.mjs +56 -11
  55. package/es/components/empty/src/empty2.mjs.map +1 -1
  56. package/es/components/form/index.mjs +2 -2
  57. package/es/components/form/src/form-item.mjs +43 -272
  58. package/es/components/form/src/form-item.mjs.map +1 -1
  59. package/es/components/form/src/form-item2.mjs +272 -43
  60. package/es/components/form/src/form-item2.mjs.map +1 -1
  61. package/es/components/icon/index.mjs +2 -2
  62. package/es/components/icon/src/icon.mjs +35 -8
  63. package/es/components/icon/src/icon.mjs.map +1 -1
  64. package/es/components/icon/src/icon2.mjs +8 -35
  65. package/es/components/icon/src/icon2.mjs.map +1 -1
  66. package/es/components/index.mjs +26 -26
  67. package/es/components/input/index.mjs +2 -2
  68. package/es/components/input/src/input.mjs +92 -433
  69. package/es/components/input/src/input.mjs.map +1 -1
  70. package/es/components/input/src/input2.mjs +433 -92
  71. package/es/components/input/src/input2.mjs.map +1 -1
  72. package/es/components/input-number/index.mjs +2 -2
  73. package/es/components/input-number/src/input-number.mjs +284 -53
  74. package/es/components/input-number/src/input-number.mjs.map +1 -1
  75. package/es/components/input-number/src/input-number2.mjs +53 -284
  76. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  77. package/es/components/link/index.mjs +2 -2
  78. package/es/components/link/src/link.mjs +49 -22
  79. package/es/components/link/src/link.mjs.map +1 -1
  80. package/es/components/link/src/link2.mjs +22 -49
  81. package/es/components/link/src/link2.mjs.map +1 -1
  82. package/es/components/menu/index.mjs +2 -2
  83. package/es/components/menu/src/menu-item-group.mjs +4 -51
  84. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  85. package/es/components/menu/src/menu-item-group2.mjs +51 -4
  86. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  87. package/es/components/page-header/index.mjs +2 -2
  88. package/es/components/page-header/src/page-header.mjs +60 -17
  89. package/es/components/page-header/src/page-header.mjs.map +1 -1
  90. package/es/components/page-header/src/page-header2.mjs +17 -60
  91. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  92. package/es/components/popconfirm/index.mjs +2 -2
  93. package/es/components/popconfirm/src/popconfirm.mjs +52 -119
  94. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  95. package/es/components/popconfirm/src/popconfirm2.mjs +119 -52
  96. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  97. package/es/components/popper/index.mjs +2 -2
  98. package/es/components/popper/src/arrow.mjs +37 -7
  99. package/es/components/popper/src/arrow.mjs.map +1 -1
  100. package/es/components/popper/src/arrow2.mjs +7 -37
  101. package/es/components/popper/src/arrow2.mjs.map +1 -1
  102. package/es/components/progress/index.mjs +2 -2
  103. package/es/components/progress/src/progress.mjs +230 -57
  104. package/es/components/progress/src/progress.mjs.map +1 -1
  105. package/es/components/progress/src/progress2.mjs +57 -230
  106. package/es/components/progress/src/progress2.mjs.map +1 -1
  107. package/es/components/radio/index.mjs +2 -2
  108. package/es/components/radio/src/radio-group.mjs +20 -84
  109. package/es/components/radio/src/radio-group.mjs.map +1 -1
  110. package/es/components/radio/src/radio-group2.mjs +84 -20
  111. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  112. package/es/components/rate/index.mjs +2 -2
  113. package/es/components/rate/src/rate.mjs +239 -88
  114. package/es/components/rate/src/rate.mjs.map +1 -1
  115. package/es/components/rate/src/rate2.mjs +88 -239
  116. package/es/components/rate/src/rate2.mjs.map +1 -1
  117. package/es/components/skeleton/index.mjs +2 -2
  118. package/es/components/skeleton/src/skeleton-item.mjs +18 -23
  119. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  120. package/es/components/skeleton/src/skeleton-item2.mjs +23 -18
  121. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  122. package/es/components/skeleton/src/skeleton.mjs +1 -1
  123. package/es/components/switch/index.mjs +2 -2
  124. package/es/components/switch/src/switch.mjs +250 -87
  125. package/es/components/switch/src/switch.mjs.map +1 -1
  126. package/es/components/switch/src/switch2.mjs +87 -250
  127. package/es/components/switch/src/switch2.mjs.map +1 -1
  128. package/es/components/tabs/index.mjs +3 -3
  129. package/es/components/tabs/src/tab-bar.mjs +76 -7
  130. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  131. package/es/components/tabs/src/tab-bar2.mjs +7 -76
  132. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  133. package/es/components/tabs/src/tab-nav.mjs +1 -1
  134. package/es/components/tabs/src/tab-pane.mjs +60 -14
  135. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  136. package/es/components/tabs/src/tab-pane2.mjs +14 -60
  137. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  138. package/es/components/teleport/index.mjs +2 -2
  139. package/es/components/teleport/src/teleport.mjs +18 -43
  140. package/es/components/teleport/src/teleport.mjs.map +1 -1
  141. package/es/components/teleport/src/teleport2.mjs +43 -18
  142. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  143. package/es/components/tooltip/src/tooltip2.mjs +2 -2
  144. package/es/components/tooltip-v2/index.mjs +3 -3
  145. package/es/components/tooltip-v2/src/arrow.mjs +22 -38
  146. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  147. package/es/components/tooltip-v2/src/arrow2.mjs +38 -22
  148. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  149. package/es/components/tooltip-v2/src/tooltip.mjs +20 -73
  150. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  151. package/es/components/tooltip-v2/src/tooltip2.mjs +73 -20
  152. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  153. package/es/index.mjs +26 -26
  154. package/lib/components/affix/index.js +2 -2
  155. package/lib/components/affix/src/affix.js +114 -24
  156. package/lib/components/affix/src/affix.js.map +1 -1
  157. package/lib/components/affix/src/affix2.js +24 -114
  158. package/lib/components/affix/src/affix2.js.map +1 -1
  159. package/lib/components/autocomplete/index.js +2 -2
  160. package/lib/components/autocomplete/src/autocomplete.js +324 -67
  161. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  162. package/lib/components/autocomplete/src/autocomplete2.js +67 -324
  163. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  164. package/lib/components/backtop/index.js +2 -2
  165. package/lib/components/backtop/src/backtop.js +100 -22
  166. package/lib/components/backtop/src/backtop.js.map +1 -1
  167. package/lib/components/backtop/src/backtop2.js +22 -100
  168. package/lib/components/backtop/src/backtop2.js.map +1 -1
  169. package/lib/components/breadcrumb/index.js +2 -2
  170. package/lib/components/breadcrumb/src/breadcrumb-item.js +11 -57
  171. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  172. package/lib/components/breadcrumb/src/breadcrumb-item2.js +57 -11
  173. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  174. package/lib/components/button/index.js +3 -3
  175. package/lib/components/button/src/button-group.js +5 -30
  176. package/lib/components/button/src/button-group.js.map +1 -1
  177. package/lib/components/button/src/button-group2.js +30 -5
  178. package/lib/components/button/src/button-group2.js.map +1 -1
  179. package/lib/components/button/src/button.js +106 -54
  180. package/lib/components/button/src/button.js.map +1 -1
  181. package/lib/components/button/src/button2.js +54 -106
  182. package/lib/components/button/src/button2.js.map +1 -1
  183. package/lib/components/carousel/index.js +2 -2
  184. package/lib/components/carousel/src/carousel.js +49 -319
  185. package/lib/components/carousel/src/carousel.js.map +1 -1
  186. package/lib/components/carousel/src/carousel2.js +319 -49
  187. package/lib/components/carousel/src/carousel2.js.map +1 -1
  188. package/lib/components/dialog/index.js +2 -2
  189. package/lib/components/dialog/src/dialog.js +113 -71
  190. package/lib/components/dialog/src/dialog.js.map +1 -1
  191. package/lib/components/dialog/src/dialog2.js +71 -113
  192. package/lib/components/dialog/src/dialog2.js.map +1 -1
  193. package/lib/components/drawer/index.js +2 -2
  194. package/lib/components/drawer/src/drawer.js +22 -126
  195. package/lib/components/drawer/src/drawer.js.map +1 -1
  196. package/lib/components/drawer/src/drawer2.js +126 -22
  197. package/lib/components/drawer/src/drawer2.js.map +1 -1
  198. package/lib/components/empty/index.js +2 -2
  199. package/lib/components/empty/src/empty.js +11 -56
  200. package/lib/components/empty/src/empty.js.map +1 -1
  201. package/lib/components/empty/src/empty2.js +56 -11
  202. package/lib/components/empty/src/empty2.js.map +1 -1
  203. package/lib/components/form/index.js +2 -2
  204. package/lib/components/form/src/form-item.js +44 -276
  205. package/lib/components/form/src/form-item.js.map +1 -1
  206. package/lib/components/form/src/form-item2.js +276 -44
  207. package/lib/components/form/src/form-item2.js.map +1 -1
  208. package/lib/components/icon/index.js +2 -2
  209. package/lib/components/icon/src/icon.js +35 -8
  210. package/lib/components/icon/src/icon.js.map +1 -1
  211. package/lib/components/icon/src/icon2.js +8 -35
  212. package/lib/components/icon/src/icon2.js.map +1 -1
  213. package/lib/components/index.js +26 -26
  214. package/lib/components/input/index.js +2 -2
  215. package/lib/components/input/src/input.js +92 -432
  216. package/lib/components/input/src/input.js.map +1 -1
  217. package/lib/components/input/src/input2.js +432 -92
  218. package/lib/components/input/src/input2.js.map +1 -1
  219. package/lib/components/input-number/index.js +2 -2
  220. package/lib/components/input-number/src/input-number.js +284 -54
  221. package/lib/components/input-number/src/input-number.js.map +1 -1
  222. package/lib/components/input-number/src/input-number2.js +54 -284
  223. package/lib/components/input-number/src/input-number2.js.map +1 -1
  224. package/lib/components/link/index.js +2 -2
  225. package/lib/components/link/src/link.js +49 -23
  226. package/lib/components/link/src/link.js.map +1 -1
  227. package/lib/components/link/src/link2.js +23 -49
  228. package/lib/components/link/src/link2.js.map +1 -1
  229. package/lib/components/menu/index.js +2 -2
  230. package/lib/components/menu/src/menu-item-group.js +4 -51
  231. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  232. package/lib/components/menu/src/menu-item-group2.js +51 -4
  233. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  234. package/lib/components/page-header/index.js +2 -2
  235. package/lib/components/page-header/src/page-header.js +60 -18
  236. package/lib/components/page-header/src/page-header.js.map +1 -1
  237. package/lib/components/page-header/src/page-header2.js +18 -60
  238. package/lib/components/page-header/src/page-header2.js.map +1 -1
  239. package/lib/components/popconfirm/index.js +2 -2
  240. package/lib/components/popconfirm/src/popconfirm.js +52 -119
  241. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  242. package/lib/components/popconfirm/src/popconfirm2.js +119 -52
  243. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  244. package/lib/components/popper/index.js +2 -2
  245. package/lib/components/popper/src/arrow.js +37 -7
  246. package/lib/components/popper/src/arrow.js.map +1 -1
  247. package/lib/components/popper/src/arrow2.js +7 -37
  248. package/lib/components/popper/src/arrow2.js.map +1 -1
  249. package/lib/components/progress/index.js +2 -2
  250. package/lib/components/progress/src/progress.js +230 -57
  251. package/lib/components/progress/src/progress.js.map +1 -1
  252. package/lib/components/progress/src/progress2.js +57 -230
  253. package/lib/components/progress/src/progress2.js.map +1 -1
  254. package/lib/components/radio/index.js +2 -2
  255. package/lib/components/radio/src/radio-group.js +21 -84
  256. package/lib/components/radio/src/radio-group.js.map +1 -1
  257. package/lib/components/radio/src/radio-group2.js +84 -21
  258. package/lib/components/radio/src/radio-group2.js.map +1 -1
  259. package/lib/components/rate/index.js +2 -2
  260. package/lib/components/rate/src/rate.js +239 -89
  261. package/lib/components/rate/src/rate.js.map +1 -1
  262. package/lib/components/rate/src/rate2.js +89 -239
  263. package/lib/components/rate/src/rate2.js.map +1 -1
  264. package/lib/components/skeleton/index.js +2 -2
  265. package/lib/components/skeleton/src/skeleton-item.js +18 -23
  266. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  267. package/lib/components/skeleton/src/skeleton-item2.js +23 -18
  268. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  269. package/lib/components/skeleton/src/skeleton.js +1 -1
  270. package/lib/components/switch/index.js +2 -2
  271. package/lib/components/switch/src/switch.js +249 -87
  272. package/lib/components/switch/src/switch.js.map +1 -1
  273. package/lib/components/switch/src/switch2.js +87 -249
  274. package/lib/components/switch/src/switch2.js.map +1 -1
  275. package/lib/components/tabs/index.js +3 -3
  276. package/lib/components/tabs/src/tab-bar.js +76 -7
  277. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  278. package/lib/components/tabs/src/tab-bar2.js +7 -76
  279. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  280. package/lib/components/tabs/src/tab-nav.js +1 -1
  281. package/lib/components/tabs/src/tab-pane.js +60 -14
  282. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  283. package/lib/components/tabs/src/tab-pane2.js +14 -60
  284. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  285. package/lib/components/teleport/index.js +2 -2
  286. package/lib/components/teleport/src/teleport.js +18 -43
  287. package/lib/components/teleport/src/teleport.js.map +1 -1
  288. package/lib/components/teleport/src/teleport2.js +43 -18
  289. package/lib/components/teleport/src/teleport2.js.map +1 -1
  290. package/lib/components/tooltip/src/tooltip2.js +2 -2
  291. package/lib/components/tooltip-v2/index.js +3 -3
  292. package/lib/components/tooltip-v2/src/arrow.js +23 -38
  293. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  294. package/lib/components/tooltip-v2/src/arrow2.js +38 -23
  295. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  296. package/lib/components/tooltip-v2/src/tooltip.js +20 -73
  297. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  298. package/lib/components/tooltip-v2/src/tooltip2.js +73 -20
  299. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  300. package/lib/index.js +26 -26
  301. package/package.json +1 -1
  302. package/web-types.json +1 -1
@@ -1,95 +1,258 @@
1
+ import { defineComponent, computed, ref, watch, nextTick, onMounted, resolveComponent, openBlock, createElementBlock, normalizeClass, withModifiers, createElementVNode, withKeys, createBlock, withCtx, resolveDynamicComponent, createCommentVNode, toDisplayString, normalizeStyle, Fragment, createVNode } from 'vue';
2
+ import { isPromise } from '@vue/shared';
1
3
  import '../../../utils/index.mjs';
4
+ import { ElIcon } from '../../icon/index.mjs';
5
+ import { Loading } from '@element-plus/icons-vue';
2
6
  import '../../../constants/index.mjs';
3
- import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
4
- import { iconPropType } from '../../../utils/vue/icon.mjs';
5
- import { isValidComponentSize } from '../../../utils/vue/validator.mjs';
7
+ import '../../../hooks/index.mjs';
8
+ import { switchProps, switchEmits } from './switch2.mjs';
9
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
+ import { useFormItem } from '../../../hooks/use-form-item/index.mjs';
11
+ import { useDisabled, useSize } from '../../../hooks/use-common-props/index.mjs';
12
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
6
13
  import { UPDATE_MODEL_EVENT, CHANGE_EVENT, INPUT_EVENT } from '../../../constants/event.mjs';
7
- import { isBoolean, isNumber } from '@vueuse/core';
8
- import { isString } from '@vue/shared';
14
+ import { debugWarn, throwError } from '../../../utils/error.mjs';
15
+ import { isBoolean } from '@vueuse/core';
9
16
 
10
- const switchProps = buildProps({
11
- modelValue: {
12
- type: [Boolean, String, Number],
13
- default: false
14
- },
15
- value: {
16
- type: [Boolean, String, Number],
17
- default: false
18
- },
19
- disabled: {
20
- type: Boolean,
21
- default: false
22
- },
23
- width: {
24
- type: Number,
25
- default: 40
26
- },
27
- inlinePrompt: {
28
- type: Boolean,
29
- default: false
30
- },
31
- activeIcon: {
32
- type: iconPropType,
33
- default: ""
34
- },
35
- inactiveIcon: {
36
- type: iconPropType,
37
- default: ""
38
- },
39
- activeText: {
40
- type: String,
41
- default: ""
42
- },
43
- inactiveText: {
44
- type: String,
45
- default: ""
46
- },
47
- activeColor: {
48
- type: String,
49
- default: ""
50
- },
51
- inactiveColor: {
52
- type: String,
53
- default: ""
54
- },
55
- borderColor: {
56
- type: String,
57
- default: ""
58
- },
59
- activeValue: {
60
- type: [Boolean, String, Number],
61
- default: true
62
- },
63
- inactiveValue: {
64
- type: [Boolean, String, Number],
65
- default: false
66
- },
67
- name: {
68
- type: String,
69
- default: ""
70
- },
71
- validateEvent: {
72
- type: Boolean,
73
- default: true
74
- },
75
- id: String,
76
- loading: {
77
- type: Boolean,
78
- default: false
79
- },
80
- beforeChange: {
81
- type: definePropType(Function)
82
- },
83
- size: {
84
- type: String,
85
- validator: isValidComponentSize
17
+ const COMPONENT_NAME = "ElSwitch";
18
+ const _sfc_main = defineComponent({
19
+ name: COMPONENT_NAME,
20
+ components: { ElIcon, Loading },
21
+ props: switchProps,
22
+ emits: switchEmits,
23
+ setup(props, { emit }) {
24
+ const { formItem } = useFormItem();
25
+ const switchDisabled = useDisabled(computed(() => props.loading));
26
+ const ns = useNamespace("switch");
27
+ const switchSize = useSize();
28
+ const isModelValue = ref(props.modelValue !== false);
29
+ const input = ref();
30
+ const core = ref();
31
+ const switchKls = computed(() => [
32
+ ns.b(),
33
+ ns.m(switchSize.value),
34
+ ns.is("disabled", switchDisabled.value),
35
+ ns.is("checked", checked.value)
36
+ ]);
37
+ watch(() => props.modelValue, () => {
38
+ isModelValue.value = true;
39
+ });
40
+ watch(() => props.value, () => {
41
+ isModelValue.value = false;
42
+ });
43
+ const actualValue = computed(() => {
44
+ return isModelValue.value ? props.modelValue : props.value;
45
+ });
46
+ const checked = computed(() => actualValue.value === props.activeValue);
47
+ if (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {
48
+ emit(UPDATE_MODEL_EVENT, props.inactiveValue);
49
+ emit(CHANGE_EVENT, props.inactiveValue);
50
+ emit(INPUT_EVENT, props.inactiveValue);
51
+ }
52
+ watch(checked, () => {
53
+ var _a;
54
+ input.value.checked = checked.value;
55
+ if (props.activeColor || props.inactiveColor) {
56
+ setBackgroundColor();
57
+ }
58
+ if (props.validateEvent) {
59
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
60
+ }
61
+ });
62
+ const handleChange = () => {
63
+ const val = checked.value ? props.inactiveValue : props.activeValue;
64
+ emit(UPDATE_MODEL_EVENT, val);
65
+ emit(CHANGE_EVENT, val);
66
+ emit(INPUT_EVENT, val);
67
+ nextTick(() => {
68
+ input.value.checked = checked.value;
69
+ });
70
+ };
71
+ const switchValue = () => {
72
+ if (switchDisabled.value)
73
+ return;
74
+ const { beforeChange } = props;
75
+ if (!beforeChange) {
76
+ handleChange();
77
+ return;
78
+ }
79
+ const shouldChange = beforeChange();
80
+ const isExpectType = [
81
+ isPromise(shouldChange),
82
+ isBoolean(shouldChange)
83
+ ].some((i) => i);
84
+ if (!isExpectType) {
85
+ throwError(COMPONENT_NAME, "beforeChange must return type `Promise<boolean>` or `boolean`");
86
+ }
87
+ if (isPromise(shouldChange)) {
88
+ shouldChange.then((result) => {
89
+ if (result) {
90
+ handleChange();
91
+ }
92
+ }).catch((e) => {
93
+ debugWarn(COMPONENT_NAME, `some error occurred: ${e}`);
94
+ });
95
+ } else if (shouldChange) {
96
+ handleChange();
97
+ }
98
+ };
99
+ const setBackgroundColor = () => {
100
+ const newColor = checked.value ? props.activeColor : props.inactiveColor;
101
+ const coreEl = core.value;
102
+ if (props.borderColor)
103
+ coreEl.style.borderColor = props.borderColor;
104
+ else if (!props.borderColor)
105
+ coreEl.style.borderColor = newColor;
106
+ coreEl.style.backgroundColor = newColor;
107
+ coreEl.children[0].style.color = newColor;
108
+ };
109
+ const focus = () => {
110
+ var _a, _b;
111
+ (_b = (_a = input.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
112
+ };
113
+ onMounted(() => {
114
+ if (props.activeColor || props.inactiveColor || props.borderColor) {
115
+ setBackgroundColor();
116
+ }
117
+ input.value.checked = checked.value;
118
+ });
119
+ return {
120
+ ns,
121
+ input,
122
+ core,
123
+ switchDisabled,
124
+ checked,
125
+ switchKls,
126
+ handleChange,
127
+ switchValue,
128
+ focus
129
+ };
86
130
  }
87
131
  });
88
- const switchEmits = {
89
- [UPDATE_MODEL_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val),
90
- [CHANGE_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val),
91
- [INPUT_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val)
92
- };
132
+ const _hoisted_1 = ["aria-checked", "aria-disabled"];
133
+ const _hoisted_2 = ["id", "name", "true-value", "false-value", "disabled"];
134
+ const _hoisted_3 = ["aria-hidden"];
135
+ const _hoisted_4 = ["aria-hidden"];
136
+ const _hoisted_5 = ["aria-hidden"];
137
+ const _hoisted_6 = ["aria-hidden"];
138
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
139
+ const _component_el_icon = resolveComponent("el-icon");
140
+ const _component_loading = resolveComponent("loading");
141
+ return openBlock(), createElementBlock("div", {
142
+ class: normalizeClass(_ctx.switchKls),
143
+ role: "switch",
144
+ "aria-checked": _ctx.checked,
145
+ "aria-disabled": _ctx.switchDisabled,
146
+ onClick: _cache[2] || (_cache[2] = withModifiers((...args) => _ctx.switchValue && _ctx.switchValue(...args), ["prevent"]))
147
+ }, [
148
+ createElementVNode("input", {
149
+ id: _ctx.id,
150
+ ref: "input",
151
+ class: normalizeClass(_ctx.ns.e("input")),
152
+ type: "checkbox",
153
+ name: _ctx.name,
154
+ "true-value": _ctx.activeValue,
155
+ "false-value": _ctx.inactiveValue,
156
+ disabled: _ctx.switchDisabled,
157
+ onChange: _cache[0] || (_cache[0] = (...args) => _ctx.handleChange && _ctx.handleChange(...args)),
158
+ onKeydown: _cache[1] || (_cache[1] = withKeys((...args) => _ctx.switchValue && _ctx.switchValue(...args), ["enter"]))
159
+ }, null, 42, _hoisted_2),
160
+ !_ctx.inlinePrompt && (_ctx.inactiveIcon || _ctx.inactiveText) ? (openBlock(), createElementBlock("span", {
161
+ key: 0,
162
+ class: normalizeClass([
163
+ _ctx.ns.e("label"),
164
+ _ctx.ns.em("label", "left"),
165
+ _ctx.ns.is("active", !_ctx.checked)
166
+ ])
167
+ }, [
168
+ _ctx.inactiveIcon ? (openBlock(), createBlock(_component_el_icon, { key: 0 }, {
169
+ default: withCtx(() => [
170
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.inactiveIcon)))
171
+ ]),
172
+ _: 1
173
+ })) : createCommentVNode("v-if", true),
174
+ !_ctx.inactiveIcon && _ctx.inactiveText ? (openBlock(), createElementBlock("span", {
175
+ key: 1,
176
+ "aria-hidden": _ctx.checked
177
+ }, toDisplayString(_ctx.inactiveText), 9, _hoisted_3)) : createCommentVNode("v-if", true)
178
+ ], 2)) : createCommentVNode("v-if", true),
179
+ createElementVNode("span", {
180
+ ref: "core",
181
+ class: normalizeClass(_ctx.ns.e("core")),
182
+ style: normalizeStyle({ width: (_ctx.width || 40) + "px" })
183
+ }, [
184
+ _ctx.inlinePrompt ? (openBlock(), createElementBlock("div", {
185
+ key: 0,
186
+ class: normalizeClass(_ctx.ns.e("inner"))
187
+ }, [
188
+ _ctx.activeIcon || _ctx.inactiveIcon ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
189
+ _ctx.activeIcon ? (openBlock(), createBlock(_component_el_icon, {
190
+ key: 0,
191
+ class: normalizeClass([_ctx.ns.is("icon"), _ctx.checked ? _ctx.ns.is("show") : _ctx.ns.is("hide")])
192
+ }, {
193
+ default: withCtx(() => [
194
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.activeIcon)))
195
+ ]),
196
+ _: 1
197
+ }, 8, ["class"])) : createCommentVNode("v-if", true),
198
+ _ctx.inactiveIcon ? (openBlock(), createBlock(_component_el_icon, {
199
+ key: 1,
200
+ class: normalizeClass([_ctx.ns.is("icon"), !_ctx.checked ? _ctx.ns.is("show") : _ctx.ns.is("hide")])
201
+ }, {
202
+ default: withCtx(() => [
203
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.inactiveIcon)))
204
+ ]),
205
+ _: 1
206
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
207
+ ], 64)) : _ctx.activeText || _ctx.inactiveIcon ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
208
+ _ctx.activeText ? (openBlock(), createElementBlock("span", {
209
+ key: 0,
210
+ class: normalizeClass([_ctx.ns.is("text"), _ctx.checked ? _ctx.ns.is("show") : _ctx.ns.is("hide")]),
211
+ "aria-hidden": !_ctx.checked
212
+ }, toDisplayString(_ctx.activeText.substring(0, 3)), 11, _hoisted_4)) : createCommentVNode("v-if", true),
213
+ _ctx.inactiveText ? (openBlock(), createElementBlock("span", {
214
+ key: 1,
215
+ class: normalizeClass([_ctx.ns.is("text"), !_ctx.checked ? _ctx.ns.is("show") : _ctx.ns.is("hide")]),
216
+ "aria-hidden": _ctx.checked
217
+ }, toDisplayString(_ctx.inactiveText.substring(0, 3)), 11, _hoisted_5)) : createCommentVNode("v-if", true)
218
+ ], 64)) : createCommentVNode("v-if", true)
219
+ ], 2)) : createCommentVNode("v-if", true),
220
+ createElementVNode("div", {
221
+ class: normalizeClass(_ctx.ns.e("action"))
222
+ }, [
223
+ _ctx.loading ? (openBlock(), createBlock(_component_el_icon, {
224
+ key: 0,
225
+ class: normalizeClass(_ctx.ns.is("loading"))
226
+ }, {
227
+ default: withCtx(() => [
228
+ createVNode(_component_loading)
229
+ ]),
230
+ _: 1
231
+ }, 8, ["class"])) : createCommentVNode("v-if", true)
232
+ ], 2)
233
+ ], 6),
234
+ !_ctx.inlinePrompt && (_ctx.activeIcon || _ctx.activeText) ? (openBlock(), createElementBlock("span", {
235
+ key: 1,
236
+ class: normalizeClass([
237
+ _ctx.ns.e("label"),
238
+ _ctx.ns.em("label", "right"),
239
+ _ctx.ns.is("active", _ctx.checked)
240
+ ])
241
+ }, [
242
+ _ctx.activeIcon ? (openBlock(), createBlock(_component_el_icon, { key: 0 }, {
243
+ default: withCtx(() => [
244
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.activeIcon)))
245
+ ]),
246
+ _: 1
247
+ })) : createCommentVNode("v-if", true),
248
+ !_ctx.activeIcon && _ctx.activeText ? (openBlock(), createElementBlock("span", {
249
+ key: 1,
250
+ "aria-hidden": !_ctx.checked
251
+ }, toDisplayString(_ctx.activeText), 9, _hoisted_6)) : createCommentVNode("v-if", true)
252
+ ], 2)) : createCommentVNode("v-if", true)
253
+ ], 10, _hoisted_1);
254
+ }
255
+ var Switch = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-pe/packages/components/switch/src/switch.vue"]]);
93
256
 
94
- export { switchEmits, switchProps };
257
+ export { Switch as default };
95
258
  //# sourceMappingURL=switch.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch.mjs","sources":["../../../../../../packages/components/switch/src/switch.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n isNumber,\n isString,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type Switch from './switch.vue'\nimport type { ExtractPropTypes, PropType } from 'vue'\n\nexport const switchProps = buildProps({\n modelValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n value: {\n type: [Boolean, String, Number],\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n width: {\n type: Number,\n default: 40,\n },\n inlinePrompt: {\n type: Boolean,\n default: false,\n },\n activeIcon: {\n type: iconPropType,\n default: '',\n },\n inactiveIcon: {\n type: iconPropType,\n default: '',\n },\n activeText: {\n type: String,\n default: '',\n },\n inactiveText: {\n type: String,\n default: '',\n },\n activeColor: {\n type: String,\n default: '',\n },\n inactiveColor: {\n type: String,\n default: '',\n },\n borderColor: {\n type: String,\n default: '',\n },\n activeValue: {\n type: [Boolean, String, Number],\n default: true,\n },\n inactiveValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n name: {\n type: String,\n default: '',\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n id: String,\n loading: {\n type: Boolean,\n default: false,\n },\n beforeChange: {\n type: definePropType<() => Promise<boolean> | boolean>(Function),\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n} as const)\n\nexport type SwitchProps = ExtractPropTypes<typeof switchProps>\n\nexport const switchEmits = {\n [UPDATE_MODEL_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [CHANGE_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [INPUT_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n}\nexport type SwitchEmits = typeof switchEmits\n\nexport type SwitchInstance = InstanceType<typeof Switch>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"switch.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div\n :class=\"switchKls\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n @click.prevent=\"switchValue\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked),\n ]\"\n >\n <el-icon v-if=\"inactiveIcon\"><component :is=\"inactiveIcon\" /></el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span\n ref=\"core\"\n :class=\"ns.e('core')\"\n :style=\"{ width: (width || 40) + 'px' }\"\n >\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon\n v-if=\"activeIcon\"\n :class=\"[ns.is('icon'), checked ? ns.is('show') : ns.is('hide')]\"\n >\n <component :is=\"activeIcon\" />\n </el-icon>\n <el-icon\n v-if=\"inactiveIcon\"\n :class=\"[ns.is('icon'), !checked ? ns.is('show') : ns.is('hide')]\"\n >\n <component :is=\"inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveIcon\">\n <span\n v-if=\"activeText\"\n :class=\"[ns.is('text'), checked ? ns.is('show') : ns.is('hide')]\"\n :aria-hidden=\"!checked\"\n >\n {{ activeText.substring(0, 3) }}\n </span>\n <span\n v-if=\"inactiveText\"\n :class=\"[ns.is('text'), !checked ? ns.is('show') : ns.is('hide')]\"\n :aria-hidden=\"checked\"\n >\n {{ inactiveText.substring(0, 3) }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\"><loading /></el-icon>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked),\n ]\"\n >\n <el-icon v-if=\"activeIcon\"><component :is=\"activeIcon\" /></el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, nextTick, onMounted, ref, watch } from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { debugWarn, isBoolean, throwError } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { switchEmits, switchProps } from './switch'\n\nconst COMPONENT_NAME = 'ElSwitch'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: { ElIcon, Loading },\n\n props: switchProps,\n emits: switchEmits,\n\n setup(props, { emit }) {\n const { formItem } = useFormItem()\n const switchDisabled = useDisabled(computed(() => props.loading))\n const ns = useNamespace('switch')\n\n const switchSize = useSize()\n const isModelValue = ref(props.modelValue !== false)\n const input = ref<HTMLInputElement>()\n const core = ref<HTMLSpanElement>()\n\n const switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n ])\n\n watch(\n () => props.modelValue,\n () => {\n isModelValue.value = true\n }\n )\n\n watch(\n () => props.value,\n () => {\n isModelValue.value = false\n }\n )\n\n const actualValue = computed(() => {\n return isModelValue.value ? props.modelValue : props.value\n })\n\n const checked = computed(() => actualValue.value === props.activeValue)\n\n if (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n }\n\n watch(checked, () => {\n input.value!.checked = checked.value\n\n if (props.activeColor || props.inactiveColor) {\n setBackgroundColor()\n }\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n })\n\n const handleChange = (): void => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n }\n\n const switchValue = (): void => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isExpectType = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].some((i) => i)\n if (!isExpectType) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n }\n\n const setBackgroundColor = (): void => {\n const newColor = checked.value ? props.activeColor : props.inactiveColor\n const coreEl = core.value\n if (props.borderColor) coreEl!.style.borderColor = props.borderColor\n else if (!props.borderColor) coreEl!.style.borderColor = newColor\n coreEl!.style.backgroundColor = newColor\n ;(coreEl!.children[0] as HTMLDivElement).style.color = newColor\n }\n\n const focus = (): void => {\n input.value?.focus?.()\n }\n\n onMounted(() => {\n if (props.activeColor || props.inactiveColor || props.borderColor) {\n setBackgroundColor()\n }\n\n input.value!.checked = checked.value\n })\n\n return {\n ns,\n input,\n core,\n switchDisabled,\n checked,\n switchKls,\n handleChange,\n switchValue,\n focus,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_withModifiers","_createElementVNode","_withKeys","_withCtx","_createCommentVNode","_toDisplayString","_normalizeStyle","_Fragment","_createBlock"],"mappings":"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"}