element-ps 1.0.11 → 1.0.15

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 (146) hide show
  1. package/dist/index.full.js +165 -146
  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 +164 -147
  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 +6 -5
  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 +22 -5
  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 +5 -22
  22. package/es/packages/components/affix/src/affix2.mjs.map +1 -1
  23. package/es/packages/components/backtop/index.mjs +2 -2
  24. package/es/packages/components/backtop/src/backtop.mjs +5 -19
  25. package/es/packages/components/backtop/src/backtop.mjs.map +1 -1
  26. package/es/packages/components/backtop/src/backtop.vue_vue&type=script&lang.mjs +1 -1
  27. package/es/packages/components/backtop/src/backtop2.mjs +19 -5
  28. package/es/packages/components/backtop/src/backtop2.mjs.map +1 -1
  29. package/es/packages/components/cascader/src/index.vue_vue&type=script&lang.mjs.map +1 -1
  30. package/es/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.mjs +8 -6
  31. package/es/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.mjs.map +1 -1
  32. package/es/packages/components/descriptions/src/description-item.mjs +3 -0
  33. package/es/packages/components/descriptions/src/description-item.mjs.map +1 -1
  34. package/es/packages/components/descriptions/src/descriptions-cell.mjs +2 -1
  35. package/es/packages/components/descriptions/src/descriptions-cell.mjs.map +1 -1
  36. package/es/packages/components/empty/index.mjs +2 -2
  37. package/es/packages/components/empty/src/empty.mjs +12 -5
  38. package/es/packages/components/empty/src/empty.mjs.map +1 -1
  39. package/es/packages/components/empty/src/empty.vue_vue&type=script&lang.mjs +1 -1
  40. package/es/packages/components/empty/src/empty2.mjs +5 -12
  41. package/es/packages/components/empty/src/empty2.mjs.map +1 -1
  42. package/es/packages/components/form/src/form-item.vue_vue&type=script&lang.mjs.map +1 -1
  43. package/es/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.mjs +10 -8
  44. package/es/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.mjs.map +1 -1
  45. package/es/packages/components/image-viewer/index.mjs +2 -2
  46. package/es/packages/components/image-viewer/src/image-viewer.mjs +5 -25
  47. package/es/packages/components/image-viewer/src/image-viewer.mjs.map +1 -1
  48. package/es/packages/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.mjs +1 -1
  49. package/es/packages/components/image-viewer/src/image-viewer2.mjs +25 -5
  50. package/es/packages/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  51. package/es/packages/components/index.mjs +6 -5
  52. package/es/packages/components/index.mjs.map +1 -1
  53. package/es/packages/components/input-number/index.mjs +2 -2
  54. package/es/packages/components/input-number/src/input-number.mjs +49 -5
  55. package/es/packages/components/input-number/src/input-number.mjs.map +1 -1
  56. package/es/packages/components/input-number/src/input-number.vue_vue&type=script&lang.mjs +5 -3
  57. package/es/packages/components/input-number/src/input-number.vue_vue&type=script&lang.mjs.map +1 -1
  58. package/es/packages/components/input-number/src/input-number.vue_vue&type=template&id=dec60af6&lang.mjs.map +1 -1
  59. package/es/packages/components/input-number/src/input-number2.mjs +5 -49
  60. package/es/packages/components/input-number/src/input-number2.mjs.map +1 -1
  61. package/es/packages/components/rate/index.mjs +6 -8
  62. package/es/packages/components/rate/index.mjs.map +1 -1
  63. package/es/packages/components/rate/src/rate.mjs +87 -0
  64. package/es/packages/components/rate/src/rate.mjs.map +1 -0
  65. package/es/packages/components/rate/src/{index.vue_vue&type=script&lang.mjs → rate.vue_vue&type=script&lang.mjs} +19 -88
  66. package/es/packages/components/rate/src/rate.vue_vue&type=script&lang.mjs.map +1 -0
  67. 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
  68. package/es/packages/components/rate/src/rate.vue_vue&type=template&id=38c42df6&lang.mjs.map +1 -0
  69. package/es/packages/components/rate/src/rate2.mjs +7 -0
  70. package/es/packages/components/rate/src/rate2.mjs.map +1 -0
  71. package/lib/components/descriptions/index.d.ts +14 -2
  72. package/lib/components/descriptions/src/description-item.d.ts +7 -1
  73. package/lib/components/descriptions/src/descriptions.type.d.ts +1 -0
  74. package/lib/components/input-number/index.d.ts +2 -0
  75. package/lib/components/input-number/src/input-number.vue.d.ts +2 -0
  76. package/lib/components/rate/index.d.ts +75 -246
  77. package/lib/components/rate/src/rate.d.ts +26 -0
  78. package/lib/components/rate/src/rate.vue.d.ts +108 -0
  79. package/lib/index.js +8 -5
  80. package/lib/index.js.map +1 -1
  81. package/lib/packages/components/affix/index.js +2 -2
  82. package/lib/packages/components/affix/src/affix.js +21 -5
  83. package/lib/packages/components/affix/src/affix.js.map +1 -1
  84. package/lib/packages/components/affix/src/affix.vue_vue&type=script&lang.js +1 -1
  85. package/lib/packages/components/affix/src/affix2.js +5 -21
  86. package/lib/packages/components/affix/src/affix2.js.map +1 -1
  87. package/lib/packages/components/backtop/index.js +2 -2
  88. package/lib/packages/components/backtop/src/backtop.js +6 -19
  89. package/lib/packages/components/backtop/src/backtop.js.map +1 -1
  90. package/lib/packages/components/backtop/src/backtop.vue_vue&type=script&lang.js +1 -1
  91. package/lib/packages/components/backtop/src/backtop2.js +19 -6
  92. package/lib/packages/components/backtop/src/backtop2.js.map +1 -1
  93. package/lib/packages/components/cascader/src/index.vue_vue&type=script&lang.js.map +1 -1
  94. package/lib/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.js +8 -6
  95. package/lib/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.js.map +1 -1
  96. package/lib/packages/components/descriptions/src/description-item.js +3 -0
  97. package/lib/packages/components/descriptions/src/description-item.js.map +1 -1
  98. package/lib/packages/components/descriptions/src/descriptions-cell.js +2 -1
  99. package/lib/packages/components/descriptions/src/descriptions-cell.js.map +1 -1
  100. package/lib/packages/components/empty/index.js +2 -2
  101. package/lib/packages/components/empty/src/empty.js +12 -6
  102. package/lib/packages/components/empty/src/empty.js.map +1 -1
  103. package/lib/packages/components/empty/src/empty.vue_vue&type=script&lang.js +1 -1
  104. package/lib/packages/components/empty/src/empty2.js +6 -12
  105. package/lib/packages/components/empty/src/empty2.js.map +1 -1
  106. package/lib/packages/components/form/src/form-item.vue_vue&type=script&lang.js.map +1 -1
  107. package/lib/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.js +10 -8
  108. package/lib/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.js.map +1 -1
  109. package/lib/packages/components/image-viewer/index.js +2 -2
  110. package/lib/packages/components/image-viewer/src/image-viewer.js +5 -24
  111. package/lib/packages/components/image-viewer/src/image-viewer.js.map +1 -1
  112. package/lib/packages/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.js +1 -1
  113. package/lib/packages/components/image-viewer/src/image-viewer2.js +24 -5
  114. package/lib/packages/components/image-viewer/src/image-viewer2.js.map +1 -1
  115. package/lib/packages/components/index.js +8 -5
  116. package/lib/packages/components/index.js.map +1 -1
  117. package/lib/packages/components/input-number/index.js +2 -2
  118. package/lib/packages/components/input-number/src/input-number.js +48 -5
  119. package/lib/packages/components/input-number/src/input-number.js.map +1 -1
  120. package/lib/packages/components/input-number/src/input-number.vue_vue&type=script&lang.js +5 -3
  121. package/lib/packages/components/input-number/src/input-number.vue_vue&type=script&lang.js.map +1 -1
  122. package/lib/packages/components/input-number/src/input-number.vue_vue&type=template&id=dec60af6&lang.js.map +1 -1
  123. package/lib/packages/components/input-number/src/input-number2.js +5 -48
  124. package/lib/packages/components/input-number/src/input-number2.js.map +1 -1
  125. package/lib/packages/components/rate/index.js +8 -8
  126. package/lib/packages/components/rate/index.js.map +1 -1
  127. package/lib/packages/components/rate/src/rate.js +92 -0
  128. package/lib/packages/components/rate/src/rate.js.map +1 -0
  129. package/lib/packages/components/rate/src/{index.vue_vue&type=script&lang.js → rate.vue_vue&type=script&lang.js} +19 -88
  130. package/lib/packages/components/rate/src/rate.vue_vue&type=script&lang.js.map +1 -0
  131. 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
  132. package/lib/packages/components/rate/src/rate.vue_vue&type=template&id=38c42df6&lang.js.map +1 -0
  133. package/lib/packages/components/rate/src/rate2.js +12 -0
  134. package/lib/packages/components/rate/src/rate2.js.map +1 -0
  135. package/package.json +1 -1
  136. package/web-types.json +1 -1
  137. package/es/components/rate/src/index.vue.d.ts +0 -141
  138. package/es/packages/components/rate/src/index.mjs +0 -7
  139. package/es/packages/components/rate/src/index.mjs.map +0 -1
  140. package/es/packages/components/rate/src/index.vue_vue&type=script&lang.mjs.map +0 -1
  141. package/es/packages/components/rate/src/index.vue_vue&type=template&id=55b4fa7d&lang.mjs.map +0 -1
  142. package/lib/components/rate/src/index.vue.d.ts +0 -141
  143. package/lib/packages/components/rate/src/index.js +0 -12
  144. package/lib/packages/components/rate/src/index.js.map +0 -1
  145. package/lib/packages/components/rate/src/index.vue_vue&type=script&lang.js.map +0 -1
  146. package/lib/packages/components/rate/src/index.vue_vue&type=template&id=55b4fa7d&lang.js.map +0 -1
@@ -3,90 +3,32 @@ import { isObject, isArray } from '@vue/shared';
3
3
  import '../../../tokens/index.mjs';
4
4
  import { PsIcon } from '../../icon/index.mjs';
5
5
  import { StarFilled, Star } from '@element-plus/icons';
6
+ import { rateProps } from './rate.mjs';
6
7
  import { elFormKey } from '../../../tokens/form.mjs';
7
8
 
9
+ function getValueFromMap(value, map) {
10
+ const isExcludedObject = (val) => isObject(val);
11
+ const matchedKeys = Object.keys(map).map((key) => +key).filter((key) => {
12
+ const val = map[key];
13
+ const excluded = isExcludedObject(val) ? val.excluded : false;
14
+ return excluded ? value < key : value <= key;
15
+ }).sort((a, b) => a - b);
16
+ const matchedValue = map[matchedKeys[0]];
17
+ return isExcludedObject(matchedValue) && matchedValue.value || matchedValue;
18
+ }
8
19
  var script = defineComponent({
9
20
  name: "PsRate",
10
- components: { PsIcon, StarFilled, Star },
11
- props: {
12
- modelValue: {
13
- type: Number,
14
- default: 0
15
- },
16
- lowThreshold: {
17
- type: Number,
18
- default: 2
19
- },
20
- highThreshold: {
21
- type: Number,
22
- default: 4
23
- },
24
- max: {
25
- type: Number,
26
- default: 5
27
- },
28
- colors: {
29
- type: [Array, Object],
30
- default: () => ["#F7BA2A", "#F7BA2A", "#F7BA2A"]
31
- },
32
- voidColor: {
33
- type: String,
34
- default: "#C6D1DE"
35
- },
36
- disabledVoidColor: {
37
- type: String,
38
- default: "#EFF2F7"
39
- },
40
- icons: {
41
- type: [Array, Object],
42
- default: () => [StarFilled, StarFilled, StarFilled]
43
- },
44
- voidIcon: {
45
- type: [String, Object],
46
- default: Star
47
- },
48
- disabledvoidIcon: {
49
- type: [String, Object],
50
- default: StarFilled
51
- },
52
- disabled: {
53
- type: Boolean,
54
- default: false
55
- },
56
- allowHalf: {
57
- type: Boolean,
58
- default: false
59
- },
60
- showText: {
61
- type: Boolean,
62
- default: false
63
- },
64
- showScore: {
65
- type: Boolean,
66
- default: false
67
- },
68
- textColor: {
69
- type: String,
70
- default: "#1f2d3d"
71
- },
72
- texts: {
73
- type: Array,
74
- default: () => [
75
- "Extremely bad",
76
- "Disappointed",
77
- "Fair",
78
- "Satisfied",
79
- "Surprise"
80
- ]
81
- },
82
- scoreTemplate: {
83
- type: String,
84
- default: "{value}"
85
- }
21
+ components: {
22
+ PsIcon,
23
+ StarFilled,
24
+ Star
86
25
  },
26
+ props: rateProps,
87
27
  setup(props) {
88
28
  const elForm = inject(elFormKey, {});
89
29
  const currentValue = ref(props.modelValue);
30
+ const hoverIndex = ref(-1);
31
+ const pointerAtLeftHalf = ref(true);
90
32
  const rateDisabled = computed(() => props.disabled || elForm.disabled);
91
33
  const text = computed(() => {
92
34
  let result = "";
@@ -97,15 +39,6 @@ var script = defineComponent({
97
39
  }
98
40
  return result;
99
41
  });
100
- function getValueFromMap(value, map) {
101
- const matchedKeys = Object.keys(map).filter((key) => {
102
- const val = map[key];
103
- const excluded = isObject(val) ? val.excluded : false;
104
- return excluded ? value < key : value <= key;
105
- }).sort((a, b) => a - b);
106
- const matchedValue = map[matchedKeys[0]];
107
- return isObject(matchedValue) ? matchedValue.value || matchedValue : matchedValue || "";
108
- }
109
42
  const valueDecimal = computed(() => props.modelValue * 100 - Math.floor(props.modelValue) * 100);
110
43
  const colorMap = computed(() => isArray(props.colors) ? {
111
44
  [props.lowThreshold]: props.colors[0],
@@ -143,7 +76,6 @@ var script = defineComponent({
143
76
  result.fill(voidComponent.value, threshold, props.max);
144
77
  return result;
145
78
  });
146
- const pointerAtLeftHalf = ref(true);
147
79
  function showDecimalIcon(item) {
148
80
  const showWhenDisabled = rateDisabled.value && valueDecimal.value > 0 && item - 1 < props.modelValue && item > props.modelValue;
149
81
  const showWhenAllowHalf = props.allowHalf && pointerAtLeftHalf.value && item - 0.5 <= currentValue.value && item > currentValue.value;
@@ -155,7 +87,6 @@ var script = defineComponent({
155
87
  color: item <= currentValue.value ? activeColor.value : voidColor
156
88
  };
157
89
  }
158
- const hoverIndex = ref(-1);
159
90
  return {
160
91
  hoverIndex,
161
92
  currentValue,
@@ -171,4 +102,4 @@ var script = defineComponent({
171
102
  });
172
103
 
173
104
  export { script as default };
174
- //# sourceMappingURL=index.vue_vue&type=script&lang.mjs.map
105
+ //# sourceMappingURL=rate.vue_vue&type=script&lang.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate.vue_vue&type=script&lang.mjs","sources":["../../../../../../../packages/components/rate/src/rate.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 >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } 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'\nimport { rateProps, rateEmits } from './rate'\nimport type { ElFormContext } from '@element-ps/tokens'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\nexport default defineComponent({\n name: 'PsRate',\n components: {\n PsIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n setup(props) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\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 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 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 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 result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\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 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 return {\n hoverIndex,\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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"}
@@ -48,4 +48,4 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
48
48
  }
49
49
 
50
50
  export { render };
51
- //# sourceMappingURL=index.vue_vue&type=template&id=55b4fa7d&lang.mjs.map
51
+ //# sourceMappingURL=rate.vue_vue&type=template&id=38c42df6&lang.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate.vue_vue&type=template&id=38c42df6&lang.mjs","sources":["../../../../../../../packages/components/rate/src/rate.vue?vue&type=template&id=38c42df6&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 >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } 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'\nimport { rateProps, rateEmits } from './rate'\nimport type { ElFormContext } from '@element-ps/tokens'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\nexport default defineComponent({\n name: 'PsRate',\n components: {\n PsIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n setup(props) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\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 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 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 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 result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\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 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 return {\n hoverIndex,\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;uBAEd;;;;;;"}
@@ -0,0 +1,7 @@
1
+ import script from './rate.vue_vue&type=script&lang.mjs';
2
+ export { default } from './rate.vue_vue&type=script&lang.mjs';
3
+ import { render } from './rate.vue_vue&type=template&id=38c42df6&lang.mjs';
4
+
5
+ script.render = render;
6
+ script.__file = "packages/components/rate/src/rate.vue";
7
+ //# sourceMappingURL=rate2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -81,6 +81,9 @@ export declare const PsDescriptions: import("../../utils/types").SFCWithInstall<
81
81
  type: StringConstructor;
82
82
  default: string;
83
83
  };
84
+ widget: {
85
+ type: StringConstructor;
86
+ };
84
87
  }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
85
88
  label?: unknown;
86
89
  span?: unknown;
@@ -90,6 +93,7 @@ export declare const PsDescriptions: import("../../utils/types").SFCWithInstall<
90
93
  labelAlign?: unknown;
91
94
  className?: unknown;
92
95
  labelClassName?: unknown;
96
+ widget?: unknown;
93
97
  } & {
94
98
  width: string | number;
95
99
  label: string;
@@ -99,7 +103,9 @@ export declare const PsDescriptions: import("../../utils/types").SFCWithInstall<
99
103
  labelAlign: string;
100
104
  className: string;
101
105
  labelClassName: string;
102
- } & {}>, {
106
+ } & {
107
+ widget?: string | undefined;
108
+ }>, {
103
109
  width: string | number;
104
110
  label: string;
105
111
  minWidth: string | number;
@@ -144,6 +150,9 @@ export declare const PsDescriptionsItem: import("../../utils/types").SFCWithInst
144
150
  type: StringConstructor;
145
151
  default: string;
146
152
  };
153
+ widget: {
154
+ type: StringConstructor;
155
+ };
147
156
  }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
148
157
  label?: unknown;
149
158
  span?: unknown;
@@ -153,6 +162,7 @@ export declare const PsDescriptionsItem: import("../../utils/types").SFCWithInst
153
162
  labelAlign?: unknown;
154
163
  className?: unknown;
155
164
  labelClassName?: unknown;
165
+ widget?: unknown;
156
166
  } & {
157
167
  width: string | number;
158
168
  label: string;
@@ -162,7 +172,9 @@ export declare const PsDescriptionsItem: import("../../utils/types").SFCWithInst
162
172
  labelAlign: string;
163
173
  className: string;
164
174
  labelClassName: string;
165
- } & {}>, {
175
+ } & {
176
+ widget?: string | undefined;
177
+ }>, {
166
178
  width: string | number;
167
179
  label: string;
168
180
  minWidth: string | number;
@@ -31,6 +31,9 @@ declare const _default: import("vue").DefineComponent<{
31
31
  type: StringConstructor;
32
32
  default: string;
33
33
  };
34
+ widget: {
35
+ type: StringConstructor;
36
+ };
34
37
  }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
35
38
  label?: unknown;
36
39
  span?: unknown;
@@ -40,6 +43,7 @@ declare const _default: import("vue").DefineComponent<{
40
43
  labelAlign?: unknown;
41
44
  className?: unknown;
42
45
  labelClassName?: unknown;
46
+ widget?: unknown;
43
47
  } & {
44
48
  width: string | number;
45
49
  label: string;
@@ -49,7 +53,9 @@ declare const _default: import("vue").DefineComponent<{
49
53
  labelAlign: string;
50
54
  className: string;
51
55
  labelClassName: string;
52
- } & {}>, {
56
+ } & {
57
+ widget?: string | undefined;
58
+ }>, {
53
59
  width: string | number;
54
60
  label: string;
55
61
  minWidth: string | number;
@@ -16,4 +16,5 @@ export interface IDescriptionsItemInject {
16
16
  labelAlign: string;
17
17
  className: string;
18
18
  labelClassName: string;
19
+ widget?: string;
19
20
  }
@@ -18,6 +18,8 @@ export declare const PsInputNumber: import("../../utils/types").SFCWithInstall<i
18
18
  controlsAtRight: import("vue").ComputedRef<boolean>;
19
19
  maxDisabled: import("vue").ComputedRef<boolean>;
20
20
  minDisabled: import("vue").ComputedRef<boolean>;
21
+ inputNumberSize: import("vue").ComputedRef<any>;
22
+ inputNumberDisabled: import("vue").ComputedRef<boolean>;
21
23
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
22
24
  readonly step?: unknown;
23
25
  readonly stepStrictly?: unknown;
@@ -18,6 +18,8 @@ declare const _default: import("vue").DefineComponent<{
18
18
  controlsAtRight: import("vue").ComputedRef<boolean>;
19
19
  maxDisabled: import("vue").ComputedRef<boolean>;
20
20
  minDisabled: import("vue").ComputedRef<boolean>;
21
+ inputNumberSize: import("vue").ComputedRef<any>;
22
+ inputNumberDisabled: import("vue").ComputedRef<boolean>;
21
23
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
22
24
  readonly step?: unknown;
23
25
  readonly stepStrictly?: unknown;