element-ps 1.0.13 → 1.0.16

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 (248) hide show
  1. package/dist/index.full.js +149 -128
  2. package/dist/index.full.min.js +4 -4
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +4 -4
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +148 -129
  7. package/es/components/descriptions/index.d.ts +14 -2
  8. package/es/components/descriptions/src/description-item.d.ts +7 -1
  9. package/es/components/descriptions/src/descriptions.type.d.ts +1 -0
  10. package/es/components/input-number/index.d.ts +2 -0
  11. package/es/components/input-number/src/input-number.vue.d.ts +2 -0
  12. package/es/components/rate/index.d.ts +75 -246
  13. package/es/components/rate/src/rate.d.ts +26 -0
  14. package/es/components/rate/src/rate.vue.d.ts +108 -0
  15. package/es/index.mjs +13 -12
  16. package/es/index.mjs.map +1 -1
  17. package/es/packages/components/affix/index.mjs +2 -2
  18. package/es/packages/components/affix/src/affix.mjs +5 -22
  19. package/es/packages/components/affix/src/affix.mjs.map +1 -1
  20. package/es/packages/components/affix/src/affix.vue_vue&type=script&lang.mjs +1 -1
  21. package/es/packages/components/affix/src/affix2.mjs +22 -5
  22. package/es/packages/components/affix/src/affix2.mjs.map +1 -1
  23. package/es/packages/components/avatar/index.mjs +2 -2
  24. package/es/packages/components/avatar/src/avatar.mjs +5 -29
  25. package/es/packages/components/avatar/src/avatar.mjs.map +1 -1
  26. package/es/packages/components/avatar/src/avatar.vue_vue&type=script&lang.mjs +1 -1
  27. package/es/packages/components/avatar/src/avatar2.mjs +29 -5
  28. package/es/packages/components/avatar/src/avatar2.mjs.map +1 -1
  29. package/es/packages/components/backtop/index.mjs +2 -2
  30. package/es/packages/components/backtop/src/backtop.mjs +5 -19
  31. package/es/packages/components/backtop/src/backtop.mjs.map +1 -1
  32. package/es/packages/components/backtop/src/backtop.vue_vue&type=script&lang.mjs +1 -1
  33. package/es/packages/components/backtop/src/backtop2.mjs +19 -5
  34. package/es/packages/components/backtop/src/backtop2.mjs.map +1 -1
  35. package/es/packages/components/badge/index.mjs +2 -2
  36. package/es/packages/components/badge/src/badge.mjs +5 -20
  37. package/es/packages/components/badge/src/badge.mjs.map +1 -1
  38. package/es/packages/components/badge/src/badge.vue_vue&type=script&lang.mjs +1 -1
  39. package/es/packages/components/badge/src/badge2.mjs +20 -5
  40. package/es/packages/components/badge/src/badge2.mjs.map +1 -1
  41. package/es/packages/components/button/index.mjs +3 -3
  42. package/es/packages/components/button/src/button-group.mjs +5 -7
  43. package/es/packages/components/button/src/button-group.mjs.map +1 -1
  44. package/es/packages/components/button/src/button-group.vue_vue&type=script&lang.mjs +1 -1
  45. package/es/packages/components/button/src/button-group2.mjs +7 -5
  46. package/es/packages/components/button/src/button-group2.mjs.map +1 -1
  47. package/es/packages/components/button/src/button.mjs +46 -5
  48. package/es/packages/components/button/src/button.mjs.map +1 -1
  49. package/es/packages/components/button/src/button.vue_vue&type=script&lang.mjs +1 -1
  50. package/es/packages/components/button/src/button2.mjs +5 -46
  51. package/es/packages/components/button/src/button2.mjs.map +1 -1
  52. package/es/packages/components/cascader/src/index.vue_vue&type=script&lang.mjs.map +1 -1
  53. package/es/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.mjs +8 -6
  54. package/es/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.mjs.map +1 -1
  55. package/es/packages/components/descriptions/src/description-item.mjs +3 -0
  56. package/es/packages/components/descriptions/src/description-item.mjs.map +1 -1
  57. package/es/packages/components/descriptions/src/descriptions-cell.mjs +2 -1
  58. package/es/packages/components/descriptions/src/descriptions-cell.mjs.map +1 -1
  59. package/es/packages/components/icon/index.mjs +2 -2
  60. package/es/packages/components/icon/src/icon.mjs +5 -11
  61. package/es/packages/components/icon/src/icon.mjs.map +1 -1
  62. package/es/packages/components/icon/src/icon.vue_vue&type=script&lang.mjs +1 -1
  63. package/es/packages/components/icon/src/icon2.mjs +11 -5
  64. package/es/packages/components/icon/src/icon2.mjs.map +1 -1
  65. package/es/packages/components/image-viewer/index.mjs +2 -2
  66. package/es/packages/components/image-viewer/src/image-viewer.mjs +5 -25
  67. package/es/packages/components/image-viewer/src/image-viewer.mjs.map +1 -1
  68. package/es/packages/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.mjs +1 -1
  69. package/es/packages/components/image-viewer/src/image-viewer2.mjs +25 -5
  70. package/es/packages/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  71. package/es/packages/components/index.mjs +13 -12
  72. package/es/packages/components/index.mjs.map +1 -1
  73. package/es/packages/components/input/index.mjs +2 -2
  74. package/es/packages/components/input/src/input.mjs +5 -79
  75. package/es/packages/components/input/src/input.mjs.map +1 -1
  76. package/es/packages/components/input/src/input.vue_vue&type=script&lang.mjs +1 -1
  77. package/es/packages/components/input/src/input2.mjs +79 -5
  78. package/es/packages/components/input/src/input2.mjs.map +1 -1
  79. package/es/packages/components/input-number/index.mjs +2 -2
  80. package/es/packages/components/input-number/src/input-number.mjs +5 -49
  81. package/es/packages/components/input-number/src/input-number.mjs.map +1 -1
  82. package/es/packages/components/input-number/src/input-number.vue_vue&type=script&lang.mjs +5 -3
  83. package/es/packages/components/input-number/src/input-number.vue_vue&type=script&lang.mjs.map +1 -1
  84. package/es/packages/components/input-number/src/input-number.vue_vue&type=template&id=dec60af6&lang.mjs.map +1 -1
  85. package/es/packages/components/input-number/src/input-number2.mjs +49 -5
  86. package/es/packages/components/input-number/src/input-number2.mjs.map +1 -1
  87. package/es/packages/components/link/index.mjs +2 -2
  88. package/es/packages/components/link/src/link.mjs +5 -20
  89. package/es/packages/components/link/src/link.mjs.map +1 -1
  90. package/es/packages/components/link/src/link.vue_vue&type=script&lang.mjs +1 -1
  91. package/es/packages/components/link/src/link2.mjs +20 -5
  92. package/es/packages/components/link/src/link2.mjs.map +1 -1
  93. package/es/packages/components/menu/index.mjs +2 -2
  94. package/es/packages/components/menu/src/menu-item-group.mjs +5 -4
  95. package/es/packages/components/menu/src/menu-item-group.mjs.map +1 -1
  96. package/es/packages/components/menu/src/menu-item-group.vue_vue&type=script&lang.mjs +1 -1
  97. package/es/packages/components/menu/src/menu-item-group2.mjs +4 -5
  98. package/es/packages/components/menu/src/menu-item-group2.mjs.map +1 -1
  99. package/es/packages/components/popconfirm/src/popconfirm.mjs +1 -1
  100. package/es/packages/components/rate/index.mjs +6 -8
  101. package/es/packages/components/rate/index.mjs.map +1 -1
  102. package/es/packages/components/rate/src/rate.mjs +87 -0
  103. package/es/packages/components/rate/src/rate.mjs.map +1 -0
  104. package/es/packages/components/rate/src/{index.vue_vue&type=script&lang.mjs → rate.vue_vue&type=script&lang.mjs} +19 -88
  105. package/es/packages/components/rate/src/rate.vue_vue&type=script&lang.mjs.map +1 -0
  106. package/es/packages/components/rate/src/{index.vue_vue&type=template&id=55b4fa7d&lang.mjs → rate.vue_vue&type=template&id=38c42df6&lang.mjs} +1 -1
  107. package/es/packages/components/rate/src/rate.vue_vue&type=template&id=38c42df6&lang.mjs.map +1 -0
  108. package/es/packages/components/rate/src/rate2.mjs +7 -0
  109. package/es/packages/components/rate/src/rate2.mjs.map +1 -0
  110. package/es/packages/components/table/src/table.vue_vue&type=script&lang.mjs.map +1 -1
  111. package/es/packages/components/table/src/table.vue_vue&type=template&id=4a1660ad&lang.mjs +8 -4
  112. package/es/packages/components/table/src/table.vue_vue&type=template&id=4a1660ad&lang.mjs.map +1 -1
  113. package/es/packages/components/tag/index.mjs +2 -2
  114. package/es/packages/components/tag/src/tag.mjs +5 -26
  115. package/es/packages/components/tag/src/tag.mjs.map +1 -1
  116. package/es/packages/components/tag/src/tag.vue_vue&type=script&lang.mjs +1 -1
  117. package/es/packages/components/tag/src/tag2.mjs +26 -5
  118. package/es/packages/components/tag/src/tag2.mjs.map +1 -1
  119. package/es/version.d.ts +1 -1
  120. package/es/version.mjs +1 -1
  121. package/es/version.mjs.map +1 -1
  122. package/lib/components/descriptions/index.d.ts +14 -2
  123. package/lib/components/descriptions/src/description-item.d.ts +7 -1
  124. package/lib/components/descriptions/src/descriptions.type.d.ts +1 -0
  125. package/lib/components/input-number/index.d.ts +2 -0
  126. package/lib/components/input-number/src/input-number.vue.d.ts +2 -0
  127. package/lib/components/rate/index.d.ts +75 -246
  128. package/lib/components/rate/src/rate.d.ts +26 -0
  129. package/lib/components/rate/src/rate.vue.d.ts +108 -0
  130. package/lib/index.js +15 -12
  131. package/lib/index.js.map +1 -1
  132. package/lib/packages/components/affix/index.js +2 -2
  133. package/lib/packages/components/affix/src/affix.js +5 -21
  134. package/lib/packages/components/affix/src/affix.js.map +1 -1
  135. package/lib/packages/components/affix/src/affix.vue_vue&type=script&lang.js +1 -1
  136. package/lib/packages/components/affix/src/affix2.js +21 -5
  137. package/lib/packages/components/affix/src/affix2.js.map +1 -1
  138. package/lib/packages/components/avatar/index.js +2 -2
  139. package/lib/packages/components/avatar/src/avatar.js +5 -28
  140. package/lib/packages/components/avatar/src/avatar.js.map +1 -1
  141. package/lib/packages/components/avatar/src/avatar.vue_vue&type=script&lang.js +1 -1
  142. package/lib/packages/components/avatar/src/avatar2.js +28 -5
  143. package/lib/packages/components/avatar/src/avatar2.js.map +1 -1
  144. package/lib/packages/components/backtop/index.js +2 -2
  145. package/lib/packages/components/backtop/src/backtop.js +6 -19
  146. package/lib/packages/components/backtop/src/backtop.js.map +1 -1
  147. package/lib/packages/components/backtop/src/backtop.vue_vue&type=script&lang.js +1 -1
  148. package/lib/packages/components/backtop/src/backtop2.js +19 -6
  149. package/lib/packages/components/backtop/src/backtop2.js.map +1 -1
  150. package/lib/packages/components/badge/index.js +2 -2
  151. package/lib/packages/components/badge/src/badge.js +5 -19
  152. package/lib/packages/components/badge/src/badge.js.map +1 -1
  153. package/lib/packages/components/badge/src/badge.vue_vue&type=script&lang.js +1 -1
  154. package/lib/packages/components/badge/src/badge2.js +19 -5
  155. package/lib/packages/components/badge/src/badge2.js.map +1 -1
  156. package/lib/packages/components/button/index.js +3 -3
  157. package/lib/packages/components/button/src/button-group.js +5 -6
  158. package/lib/packages/components/button/src/button-group.js.map +1 -1
  159. package/lib/packages/components/button/src/button-group.vue_vue&type=script&lang.js +1 -1
  160. package/lib/packages/components/button/src/button-group2.js +6 -5
  161. package/lib/packages/components/button/src/button-group2.js.map +1 -1
  162. package/lib/packages/components/button/src/button.js +49 -5
  163. package/lib/packages/components/button/src/button.js.map +1 -1
  164. package/lib/packages/components/button/src/button.vue_vue&type=script&lang.js +1 -1
  165. package/lib/packages/components/button/src/button2.js +5 -49
  166. package/lib/packages/components/button/src/button2.js.map +1 -1
  167. package/lib/packages/components/cascader/src/index.vue_vue&type=script&lang.js.map +1 -1
  168. package/lib/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.js +8 -6
  169. package/lib/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.js.map +1 -1
  170. package/lib/packages/components/descriptions/src/description-item.js +3 -0
  171. package/lib/packages/components/descriptions/src/description-item.js.map +1 -1
  172. package/lib/packages/components/descriptions/src/descriptions-cell.js +2 -1
  173. package/lib/packages/components/descriptions/src/descriptions-cell.js.map +1 -1
  174. package/lib/packages/components/icon/index.js +2 -2
  175. package/lib/packages/components/icon/src/icon.js +5 -10
  176. package/lib/packages/components/icon/src/icon.js.map +1 -1
  177. package/lib/packages/components/icon/src/icon.vue_vue&type=script&lang.js +1 -1
  178. package/lib/packages/components/icon/src/icon2.js +10 -5
  179. package/lib/packages/components/icon/src/icon2.js.map +1 -1
  180. package/lib/packages/components/image-viewer/index.js +2 -2
  181. package/lib/packages/components/image-viewer/src/image-viewer.js +5 -24
  182. package/lib/packages/components/image-viewer/src/image-viewer.js.map +1 -1
  183. package/lib/packages/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.js +1 -1
  184. package/lib/packages/components/image-viewer/src/image-viewer2.js +24 -5
  185. package/lib/packages/components/image-viewer/src/image-viewer2.js.map +1 -1
  186. package/lib/packages/components/index.js +15 -12
  187. package/lib/packages/components/index.js.map +1 -1
  188. package/lib/packages/components/input/index.js +2 -2
  189. package/lib/packages/components/input/src/input.js +5 -78
  190. package/lib/packages/components/input/src/input.js.map +1 -1
  191. package/lib/packages/components/input/src/input.vue_vue&type=script&lang.js +1 -1
  192. package/lib/packages/components/input/src/input2.js +78 -5
  193. package/lib/packages/components/input/src/input2.js.map +1 -1
  194. package/lib/packages/components/input-number/index.js +2 -2
  195. package/lib/packages/components/input-number/src/input-number.js +5 -48
  196. package/lib/packages/components/input-number/src/input-number.js.map +1 -1
  197. package/lib/packages/components/input-number/src/input-number.vue_vue&type=script&lang.js +5 -3
  198. package/lib/packages/components/input-number/src/input-number.vue_vue&type=script&lang.js.map +1 -1
  199. package/lib/packages/components/input-number/src/input-number.vue_vue&type=template&id=dec60af6&lang.js.map +1 -1
  200. package/lib/packages/components/input-number/src/input-number2.js +48 -5
  201. package/lib/packages/components/input-number/src/input-number2.js.map +1 -1
  202. package/lib/packages/components/link/index.js +2 -2
  203. package/lib/packages/components/link/src/link.js +5 -19
  204. package/lib/packages/components/link/src/link.js.map +1 -1
  205. package/lib/packages/components/link/src/link.vue_vue&type=script&lang.js +1 -1
  206. package/lib/packages/components/link/src/link2.js +19 -5
  207. package/lib/packages/components/link/src/link2.js.map +1 -1
  208. package/lib/packages/components/menu/index.js +2 -2
  209. package/lib/packages/components/menu/src/menu-item-group.js +6 -4
  210. package/lib/packages/components/menu/src/menu-item-group.js.map +1 -1
  211. package/lib/packages/components/menu/src/menu-item-group.vue_vue&type=script&lang.js +1 -1
  212. package/lib/packages/components/menu/src/menu-item-group2.js +4 -6
  213. package/lib/packages/components/menu/src/menu-item-group2.js.map +1 -1
  214. package/lib/packages/components/popconfirm/src/popconfirm.js +1 -1
  215. package/lib/packages/components/rate/index.js +8 -8
  216. package/lib/packages/components/rate/index.js.map +1 -1
  217. package/lib/packages/components/rate/src/rate.js +92 -0
  218. package/lib/packages/components/rate/src/rate.js.map +1 -0
  219. package/lib/packages/components/rate/src/{index.vue_vue&type=script&lang.js → rate.vue_vue&type=script&lang.js} +19 -88
  220. package/lib/packages/components/rate/src/rate.vue_vue&type=script&lang.js.map +1 -0
  221. package/lib/packages/components/rate/src/{index.vue_vue&type=template&id=55b4fa7d&lang.js → rate.vue_vue&type=template&id=38c42df6&lang.js} +1 -1
  222. package/lib/packages/components/rate/src/rate.vue_vue&type=template&id=38c42df6&lang.js.map +1 -0
  223. package/lib/packages/components/rate/src/rate2.js +12 -0
  224. package/lib/packages/components/rate/src/rate2.js.map +1 -0
  225. package/lib/packages/components/table/src/table.vue_vue&type=script&lang.js.map +1 -1
  226. package/lib/packages/components/table/src/table.vue_vue&type=template&id=4a1660ad&lang.js +8 -4
  227. package/lib/packages/components/table/src/table.vue_vue&type=template&id=4a1660ad&lang.js.map +1 -1
  228. package/lib/packages/components/tag/index.js +2 -2
  229. package/lib/packages/components/tag/src/tag.js +5 -25
  230. package/lib/packages/components/tag/src/tag.js.map +1 -1
  231. package/lib/packages/components/tag/src/tag.vue_vue&type=script&lang.js +1 -1
  232. package/lib/packages/components/tag/src/tag2.js +25 -5
  233. package/lib/packages/components/tag/src/tag2.js.map +1 -1
  234. package/lib/version.d.ts +1 -1
  235. package/lib/version.js +1 -1
  236. package/lib/version.js.map +1 -1
  237. package/package.json +1 -1
  238. package/web-types.json +1 -1
  239. package/es/components/rate/src/index.vue.d.ts +0 -141
  240. package/es/packages/components/rate/src/index.mjs +0 -7
  241. package/es/packages/components/rate/src/index.mjs.map +0 -1
  242. package/es/packages/components/rate/src/index.vue_vue&type=script&lang.mjs.map +0 -1
  243. package/es/packages/components/rate/src/index.vue_vue&type=template&id=55b4fa7d&lang.mjs.map +0 -1
  244. package/lib/components/rate/src/index.vue.d.ts +0 -141
  245. package/lib/packages/components/rate/src/index.js +0 -12
  246. package/lib/packages/components/rate/src/index.js.map +0 -1
  247. package/lib/packages/components/rate/src/index.vue_vue&type=script&lang.js.map +0 -1
  248. package/lib/packages/components/rate/src/index.vue_vue&type=template&id=55b4fa7d&lang.js.map +0 -1
@@ -1,141 +0,0 @@
1
- import type { PropType, Component } from 'vue';
2
- declare const _default: import("vue").DefineComponent<{
3
- modelValue: {
4
- type: NumberConstructor;
5
- default: number;
6
- };
7
- lowThreshold: {
8
- type: NumberConstructor;
9
- default: number;
10
- };
11
- highThreshold: {
12
- type: NumberConstructor;
13
- default: number;
14
- };
15
- max: {
16
- type: NumberConstructor;
17
- default: number;
18
- };
19
- colors: {
20
- type: (ObjectConstructor | ArrayConstructor)[];
21
- default: () => string[];
22
- };
23
- voidColor: {
24
- type: StringConstructor;
25
- default: string;
26
- };
27
- disabledVoidColor: {
28
- type: StringConstructor;
29
- default: string;
30
- };
31
- icons: {
32
- type: PropType<string[] | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
33
- default: () => import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>[];
34
- };
35
- voidIcon: {
36
- type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
37
- default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>;
38
- };
39
- disabledvoidIcon: {
40
- type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
41
- default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>;
42
- };
43
- disabled: {
44
- type: BooleanConstructor;
45
- default: boolean;
46
- };
47
- allowHalf: {
48
- type: BooleanConstructor;
49
- default: boolean;
50
- };
51
- showText: {
52
- type: BooleanConstructor;
53
- default: boolean;
54
- };
55
- showScore: {
56
- type: BooleanConstructor;
57
- default: boolean;
58
- };
59
- textColor: {
60
- type: StringConstructor;
61
- default: string;
62
- };
63
- texts: {
64
- type: PropType<string[]>;
65
- default: () => string[];
66
- };
67
- scoreTemplate: {
68
- type: StringConstructor;
69
- default: string;
70
- };
71
- }, {
72
- hoverIndex: import("vue").Ref<number>;
73
- currentValue: import("vue").Ref<number>;
74
- rateDisabled: import("vue").ComputedRef<boolean | undefined>;
75
- text: import("vue").ComputedRef<string>;
76
- decimalStyle: import("vue").ComputedRef<{
77
- color: any;
78
- width: string;
79
- }>;
80
- decimalIconComponent: import("vue").ComputedRef<any>;
81
- iconComponents: import("vue").ComputedRef<any[]>;
82
- showDecimalIcon: (item: number) => boolean;
83
- getIconStyle: (item: number) => {
84
- color: any;
85
- };
86
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
87
- modelValue?: unknown;
88
- lowThreshold?: unknown;
89
- highThreshold?: unknown;
90
- max?: unknown;
91
- colors?: unknown;
92
- voidColor?: unknown;
93
- disabledVoidColor?: unknown;
94
- icons?: unknown;
95
- voidIcon?: unknown;
96
- disabledvoidIcon?: unknown;
97
- disabled?: unknown;
98
- allowHalf?: unknown;
99
- showText?: unknown;
100
- showScore?: unknown;
101
- textColor?: unknown;
102
- texts?: unknown;
103
- scoreTemplate?: unknown;
104
- } & {
105
- disabled: boolean;
106
- modelValue: number;
107
- max: number;
108
- textColor: string;
109
- showText: boolean;
110
- lowThreshold: number;
111
- highThreshold: number;
112
- colors: Record<string, any> | unknown[];
113
- voidColor: string;
114
- disabledVoidColor: string;
115
- icons: string[] | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
116
- voidIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
117
- disabledvoidIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
118
- allowHalf: boolean;
119
- showScore: boolean;
120
- texts: string[];
121
- scoreTemplate: string;
122
- } & {}>, {
123
- disabled: boolean;
124
- modelValue: number;
125
- max: number;
126
- textColor: string;
127
- showText: boolean;
128
- lowThreshold: number;
129
- highThreshold: number;
130
- colors: Record<string, any> | unknown[];
131
- voidColor: string;
132
- disabledVoidColor: string;
133
- icons: string[] | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
134
- voidIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
135
- disabledvoidIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
136
- allowHalf: boolean;
137
- showScore: boolean;
138
- texts: string[];
139
- scoreTemplate: string;
140
- }>;
141
- export default _default;
@@ -1,7 +0,0 @@
1
- import script from './index.vue_vue&type=script&lang.mjs';
2
- export { default } from './index.vue_vue&type=script&lang.mjs';
3
- import { render } from './index.vue_vue&type=template&id=55b4fa7d&lang.mjs';
4
-
5
- script.render = render;
6
- script.__file = "packages/components/rate/src/index.vue";
7
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue_vue&type=script&lang.mjs","sources":["../../../../../../../packages/components/rate/src/index.vue"],"sourcesContent":["<template>\n <div\n class=\"el-rate\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n class=\"el-rate__item\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n >\n <ps-icon\n :class=\"[{ hover: hoverIndex === item }]\"\n class=\"el-rate__icon\"\n :style=\"getIconStyle(item)\"\n >\n <component :is=\"iconComponents[item - 1]\" />\n <ps-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n class=\"el-rate__icon el-rate__decimal\"\n >\n <component :is=\"decimalIconComponent\" />\n </ps-icon>\n </ps-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n class=\"el-rate__text\"\n :style=\"{ color: textColor }\"\n >{{ text }}</span\n >\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-ps/tokens'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons'\n\nimport type { PropType, Component } from 'vue'\nimport type { ElFormContext } from '@element-ps/tokens'\n\nexport default defineComponent({\n name: 'PsRate',\n components: { PsIcon, StarFilled, Star },\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n lowThreshold: {\n type: Number,\n default: 2,\n },\n highThreshold: {\n type: Number,\n default: 4,\n },\n max: {\n type: Number,\n default: 5,\n },\n colors: {\n type: [Array, Object],\n default: () => ['#F7BA2A', '#F7BA2A', '#F7BA2A'],\n },\n voidColor: {\n type: String,\n default: '#C6D1DE',\n },\n disabledVoidColor: {\n type: String,\n default: '#EFF2F7',\n },\n icons: {\n type: [Array, Object] as PropType<string[] | Component>,\n default: () => [StarFilled, StarFilled, StarFilled],\n },\n voidIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: Star,\n },\n disabledvoidIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: StarFilled,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n allowHalf: {\n type: Boolean,\n default: false,\n },\n showText: {\n type: Boolean,\n default: false,\n },\n showScore: {\n type: Boolean,\n default: false,\n },\n textColor: {\n type: String,\n default: '#1f2d3d',\n },\n texts: {\n type: Array as PropType<string[]>,\n default: () => [\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ],\n },\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n },\n setup(props) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n\n const currentValue = ref(props.modelValue)\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n\n function getValueFromMap(value: unknown, map: Record<string, unknown>) {\n const matchedKeys = Object.keys(map)\n .filter((key) => {\n const val = map[key]\n const excluded = isObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a: never, b: never) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return isObject(matchedValue)\n ? matchedValue.value || matchedValue\n : matchedValue || ''\n }\n\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n // if (props.allowHalf && currentValue.value !== Math.floor(currentValue.value)) {\n // threshold--\n // }\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n const pointerAtLeftHalf = ref(true)\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n /* istanbul ignore next */\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n const hoverIndex = ref(-1)\n\n return {\n hoverIndex,\n\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n\n showDecimalIcon,\n getIconStyle,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue_vue&type=template&id=55b4fa7d&lang.mjs","sources":["../../../../../../../packages/components/rate/src/index.vue?vue&type=template&id=55b4fa7d&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-rate\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n class=\"el-rate__item\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n >\n <ps-icon\n :class=\"[{ hover: hoverIndex === item }]\"\n class=\"el-rate__icon\"\n :style=\"getIconStyle(item)\"\n >\n <component :is=\"iconComponents[item - 1]\" />\n <ps-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n class=\"el-rate__icon el-rate__decimal\"\n >\n <component :is=\"decimalIconComponent\" />\n </ps-icon>\n </ps-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n class=\"el-rate__text\"\n :style=\"{ color: textColor }\"\n >{{ text }}</span\n >\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-ps/tokens'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons'\n\nimport type { PropType, Component } from 'vue'\nimport type { ElFormContext } from '@element-ps/tokens'\n\nexport default defineComponent({\n name: 'PsRate',\n components: { PsIcon, StarFilled, Star },\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n lowThreshold: {\n type: Number,\n default: 2,\n },\n highThreshold: {\n type: Number,\n default: 4,\n },\n max: {\n type: Number,\n default: 5,\n },\n colors: {\n type: [Array, Object],\n default: () => ['#F7BA2A', '#F7BA2A', '#F7BA2A'],\n },\n voidColor: {\n type: String,\n default: '#C6D1DE',\n },\n disabledVoidColor: {\n type: String,\n default: '#EFF2F7',\n },\n icons: {\n type: [Array, Object] as PropType<string[] | Component>,\n default: () => [StarFilled, StarFilled, StarFilled],\n },\n voidIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: Star,\n },\n disabledvoidIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: StarFilled,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n allowHalf: {\n type: Boolean,\n default: false,\n },\n showText: {\n type: Boolean,\n default: false,\n },\n showScore: {\n type: Boolean,\n default: false,\n },\n textColor: {\n type: String,\n default: '#1f2d3d',\n },\n texts: {\n type: Array as PropType<string[]>,\n default: () => [\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ],\n },\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n },\n setup(props) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n\n const currentValue = ref(props.modelValue)\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n\n function getValueFromMap(value: unknown, map: Record<string, unknown>) {\n const matchedKeys = Object.keys(map)\n .filter((key) => {\n const val = map[key]\n const excluded = isObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a: never, b: never) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return isObject(matchedValue)\n ? matchedValue.value || matchedValue\n : matchedValue || ''\n }\n\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n // if (props.allowHalf && currentValue.value !== Math.floor(currentValue.value)) {\n // threshold--\n // }\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n const pointerAtLeftHalf = ref(true)\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n /* istanbul ignore next */\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n const hoverIndex = ref(-1)\n\n return {\n hoverIndex,\n\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n\n showDecimalIcon,\n getIconStyle,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_createBlock"],"mappings":";;;;;sBACEA;IACE,OAAM;AAAA,IACN,MAAK;AAAA,IACJ,iBAAe;IACf,kBAAgB;IACjB,iBAAc;AAAA,IACb,iBAAe;IAChB,UAAS;AAAA;sBAETA,8CACwB,WAAd,MAAM;0BADhBA;QAEG;AAAA,QACD,OAAM;AAAA,QACL,gCAAiB;;QAElBC;UACG,iCAAiB,oBAAe,SAC3B;AAAA,UACL,sBAAO,kBAAa;AAAA;2BAErB;0BAAAC,oCAAgB,oBAAe;YAEvB,qBAAgB,sBADxBA;;cAEG,sBAAO;cACR,OAAM;AAAA;+BAEN;8BAAAA,oCAAgB;;;;;;;;;IAKd,iBAAY,+BADpBF;;MAEE,OAAM;AAAA,MACL,+BAAgB;uBACb;;;;;;"}
@@ -1,141 +0,0 @@
1
- import type { PropType, Component } from 'vue';
2
- declare const _default: import("vue").DefineComponent<{
3
- modelValue: {
4
- type: NumberConstructor;
5
- default: number;
6
- };
7
- lowThreshold: {
8
- type: NumberConstructor;
9
- default: number;
10
- };
11
- highThreshold: {
12
- type: NumberConstructor;
13
- default: number;
14
- };
15
- max: {
16
- type: NumberConstructor;
17
- default: number;
18
- };
19
- colors: {
20
- type: (ObjectConstructor | ArrayConstructor)[];
21
- default: () => string[];
22
- };
23
- voidColor: {
24
- type: StringConstructor;
25
- default: string;
26
- };
27
- disabledVoidColor: {
28
- type: StringConstructor;
29
- default: string;
30
- };
31
- icons: {
32
- type: PropType<string[] | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
33
- default: () => import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>[];
34
- };
35
- voidIcon: {
36
- type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
37
- default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>;
38
- };
39
- disabledvoidIcon: {
40
- type: PropType<string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>>;
41
- default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{}>, {}>;
42
- };
43
- disabled: {
44
- type: BooleanConstructor;
45
- default: boolean;
46
- };
47
- allowHalf: {
48
- type: BooleanConstructor;
49
- default: boolean;
50
- };
51
- showText: {
52
- type: BooleanConstructor;
53
- default: boolean;
54
- };
55
- showScore: {
56
- type: BooleanConstructor;
57
- default: boolean;
58
- };
59
- textColor: {
60
- type: StringConstructor;
61
- default: string;
62
- };
63
- texts: {
64
- type: PropType<string[]>;
65
- default: () => string[];
66
- };
67
- scoreTemplate: {
68
- type: StringConstructor;
69
- default: string;
70
- };
71
- }, {
72
- hoverIndex: import("vue").Ref<number>;
73
- currentValue: import("vue").Ref<number>;
74
- rateDisabled: import("vue").ComputedRef<boolean | undefined>;
75
- text: import("vue").ComputedRef<string>;
76
- decimalStyle: import("vue").ComputedRef<{
77
- color: any;
78
- width: string;
79
- }>;
80
- decimalIconComponent: import("vue").ComputedRef<any>;
81
- iconComponents: import("vue").ComputedRef<any[]>;
82
- showDecimalIcon: (item: number) => boolean;
83
- getIconStyle: (item: number) => {
84
- color: any;
85
- };
86
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
87
- modelValue?: unknown;
88
- lowThreshold?: unknown;
89
- highThreshold?: unknown;
90
- max?: unknown;
91
- colors?: unknown;
92
- voidColor?: unknown;
93
- disabledVoidColor?: unknown;
94
- icons?: unknown;
95
- voidIcon?: unknown;
96
- disabledvoidIcon?: unknown;
97
- disabled?: unknown;
98
- allowHalf?: unknown;
99
- showText?: unknown;
100
- showScore?: unknown;
101
- textColor?: unknown;
102
- texts?: unknown;
103
- scoreTemplate?: unknown;
104
- } & {
105
- disabled: boolean;
106
- modelValue: number;
107
- max: number;
108
- textColor: string;
109
- showText: boolean;
110
- lowThreshold: number;
111
- highThreshold: number;
112
- colors: Record<string, any> | unknown[];
113
- voidColor: string;
114
- disabledVoidColor: string;
115
- icons: string[] | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
116
- voidIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
117
- disabledvoidIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
118
- allowHalf: boolean;
119
- showScore: boolean;
120
- texts: string[];
121
- scoreTemplate: string;
122
- } & {}>, {
123
- disabled: boolean;
124
- modelValue: number;
125
- max: number;
126
- textColor: string;
127
- showText: boolean;
128
- lowThreshold: number;
129
- highThreshold: number;
130
- colors: Record<string, any> | unknown[];
131
- voidColor: string;
132
- disabledVoidColor: string;
133
- icons: string[] | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
134
- voidIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
135
- disabledvoidIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
136
- allowHalf: boolean;
137
- showScore: boolean;
138
- texts: string[];
139
- scoreTemplate: string;
140
- }>;
141
- export default _default;
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var index_vue_vue_type_script_lang = require('./index.vue_vue&type=script&lang.js');
6
- var index_vue_vue_type_template_id_55b4fa7d_lang = require('./index.vue_vue&type=template&id=55b4fa7d&lang.js');
7
-
8
- index_vue_vue_type_script_lang["default"].render = index_vue_vue_type_template_id_55b4fa7d_lang.render;
9
- index_vue_vue_type_script_lang["default"].__file = "packages/components/rate/src/index.vue";
10
-
11
- exports["default"] = index_vue_vue_type_script_lang["default"];
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue_vue&type=script&lang.js","sources":["../../../../../../../packages/components/rate/src/index.vue"],"sourcesContent":["<template>\n <div\n class=\"el-rate\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n class=\"el-rate__item\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n >\n <ps-icon\n :class=\"[{ hover: hoverIndex === item }]\"\n class=\"el-rate__icon\"\n :style=\"getIconStyle(item)\"\n >\n <component :is=\"iconComponents[item - 1]\" />\n <ps-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n class=\"el-rate__icon el-rate__decimal\"\n >\n <component :is=\"decimalIconComponent\" />\n </ps-icon>\n </ps-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n class=\"el-rate__text\"\n :style=\"{ color: textColor }\"\n >{{ text }}</span\n >\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-ps/tokens'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons'\n\nimport type { PropType, Component } from 'vue'\nimport type { ElFormContext } from '@element-ps/tokens'\n\nexport default defineComponent({\n name: 'PsRate',\n components: { PsIcon, StarFilled, Star },\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n lowThreshold: {\n type: Number,\n default: 2,\n },\n highThreshold: {\n type: Number,\n default: 4,\n },\n max: {\n type: Number,\n default: 5,\n },\n colors: {\n type: [Array, Object],\n default: () => ['#F7BA2A', '#F7BA2A', '#F7BA2A'],\n },\n voidColor: {\n type: String,\n default: '#C6D1DE',\n },\n disabledVoidColor: {\n type: String,\n default: '#EFF2F7',\n },\n icons: {\n type: [Array, Object] as PropType<string[] | Component>,\n default: () => [StarFilled, StarFilled, StarFilled],\n },\n voidIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: Star,\n },\n disabledvoidIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: StarFilled,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n allowHalf: {\n type: Boolean,\n default: false,\n },\n showText: {\n type: Boolean,\n default: false,\n },\n showScore: {\n type: Boolean,\n default: false,\n },\n textColor: {\n type: String,\n default: '#1f2d3d',\n },\n texts: {\n type: Array as PropType<string[]>,\n default: () => [\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ],\n },\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n },\n setup(props) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n\n const currentValue = ref(props.modelValue)\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n\n function getValueFromMap(value: unknown, map: Record<string, unknown>) {\n const matchedKeys = Object.keys(map)\n .filter((key) => {\n const val = map[key]\n const excluded = isObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a: never, b: never) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return isObject(matchedValue)\n ? matchedValue.value || matchedValue\n : matchedValue || ''\n }\n\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n // if (props.allowHalf && currentValue.value !== Math.floor(currentValue.value)) {\n // threshold--\n // }\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n const pointerAtLeftHalf = ref(true)\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n /* istanbul ignore next */\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n const hoverIndex = ref(-1)\n\n return {\n hoverIndex,\n\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n\n showDecimalIcon,\n getIconStyle,\n }\n },\n})\n</script>\n"],"names":["defineComponent","PsIcon","StarFilled","Star","inject","elFormKey","ref","computed","isObject","isArray"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.vue_vue&type=template&id=55b4fa7d&lang.js","sources":["../../../../../../../packages/components/rate/src/index.vue?vue&type=template&id=55b4fa7d&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-rate\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n class=\"el-rate__item\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n >\n <ps-icon\n :class=\"[{ hover: hoverIndex === item }]\"\n class=\"el-rate__icon\"\n :style=\"getIconStyle(item)\"\n >\n <component :is=\"iconComponents[item - 1]\" />\n <ps-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n class=\"el-rate__icon el-rate__decimal\"\n >\n <component :is=\"decimalIconComponent\" />\n </ps-icon>\n </ps-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n class=\"el-rate__text\"\n :style=\"{ color: textColor }\"\n >{{ text }}</span\n >\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-ps/tokens'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons'\n\nimport type { PropType, Component } from 'vue'\nimport type { ElFormContext } from '@element-ps/tokens'\n\nexport default defineComponent({\n name: 'PsRate',\n components: { PsIcon, StarFilled, Star },\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n lowThreshold: {\n type: Number,\n default: 2,\n },\n highThreshold: {\n type: Number,\n default: 4,\n },\n max: {\n type: Number,\n default: 5,\n },\n colors: {\n type: [Array, Object],\n default: () => ['#F7BA2A', '#F7BA2A', '#F7BA2A'],\n },\n voidColor: {\n type: String,\n default: '#C6D1DE',\n },\n disabledVoidColor: {\n type: String,\n default: '#EFF2F7',\n },\n icons: {\n type: [Array, Object] as PropType<string[] | Component>,\n default: () => [StarFilled, StarFilled, StarFilled],\n },\n voidIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: Star,\n },\n disabledvoidIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: StarFilled,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n allowHalf: {\n type: Boolean,\n default: false,\n },\n showText: {\n type: Boolean,\n default: false,\n },\n showScore: {\n type: Boolean,\n default: false,\n },\n textColor: {\n type: String,\n default: '#1f2d3d',\n },\n texts: {\n type: Array as PropType<string[]>,\n default: () => [\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ],\n },\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n },\n setup(props) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n\n const currentValue = ref(props.modelValue)\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n\n function getValueFromMap(value: unknown, map: Record<string, unknown>) {\n const matchedKeys = Object.keys(map)\n .filter((key) => {\n const val = map[key]\n const excluded = isObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a: never, b: never) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return isObject(matchedValue)\n ? matchedValue.value || matchedValue\n : matchedValue || ''\n }\n\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n // if (props.allowHalf && currentValue.value !== Math.floor(currentValue.value)) {\n // threshold--\n // }\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n const pointerAtLeftHalf = ref(true)\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n /* istanbul ignore next */\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n const hoverIndex = ref(-1)\n\n return {\n hoverIndex,\n\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n\n showDecimalIcon,\n getIconStyle,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_createBlock"],"mappings":";;;;;;;;;0BACEA;IACE,OAAM;AAAA,IACN,MAAK;AAAA,IACJ,iBAAe;IACf,kBAAgB;IACjB,iBAAc;AAAA,IACb,iBAAe;IAChB,UAAS;AAAA;0BAETA,0DACwB,WAAd,MAAM;8BADhBA;QAEG;AAAA,QACD,OAAM;AAAA,QACL,oCAAiB;;QAElBC;UACG,qCAAiB,oBAAe,SAC3B;AAAA,UACL,0BAAO,kBAAa;AAAA;+BAErB;8BAAAC,4CAAgB,oBAAe;YAEvB,qBAAgB,0BADxBA;;cAEG,0BAAO;cACR,OAAM;AAAA;mCAEN;kCAAAA,4CAAgB;;;;;;;;;IAKd,iBAAY,mCADpBF;;MAEE,OAAM;AAAA,MACL,mCAAgB;2BACb;;;;;;"}