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
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.vue_vue&type=template&id=24eda48b&lang.mjs","sources":["../../../../../../../packages/components/form/src/form-item.vue?vue&type=template&id=24eda48b&lang.js"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" class=\"el-form-item\" :class=\"formItemClass\">\n <LabelWrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"elForm.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n class=\"el-form-item__label\"\n :style=\"labelStyle\"\n :widget=\"widget\"\n >\n <slot name=\"label\" :label=\"label + elForm.labelSuffix\">\n {{ label + elForm.labelSuffix }}\n </slot>\n </label>\n </LabelWrap>\n <div class=\"el-form-item__content\" :style=\"contentStyle\" :widget=\"widget\">\n <slot></slot>\n <transition name=\"el-zoom-in-top\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div\n class=\"el-form-item__error\"\n :class=\"{\n 'el-form-item__error--inline':\n typeof inlineMessage === 'boolean'\n ? inlineMessage\n : elForm.inlineMessage || false,\n }\"\n >\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n} from 'vue'\nimport { addUnit, getPropByPath, useGlobalConfig } from '@element-ps/utils/util'\nimport { isValidComponentSize } from '@element-ps/utils/validators'\nimport { elFormItemKey, elFormKey } from '@element-ps/tokens'\nimport LabelWrap from './label-wrap'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { ComponentSize } from '@element-ps/utils/types'\nimport type { ElFormContext } from '@element-ps/tokens'\nimport type { FormItemRule } from './form.type'\n\nexport default defineComponent({\n name: 'PsFormItem',\n componentName: 'PsFormItem',\n components: {\n LabelWrap,\n },\n props: {\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: String,\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: [Object, Array] as PropType<FormItemRule | FormItemRule[]>,\n error: String,\n validateStatus: String,\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n widget: {\n type: String,\n },\n },\n setup(props, { slots }) {\n const $ELEMENT = useGlobalConfig()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const validateState = ref('')\n const validateMessage = ref('')\n\n const computedLabelWidth = ref('')\n\n const formItemRef = ref<HTMLDivElement>()\n\n const vm = getCurrentInstance()\n const isNested = computed(() => {\n let parent = vm.parent\n while (parent && parent.type.name !== 'PsForm') {\n if (parent.type.name === 'PsFormItem') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n let initialValue = undefined\n\n const labelFor = computed(() => props.for || props.prop)\n const labelStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top') return ret\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (labelWidth) {\n ret.width = labelWidth\n }\n return ret\n })\n const contentStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top' || elForm.inline) {\n return ret\n }\n if (!props.label && !props.labelWidth && isNested.value) {\n return ret\n }\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (!props.label && !slots.label) {\n ret.marginLeft = labelWidth\n }\n return ret\n })\n const fieldValue = computed(() => {\n const model = elForm.model\n if (!model || !props.prop) {\n return\n }\n\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n\n return getPropByPath(model, path, true).v\n })\n const isRequired = computed(() => {\n const rules = getRules()\n let required = false\n\n if (rules && rules.length) {\n rules.every((rule) => {\n if (rule.required) {\n required = true\n return false\n }\n return true\n })\n }\n return required\n })\n const elFormItemSize = computed(() => props.size || elForm.size)\n const sizeClass = computed<ComponentSize>(() => {\n return elFormItemSize.value || $ELEMENT.size\n })\n\n const getRules = () => {\n const formRules = elForm.rules\n const selfRules = props.rules\n const requiredRule =\n props.required !== undefined ? { required: !!props.required } : []\n\n const prop = getPropByPath(formRules, props.prop || '', false)\n const normalizedRule = formRules ? prop.o[props.prop || ''] || prop.v : []\n\n return [].concat(selfRules || normalizedRule || []).concat(requiredRule)\n }\n\n const updateComputedLabelWidth = (width: string | number) => {\n computedLabelWidth.value = width ? `${width}px` : ''\n }\n\n const elFormItem = reactive({\n ...toRefs(props),\n size: sizeClass,\n $el: formItemRef,\n updateComputedLabelWidth,\n })\n\n onMounted(() => {\n if (props.prop) {\n const value = fieldValue.value\n initialValue = (Array.isArray(value) ? [...value] : value) as any\n }\n })\n\n provide(elFormItemKey, elFormItem as any)\n\n const formItemClass = computed(() => [\n {\n 'el-form-item--feedback': elForm.statusIcon,\n 'is-error': validateState.value === 'error',\n 'is-validating': validateState.value === 'validating',\n 'is-success': validateState.value === 'success',\n 'is-required': isRequired.value || props.required,\n 'is-no-asterisk': elForm.hideRequiredAsterisk,\n },\n sizeClass.value ? `el-form-item--${sizeClass.value}` : '',\n ])\n\n const shouldShowError = computed(() => {\n return (\n validateState.value === 'error' &&\n props.showMessage &&\n elForm.showMessage\n )\n })\n\n return {\n formItemRef,\n formItemClass,\n shouldShowError,\n elForm,\n labelStyle,\n contentStyle,\n validateMessage,\n labelFor,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_renderSlot","_createElementVNode"],"mappings":";;;;;;sBACEA;IAAK,KAAI;AAAA,IAAc,uBAAM,gBAAuB;;IAClDC;MACG,iBAAe,gBAAW;MAC1B,cAAY,YAAO;;uBAEpB;QACQ,cAAS,YAAO,sBADxBD;;UAEG,KAAK;UACN,OAAM;AAAA,UACL,sBAAO;UACP,QAAQ;;UAETE;YAAoB,OAAO,aAAQ,YAAO;AAAA,aAA1C;4CACK,aAAQ,YAAO;;;;;;IAIxBC;MAAK,OAAM;AAAA,MAAyB,sBAAO;MAAe,QAAQ;;MAChED;MACAD,0BAAY,MAAK;yBACf;UAAY,uBAAZC;;YAA2C,OAAO;aAAlD;YACEC;cACE,uBAAM;;;+BAQH;;;;;;;;;;;"}
1
+ {"version":3,"file":"form-item.vue_vue&type=template&id=24eda48b&lang.mjs","sources":["../../../../../../../packages/components/form/src/form-item.vue?vue&type=template&id=24eda48b&lang.js"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" class=\"el-form-item\" :class=\"formItemClass\"\n :widget=\"widget\"\n >\n <LabelWrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"elForm.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n class=\"el-form-item__label\"\n :style=\"labelStyle\"\n :widget=\"`form-item:label:${widget.split(':')[1]}`\"\n >\n <slot name=\"label\" :label=\"label + elForm.labelSuffix\">\n {{ label + elForm.labelSuffix }}\n </slot>\n </label>\n </LabelWrap>\n <div class=\"el-form-item__content\" :style=\"contentStyle\"\n :widget=\"`form-item:default:${widget.split(':')[1]}`\"\n >\n <slot></slot>\n <transition name=\"el-zoom-in-top\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div\n class=\"el-form-item__error\"\n :class=\"{\n 'el-form-item__error--inline':\n typeof inlineMessage === 'boolean'\n ? inlineMessage\n : elForm.inlineMessage || false,\n }\"\n >\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n} from 'vue'\nimport { addUnit, getPropByPath, useGlobalConfig } from '@element-ps/utils/util'\nimport { isValidComponentSize } from '@element-ps/utils/validators'\nimport { elFormItemKey, elFormKey } from '@element-ps/tokens'\nimport LabelWrap from './label-wrap'\n\nimport type { PropType, CSSProperties } from 'vue'\nimport type { ComponentSize } from '@element-ps/utils/types'\nimport type { ElFormContext } from '@element-ps/tokens'\nimport type { FormItemRule } from './form.type'\n\nexport default defineComponent({\n name: 'PsFormItem',\n componentName: 'PsFormItem',\n components: {\n LabelWrap,\n },\n props: {\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: String,\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: [Object, Array] as PropType<FormItemRule | FormItemRule[]>,\n error: String,\n validateStatus: String,\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n widget: {\n type: String,\n },\n },\n setup(props, { slots }) {\n const $ELEMENT = useGlobalConfig()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const validateState = ref('')\n const validateMessage = ref('')\n\n const computedLabelWidth = ref('')\n\n const formItemRef = ref<HTMLDivElement>()\n\n const vm = getCurrentInstance()\n const isNested = computed(() => {\n let parent = vm.parent\n while (parent && parent.type.name !== 'PsForm') {\n if (parent.type.name === 'PsFormItem') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n let initialValue = undefined\n\n const labelFor = computed(() => props.for || props.prop)\n const labelStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top') return ret\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (labelWidth) {\n ret.width = labelWidth\n }\n return ret\n })\n const contentStyle = computed(() => {\n const ret: CSSProperties = {}\n if (elForm.labelPosition === 'top' || elForm.inline) {\n return ret\n }\n if (!props.label && !props.labelWidth && isNested.value) {\n return ret\n }\n const labelWidth = addUnit(props.labelWidth || elForm.labelWidth)\n if (!props.label && !slots.label) {\n ret.marginLeft = labelWidth\n }\n return ret\n })\n const fieldValue = computed(() => {\n const model = elForm.model\n if (!model || !props.prop) {\n return\n }\n\n let path = props.prop\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.')\n }\n\n return getPropByPath(model, path, true).v\n })\n const isRequired = computed(() => {\n const rules = getRules()\n let required = false\n\n if (rules && rules.length) {\n rules.every((rule) => {\n if (rule.required) {\n required = true\n return false\n }\n return true\n })\n }\n return required\n })\n const elFormItemSize = computed(() => props.size || elForm.size)\n const sizeClass = computed<ComponentSize>(() => {\n return elFormItemSize.value || $ELEMENT.size\n })\n\n const getRules = () => {\n const formRules = elForm.rules\n const selfRules = props.rules\n const requiredRule =\n props.required !== undefined ? { required: !!props.required } : []\n\n const prop = getPropByPath(formRules, props.prop || '', false)\n const normalizedRule = formRules ? prop.o[props.prop || ''] || prop.v : []\n\n return [].concat(selfRules || normalizedRule || []).concat(requiredRule)\n }\n\n const updateComputedLabelWidth = (width: string | number) => {\n computedLabelWidth.value = width ? `${width}px` : ''\n }\n\n const elFormItem = reactive({\n ...toRefs(props),\n size: sizeClass,\n $el: formItemRef,\n updateComputedLabelWidth,\n })\n\n onMounted(() => {\n if (props.prop) {\n const value = fieldValue.value\n initialValue = (Array.isArray(value) ? [...value] : value) as any\n }\n })\n\n provide(elFormItemKey, elFormItem as any)\n\n const formItemClass = computed(() => [\n {\n 'el-form-item--feedback': elForm.statusIcon,\n 'is-error': validateState.value === 'error',\n 'is-validating': validateState.value === 'validating',\n 'is-success': validateState.value === 'success',\n 'is-required': isRequired.value || props.required,\n 'is-no-asterisk': elForm.hideRequiredAsterisk,\n },\n sizeClass.value ? `el-form-item--${sizeClass.value}` : '',\n ])\n\n const shouldShowError = computed(() => {\n return (\n validateState.value === 'error' &&\n props.showMessage &&\n elForm.showMessage\n )\n })\n\n return {\n formItemRef,\n formItemClass,\n shouldShowError,\n elForm,\n labelStyle,\n contentStyle,\n validateMessage,\n labelFor,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_renderSlot","_createElementVNode"],"mappings":";;;;;;;sBACEA;IAAK,KAAI;AAAA,IAAc,uBAAM,gBAAuB;IAC9C,QAAQ;;IAEZC;MACG,iBAAe,gBAAW;MAC1B,cAAY,YAAO;;uBAEpB;QACQ,cAAS,YAAO,sBADxBD;;UAEG,KAAK;UACN,OAAM;AAAA,UACL,sBAAO;UACP,2BAA2B,YAAO;;UAEnCE;YAAoB,OAAO,aAAQ,YAAO;AAAA,aAA1C;4CACK,aAAQ,YAAO;;;;;;IAIxBC;MAAK,OAAM;AAAA,MAAyB,sBAAO;MACrC,6BAA6B,YAAO;;MAExCD;MACAD,0BAAY,MAAK;yBACf;UAAY,uBAAZC;;YAA2C,OAAO;aAAlD;YACEC;cACE,uBAAM;;;+BAQH;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { withInstall } from '../../utils/with-install.mjs';
2
- import './src/image-viewer2.mjs';
3
- export { imageViewerProps } from './src/image-viewer.mjs';
2
+ import './src/image-viewer.mjs';
3
+ export { imageViewerProps } from './src/image-viewer2.mjs';
4
4
  import script from './src/image-viewer.vue_vue&type=script&lang.mjs';
5
5
 
6
6
  const PsImageViewer = withInstall(script);
@@ -1,27 +1,7 @@
1
- import { buildProps, definePropType, mutable } from '../../../utils/props.mjs';
1
+ import script from './image-viewer.vue_vue&type=script&lang.mjs';
2
+ export { default } from './image-viewer.vue_vue&type=script&lang.mjs';
3
+ import { render } from './image-viewer.vue_vue&type=template&id=4b22ad85&lang.mjs';
2
4
 
3
- const imageViewerProps = buildProps({
4
- urlList: {
5
- type: definePropType(Array),
6
- default: () => mutable([])
7
- },
8
- zIndex: {
9
- type: Number,
10
- default: 2e3
11
- },
12
- initialIndex: {
13
- type: Number,
14
- default: 0
15
- },
16
- infinite: {
17
- type: Boolean,
18
- default: true
19
- },
20
- hideOnClickModal: {
21
- type: Boolean,
22
- default: false
23
- }
24
- });
25
-
26
- export { imageViewerProps };
5
+ script.render = render;
6
+ script.__file = "packages/components/image-viewer/src/image-viewer.vue";
27
7
  //# sourceMappingURL=image-viewer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer.mjs","sources":["../../../../../../../packages/components/image-viewer/src/image-viewer.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageViewerProps = buildProps({\n urlList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n zIndex: {\n type: Number,\n default: 2000,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n infinite: {\n type: Boolean,\n default: true,\n },\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\n"],"names":[],"mappings":";;MAGa,mBAAmB,WAAW;AAAA,EACzC,SAAS;AAAA,IACP,MAAM,eAAyB;AAAA,IAC/B,SAAS,MAAM,QAAQ;AAAA;AAAA,EAEzB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"image-viewer.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, computed, onMounted } from 'vue';
2
- import { imageViewerProps } from './image-viewer.mjs';
2
+ import { imageViewerProps } from './image-viewer2.mjs';
3
3
  import { PsIcon } from '../../icon/index.mjs';
4
4
  import { FullScreen, ScaleToOriginal, Close, ArrowLeft, ArrowRight, ZoomOut, ZoomIn, RefreshLeft, RefreshRight } from '@element-plus/icons';
5
5
 
@@ -1,7 +1,27 @@
1
- import script from './image-viewer.vue_vue&type=script&lang.mjs';
2
- export { default } from './image-viewer.vue_vue&type=script&lang.mjs';
3
- import { render } from './image-viewer.vue_vue&type=template&id=4b22ad85&lang.mjs';
1
+ import { buildProps, definePropType, mutable } from '../../../utils/props.mjs';
4
2
 
5
- script.render = render;
6
- script.__file = "packages/components/image-viewer/src/image-viewer.vue";
3
+ const imageViewerProps = buildProps({
4
+ urlList: {
5
+ type: definePropType(Array),
6
+ default: () => mutable([])
7
+ },
8
+ zIndex: {
9
+ type: Number,
10
+ default: 2e3
11
+ },
12
+ initialIndex: {
13
+ type: Number,
14
+ default: 0
15
+ },
16
+ infinite: {
17
+ type: Boolean,
18
+ default: true
19
+ },
20
+ hideOnClickModal: {
21
+ type: Boolean,
22
+ default: false
23
+ }
24
+ });
25
+
26
+ export { imageViewerProps };
7
27
  //# sourceMappingURL=image-viewer2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"image-viewer2.mjs","sources":["../../../../../../../packages/components/image-viewer/src/image-viewer.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageViewerProps = buildProps({\n urlList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n zIndex: {\n type: Number,\n default: 2000,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n infinite: {\n type: Boolean,\n default: true,\n },\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\n"],"names":[],"mappings":";;MAGa,mBAAmB,WAAW;AAAA,EACzC,SAAS;AAAA,IACP,MAAM,eAAyB;AAAA,IAC/B,SAAS,MAAM,QAAQ;AAAA;AAAA,EAEzB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AAAA;;;;"}
@@ -66,10 +66,10 @@ export { PsUpload } from './upload/index.mjs';
66
66
  import './virtual-list/index.mjs';
67
67
  export { default as PsLoading, PsLoadingDirective, PsLoadingService } from './loading/index.mjs';
68
68
  export { PsPopover, PsPopoverDirective } from './popover/index.mjs';
69
- export { affixProps } from './affix/src/affix2.mjs';
69
+ export { affixProps } from './affix/src/affix.mjs';
70
70
  export { alertProps } from './alert/src/alert2.mjs';
71
71
  export { avatarProps } from './avatar/src/avatar2.mjs';
72
- export { backtopProps } from './backtop/src/backtop.mjs';
72
+ export { backtopProps } from './backtop/src/backtop2.mjs';
73
73
  export { badgeProps } from './badge/src/badge.mjs';
74
74
  export { breadcrumbProps } from './breadcrumb/src/breadcrumb.mjs';
75
75
  export { breadcrumbItemProps } from './breadcrumb/src/breadcrumb-item.mjs';
@@ -82,12 +82,12 @@ export { configProviderProps } from './config-provider/src/config-provider.mjs';
82
82
  export { useDialog } from './dialog/src/use-dialog.mjs';
83
83
  export { dialogProps } from './dialog/src/dialog.mjs';
84
84
  export { dividerProps } from './divider/src/divider.mjs';
85
- export { emptyProps } from './empty/src/empty2.mjs';
85
+ export { emptyProps } from './empty/src/empty.mjs';
86
86
  export { iconProps } from './icon/src/icon.mjs';
87
87
  export { imageEmits, imageProps } from './image/src/image.mjs';
88
- export { imageViewerProps } from './image-viewer/src/image-viewer.mjs';
88
+ export { imageViewerProps } from './image-viewer/src/image-viewer2.mjs';
89
89
  export { inputProps } from './input/src/input.mjs';
90
- export { inputNumberProps } from './input-number/src/input-number2.mjs';
90
+ export { inputNumberProps } from './input-number/src/input-number.mjs';
91
91
  export { linkProps } from './link/src/link.mjs';
92
92
  export { menuEmits, menuProps } from './menu/src/menu.mjs';
93
93
  export { menuItemEmits, menuItemProps } from './menu/src/menu-item.mjs';
@@ -102,6 +102,7 @@ export { default as usePopper } from './popper/src/use-popper/index.mjs';
102
102
  export { default as renderPopper } from './popper/src/renderers/popper.mjs';
103
103
  export { default as renderTrigger } from './popper/src/renderers/trigger.mjs';
104
104
  export { default as renderArrow } from './popper/src/renderers/arrow.mjs';
105
+ export { rateEmits, rateProps } from './rate/src/rate.mjs';
105
106
  export { BAR_MAP, renderThumbStyle } from './scrollbar/src/util.mjs';
106
107
  export { selectGroupKey, selectKey } from './select/src/token.mjs';
107
108
  export { selectV2InjectionKey } from './select-v2/src/token.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { withInstall } from '../../utils/with-install.mjs';
2
- import './src/input-number.mjs';
3
- export { inputNumberProps } from './src/input-number2.mjs';
2
+ import './src/input-number2.mjs';
3
+ export { inputNumberProps } from './src/input-number.mjs';
4
4
  import script from './src/input-number.vue_vue&type=script&lang.mjs';
5
5
 
6
6
  const PsInputNumber = withInstall(script);
@@ -1,7 +1,51 @@
1
- import script from './input-number.vue_vue&type=script&lang.mjs';
2
- export { default } from './input-number.vue_vue&type=script&lang.mjs';
3
- import { render } from './input-number.vue_vue&type=template&id=dec60af6&lang.mjs';
1
+ import { buildProps, componentSize } from '../../../utils/props.mjs';
4
2
 
5
- script.render = render;
6
- script.__file = "packages/components/input-number/src/input-number.vue";
3
+ const inputNumberProps = buildProps({
4
+ step: {
5
+ type: Number,
6
+ default: 1
7
+ },
8
+ stepStrictly: {
9
+ type: Boolean,
10
+ default: false
11
+ },
12
+ max: {
13
+ type: Number,
14
+ default: Infinity
15
+ },
16
+ min: {
17
+ type: Number,
18
+ default: -Infinity
19
+ },
20
+ modelValue: {
21
+ type: Number,
22
+ required: true
23
+ },
24
+ disabled: {
25
+ type: Boolean,
26
+ default: false
27
+ },
28
+ size: {
29
+ type: String,
30
+ values: componentSize
31
+ },
32
+ controls: {
33
+ type: Boolean,
34
+ default: true
35
+ },
36
+ controlsPosition: {
37
+ type: String,
38
+ default: "",
39
+ values: ["", "right"]
40
+ },
41
+ name: String,
42
+ label: String,
43
+ placeholder: String,
44
+ precision: {
45
+ type: Number,
46
+ validator: (val) => val >= 0 && val === parseInt(`${val}`, 10)
47
+ }
48
+ });
49
+
50
+ export { inputNumberProps };
7
51
  //# sourceMappingURL=input-number.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"input-number.mjs","sources":["../../../../../../../packages/components/input-number/src/input-number.ts"],"sourcesContent":["import { buildProps, componentSize } from '@element-ps/utils/props'\n\nexport const inputNumberProps = buildProps({\n step: {\n type: Number,\n default: 1,\n },\n stepStrictly: {\n type: Boolean,\n default: false,\n },\n max: {\n type: Number,\n default: Infinity,\n },\n min: {\n type: Number,\n default: -Infinity,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n size: {\n type: String,\n values: componentSize,\n },\n controls: {\n type: Boolean,\n default: true,\n },\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n name: String,\n label: String,\n placeholder: String,\n precision: {\n type: Number,\n validator: (val: number) => val >= 0 && val === parseInt(`${val}`, 10),\n },\n} as const)\n"],"names":[],"mappings":";;MAEa,mBAAmB,WAAW;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA;AAAA,EAEZ,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA;AAAA,EAEV,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ,CAAC,IAAI;AAAA;AAAA,EAEf,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,WAAW;AAAA,IACT,MAAM;AAAA,IACN,WAAW,CAAC,QAAgB,OAAO,KAAK,QAAQ,SAAS,GAAG,OAAO;AAAA;AAAA;;;;"}
@@ -5,7 +5,7 @@ import { PsInput } from '../../input/index.mjs';
5
5
  import { isNumber } from '../../../utils/util.mjs';
6
6
  import { debugWarn } from '../../../utils/error.mjs';
7
7
  import { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons';
8
- import { inputNumberProps } from './input-number2.mjs';
8
+ import { inputNumberProps } from './input-number.mjs';
9
9
  import { useFormItem } from '../../../hooks/use-form-item/index.mjs';
10
10
 
11
11
  var script = defineComponent({
@@ -41,7 +41,7 @@ var script = defineComponent({
41
41
  const controlsAtRight = computed(() => {
42
42
  return props.controls && props.controlsPosition === "right";
43
43
  });
44
- const { disabled: inputNumberDisabled } = useFormItem({});
44
+ const { size: inputNumberSize, disabled: inputNumberDisabled } = useFormItem({});
45
45
  const displayValue = computed(() => {
46
46
  if (data.userInput !== null) {
47
47
  return data.userInput;
@@ -100,7 +100,9 @@ var script = defineComponent({
100
100
  displayValue,
101
101
  controlsAtRight,
102
102
  maxDisabled,
103
- minDisabled
103
+ minDisabled,
104
+ inputNumberSize,
105
+ inputNumberDisabled
104
106
  };
105
107
  }
106
108
  });
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.vue_vue&type=script&lang.mjs","sources":["../../../../../../../packages/components/input-number/src/input-number.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'el-input-number',\n inputNumberSize ? 'el-input-number--' + inputNumberSize : '',\n { 'is-disabled': inputNumberDisabled },\n { 'is-without-controls': !controls },\n { 'is-controls-right': controlsAtRight },\n ]\"\n >\n <span\n v-if=\"controls\"\n class=\"el-input-number__decrease\"\n role=\"button\"\n :class=\"{ 'is-disabled': minDisabled }\"\n >\n <ps-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </ps-icon>\n </span>\n <span\n v-if=\"controls\"\n class=\"el-input-number__increase\"\n role=\"button\"\n :class=\"{ 'is-disabled': maxDisabled }\"\n >\n <ps-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </ps-icon>\n </span>\n <ps-input\n ref=\"input\"\n type=\"number\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n onMounted,\n} from 'vue'\n\nimport { PsIcon } from '@element-ps/components/icon'\nimport { useFormItem } from '@element-ps/hooks'\nimport PsInput from '@element-ps/components/input'\nimport { isNumber } from '@element-ps/utils/util'\nimport { debugWarn } from '@element-ps/utils/error'\nimport { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons'\nimport { inputNumberProps } from './input-number'\n\nimport type { ComponentPublicInstance } from 'vue'\n\ninterface IData {\n currentValue: number\n userInput: null | number | string\n}\n\nexport default defineComponent({\n name: 'PsInputNumber',\n components: {\n PsInput,\n PsIcon,\n ArrowUp,\n ArrowDown,\n Plus,\n Minus,\n },\n props: inputNumberProps,\n setup(props) {\n const input = ref<ComponentPublicInstance<typeof ElInput>>()\n const data = reactive<IData>({\n currentValue: props.modelValue,\n userInput: null,\n })\n\n const minDisabled = computed(() => _decrease(props.modelValue) < props.min)\n const maxDisabled = computed(() => _increase(props.modelValue) > props.max)\n\n const numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (props.precision !== undefined) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n })\n const controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n })\n\n const { disabled: inputNumberDisabled } = useFormItem({})\n\n const displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string = data.currentValue\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (props.precision !== undefined) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n })\n const toPrecision = (num: number, pre?: number) => {\n if (pre === undefined) pre = numPrecision.value\n return parseFloat(\n `${Math.round(num * Math.pow(10, pre)) / Math.pow(10, pre)}`\n )\n }\n const getPrecision = (value: number | undefined) => {\n if (value === undefined) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n }\n const _increase = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val + precisionFactor * props.step) / precisionFactor\n )\n }\n const _decrease = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val - precisionFactor * props.step) / precisionFactor\n )\n }\n\n onMounted(() => {\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n innerInput.setAttribute('aria-valuemax', String(props.max))\n innerInput.setAttribute('aria-valuemin', String(props.min))\n innerInput.setAttribute('aria-valuenow', String(data.currentValue))\n innerInput.setAttribute(\n 'aria-disabled',\n String(inputNumberDisabled.value)\n )\n })\n\n return {\n input,\n displayValue,\n controlsAtRight,\n maxDisabled,\n minDisabled,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;AAsEA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,QAAQ;AACd,UAAM,OAAO,SAAgB;AAAA,MAC3B,cAAc,MAAM;AAAA,MACpB,WAAW;AAAA;AAGb,UAAM,cAAc,SAAS,MAAM,UAAU,MAAM,cAAc,MAAM;AACvE,UAAM,cAAc,SAAS,MAAM,UAAU,MAAM,cAAc,MAAM;AAEvE,UAAM,eAAe,SAAS,MAAM;AAClC,YAAM,gBAAgB,aAAa,MAAM;AACzC,UAAI,MAAM,cAAc,QAAW;AACjC,YAAI,gBAAgB,MAAM,WAAW;AACnC,oBACE,eACA;AAAA;AAGJ,eAAO,MAAM;AAAA,aACR;AACL,eAAO,KAAK,IAAI,aAAa,MAAM,aAAa;AAAA;AAAA;AAGpD,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,MAAM,YAAY,MAAM,qBAAqB;AAAA;AAGtD,UAAM,EAAE,UAAU,wBAAwB,YAAY;AAEtD,UAAM,eAAe,SAAS,MAAM;AAClC,UAAI,KAAK,cAAc,MAAM;AAC3B,eAAO,KAAK;AAAA;AAEd,UAAI,eAAgC,KAAK;AACzC,UAAI,SAAS,eAAe;AAC1B,YAAI,OAAO,MAAM;AAAe,iBAAO;AACvC,YAAI,MAAM,cAAc,QAAW;AACjC,yBAAe,aAAa,QAAQ,MAAM;AAAA;AAAA;AAG9C,aAAO;AAAA;AAET,UAAM,cAAc,CAAC,KAAa,QAAiB;AACjD,UAAI,QAAQ;AAAW,cAAM,aAAa;AAC1C,aAAO,WACL,GAAG,KAAK,MAAM,MAAM,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI;AAAA;AAG1D,UAAM,eAAe,CAAC,UAA8B;AAClD,UAAI,UAAU;AAAW,eAAO;AAChC,YAAM,cAAc,MAAM;AAC1B,YAAM,cAAc,YAAY,QAAQ;AACxC,UAAI,YAAY;AAChB,UAAI,gBAAgB,IAAI;AACtB,oBAAY,YAAY,SAAS,cAAc;AAAA;AAEjD,aAAO;AAAA;AAET,UAAM,YAAY,CAAC,QAAgB;AACjC,UAAI,CAAC,SAAS;AAAM,eAAO,KAAK;AAChC,YAAM,kBAAkB,KAAK,IAAI,IAAI,aAAa;AAElD,YAAM,SAAS,OAAO,MAAM;AAC5B,aAAO,YACJ,mBAAkB,MAAM,kBAAkB,MAAM,QAAQ;AAAA;AAG7D,UAAM,YAAY,CAAC,QAAgB;AACjC,UAAI,CAAC,SAAS;AAAM,eAAO,KAAK;AAChC,YAAM,kBAAkB,KAAK,IAAI,IAAI,aAAa;AAElD,YAAM,SAAS,OAAO,MAAM;AAC5B,aAAO,YACJ,mBAAkB,MAAM,kBAAkB,MAAM,QAAQ;AAAA;AAI7D,cAAU,MAAM;;AACd,YAAM,aAAa,YAAM,UAAN,mBAAa;AAChC,iBAAW,aAAa,QAAQ;AAChC,iBAAW,aAAa,iBAAiB,OAAO,MAAM;AACtD,iBAAW,aAAa,iBAAiB,OAAO,MAAM;AACtD,iBAAW,aAAa,iBAAiB,OAAO,KAAK;AACrD,iBAAW,aACT,iBACA,OAAO,oBAAoB;AAAA;AAI/B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"input-number.vue_vue&type=script&lang.mjs","sources":["../../../../../../../packages/components/input-number/src/input-number.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'el-input-number',\n inputNumberSize ? 'el-input-number--' + inputNumberSize : '',\n { 'is-disabled': inputNumberDisabled },\n { 'is-without-controls': !controls },\n { 'is-controls-right': controlsAtRight },\n ]\"\n >\n <span\n v-if=\"controls\"\n class=\"el-input-number__decrease\"\n role=\"button\"\n :class=\"{ 'is-disabled': minDisabled }\"\n >\n <ps-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </ps-icon>\n </span>\n <span\n v-if=\"controls\"\n class=\"el-input-number__increase\"\n role=\"button\"\n :class=\"{ 'is-disabled': maxDisabled }\"\n >\n <ps-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </ps-icon>\n </span>\n <ps-input\n ref=\"input\"\n type=\"number\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n onMounted,\n} from 'vue'\n\nimport { PsIcon } from '@element-ps/components/icon'\nimport { useFormItem } from '@element-ps/hooks'\nimport PsInput from '@element-ps/components/input'\nimport { isNumber } from '@element-ps/utils/util'\nimport { debugWarn } from '@element-ps/utils/error'\nimport { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons'\nimport { inputNumberProps } from './input-number'\n\nimport type { ComponentPublicInstance } from 'vue'\n\ninterface IData {\n currentValue: number\n userInput: null | number | string\n}\n\nexport default defineComponent({\n name: 'PsInputNumber',\n components: {\n PsInput,\n PsIcon,\n ArrowUp,\n ArrowDown,\n Plus,\n Minus,\n },\n props: inputNumberProps,\n setup(props) {\n const input = ref<ComponentPublicInstance<typeof ElInput>>()\n const data = reactive<IData>({\n currentValue: props.modelValue,\n userInput: null,\n })\n\n const minDisabled = computed(() => _decrease(props.modelValue) < props.min)\n const maxDisabled = computed(() => _increase(props.modelValue) > props.max)\n\n const numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (props.precision !== undefined) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n })\n const controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n })\n\n const { size: inputNumberSize, disabled: inputNumberDisabled } = useFormItem({})\n\n const displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string = data.currentValue\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (props.precision !== undefined) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n })\n const toPrecision = (num: number, pre?: number) => {\n if (pre === undefined) pre = numPrecision.value\n return parseFloat(\n `${Math.round(num * Math.pow(10, pre)) / Math.pow(10, pre)}`\n )\n }\n const getPrecision = (value: number | undefined) => {\n if (value === undefined) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n }\n const _increase = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val + precisionFactor * props.step) / precisionFactor\n )\n }\n const _decrease = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val - precisionFactor * props.step) / precisionFactor\n )\n }\n\n onMounted(() => {\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n innerInput.setAttribute('aria-valuemax', String(props.max))\n innerInput.setAttribute('aria-valuemin', String(props.min))\n innerInput.setAttribute('aria-valuenow', String(data.currentValue))\n innerInput.setAttribute(\n 'aria-disabled',\n String(inputNumberDisabled.value)\n )\n })\n\n return {\n input,\n displayValue,\n controlsAtRight,\n maxDisabled,\n minDisabled,\n inputNumberSize,\n inputNumberDisabled\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;AAsEA,aAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,QAAQ;AACd,UAAM,OAAO,SAAgB;AAAA,MAC3B,cAAc,MAAM;AAAA,MACpB,WAAW;AAAA;AAGb,UAAM,cAAc,SAAS,MAAM,UAAU,MAAM,cAAc,MAAM;AACvE,UAAM,cAAc,SAAS,MAAM,UAAU,MAAM,cAAc,MAAM;AAEvE,UAAM,eAAe,SAAS,MAAM;AAClC,YAAM,gBAAgB,aAAa,MAAM;AACzC,UAAI,MAAM,cAAc,QAAW;AACjC,YAAI,gBAAgB,MAAM,WAAW;AACnC,oBACE,eACA;AAAA;AAGJ,eAAO,MAAM;AAAA,aACR;AACL,eAAO,KAAK,IAAI,aAAa,MAAM,aAAa;AAAA;AAAA;AAGpD,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,MAAM,YAAY,MAAM,qBAAqB;AAAA;AAGtD,UAAM,EAAE,MAAM,iBAAiB,UAAU,wBAAwB,YAAY;AAE7E,UAAM,eAAe,SAAS,MAAM;AAClC,UAAI,KAAK,cAAc,MAAM;AAC3B,eAAO,KAAK;AAAA;AAEd,UAAI,eAAgC,KAAK;AACzC,UAAI,SAAS,eAAe;AAC1B,YAAI,OAAO,MAAM;AAAe,iBAAO;AACvC,YAAI,MAAM,cAAc,QAAW;AACjC,yBAAe,aAAa,QAAQ,MAAM;AAAA;AAAA;AAG9C,aAAO;AAAA;AAET,UAAM,cAAc,CAAC,KAAa,QAAiB;AACjD,UAAI,QAAQ;AAAW,cAAM,aAAa;AAC1C,aAAO,WACL,GAAG,KAAK,MAAM,MAAM,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI;AAAA;AAG1D,UAAM,eAAe,CAAC,UAA8B;AAClD,UAAI,UAAU;AAAW,eAAO;AAChC,YAAM,cAAc,MAAM;AAC1B,YAAM,cAAc,YAAY,QAAQ;AACxC,UAAI,YAAY;AAChB,UAAI,gBAAgB,IAAI;AACtB,oBAAY,YAAY,SAAS,cAAc;AAAA;AAEjD,aAAO;AAAA;AAET,UAAM,YAAY,CAAC,QAAgB;AACjC,UAAI,CAAC,SAAS;AAAM,eAAO,KAAK;AAChC,YAAM,kBAAkB,KAAK,IAAI,IAAI,aAAa;AAElD,YAAM,SAAS,OAAO,MAAM;AAC5B,aAAO,YACJ,mBAAkB,MAAM,kBAAkB,MAAM,QAAQ;AAAA;AAG7D,UAAM,YAAY,CAAC,QAAgB;AACjC,UAAI,CAAC,SAAS;AAAM,eAAO,KAAK;AAChC,YAAM,kBAAkB,KAAK,IAAI,IAAI,aAAa;AAElD,YAAM,SAAS,OAAO,MAAM;AAC5B,aAAO,YACJ,mBAAkB,MAAM,kBAAkB,MAAM,QAAQ;AAAA;AAI7D,cAAU,MAAM;;AACd,YAAM,aAAa,YAAM,UAAN,mBAAa;AAChC,iBAAW,aAAa,QAAQ;AAChC,iBAAW,aAAa,iBAAiB,OAAO,MAAM;AACtD,iBAAW,aAAa,iBAAiB,OAAO,MAAM;AACtD,iBAAW,aAAa,iBAAiB,OAAO,KAAK;AACrD,iBAAW,aACT,iBACA,OAAO,oBAAoB;AAAA;AAI/B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.vue_vue&type=template&id=dec60af6&lang.mjs","sources":["../../../../../../../packages/components/input-number/src/input-number.vue?vue&type=template&id=dec60af6&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'el-input-number',\n inputNumberSize ? 'el-input-number--' + inputNumberSize : '',\n { 'is-disabled': inputNumberDisabled },\n { 'is-without-controls': !controls },\n { 'is-controls-right': controlsAtRight },\n ]\"\n >\n <span\n v-if=\"controls\"\n class=\"el-input-number__decrease\"\n role=\"button\"\n :class=\"{ 'is-disabled': minDisabled }\"\n >\n <ps-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </ps-icon>\n </span>\n <span\n v-if=\"controls\"\n class=\"el-input-number__increase\"\n role=\"button\"\n :class=\"{ 'is-disabled': maxDisabled }\"\n >\n <ps-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </ps-icon>\n </span>\n <ps-input\n ref=\"input\"\n type=\"number\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n onMounted,\n} from 'vue'\n\nimport { PsIcon } from '@element-ps/components/icon'\nimport { useFormItem } from '@element-ps/hooks'\nimport PsInput from '@element-ps/components/input'\nimport { isNumber } from '@element-ps/utils/util'\nimport { debugWarn } from '@element-ps/utils/error'\nimport { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons'\nimport { inputNumberProps } from './input-number'\n\nimport type { ComponentPublicInstance } from 'vue'\n\ninterface IData {\n currentValue: number\n userInput: null | number | string\n}\n\nexport default defineComponent({\n name: 'PsInputNumber',\n components: {\n PsInput,\n PsIcon,\n ArrowUp,\n ArrowDown,\n Plus,\n Minus,\n },\n props: inputNumberProps,\n setup(props) {\n const input = ref<ComponentPublicInstance<typeof ElInput>>()\n const data = reactive<IData>({\n currentValue: props.modelValue,\n userInput: null,\n })\n\n const minDisabled = computed(() => _decrease(props.modelValue) < props.min)\n const maxDisabled = computed(() => _increase(props.modelValue) > props.max)\n\n const numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (props.precision !== undefined) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n })\n const controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n })\n\n const { disabled: inputNumberDisabled } = useFormItem({})\n\n const displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string = data.currentValue\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (props.precision !== undefined) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n })\n const toPrecision = (num: number, pre?: number) => {\n if (pre === undefined) pre = numPrecision.value\n return parseFloat(\n `${Math.round(num * Math.pow(10, pre)) / Math.pow(10, pre)}`\n )\n }\n const getPrecision = (value: number | undefined) => {\n if (value === undefined) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n }\n const _increase = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val + precisionFactor * props.step) / precisionFactor\n )\n }\n const _decrease = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val - precisionFactor * props.step) / precisionFactor\n )\n }\n\n onMounted(() => {\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n innerInput.setAttribute('aria-valuemax', String(props.max))\n innerInput.setAttribute('aria-valuemin', String(props.min))\n innerInput.setAttribute('aria-valuenow', String(data.currentValue))\n innerInput.setAttribute(\n 'aria-disabled',\n String(inputNumberDisabled.value)\n )\n })\n\n return {\n input,\n displayValue,\n controlsAtRight,\n maxDisabled,\n minDisabled,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_createBlock"],"mappings":";;;;;;;;;sBACEA;IACG;;;;;;;;IASO,8BADRA;;MAEE,uBAAM,8CAEmB;MADzB,MAAK;AAAA;MAGLC;yBACE;UAAkB,qCAAlBC,gEACAA;;;;;IAII,8BADRF;;MAEE,uBAAM,8CAEmB;MADzB,MAAK;AAAA;MAGLC;yBACE;UAAgB,qCAAhBC,8DACAA;;;;;IAGJD;MACE,KAAI;AAAA,MACJ,MAAK;AAAA,MACJ,eAAa;MACb,aAAa;MACb,UAAU;MACV,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,OAAO;;;;;;;"}
1
+ {"version":3,"file":"input-number.vue_vue&type=template&id=dec60af6&lang.mjs","sources":["../../../../../../../packages/components/input-number/src/input-number.vue?vue&type=template&id=dec60af6&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'el-input-number',\n inputNumberSize ? 'el-input-number--' + inputNumberSize : '',\n { 'is-disabled': inputNumberDisabled },\n { 'is-without-controls': !controls },\n { 'is-controls-right': controlsAtRight },\n ]\"\n >\n <span\n v-if=\"controls\"\n class=\"el-input-number__decrease\"\n role=\"button\"\n :class=\"{ 'is-disabled': minDisabled }\"\n >\n <ps-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </ps-icon>\n </span>\n <span\n v-if=\"controls\"\n class=\"el-input-number__increase\"\n role=\"button\"\n :class=\"{ 'is-disabled': maxDisabled }\"\n >\n <ps-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </ps-icon>\n </span>\n <ps-input\n ref=\"input\"\n type=\"number\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n />\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n reactive,\n ref,\n onMounted,\n} from 'vue'\n\nimport { PsIcon } from '@element-ps/components/icon'\nimport { useFormItem } from '@element-ps/hooks'\nimport PsInput from '@element-ps/components/input'\nimport { isNumber } from '@element-ps/utils/util'\nimport { debugWarn } from '@element-ps/utils/error'\nimport { ArrowUp, ArrowDown, Plus, Minus } from '@element-plus/icons'\nimport { inputNumberProps } from './input-number'\n\nimport type { ComponentPublicInstance } from 'vue'\n\ninterface IData {\n currentValue: number\n userInput: null | number | string\n}\n\nexport default defineComponent({\n name: 'PsInputNumber',\n components: {\n PsInput,\n PsIcon,\n ArrowUp,\n ArrowDown,\n Plus,\n Minus,\n },\n props: inputNumberProps,\n setup(props) {\n const input = ref<ComponentPublicInstance<typeof ElInput>>()\n const data = reactive<IData>({\n currentValue: props.modelValue,\n userInput: null,\n })\n\n const minDisabled = computed(() => _decrease(props.modelValue) < props.min)\n const maxDisabled = computed(() => _increase(props.modelValue) > props.max)\n\n const numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (props.precision !== undefined) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n })\n const controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n })\n\n const { size: inputNumberSize, disabled: inputNumberDisabled } = useFormItem({})\n\n const displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string = data.currentValue\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (props.precision !== undefined) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n })\n const toPrecision = (num: number, pre?: number) => {\n if (pre === undefined) pre = numPrecision.value\n return parseFloat(\n `${Math.round(num * Math.pow(10, pre)) / Math.pow(10, pre)}`\n )\n }\n const getPrecision = (value: number | undefined) => {\n if (value === undefined) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n }\n const _increase = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val + precisionFactor * props.step) / precisionFactor\n )\n }\n const _decrease = (val: number) => {\n if (!isNumber(val)) return data.currentValue\n const precisionFactor = Math.pow(10, numPrecision.value)\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n val = isNumber(val) ? val : NaN\n return toPrecision(\n (precisionFactor * val - precisionFactor * props.step) / precisionFactor\n )\n }\n\n onMounted(() => {\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n innerInput.setAttribute('aria-valuemax', String(props.max))\n innerInput.setAttribute('aria-valuemin', String(props.min))\n innerInput.setAttribute('aria-valuenow', String(data.currentValue))\n innerInput.setAttribute(\n 'aria-disabled',\n String(inputNumberDisabled.value)\n )\n })\n\n return {\n input,\n displayValue,\n controlsAtRight,\n maxDisabled,\n minDisabled,\n inputNumberSize,\n inputNumberDisabled\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_createBlock"],"mappings":";;;;;;;;;sBACEA;IACG;;;;;;;;IASO,8BADRA;;MAEE,uBAAM,8CAEmB;MADzB,MAAK;AAAA;MAGLC;yBACE;UAAkB,qCAAlBC,gEACAA;;;;;IAII,8BADRF;;MAEE,uBAAM,8CAEmB;MADzB,MAAK;AAAA;MAGLC;yBACE;UAAgB,qCAAhBC,8DACAA;;;;;IAGJD;MACE,KAAI;AAAA,MACJ,MAAK;AAAA,MACJ,eAAa;MACb,aAAa;MACb,UAAU;MACV,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,OAAO;;;;;;;"}
@@ -1,51 +1,7 @@
1
- import { buildProps, componentSize } from '../../../utils/props.mjs';
1
+ import script from './input-number.vue_vue&type=script&lang.mjs';
2
+ export { default } from './input-number.vue_vue&type=script&lang.mjs';
3
+ import { render } from './input-number.vue_vue&type=template&id=dec60af6&lang.mjs';
2
4
 
3
- const inputNumberProps = buildProps({
4
- step: {
5
- type: Number,
6
- default: 1
7
- },
8
- stepStrictly: {
9
- type: Boolean,
10
- default: false
11
- },
12
- max: {
13
- type: Number,
14
- default: Infinity
15
- },
16
- min: {
17
- type: Number,
18
- default: -Infinity
19
- },
20
- modelValue: {
21
- type: Number,
22
- required: true
23
- },
24
- disabled: {
25
- type: Boolean,
26
- default: false
27
- },
28
- size: {
29
- type: String,
30
- values: componentSize
31
- },
32
- controls: {
33
- type: Boolean,
34
- default: true
35
- },
36
- controlsPosition: {
37
- type: String,
38
- default: "",
39
- values: ["", "right"]
40
- },
41
- name: String,
42
- label: String,
43
- placeholder: String,
44
- precision: {
45
- type: Number,
46
- validator: (val) => val >= 0 && val === parseInt(`${val}`, 10)
47
- }
48
- });
49
-
50
- export { inputNumberProps };
5
+ script.render = render;
6
+ script.__file = "packages/components/input-number/src/input-number.vue";
51
7
  //# sourceMappingURL=input-number2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-number2.mjs","sources":["../../../../../../../packages/components/input-number/src/input-number.ts"],"sourcesContent":["import { buildProps, componentSize } from '@element-ps/utils/props'\n\nexport const inputNumberProps = buildProps({\n step: {\n type: Number,\n default: 1,\n },\n stepStrictly: {\n type: Boolean,\n default: false,\n },\n max: {\n type: Number,\n default: Infinity,\n },\n min: {\n type: Number,\n default: -Infinity,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n size: {\n type: String,\n values: componentSize,\n },\n controls: {\n type: Boolean,\n default: true,\n },\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n name: String,\n label: String,\n placeholder: String,\n precision: {\n type: Number,\n validator: (val: number) => val >= 0 && val === parseInt(`${val}`, 10),\n },\n} as const)\n"],"names":[],"mappings":";;MAEa,mBAAmB,WAAW;AAAA,EACzC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA;AAAA,EAEZ,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA;AAAA,EAEV,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ,CAAC,IAAI;AAAA;AAAA,EAEf,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,WAAW;AAAA,IACT,MAAM;AAAA,IACN,WAAW,CAAC,QAAgB,OAAO,KAAK,QAAQ,SAAS,GAAG,OAAO;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"input-number2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,11 +1,9 @@
1
- import './src/index.mjs';
2
- import script from './src/index.vue_vue&type=script&lang.mjs';
1
+ import { withInstall } from '../../utils/with-install.mjs';
2
+ import './src/rate2.mjs';
3
+ export { rateEmits, rateProps } from './src/rate.mjs';
4
+ import script from './src/rate.vue_vue&type=script&lang.mjs';
3
5
 
4
- script.install = (app) => {
5
- app.component(script.name, script);
6
- };
7
- const _Rate = script;
8
- const PsRate = _Rate;
6
+ const PsRate = withInstall(script);
9
7
 
10
- export { PsRate, _Rate as default };
8
+ export { PsRate, PsRate as default };
11
9
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/rate/index.ts"],"sourcesContent":["import Rate from './src/index.vue'\n\nimport type { App } from 'vue'\nimport type { SFCWithInstall } from '@element-ps/utils/types'\n\nRate.install = (app: App): void => {\n app.component(Rate.name, Rate)\n}\n\nconst _Rate = Rate as SFCWithInstall<typeof Rate>\n\nexport default _Rate\nexport const PsRate = _Rate\n"],"names":["Rate"],"mappings":";;;AAKAA,OAAK,UAAU,CAAC,QAAmB;AACjC,MAAI,UAAUA,OAAK,MAAMA;AAAA;MAGrB,QAAQA;MAGD,SAAS;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/rate/index.ts"],"sourcesContent":["import { withInstall } from '@element-ps/utils/with-install'\n\nimport Rate from './src/rate.vue'\n\nexport const PsRate = withInstall(Rate)\nexport default PsRate\n\nexport * from './src/rate'\n"],"names":["Rate"],"mappings":";;;;;MAIa,SAAS,YAAYA;;;;"}
@@ -0,0 +1,87 @@
1
+ import { StarFilled, Star } from '@element-plus/icons';
2
+ import { UPDATE_MODEL_EVENT } from '../../../utils/constants.mjs';
3
+ import { buildProps, definePropType, mutable } from '../../../utils/props.mjs';
4
+
5
+ const rateProps = buildProps({
6
+ modelValue: {
7
+ type: Number,
8
+ default: 0
9
+ },
10
+ lowThreshold: {
11
+ type: Number,
12
+ default: 2
13
+ },
14
+ highThreshold: {
15
+ type: Number,
16
+ default: 4
17
+ },
18
+ max: {
19
+ type: Number,
20
+ default: 5
21
+ },
22
+ colors: {
23
+ type: definePropType([Array, Object]),
24
+ default: () => mutable(["#F7BA2A", "#F7BA2A", "#F7BA2A"])
25
+ },
26
+ voidColor: {
27
+ type: String,
28
+ default: "#C6D1DE"
29
+ },
30
+ disabledVoidColor: {
31
+ type: String,
32
+ default: "#EFF2F7"
33
+ },
34
+ icons: {
35
+ type: definePropType([Array, Object]),
36
+ default: () => [StarFilled, StarFilled, StarFilled]
37
+ },
38
+ voidIcon: {
39
+ type: definePropType([String, Object]),
40
+ default: () => Star
41
+ },
42
+ disabledvoidIcon: {
43
+ type: definePropType([String, Object]),
44
+ default: () => StarFilled
45
+ },
46
+ disabled: {
47
+ type: Boolean,
48
+ default: false
49
+ },
50
+ allowHalf: {
51
+ type: Boolean,
52
+ default: false
53
+ },
54
+ showText: {
55
+ type: Boolean,
56
+ default: false
57
+ },
58
+ showScore: {
59
+ type: Boolean,
60
+ default: false
61
+ },
62
+ textColor: {
63
+ type: String,
64
+ default: "#1f2d3d"
65
+ },
66
+ texts: {
67
+ type: definePropType([Array]),
68
+ default: () => mutable([
69
+ "Extremely bad",
70
+ "Disappointed",
71
+ "Fair",
72
+ "Satisfied",
73
+ "Surprise"
74
+ ])
75
+ },
76
+ scoreTemplate: {
77
+ type: String,
78
+ default: "{value}"
79
+ }
80
+ });
81
+ const rateEmits = {
82
+ change: (value) => typeof value === "number",
83
+ [UPDATE_MODEL_EVENT]: (value) => typeof value === "number"
84
+ };
85
+
86
+ export { rateEmits, rateProps };
87
+ //# sourceMappingURL=rate.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate.mjs","sources":["../../../../../../../packages/components/rate/src/rate.ts"],"sourcesContent":["import { Star, StarFilled } from '@element-plus/icons'\nimport { UPDATE_MODEL_EVENT } from '@element-ps/utils/constants'\nimport { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport type { Component, ExtractPropTypes } from 'vue'\n\nexport const rateProps = buildProps({\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: definePropType<string[] | Record<number, string>>([Array, Object]),\n default: () => mutable(['#F7BA2A', '#F7BA2A', '#F7BA2A'] as const),\n },\n voidColor: {\n type: String,\n default: '#C6D1DE',\n },\n disabledVoidColor: {\n type: String,\n default: '#EFF2F7',\n },\n icons: {\n type: definePropType<\n Array<string | Component> | Record<number, string | Component>\n >([Array, Object]),\n default: () => [StarFilled, StarFilled, StarFilled],\n },\n voidIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: () => Star,\n },\n disabledvoidIcon: {\n type: definePropType<string | Component>([String, Object]),\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: definePropType<string[]>([Array]),\n default: () =>\n mutable([\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ] as const),\n },\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n} as const)\n\nexport type RateProps = ExtractPropTypes<typeof rateProps>\n\nexport const rateEmits = {\n change: (value: number) => typeof value === 'number',\n [UPDATE_MODEL_EVENT]: (value: number) => typeof value === 'number',\n}\nexport type RateEmits = typeof rateEmits\n"],"names":[],"mappings":";;;;MAKa,YAAY,WAAW;AAAA,EAClC,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,QAAQ;AAAA,IACN,MAAM,eAAkD,CAAC,OAAO;AAAA,IAChE,SAAS,MAAM,QAAQ,CAAC,WAAW,WAAW;AAAA;AAAA,EAEhD,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,OAAO;AAAA,IACL,MAAM,eAEJ,CAAC,OAAO;AAAA,IACV,SAAS,MAAM,CAAC,YAAY,YAAY;AAAA;AAAA,EAE1C,UAAU;AAAA,IACR,MAAM,eAAmC,CAAC,QAAQ;AAAA,IAClD,SAAS,MAAM;AAAA;AAAA,EAEjB,kBAAkB;AAAA,IAChB,MAAM,eAAmC,CAAC,QAAQ;AAAA,IAClD,SAAS,MAAM;AAAA;AAAA,EAEjB,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,OAAO;AAAA,IACL,MAAM,eAAyB,CAAC;AAAA,IAChC,SAAS,MACP,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA,EAGN,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA;AAAA;MAMA,YAAY;AAAA,EACvB,QAAQ,CAAC,UAAkB,OAAO,UAAU;AAAA,GAC3C,qBAAqB,CAAC,UAAkB,OAAO,UAAU;AAAA;;;;"}