element-ps 1.0.14 → 1.0.17

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 (202) hide show
  1. package/dist/index.full.js +154 -137
  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 +153 -138
  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/components/select-v2/index.d.ts +6 -6
  16. package/es/components/select-v2/src/defaults.d.ts +1 -1
  17. package/es/components/select-v2/src/select.vue.d.ts +3 -3
  18. package/es/index.mjs +9 -8
  19. package/es/index.mjs.map +1 -1
  20. package/es/packages/components/alert/index.mjs +2 -2
  21. package/es/packages/components/alert/src/alert.mjs +5 -34
  22. package/es/packages/components/alert/src/alert.mjs.map +1 -1
  23. package/es/packages/components/alert/src/alert.vue_vue&type=script&lang.mjs +1 -1
  24. package/es/packages/components/alert/src/alert2.mjs +34 -5
  25. package/es/packages/components/alert/src/alert2.mjs.map +1 -1
  26. package/es/packages/components/badge/index.mjs +2 -2
  27. package/es/packages/components/badge/src/badge.mjs +5 -20
  28. package/es/packages/components/badge/src/badge.mjs.map +1 -1
  29. package/es/packages/components/badge/src/badge.vue_vue&type=script&lang.mjs +1 -1
  30. package/es/packages/components/badge/src/badge2.mjs +20 -5
  31. package/es/packages/components/badge/src/badge2.mjs.map +1 -1
  32. package/es/packages/components/card/index.mjs +2 -2
  33. package/es/packages/components/card/src/card.mjs +17 -5
  34. package/es/packages/components/card/src/card.mjs.map +1 -1
  35. package/es/packages/components/card/src/card.vue_vue&type=script&lang.mjs +1 -1
  36. package/es/packages/components/card/src/card2.mjs +5 -17
  37. package/es/packages/components/card/src/card2.mjs.map +1 -1
  38. package/es/packages/components/cascader/src/index.vue_vue&type=script&lang.mjs.map +1 -1
  39. package/es/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.mjs +8 -6
  40. package/es/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.mjs.map +1 -1
  41. package/es/packages/components/descriptions/src/description-item.mjs +3 -0
  42. package/es/packages/components/descriptions/src/description-item.mjs.map +1 -1
  43. package/es/packages/components/descriptions/src/descriptions-cell.mjs +2 -1
  44. package/es/packages/components/descriptions/src/descriptions-cell.mjs.map +1 -1
  45. package/es/packages/components/divider/index.mjs +2 -2
  46. package/es/packages/components/divider/src/divider.mjs +15 -5
  47. package/es/packages/components/divider/src/divider.mjs.map +1 -1
  48. package/es/packages/components/divider/src/divider.vue_vue&type=script&lang.mjs +1 -1
  49. package/es/packages/components/divider/src/divider2.mjs +5 -15
  50. package/es/packages/components/divider/src/divider2.mjs.map +1 -1
  51. package/es/packages/components/image/index.mjs +2 -2
  52. package/es/packages/components/image/src/image.mjs +44 -5
  53. package/es/packages/components/image/src/image.mjs.map +1 -1
  54. package/es/packages/components/image/src/image.vue_vue&type=script&lang.mjs +1 -1
  55. package/es/packages/components/image/src/image2.mjs +5 -44
  56. package/es/packages/components/image/src/image2.mjs.map +1 -1
  57. package/es/packages/components/index.mjs +9 -8
  58. package/es/packages/components/index.mjs.map +1 -1
  59. package/es/packages/components/input-number/src/input-number.vue_vue&type=script&lang.mjs +4 -2
  60. package/es/packages/components/input-number/src/input-number.vue_vue&type=script&lang.mjs.map +1 -1
  61. package/es/packages/components/input-number/src/input-number.vue_vue&type=template&id=dec60af6&lang.mjs.map +1 -1
  62. package/es/packages/components/menu/index.mjs +4 -4
  63. package/es/packages/components/menu/src/menu-item-group.mjs +4 -5
  64. package/es/packages/components/menu/src/menu-item-group.mjs.map +1 -1
  65. package/es/packages/components/menu/src/menu-item-group.vue_vue&type=script&lang.mjs +1 -1
  66. package/es/packages/components/menu/src/menu-item-group2.mjs +5 -4
  67. package/es/packages/components/menu/src/menu-item-group2.mjs.map +1 -1
  68. package/es/packages/components/menu/src/menu-item.mjs +18 -5
  69. package/es/packages/components/menu/src/menu-item.mjs.map +1 -1
  70. package/es/packages/components/menu/src/menu-item.vue_vue&type=script&lang.mjs +1 -1
  71. package/es/packages/components/menu/src/menu-item2.mjs +5 -18
  72. package/es/packages/components/menu/src/menu-item2.mjs.map +1 -1
  73. package/es/packages/components/rate/index.mjs +6 -8
  74. package/es/packages/components/rate/index.mjs.map +1 -1
  75. package/es/packages/components/rate/src/rate.mjs +87 -0
  76. package/es/packages/components/rate/src/rate.mjs.map +1 -0
  77. package/es/packages/components/rate/src/{index.vue_vue&type=script&lang.mjs → rate.vue_vue&type=script&lang.mjs} +19 -88
  78. package/es/packages/components/rate/src/rate.vue_vue&type=script&lang.mjs.map +1 -0
  79. 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
  80. package/es/packages/components/rate/src/rate.vue_vue&type=template&id=38c42df6&lang.mjs.map +1 -0
  81. package/es/packages/components/rate/src/rate2.mjs +7 -0
  82. package/es/packages/components/rate/src/rate2.mjs.map +1 -0
  83. package/es/packages/components/select-v2/src/defaults.mjs +1 -1
  84. package/es/packages/components/select-v2/src/defaults.mjs.map +1 -1
  85. package/es/packages/components/select-v2/src/select.vue_vue&type=script&lang.mjs.map +1 -1
  86. package/es/packages/components/select-v2/src/select.vue_vue&type=template&id=13e598a4&lang.mjs +4 -4
  87. package/es/packages/components/select-v2/src/select.vue_vue&type=template&id=13e598a4&lang.mjs.map +1 -1
  88. package/es/packages/components/select-v2/src/useSelect.mjs +8 -8
  89. package/es/packages/components/select-v2/src/useSelect.mjs.map +1 -1
  90. package/es/packages/components/tag/index.mjs +2 -2
  91. package/es/packages/components/tag/src/tag.mjs +5 -26
  92. package/es/packages/components/tag/src/tag.mjs.map +1 -1
  93. package/es/packages/components/tag/src/tag.vue_vue&type=script&lang.mjs +1 -1
  94. package/es/packages/components/tag/src/tag2.mjs +26 -5
  95. package/es/packages/components/tag/src/tag2.mjs.map +1 -1
  96. package/es/version.d.ts +1 -1
  97. package/es/version.mjs +1 -1
  98. package/es/version.mjs.map +1 -1
  99. package/lib/components/descriptions/index.d.ts +14 -2
  100. package/lib/components/descriptions/src/description-item.d.ts +7 -1
  101. package/lib/components/descriptions/src/descriptions.type.d.ts +1 -0
  102. package/lib/components/input-number/index.d.ts +2 -0
  103. package/lib/components/input-number/src/input-number.vue.d.ts +2 -0
  104. package/lib/components/rate/index.d.ts +75 -246
  105. package/lib/components/rate/src/rate.d.ts +26 -0
  106. package/lib/components/rate/src/rate.vue.d.ts +108 -0
  107. package/lib/components/select-v2/index.d.ts +6 -6
  108. package/lib/components/select-v2/src/defaults.d.ts +1 -1
  109. package/lib/components/select-v2/src/select.vue.d.ts +3 -3
  110. package/lib/index.js +11 -8
  111. package/lib/index.js.map +1 -1
  112. package/lib/packages/components/alert/index.js +2 -2
  113. package/lib/packages/components/alert/src/alert.js +5 -33
  114. package/lib/packages/components/alert/src/alert.js.map +1 -1
  115. package/lib/packages/components/alert/src/alert.vue_vue&type=script&lang.js +1 -1
  116. package/lib/packages/components/alert/src/alert2.js +33 -5
  117. package/lib/packages/components/alert/src/alert2.js.map +1 -1
  118. package/lib/packages/components/badge/index.js +2 -2
  119. package/lib/packages/components/badge/src/badge.js +5 -19
  120. package/lib/packages/components/badge/src/badge.js.map +1 -1
  121. package/lib/packages/components/badge/src/badge.vue_vue&type=script&lang.js +1 -1
  122. package/lib/packages/components/badge/src/badge2.js +19 -5
  123. package/lib/packages/components/badge/src/badge2.js.map +1 -1
  124. package/lib/packages/components/card/index.js +2 -2
  125. package/lib/packages/components/card/src/card.js +16 -5
  126. package/lib/packages/components/card/src/card.js.map +1 -1
  127. package/lib/packages/components/card/src/card.vue_vue&type=script&lang.js +1 -1
  128. package/lib/packages/components/card/src/card2.js +5 -16
  129. package/lib/packages/components/card/src/card2.js.map +1 -1
  130. package/lib/packages/components/cascader/src/index.vue_vue&type=script&lang.js.map +1 -1
  131. package/lib/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.js +8 -6
  132. package/lib/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.js.map +1 -1
  133. package/lib/packages/components/descriptions/src/description-item.js +3 -0
  134. package/lib/packages/components/descriptions/src/description-item.js.map +1 -1
  135. package/lib/packages/components/descriptions/src/descriptions-cell.js +2 -1
  136. package/lib/packages/components/descriptions/src/descriptions-cell.js.map +1 -1
  137. package/lib/packages/components/divider/index.js +2 -2
  138. package/lib/packages/components/divider/src/divider.js +14 -5
  139. package/lib/packages/components/divider/src/divider.js.map +1 -1
  140. package/lib/packages/components/divider/src/divider.vue_vue&type=script&lang.js +1 -1
  141. package/lib/packages/components/divider/src/divider2.js +5 -14
  142. package/lib/packages/components/divider/src/divider2.js.map +1 -1
  143. package/lib/packages/components/image/index.js +2 -2
  144. package/lib/packages/components/image/src/image.js +44 -5
  145. package/lib/packages/components/image/src/image.js.map +1 -1
  146. package/lib/packages/components/image/src/image.vue_vue&type=script&lang.js +1 -1
  147. package/lib/packages/components/image/src/image2.js +5 -44
  148. package/lib/packages/components/image/src/image2.js.map +1 -1
  149. package/lib/packages/components/index.js +11 -8
  150. package/lib/packages/components/index.js.map +1 -1
  151. package/lib/packages/components/input-number/src/input-number.vue_vue&type=script&lang.js +4 -2
  152. package/lib/packages/components/input-number/src/input-number.vue_vue&type=script&lang.js.map +1 -1
  153. package/lib/packages/components/input-number/src/input-number.vue_vue&type=template&id=dec60af6&lang.js.map +1 -1
  154. package/lib/packages/components/menu/index.js +4 -4
  155. package/lib/packages/components/menu/src/menu-item-group.js +4 -6
  156. package/lib/packages/components/menu/src/menu-item-group.js.map +1 -1
  157. package/lib/packages/components/menu/src/menu-item-group.vue_vue&type=script&lang.js +1 -1
  158. package/lib/packages/components/menu/src/menu-item-group2.js +6 -4
  159. package/lib/packages/components/menu/src/menu-item-group2.js.map +1 -1
  160. package/lib/packages/components/menu/src/menu-item.js +18 -5
  161. package/lib/packages/components/menu/src/menu-item.js.map +1 -1
  162. package/lib/packages/components/menu/src/menu-item.vue_vue&type=script&lang.js +1 -1
  163. package/lib/packages/components/menu/src/menu-item2.js +5 -18
  164. package/lib/packages/components/menu/src/menu-item2.js.map +1 -1
  165. package/lib/packages/components/rate/index.js +8 -8
  166. package/lib/packages/components/rate/index.js.map +1 -1
  167. package/lib/packages/components/rate/src/rate.js +92 -0
  168. package/lib/packages/components/rate/src/rate.js.map +1 -0
  169. package/lib/packages/components/rate/src/{index.vue_vue&type=script&lang.js → rate.vue_vue&type=script&lang.js} +19 -88
  170. package/lib/packages/components/rate/src/rate.vue_vue&type=script&lang.js.map +1 -0
  171. 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
  172. package/lib/packages/components/rate/src/rate.vue_vue&type=template&id=38c42df6&lang.js.map +1 -0
  173. package/lib/packages/components/rate/src/rate2.js +12 -0
  174. package/lib/packages/components/rate/src/rate2.js.map +1 -0
  175. package/lib/packages/components/select-v2/src/defaults.js +1 -1
  176. package/lib/packages/components/select-v2/src/defaults.js.map +1 -1
  177. package/lib/packages/components/select-v2/src/select.vue_vue&type=script&lang.js.map +1 -1
  178. package/lib/packages/components/select-v2/src/select.vue_vue&type=template&id=13e598a4&lang.js +4 -4
  179. package/lib/packages/components/select-v2/src/select.vue_vue&type=template&id=13e598a4&lang.js.map +1 -1
  180. package/lib/packages/components/select-v2/src/useSelect.js +8 -8
  181. package/lib/packages/components/select-v2/src/useSelect.js.map +1 -1
  182. package/lib/packages/components/tag/index.js +2 -2
  183. package/lib/packages/components/tag/src/tag.js +5 -25
  184. package/lib/packages/components/tag/src/tag.js.map +1 -1
  185. package/lib/packages/components/tag/src/tag.vue_vue&type=script&lang.js +1 -1
  186. package/lib/packages/components/tag/src/tag2.js +25 -5
  187. package/lib/packages/components/tag/src/tag2.js.map +1 -1
  188. package/lib/version.d.ts +1 -1
  189. package/lib/version.js +1 -1
  190. package/lib/version.js.map +1 -1
  191. package/package.json +1 -1
  192. package/web-types.json +1 -1
  193. package/es/components/rate/src/index.vue.d.ts +0 -141
  194. package/es/packages/components/rate/src/index.mjs +0 -7
  195. package/es/packages/components/rate/src/index.mjs.map +0 -1
  196. package/es/packages/components/rate/src/index.vue_vue&type=script&lang.mjs.map +0 -1
  197. package/es/packages/components/rate/src/index.vue_vue&type=template&id=55b4fa7d&lang.mjs.map +0 -1
  198. package/lib/components/rate/src/index.vue.d.ts +0 -141
  199. package/lib/packages/components/rate/src/index.js +0 -12
  200. package/lib/packages/components/rate/src/index.js.map +0 -1
  201. package/lib/packages/components/rate/src/index.vue_vue&type=script&lang.js.map +0 -1
  202. package/lib/packages/components/rate/src/index.vue_vue&type=template&id=55b4fa7d&lang.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue_vue&type=script&lang.js","sources":["../../../../../../../packages/components/cascader/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'el-cascader',\n realSize && `el-cascader--${realSize}`,\n { 'is-disabled': isDisabled },\n ]\"\n >\n <ps-input\n ref='input'\n v-model.trim='inputValue'\n :placeholder='inputPlaceholder'\n :readonly='readonly'\n :disabled='isDisabled'\n :validate-event='false'\n :size='realSize'\n :class=\"{ 'is-focus': popperVisible }\"\n >\n <template #suffix>\n <ps-icon\n v-if='clearBtnVisible'\n key='clear'\n class='el-input__icon icon-circle-close'\n >\n <circle-close />\n </ps-icon>\n <ps-icon\n v-else\n key='arrow-down'\n :class=\"[\n 'el-input__icon',\n 'icon-arrow-down',\n ]\"\n >\n <arrow-down />\n </ps-icon>\n </template>\n </ps-input>\n\n <div v-if='multiple' ref='tagWrapper' class='el-cascader__tags'>\n <ps-tag\n v-for='tag in presentTags'\n :key='tag.key'\n type='info'\n :size='tagSize'\n :hit='tag.hitState'\n :closable='tag.closable'\n disable-transitions\n >\n <span>{{ tag.text }}</span>\n </ps-tag>\n <input\n v-if='filterable && !isDisabled'\n v-model.trim='searchInputValue'\n type='text'\n class='el-cascader__search-input'\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n />\n </div>\n </div>\n</template>\n\n<script lang='ts'>\nimport {\n computed,\n defineComponent,\n inject,\n onMounted,\n ref,\n} from 'vue'\n\nimport PsCascaderPanel, {\n CommonProps\n} from '@element-ps/components/cascader-panel'\nimport PsInput from '@element-ps/components/input'\nimport PsTag from '@element-ps/components/tag'\nimport PsIcon from '@element-ps/components/icon'\n\nimport { elFormKey, elFormItemKey } from '@element-ps/tokens'\nimport { useLocaleInject } from '@element-ps/hooks'\n\nimport { useGlobalConfig } from '@element-ps/utils/util'\nimport { isValidComponentSize } from '@element-ps/utils/validators'\nimport { CircleClose, Check, ArrowDown } from '@element-plus/icons'\n\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-ps/tokens'\nimport type {\n CascaderNode,\n Tag\n} from '@element-ps/components/cascader-panel'\nimport type { ComponentSize } from '@element-ps/utils/types'\n\ntype cascaderPanelType = InstanceType<typeof PsCascaderPanel>\ntype inputType = InstanceType<typeof PsInput>\n\nconst DEFAULT_INPUT_HEIGHT = 40\n\nconst INPUT_HEIGHT_MAP = {\n medium: 36,\n small: 32,\n mini: 28\n}\n\nexport default defineComponent({\n name: 'PsCascader',\n components: {\n PsInput,\n PsTag,\n PsIcon,\n CircleClose,\n Check,\n ArrowDown\n },\n props: {\n ...CommonProps,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize\n },\n placeholder: {\n type: String\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n filterMethod: {\n type: Function as PropType<(node: CascaderNode, keyword: string) => boolean>,\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword)\n },\n separator: {\n type: String,\n default: ' / '\n },\n showAllLevels: {\n type: Boolean,\n default: true\n },\n collapseTags: Boolean,\n debounce: {\n type: Number,\n default: 300\n },\n beforeFilter: {\n type: Function as PropType<(value: string) => boolean | Promise<any>>,\n default: () => true\n },\n popperClass: {\n type: String,\n default: ''\n },\n popperAppendToBody: {\n type: Boolean,\n default: true\n },\n widget: {\n type: String\n }\n },\n setup(props) {\n let inputInitialHeight = 0\n\n const { t } = useLocaleInject()\n const $ELEMENT = useGlobalConfig()\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const input: Ref<inputType | null> = ref(null)\n const tagWrapper = ref(null)\n const panel: Ref<cascaderPanelType | null> = ref(null)\n const inputHover = ref(false)\n const filtering = ref(false)\n const inputValue = ref('')\n const searchInputValue = ref('')\n const presentTags: Ref<Tag[]> = ref([])\n\n const isDisabled = computed(() => props.disabled || elForm.disabled)\n const inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n )\n const realSize: ComputedRef<ComponentSize> = computed(\n () => props.size || elFormItem.size || $ELEMENT.size\n )\n const tagSize = computed(() =>\n ['small', 'mini'].includes(realSize.value) ? 'mini' : 'small'\n )\n const multiple = computed(() => !!props.props.multiple)\n const readonly = computed(() => !props.filterable || multiple.value)\n\n const checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n )\n const clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n })\n const presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ' '\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n })\n\n onMounted(() => {\n const inputEl = input.value?.$el\n inputInitialHeight =\n inputEl?.offsetHeight ||\n INPUT_HEIGHT_MAP[realSize.value] ||\n DEFAULT_INPUT_HEIGHT\n })\n\n return {\n input,\n tagWrapper,\n inputPlaceholder,\n presentText,\n inputValue,\n searchInputValue,\n presentTags,\n isDisabled,\n realSize,\n tagSize,\n multiple,\n readonly,\n clearBtnVisible,\n }\n }\n})\n</script>\n"],"names":["defineComponent","PsInput","PsTag","PsIcon","CircleClose","Check","ArrowDown","CommonProps","isValidComponentSize","useLocaleInject","useGlobalConfig","inject","elFormKey","elFormItemKey","ref","computed"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue_vue&type=script&lang.js","sources":["../../../../../../../packages/components/cascader/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'el-cascader',\n realSize && `el-cascader--${realSize}`,\n { 'is-disabled': isDisabled },\n ]\"\n :widget=\"widget\"\n >\n <ps-input\n ref='input'\n v-model.trim='inputValue'\n :placeholder='inputPlaceholder'\n :readonly='readonly'\n :disabled='isDisabled'\n :validate-event='false'\n :size='realSize'\n :class=\"{ 'is-focus': popperVisible }\"\n >\n <template #suffix>\n <ps-icon\n v-if='clearBtnVisible'\n key='clear'\n class='el-input__icon icon-circle-close'\n >\n <circle-close />\n </ps-icon>\n <ps-icon\n v-else\n key='arrow-down'\n :class=\"[\n 'el-input__icon',\n 'icon-arrow-down',\n ]\"\n >\n <arrow-down />\n </ps-icon>\n </template>\n </ps-input>\n\n <div v-if='multiple' ref='tagWrapper' class='el-cascader__tags'>\n <ps-tag\n v-for='tag in presentTags'\n :key='tag.key'\n type='info'\n :size='tagSize'\n :hit='tag.hitState'\n :closable='tag.closable'\n disable-transitions\n >\n <span>{{ tag.text }}</span>\n </ps-tag>\n <input\n v-if='filterable && !isDisabled'\n v-model.trim='searchInputValue'\n type='text'\n class='el-cascader__search-input'\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n />\n </div>\n </div>\n</template>\n\n<script lang='ts'>\nimport {\n computed,\n defineComponent,\n inject,\n onMounted,\n ref,\n} from 'vue'\n\nimport PsCascaderPanel, {\n CommonProps\n} from '@element-ps/components/cascader-panel'\nimport PsInput from '@element-ps/components/input'\nimport PsTag from '@element-ps/components/tag'\nimport PsIcon from '@element-ps/components/icon'\n\nimport { elFormKey, elFormItemKey } from '@element-ps/tokens'\nimport { useLocaleInject } from '@element-ps/hooks'\n\nimport { useGlobalConfig } from '@element-ps/utils/util'\nimport { isValidComponentSize } from '@element-ps/utils/validators'\nimport { CircleClose, Check, ArrowDown } from '@element-plus/icons'\n\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-ps/tokens'\nimport type {\n CascaderNode,\n Tag\n} from '@element-ps/components/cascader-panel'\nimport type { ComponentSize } from '@element-ps/utils/types'\n\ntype cascaderPanelType = InstanceType<typeof PsCascaderPanel>\ntype inputType = InstanceType<typeof PsInput>\n\nconst DEFAULT_INPUT_HEIGHT = 40\n\nconst INPUT_HEIGHT_MAP = {\n medium: 36,\n small: 32,\n mini: 28\n}\n\nexport default defineComponent({\n name: 'PsCascader',\n components: {\n PsInput,\n PsTag,\n PsIcon,\n CircleClose,\n Check,\n ArrowDown\n },\n props: {\n ...CommonProps,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize\n },\n placeholder: {\n type: String\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n filterMethod: {\n type: Function as PropType<(node: CascaderNode, keyword: string) => boolean>,\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword)\n },\n separator: {\n type: String,\n default: ' / '\n },\n showAllLevels: {\n type: Boolean,\n default: true\n },\n collapseTags: Boolean,\n debounce: {\n type: Number,\n default: 300\n },\n beforeFilter: {\n type: Function as PropType<(value: string) => boolean | Promise<any>>,\n default: () => true\n },\n popperClass: {\n type: String,\n default: ''\n },\n popperAppendToBody: {\n type: Boolean,\n default: true\n },\n widget: {\n type: String\n }\n },\n setup(props) {\n let inputInitialHeight = 0\n\n const { t } = useLocaleInject()\n const $ELEMENT = useGlobalConfig()\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const input: Ref<inputType | null> = ref(null)\n const tagWrapper = ref(null)\n const panel: Ref<cascaderPanelType | null> = ref(null)\n const inputHover = ref(false)\n const filtering = ref(false)\n const inputValue = ref('')\n const searchInputValue = ref('')\n const presentTags: Ref<Tag[]> = ref([])\n\n const isDisabled = computed(() => props.disabled || elForm.disabled)\n const inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n )\n const realSize: ComputedRef<ComponentSize> = computed(\n () => props.size || elFormItem.size || $ELEMENT.size\n )\n const tagSize = computed(() =>\n ['small', 'mini'].includes(realSize.value) ? 'mini' : 'small'\n )\n const multiple = computed(() => !!props.props.multiple)\n const readonly = computed(() => !props.filterable || multiple.value)\n\n const checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n )\n const clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n })\n const presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ' '\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n })\n\n onMounted(() => {\n const inputEl = input.value?.$el\n inputInitialHeight =\n inputEl?.offsetHeight ||\n INPUT_HEIGHT_MAP[realSize.value] ||\n DEFAULT_INPUT_HEIGHT\n })\n\n return {\n input,\n tagWrapper,\n inputPlaceholder,\n presentText,\n inputValue,\n searchInputValue,\n presentTags,\n isDisabled,\n realSize,\n tagSize,\n multiple,\n readonly,\n clearBtnVisible,\n }\n }\n})\n</script>\n"],"names":["defineComponent","PsInput","PsTag","PsIcon","CircleClose","Check","ArrowDown","CommonProps","isValidComponentSize","useLocaleInject","useGlobalConfig","inject","elFormKey","elFormItemKey","ref","computed"],"mappings":";;;;;;;;;;;;;;;;;;AAiGA,MAAM,uBAAuB;AAE7B,MAAM,mBAAmB;AAAA,EACvB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,MAAM;AAAA;AAGR,aAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,aACVC;AAAA,WACAC;AAAA,YACAC;AAAA,iBACAC;AAAA,WACAC;AAAA,eACAC;AAAA;AAAA,EAEF,OAAO;AAAA,OACFC;AAAA,IACH,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAWC;AAAA;AAAA,IAEb,aAAa;AAAA,MACX,MAAM;AAAA;AAAA,IAER,UAAU;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,CAAC,MAAoB,YAC5B,KAAK,KAAK,SAAS;AAAA;AAAA,IAEvB,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,IACd,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM;AAAA;AAAA,IAEjB,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA;AAAA;AAAA,EAGV,MAAM,OAAO;AACX,QAAI,qBAAqB;AAEzB,UAAM,EAAE,MAAMC;AACd,UAAM,WAAWC;AACjB,UAAM,SAASC,WAAOC,gBAAW;AACjC,UAAM,aAAaD,WAAOE,oBAAe;AAEzC,UAAM,QAA+BC,QAAI;AACzC,UAAM,aAAaA,QAAI;AACvB,UAAM,QAAuCA,QAAI;AACjD,UAAM,aAAaA,QAAI;AACvB,UAAM,YAAYA,QAAI;AACtB,UAAM,aAAaA,QAAI;AACvB,UAAM,mBAAmBA,QAAI;AAC7B,UAAM,cAA0BA,QAAI;AAEpC,UAAM,aAAaC,aAAS,MAAM,MAAM,YAAY,OAAO;AAC3D,UAAM,mBAAmBA,aACvB,MAAM,MAAM,eAAe,EAAE;AAE/B,UAAM,WAAuCA,aAC3C,MAAM,MAAM,QAAQ,WAAW,QAAQ,SAAS;AAElD,UAAM,UAAUA,aAAS,MACvB,CAAC,SAAS,QAAQ,SAAS,SAAS,SAAS,SAAS;AAExD,UAAM,WAAWA,aAAS,MAAM,CAAC,CAAC,MAAM,MAAM;AAC9C,UAAM,WAAWA,aAAS,MAAM,CAAC,MAAM,cAAc,SAAS;AAE9D,UAAM,eAA4CA,aAChD,MAAG;;AAAG,0BAAM,UAAN,mBAAa,iBAAgB;AAAA;AAErC,UAAM,kBAAkBA,aAAS,MAAM;AACrC,UACE,CAAC,MAAM,aACP,WAAW,SACX,UAAU,SACV,CAAC,WAAW;AAEZ,eAAO;AAET,aAAO,CAAC,CAAC,aAAa,MAAM;AAAA;AAE9B,UAAM,cAAcA,aAAS,MAAM;AACjC,YAAM,EAAE,eAAe,cAAc;AACrC,YAAM,QAAQ,aAAa;AAC3B,aAAO,MAAM,SACT,SAAS,QACP,MACA,MAAM,GAAG,SAAS,eAAe,aACnC;AAAA;AAGN,kBAAU,MAAM;;AACd,YAAM,UAAU,YAAM,UAAN,mBAAa;AAC7B,2BACE,oCAAS,iBACT,iBAAiB,SAAS,UAC1B;AAAA;AAGJ,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;"}
@@ -4,12 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
 
7
- const _hoisted_1 = {
7
+ const _hoisted_1 = ["widget"];
8
+ const _hoisted_2 = {
8
9
  key: 0,
9
10
  ref: "tagWrapper",
10
11
  class: "el-cascader__tags"
11
12
  };
12
- const _hoisted_2 = ["placeholder"];
13
+ const _hoisted_3 = ["placeholder"];
13
14
  function render(_ctx, _cache, $props, $setup, $data, $options) {
14
15
  const _component_circle_close = vue.resolveComponent("circle-close");
15
16
  const _component_ps_icon = vue.resolveComponent("ps-icon");
@@ -21,7 +22,8 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
21
22
  "el-cascader",
22
23
  _ctx.realSize && `el-cascader--${_ctx.realSize}`,
23
24
  { "is-disabled": _ctx.isDisabled }
24
- ])
25
+ ]),
26
+ widget: _ctx.widget
25
27
  }, [
26
28
  vue.createVNode(_component_ps_input, {
27
29
  ref: "input",
@@ -59,7 +61,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
59
61
  ]),
60
62
  _: 1
61
63
  }, 8, ["modelValue", "placeholder", "readonly", "disabled", "size", "class"]),
62
- _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
64
+ _ctx.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
63
65
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.presentTags, (tag) => {
64
66
  return vue.openBlock(), vue.createBlock(_component_ps_tag, {
65
67
  key: tag.key,
@@ -81,7 +83,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
81
83
  type: "text",
82
84
  class: "el-cascader__search-input",
83
85
  placeholder: _ctx.presentText ? "" : _ctx.inputPlaceholder
84
- }, null, 8, _hoisted_2)), [
86
+ }, null, 8, _hoisted_3)), [
85
87
  [
86
88
  vue.vModelText,
87
89
  _ctx.searchInputValue,
@@ -90,7 +92,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
90
92
  ]
91
93
  ]) : vue.createCommentVNode("v-if", true)
92
94
  ], 512)) : vue.createCommentVNode("v-if", true)
93
- ], 2);
95
+ ], 10, _hoisted_1);
94
96
  }
95
97
 
96
98
  exports.render = render;
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue_vue&type=template&id=0429c2db&lang.js","sources":["../../../../../../../packages/components/cascader/src/index.vue?vue&type=template&id=0429c2db&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'el-cascader',\n realSize && `el-cascader--${realSize}`,\n { 'is-disabled': isDisabled },\n ]\"\n >\n <ps-input\n ref='input'\n v-model.trim='inputValue'\n :placeholder='inputPlaceholder'\n :readonly='readonly'\n :disabled='isDisabled'\n :validate-event='false'\n :size='realSize'\n :class=\"{ 'is-focus': popperVisible }\"\n >\n <template #suffix>\n <ps-icon\n v-if='clearBtnVisible'\n key='clear'\n class='el-input__icon icon-circle-close'\n >\n <circle-close />\n </ps-icon>\n <ps-icon\n v-else\n key='arrow-down'\n :class=\"[\n 'el-input__icon',\n 'icon-arrow-down',\n ]\"\n >\n <arrow-down />\n </ps-icon>\n </template>\n </ps-input>\n\n <div v-if='multiple' ref='tagWrapper' class='el-cascader__tags'>\n <ps-tag\n v-for='tag in presentTags'\n :key='tag.key'\n type='info'\n :size='tagSize'\n :hit='tag.hitState'\n :closable='tag.closable'\n disable-transitions\n >\n <span>{{ tag.text }}</span>\n </ps-tag>\n <input\n v-if='filterable && !isDisabled'\n v-model.trim='searchInputValue'\n type='text'\n class='el-cascader__search-input'\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n />\n </div>\n </div>\n</template>\n\n<script lang='ts'>\nimport {\n computed,\n defineComponent,\n inject,\n onMounted,\n ref,\n} from 'vue'\n\nimport PsCascaderPanel, {\n CommonProps\n} from '@element-ps/components/cascader-panel'\nimport PsInput from '@element-ps/components/input'\nimport PsTag from '@element-ps/components/tag'\nimport PsIcon from '@element-ps/components/icon'\n\nimport { elFormKey, elFormItemKey } from '@element-ps/tokens'\nimport { useLocaleInject } from '@element-ps/hooks'\n\nimport { useGlobalConfig } from '@element-ps/utils/util'\nimport { isValidComponentSize } from '@element-ps/utils/validators'\nimport { CircleClose, Check, ArrowDown } from '@element-plus/icons'\n\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-ps/tokens'\nimport type {\n CascaderNode,\n Tag\n} from '@element-ps/components/cascader-panel'\nimport type { ComponentSize } from '@element-ps/utils/types'\n\ntype cascaderPanelType = InstanceType<typeof PsCascaderPanel>\ntype inputType = InstanceType<typeof PsInput>\n\nconst DEFAULT_INPUT_HEIGHT = 40\n\nconst INPUT_HEIGHT_MAP = {\n medium: 36,\n small: 32,\n mini: 28\n}\n\nexport default defineComponent({\n name: 'PsCascader',\n components: {\n PsInput,\n PsTag,\n PsIcon,\n CircleClose,\n Check,\n ArrowDown\n },\n props: {\n ...CommonProps,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize\n },\n placeholder: {\n type: String\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n filterMethod: {\n type: Function as PropType<(node: CascaderNode, keyword: string) => boolean>,\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword)\n },\n separator: {\n type: String,\n default: ' / '\n },\n showAllLevels: {\n type: Boolean,\n default: true\n },\n collapseTags: Boolean,\n debounce: {\n type: Number,\n default: 300\n },\n beforeFilter: {\n type: Function as PropType<(value: string) => boolean | Promise<any>>,\n default: () => true\n },\n popperClass: {\n type: String,\n default: ''\n },\n popperAppendToBody: {\n type: Boolean,\n default: true\n },\n widget: {\n type: String\n }\n },\n setup(props) {\n let inputInitialHeight = 0\n\n const { t } = useLocaleInject()\n const $ELEMENT = useGlobalConfig()\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const input: Ref<inputType | null> = ref(null)\n const tagWrapper = ref(null)\n const panel: Ref<cascaderPanelType | null> = ref(null)\n const inputHover = ref(false)\n const filtering = ref(false)\n const inputValue = ref('')\n const searchInputValue = ref('')\n const presentTags: Ref<Tag[]> = ref([])\n\n const isDisabled = computed(() => props.disabled || elForm.disabled)\n const inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n )\n const realSize: ComputedRef<ComponentSize> = computed(\n () => props.size || elFormItem.size || $ELEMENT.size\n )\n const tagSize = computed(() =>\n ['small', 'mini'].includes(realSize.value) ? 'mini' : 'small'\n )\n const multiple = computed(() => !!props.props.multiple)\n const readonly = computed(() => !props.filterable || multiple.value)\n\n const checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n )\n const clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n })\n const presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ' '\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n })\n\n onMounted(() => {\n const inputEl = input.value?.$el\n inputInitialHeight =\n inputEl?.offsetHeight ||\n INPUT_HEIGHT_MAP[realSize.value] ||\n DEFAULT_INPUT_HEIGHT\n })\n\n return {\n input,\n tagWrapper,\n inputPlaceholder,\n presentText,\n inputValue,\n searchInputValue,\n presentTags,\n isDisabled,\n realSize,\n tagSize,\n multiple,\n readonly,\n clearBtnVisible,\n }\n }\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_createBlock","_createElementVNode"],"mappings":";;;;;;;;EAuCyB,KAAI;AAAA,EAAa,OAAM;AAAA;;;;;;;;0BAtC9CA;IACG;;;;;;IAMDC;MACE,KAAI;AAAA,kBACU;mEAAA;sBAAd;MACC,aAAa;MACb,UAAU;MACV,UAAU;MACV,kBAAgB;AAAA,MAChB,MAAM;MACN,wCAAqB;;MAEX,oBACT;QACQ,yCADRC;UAEE,KAAI;AAAA,UACJ,OAAM;AAAA;+BAEN;YAAAD;;;gCAEFC;UAEE,KAAI;AAAA,UACH,0BAAO;AAAA;;;;+BAKR;YAAAD;;;;;;;IAKK,kCAAXD,8BAAA;4BACEA,0DACgB,mBAAP;gCADTE;UAEG,KAAK,IAAI;AAAA,UACV,MAAK;AAAA,UACJ,MAAM;UACN,KAAK,IAAI;AAAA,UACT,UAAU,IAAI;AAAA,UACf,uBAAA;AAAA;+BAEA;YAAAC,yDAAS,IAAI;;;;;MAGP,oBAAe,uDADvBH;;qEAEgB;QACd,MAAK;AAAA,QACL,OAAM;AAAA,QACL,aAAa,wBAAmB;;;;UAHnB;;kBAAd;AAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"index.vue_vue&type=template&id=0429c2db&lang.js","sources":["../../../../../../../packages/components/cascader/src/index.vue?vue&type=template&id=0429c2db&lang.js"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'el-cascader',\n realSize && `el-cascader--${realSize}`,\n { 'is-disabled': isDisabled },\n ]\"\n :widget=\"widget\"\n >\n <ps-input\n ref='input'\n v-model.trim='inputValue'\n :placeholder='inputPlaceholder'\n :readonly='readonly'\n :disabled='isDisabled'\n :validate-event='false'\n :size='realSize'\n :class=\"{ 'is-focus': popperVisible }\"\n >\n <template #suffix>\n <ps-icon\n v-if='clearBtnVisible'\n key='clear'\n class='el-input__icon icon-circle-close'\n >\n <circle-close />\n </ps-icon>\n <ps-icon\n v-else\n key='arrow-down'\n :class=\"[\n 'el-input__icon',\n 'icon-arrow-down',\n ]\"\n >\n <arrow-down />\n </ps-icon>\n </template>\n </ps-input>\n\n <div v-if='multiple' ref='tagWrapper' class='el-cascader__tags'>\n <ps-tag\n v-for='tag in presentTags'\n :key='tag.key'\n type='info'\n :size='tagSize'\n :hit='tag.hitState'\n :closable='tag.closable'\n disable-transitions\n >\n <span>{{ tag.text }}</span>\n </ps-tag>\n <input\n v-if='filterable && !isDisabled'\n v-model.trim='searchInputValue'\n type='text'\n class='el-cascader__search-input'\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n />\n </div>\n </div>\n</template>\n\n<script lang='ts'>\nimport {\n computed,\n defineComponent,\n inject,\n onMounted,\n ref,\n} from 'vue'\n\nimport PsCascaderPanel, {\n CommonProps\n} from '@element-ps/components/cascader-panel'\nimport PsInput from '@element-ps/components/input'\nimport PsTag from '@element-ps/components/tag'\nimport PsIcon from '@element-ps/components/icon'\n\nimport { elFormKey, elFormItemKey } from '@element-ps/tokens'\nimport { useLocaleInject } from '@element-ps/hooks'\n\nimport { useGlobalConfig } from '@element-ps/utils/util'\nimport { isValidComponentSize } from '@element-ps/utils/validators'\nimport { CircleClose, Check, ArrowDown } from '@element-plus/icons'\n\nimport type { ComputedRef, PropType, Ref } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-ps/tokens'\nimport type {\n CascaderNode,\n Tag\n} from '@element-ps/components/cascader-panel'\nimport type { ComponentSize } from '@element-ps/utils/types'\n\ntype cascaderPanelType = InstanceType<typeof PsCascaderPanel>\ntype inputType = InstanceType<typeof PsInput>\n\nconst DEFAULT_INPUT_HEIGHT = 40\n\nconst INPUT_HEIGHT_MAP = {\n medium: 36,\n small: 32,\n mini: 28\n}\n\nexport default defineComponent({\n name: 'PsCascader',\n components: {\n PsInput,\n PsTag,\n PsIcon,\n CircleClose,\n Check,\n ArrowDown\n },\n props: {\n ...CommonProps,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize\n },\n placeholder: {\n type: String\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n filterMethod: {\n type: Function as PropType<(node: CascaderNode, keyword: string) => boolean>,\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword)\n },\n separator: {\n type: String,\n default: ' / '\n },\n showAllLevels: {\n type: Boolean,\n default: true\n },\n collapseTags: Boolean,\n debounce: {\n type: Number,\n default: 300\n },\n beforeFilter: {\n type: Function as PropType<(value: string) => boolean | Promise<any>>,\n default: () => true\n },\n popperClass: {\n type: String,\n default: ''\n },\n popperAppendToBody: {\n type: Boolean,\n default: true\n },\n widget: {\n type: String\n }\n },\n setup(props) {\n let inputInitialHeight = 0\n\n const { t } = useLocaleInject()\n const $ELEMENT = useGlobalConfig()\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n\n const input: Ref<inputType | null> = ref(null)\n const tagWrapper = ref(null)\n const panel: Ref<cascaderPanelType | null> = ref(null)\n const inputHover = ref(false)\n const filtering = ref(false)\n const inputValue = ref('')\n const searchInputValue = ref('')\n const presentTags: Ref<Tag[]> = ref([])\n\n const isDisabled = computed(() => props.disabled || elForm.disabled)\n const inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n )\n const realSize: ComputedRef<ComponentSize> = computed(\n () => props.size || elFormItem.size || $ELEMENT.size\n )\n const tagSize = computed(() =>\n ['small', 'mini'].includes(realSize.value) ? 'mini' : 'small'\n )\n const multiple = computed(() => !!props.props.multiple)\n const readonly = computed(() => !props.filterable || multiple.value)\n\n const checkedNodes: ComputedRef<CascaderNode[]> = computed(\n () => panel.value?.checkedNodes || []\n )\n const clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n })\n const presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ' '\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n })\n\n onMounted(() => {\n const inputEl = input.value?.$el\n inputInitialHeight =\n inputEl?.offsetHeight ||\n INPUT_HEIGHT_MAP[realSize.value] ||\n DEFAULT_INPUT_HEIGHT\n })\n\n return {\n input,\n tagWrapper,\n inputPlaceholder,\n presentText,\n inputValue,\n searchInputValue,\n presentTags,\n isDisabled,\n realSize,\n tagSize,\n multiple,\n readonly,\n clearBtnVisible,\n }\n }\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_createBlock","_createElementVNode"],"mappings":";;;;;;;;;EAwCyB,KAAI;AAAA,EAAa,OAAM;AAAA;;;;;;;;0BAvC9CA;IACG;;;;;IAKA,QAAQ;;IAETC;MACE,KAAI;AAAA,kBACU;mEAAA;sBAAd;MACC,aAAa;MACb,UAAU;MACV,UAAU;MACV,kBAAgB;AAAA,MAChB,MAAM;MACN,wCAAqB;;MAEX,oBACT;QACQ,yCADRC;UAEE,KAAI;AAAA,UACJ,OAAM;AAAA;+BAEN;YAAAD;;;gCAEFC;UAEE,KAAI;AAAA,UACH,0BAAO;AAAA;;;;+BAKR;YAAAD;;;;;;;IAKK,kCAAXD,8BAAA;4BACEA,0DACgB,mBAAP;gCADTE;UAEG,KAAK,IAAI;AAAA,UACV,MAAK;AAAA,UACJ,MAAM;UACN,KAAK,IAAI;AAAA,UACT,UAAU,IAAI;AAAA,UACf,uBAAA;AAAA;+BAEA;YAAAC,yDAAS,IAAI;;;;;MAGP,oBAAe,uDADvBH;;qEAEgB;QACd,MAAK;AAAA,QACL,OAAM;AAAA,QACL,aAAa,wBAAmB;;;;UAHnB;;kBAAd;AAAA;AAAA;;;;;;;"}
@@ -38,6 +38,9 @@ var DescriptionsItem = vue.defineComponent({
38
38
  labelClassName: {
39
39
  type: String,
40
40
  default: ""
41
+ },
42
+ widget: {
43
+ type: String
41
44
  }
42
45
  }
43
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"description-item.js","sources":["../../../../../../../packages/components/descriptions/src/description-item.ts"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'PsDescriptionsItem',\n props: {\n label: {\n type: String,\n default: '',\n },\n span: {\n type: Number,\n default: 1,\n },\n width: {\n type: [String, Number],\n default: '',\n },\n minWidth: {\n type: [String, Number],\n default: '',\n },\n align: {\n type: String,\n default: 'left',\n },\n labelAlign: {\n type: String,\n default: '',\n },\n className: {\n type: String,\n default: '',\n },\n labelClassName: {\n type: String,\n default: '',\n },\n },\n})\n"],"names":["defineComponent"],"mappings":";;;;;;AAEA,uBAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"description-item.js","sources":["../../../../../../../packages/components/descriptions/src/description-item.ts"],"sourcesContent":["import { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'PsDescriptionsItem',\n props: {\n label: {\n type: String,\n default: '',\n },\n span: {\n type: Number,\n default: 1,\n },\n width: {\n type: [String, Number],\n default: '',\n },\n minWidth: {\n type: [String, Number],\n default: '',\n },\n align: {\n type: String,\n default: 'left',\n },\n labelAlign: {\n type: String,\n default: '',\n },\n className: {\n type: String,\n default: '',\n },\n labelClassName: {\n type: String,\n default: '',\n },\n widget: {\n type: String,\n }\n },\n})\n"],"names":["defineComponent"],"mappings":";;;;;;AAEA,uBAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA;AAAA;AAAA;;;;"}
@@ -51,7 +51,8 @@ var PsDescriptionsCell = vue.defineComponent({
51
51
  labelAlign,
52
52
  labelClassName
53
53
  ],
54
- colSpan: this.descriptions.direction === "vertical" ? span : 1
54
+ colSpan: this.descriptions.direction === "vertical" ? span : 1,
55
+ widget: item.widget
55
56
  }, label);
56
57
  case "content":
57
58
  return vue.h(this.tag, {
@@ -1 +1 @@
1
- {"version":3,"file":"descriptions-cell.js","sources":["../../../../../../../packages/components/descriptions/src/descriptions-cell.ts"],"sourcesContent":["import { defineComponent, h, inject } from 'vue'\nimport { addUnit } from '@element-ps/utils/util'\nimport { getNormalizedProps } from '@element-ps/utils/vnode'\nimport { elDescriptionsKey } from './token'\n\nimport type { VNode } from 'vue'\nimport type {\n IDescriptionsInject,\n IDescriptionsItemInject,\n} from './descriptions.type'\n\nexport default defineComponent({\n name: 'PsDescriptionsCell',\n props: {\n cell: {\n type: Object,\n },\n tag: {\n type: String,\n },\n type: {\n type: String,\n },\n },\n setup() {\n const descriptions = inject(elDescriptionsKey, {} as IDescriptionsInject)\n\n return {\n descriptions,\n }\n },\n render() {\n const item = getNormalizedProps(\n this.cell as VNode\n ) as IDescriptionsItemInject\n\n const label = this.cell?.children?.label?.() || item.label\n const content = this.cell?.children?.default?.()\n const span = item.span\n const align = item.align ? `is-${item.align}` : ''\n const labelAlign = item.labelAlign ? `is-${item.labelAlign}` : '' || align\n const className = item.className\n const labelClassName = item.labelClassName\n const style = {\n width: addUnit(item.width),\n minWidth: addUnit(item.minWidth),\n }\n\n switch (this.type) {\n case 'label':\n return h(\n this.tag as string,\n {\n style,\n class: [\n 'el-descriptions__cell',\n 'el-descriptions__label',\n { 'is-bordered-label': this.descriptions.border },\n labelAlign,\n labelClassName,\n ],\n colSpan: this.descriptions.direction === 'vertical' ? span : 1,\n },\n label\n )\n case 'content':\n return h(\n this.tag as string,\n {\n style,\n class: [\n 'el-descriptions__cell',\n 'el-descriptions__content',\n align,\n className,\n ],\n colSpan:\n this.descriptions.direction === 'vertical' ? span : span * 2 - 1,\n },\n content\n )\n default:\n return h(\n 'td',\n {\n style,\n class: ['el-descriptions__cell', align],\n colSpan: span,\n },\n [\n h(\n 'span',\n {\n class: ['el-descriptions__label', labelClassName],\n },\n label\n ),\n h(\n 'span',\n {\n class: ['el-descriptions__content', className],\n },\n content\n ),\n ]\n )\n }\n },\n})\n"],"names":["defineComponent","inject","elDescriptionsKey","getNormalizedProps","addUnit","h"],"mappings":";;;;;;;;;AAWA,yBAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA;AAAA,IAER,KAAK;AAAA,MACH,MAAM;AAAA;AAAA,IAER,MAAM;AAAA,MACJ,MAAM;AAAA;AAAA;AAAA,EAGV,QAAQ;AACN,UAAM,eAAeC,WAAOC,yBAAmB;AAE/C,WAAO;AAAA,MACL;AAAA;AAAA;AAAA,EAGJ,SAAS;AA/BX;AAgCI,UAAM,OAAOC,yBACX,KAAK;AAGP,UAAM,QAAQ,wBAAK,SAAL,mBAAW,aAAX,mBAAqB,UAArB,gCAAkC,KAAK;AACrD,UAAM,UAAU,uBAAK,SAAL,mBAAW,aAAX,mBAAqB,YAArB;AAChB,UAAM,OAAO,KAAK;AAClB,UAAM,QAAQ,KAAK,QAAQ,MAAM,KAAK,UAAU;AAChD,UAAM,aAAa,KAAK,aAAa,MAAM,KAAK,eAAqB;AACrE,UAAM,YAAY,KAAK;AACvB,UAAM,iBAAiB,KAAK;AAC5B,UAAM,QAAQ;AAAA,MACZ,OAAOC,aAAQ,KAAK;AAAA,MACpB,UAAUA,aAAQ,KAAK;AAAA;AAGzB,YAAQ,KAAK;AAAA,WACN;AACH,eAAOC,MACL,KAAK,KACL;AAAA,UACE;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA,EAAE,qBAAqB,KAAK,aAAa;AAAA,YACzC;AAAA,YACA;AAAA;AAAA,UAEF,SAAS,KAAK,aAAa,cAAc,aAAa,OAAO;AAAA,WAE/D;AAAA,WAEC;AACH,eAAOA,MACL,KAAK,KACL;AAAA,UACE;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,UAEF,SACE,KAAK,aAAa,cAAc,aAAa,OAAO,OAAO,IAAI;AAAA,WAEnE;AAAA;AAGF,eAAOA,MACL,MACA;AAAA,UACE;AAAA,UACA,OAAO,CAAC,yBAAyB;AAAA,UACjC,SAAS;AAAA,WAEX;AAAA,UACEA,MACE,QACA;AAAA,YACE,OAAO,CAAC,0BAA0B;AAAA,aAEpC;AAAA,UAEFA,MACE,QACA;AAAA,YACE,OAAO,CAAC,4BAA4B;AAAA,aAEtC;AAAA;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"descriptions-cell.js","sources":["../../../../../../../packages/components/descriptions/src/descriptions-cell.ts"],"sourcesContent":["import { defineComponent, h, inject } from 'vue'\nimport { addUnit } from '@element-ps/utils/util'\nimport { getNormalizedProps } from '@element-ps/utils/vnode'\nimport { elDescriptionsKey } from './token'\n\nimport type { VNode } from 'vue'\nimport type {\n IDescriptionsInject,\n IDescriptionsItemInject,\n} from './descriptions.type'\n\nexport default defineComponent({\n name: 'PsDescriptionsCell',\n props: {\n cell: {\n type: Object,\n },\n tag: {\n type: String,\n },\n type: {\n type: String,\n },\n },\n setup() {\n const descriptions = inject(elDescriptionsKey, {} as IDescriptionsInject)\n\n return {\n descriptions,\n }\n },\n render() {\n const item = getNormalizedProps(\n this.cell as VNode\n ) as IDescriptionsItemInject\n\n const label = this.cell?.children?.label?.() || item.label\n const content = this.cell?.children?.default?.()\n const span = item.span\n const align = item.align ? `is-${item.align}` : ''\n const labelAlign = item.labelAlign ? `is-${item.labelAlign}` : '' || align\n const className = item.className\n const labelClassName = item.labelClassName\n const style = {\n width: addUnit(item.width),\n minWidth: addUnit(item.minWidth),\n }\n\n switch (this.type) {\n case 'label':\n return h(\n this.tag as string,\n {\n style,\n class: [\n 'el-descriptions__cell',\n 'el-descriptions__label',\n { 'is-bordered-label': this.descriptions.border },\n labelAlign,\n labelClassName,\n ],\n colSpan: this.descriptions.direction === 'vertical' ? span : 1,\n widget: item.widget\n },\n label\n )\n case 'content':\n return h(\n this.tag as string,\n {\n style,\n class: [\n 'el-descriptions__cell',\n 'el-descriptions__content',\n align,\n className,\n ],\n colSpan:\n this.descriptions.direction === 'vertical' ? span : span * 2 - 1,\n },\n content\n )\n default:\n return h(\n 'td',\n {\n style,\n class: ['el-descriptions__cell', align],\n colSpan: span,\n },\n [\n h(\n 'span',\n {\n class: ['el-descriptions__label', labelClassName],\n },\n label\n ),\n h(\n 'span',\n {\n class: ['el-descriptions__content', className],\n },\n content\n ),\n ]\n )\n }\n },\n})\n"],"names":["defineComponent","inject","elDescriptionsKey","getNormalizedProps","addUnit","h"],"mappings":";;;;;;;;;AAWA,yBAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA;AAAA,IAER,KAAK;AAAA,MACH,MAAM;AAAA;AAAA,IAER,MAAM;AAAA,MACJ,MAAM;AAAA;AAAA;AAAA,EAGV,QAAQ;AACN,UAAM,eAAeC,WAAOC,yBAAmB;AAE/C,WAAO;AAAA,MACL;AAAA;AAAA;AAAA,EAGJ,SAAS;AA/BX;AAgCI,UAAM,OAAOC,yBACX,KAAK;AAGP,UAAM,QAAQ,wBAAK,SAAL,mBAAW,aAAX,mBAAqB,UAArB,gCAAkC,KAAK;AACrD,UAAM,UAAU,uBAAK,SAAL,mBAAW,aAAX,mBAAqB,YAArB;AAChB,UAAM,OAAO,KAAK;AAClB,UAAM,QAAQ,KAAK,QAAQ,MAAM,KAAK,UAAU;AAChD,UAAM,aAAa,KAAK,aAAa,MAAM,KAAK,eAAqB;AACrE,UAAM,YAAY,KAAK;AACvB,UAAM,iBAAiB,KAAK;AAC5B,UAAM,QAAQ;AAAA,MACZ,OAAOC,aAAQ,KAAK;AAAA,MACpB,UAAUA,aAAQ,KAAK;AAAA;AAGzB,YAAQ,KAAK;AAAA,WACN;AACH,eAAOC,MACL,KAAK,KACL;AAAA,UACE;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA,EAAE,qBAAqB,KAAK,aAAa;AAAA,YACzC;AAAA,YACA;AAAA;AAAA,UAEF,SAAS,KAAK,aAAa,cAAc,aAAa,OAAO;AAAA,UAC7D,QAAQ,KAAK;AAAA,WAEf;AAAA,WAEC;AACH,eAAOA,MACL,KAAK,KACL;AAAA,UACE;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,UAEF,SACE,KAAK,aAAa,cAAc,aAAa,OAAO,OAAO,IAAI;AAAA,WAEnE;AAAA;AAGF,eAAOA,MACL,MACA;AAAA,UACE;AAAA,UACA,OAAO,CAAC,yBAAyB;AAAA,UACjC,SAAS;AAAA,WAEX;AAAA,UACEA,MACE,QACA;AAAA,YACE,OAAO,CAAC,0BAA0B;AAAA,aAEpC;AAAA,UAEFA,MACE,QACA;AAAA,YACE,OAAO,CAAC,4BAA4B;AAAA,aAEtC;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var withInstall = require('../../utils/with-install.js');
6
- require('./src/divider.js');
7
- var divider = require('./src/divider2.js');
6
+ require('./src/divider2.js');
7
+ var divider = require('./src/divider.js');
8
8
  var divider_vue_vue_type_script_lang = require('./src/divider.vue_vue&type=script&lang.js');
9
9
 
10
10
  const PsDivider = withInstall.withInstall(divider_vue_vue_type_script_lang["default"]);
@@ -2,11 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var divider_vue_vue_type_script_lang = require('./divider.vue_vue&type=script&lang.js');
6
- var divider_vue_vue_type_template_id_6ddd3543_lang = require('./divider.vue_vue&type=template&id=6ddd3543&lang.js');
5
+ var props = require('../../../utils/props.js');
7
6
 
8
- divider_vue_vue_type_script_lang["default"].render = divider_vue_vue_type_template_id_6ddd3543_lang.render;
9
- divider_vue_vue_type_script_lang["default"].__file = "packages/components/divider/src/divider.vue";
7
+ const dividerProps = props.buildProps({
8
+ direction: {
9
+ type: String,
10
+ values: ["horizontal", "vertical"],
11
+ default: "horizontal"
12
+ },
13
+ contentPosition: {
14
+ type: String,
15
+ values: ["left", "center", "right"],
16
+ default: "center"
17
+ }
18
+ });
10
19
 
11
- exports["default"] = divider_vue_vue_type_script_lang["default"];
20
+ exports.dividerProps = dividerProps;
12
21
  //# sourceMappingURL=divider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"divider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"divider.js","sources":["../../../../../../../packages/components/divider/src/divider.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils/props'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const dividerProps = buildProps({\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n contentPosition: {\n type: String,\n values: ['left', 'center', 'right'],\n default: 'center',\n },\n} as const)\nexport type DividerProps = ExtractPropTypes<typeof dividerProps>\n"],"names":["buildProps"],"mappings":";;;;;;MAIa,eAAeA,iBAAW;AAAA,EACrC,WAAW;AAAA,IACT,MAAM;AAAA,IACN,QAAQ,CAAC,cAAc;AAAA,IACvB,SAAS;AAAA;AAAA,EAEX,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,QAAQ,CAAC,QAAQ,UAAU;AAAA,IAC3B,SAAS;AAAA;AAAA;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var divider = require('./divider2.js');
6
+ var divider = require('./divider.js');
7
7
 
8
8
  var script = vue.defineComponent({
9
9
  name: "PsDivider",
@@ -2,20 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var props = require('../../../utils/props.js');
5
+ var divider_vue_vue_type_script_lang = require('./divider.vue_vue&type=script&lang.js');
6
+ var divider_vue_vue_type_template_id_6ddd3543_lang = require('./divider.vue_vue&type=template&id=6ddd3543&lang.js');
6
7
 
7
- const dividerProps = props.buildProps({
8
- direction: {
9
- type: String,
10
- values: ["horizontal", "vertical"],
11
- default: "horizontal"
12
- },
13
- contentPosition: {
14
- type: String,
15
- values: ["left", "center", "right"],
16
- default: "center"
17
- }
18
- });
8
+ divider_vue_vue_type_script_lang["default"].render = divider_vue_vue_type_template_id_6ddd3543_lang.render;
9
+ divider_vue_vue_type_script_lang["default"].__file = "packages/components/divider/src/divider.vue";
19
10
 
20
- exports.dividerProps = dividerProps;
11
+ exports["default"] = divider_vue_vue_type_script_lang["default"];
21
12
  //# sourceMappingURL=divider2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"divider2.js","sources":["../../../../../../../packages/components/divider/src/divider.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils/props'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const dividerProps = buildProps({\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n contentPosition: {\n type: String,\n values: ['left', 'center', 'right'],\n default: 'center',\n },\n} as const)\nexport type DividerProps = ExtractPropTypes<typeof dividerProps>\n"],"names":["buildProps"],"mappings":";;;;;;MAIa,eAAeA,iBAAW;AAAA,EACrC,WAAW;AAAA,IACT,MAAM;AAAA,IACN,QAAQ,CAAC,cAAc;AAAA,IACvB,SAAS;AAAA;AAAA,EAEX,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,QAAQ,CAAC,QAAQ,UAAU;AAAA,IAC3B,SAAS;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"divider2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var withInstall = require('../../utils/with-install.js');
6
- require('./src/image.js');
7
- var image = require('./src/image2.js');
6
+ require('./src/image2.js');
7
+ var image = require('./src/image.js');
8
8
  var image_vue_vue_type_script_lang = require('./src/image.vue_vue&type=script&lang.js');
9
9
 
10
10
  const PsImage = withInstall.withInstall(image_vue_vue_type_script_lang["default"]);
@@ -2,11 +2,50 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var image_vue_vue_type_script_lang = require('./image.vue_vue&type=script&lang.js');
6
- var image_vue_vue_type_template_id_34467287_lang = require('./image.vue_vue&type=template&id=34467287&lang.js');
5
+ var props = require('../../../utils/props.js');
6
+ var util = require('../../../utils/util.js');
7
7
 
8
- image_vue_vue_type_script_lang["default"].render = image_vue_vue_type_template_id_34467287_lang.render;
9
- image_vue_vue_type_script_lang["default"].__file = "packages/components/image/src/image.vue";
8
+ const imageProps = props.buildProps({
9
+ appendToBody: {
10
+ type: Boolean,
11
+ default: false
12
+ },
13
+ hideOnClickModal: {
14
+ type: Boolean,
15
+ default: false
16
+ },
17
+ src: {
18
+ type: String,
19
+ default: ""
20
+ },
21
+ fit: {
22
+ type: String,
23
+ values: ["", "contain", "cover", "fill", "none", "scale-down"],
24
+ default: ""
25
+ },
26
+ lazy: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ scrollContainer: {
31
+ type: props.definePropType([String, Object])
32
+ },
33
+ previewSrcList: {
34
+ type: props.definePropType(Array),
35
+ default: () => props.mutable([])
36
+ },
37
+ zIndex: {
38
+ type: Number,
39
+ default: 2e3
40
+ },
41
+ widget: String
42
+ });
43
+ const imageEmits = {
44
+ error: (evt) => evt instanceof Event,
45
+ switch: (val) => util.isNumber(val),
46
+ close: () => true
47
+ };
10
48
 
11
- exports["default"] = image_vue_vue_type_script_lang["default"];
49
+ exports.imageEmits = imageEmits;
50
+ exports.imageProps = imageProps;
12
51
  //# sourceMappingURL=image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"image.js","sources":["../../../../../../../packages/components/image/src/image.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport { isNumber } from '@element-ps/utils/util'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageProps = buildProps({\n appendToBody: {\n type: Boolean,\n default: false,\n },\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n src: {\n type: String,\n default: '',\n },\n fit: {\n type: String,\n values: ['', 'contain', 'cover', 'fill', 'none', 'scale-down'],\n default: '',\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n scrollContainer: {\n type: definePropType<string | HTMLElement | undefined>([String, Object]),\n },\n previewSrcList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n zIndex: {\n type: Number,\n default: 2000,\n },\n widget: String,\n} as const)\nexport type ImageProps = ExtractPropTypes<typeof imageProps>\n\nexport const imageEmits = {\n error: (evt: Event) => evt instanceof Event,\n switch: (val: number) => isNumber(val),\n close: () => true,\n}\nexport type ImageEmits = typeof imageEmits\n"],"names":["buildProps","definePropType","mutable","isNumber"],"mappings":";;;;;;;MAKa,aAAaA,iBAAW;AAAA,EACnC,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,QAAQ,CAAC,IAAI,WAAW,SAAS,QAAQ,QAAQ;AAAA,IACjD,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,iBAAiB;AAAA,IACf,MAAMC,qBAAiD,CAAC,QAAQ;AAAA;AAAA,EAElE,gBAAgB;AAAA,IACd,MAAMA,qBAAyB;AAAA,IAC/B,SAAS,MAAMC,cAAQ;AAAA;AAAA,EAEzB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,QAAQ;AAAA;MAIG,aAAa;AAAA,EACxB,OAAO,CAAC,QAAe,eAAe;AAAA,EACtC,QAAQ,CAAC,QAAgBC,cAAS;AAAA,EAClC,OAAO,MAAM;AAAA;;;;;"}
@@ -9,7 +9,7 @@ require('../../../hooks/index.js');
9
9
  var index = require('../../image-viewer/index.js');
10
10
  var isServer = require('../../../utils/isServer.js');
11
11
  var dom = require('../../../utils/dom.js');
12
- var image = require('./image2.js');
12
+ var image = require('./image.js');
13
13
  var index$1 = require('../../../hooks/use-locale/index.js');
14
14
  var index$2 = require('../../../hooks/use-attrs/index.js');
15
15
 
@@ -2,50 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var props = require('../../../utils/props.js');
6
- var util = require('../../../utils/util.js');
5
+ var image_vue_vue_type_script_lang = require('./image.vue_vue&type=script&lang.js');
6
+ var image_vue_vue_type_template_id_34467287_lang = require('./image.vue_vue&type=template&id=34467287&lang.js');
7
7
 
8
- const imageProps = props.buildProps({
9
- appendToBody: {
10
- type: Boolean,
11
- default: false
12
- },
13
- hideOnClickModal: {
14
- type: Boolean,
15
- default: false
16
- },
17
- src: {
18
- type: String,
19
- default: ""
20
- },
21
- fit: {
22
- type: String,
23
- values: ["", "contain", "cover", "fill", "none", "scale-down"],
24
- default: ""
25
- },
26
- lazy: {
27
- type: Boolean,
28
- default: false
29
- },
30
- scrollContainer: {
31
- type: props.definePropType([String, Object])
32
- },
33
- previewSrcList: {
34
- type: props.definePropType(Array),
35
- default: () => props.mutable([])
36
- },
37
- zIndex: {
38
- type: Number,
39
- default: 2e3
40
- },
41
- widget: String
42
- });
43
- const imageEmits = {
44
- error: (evt) => evt instanceof Event,
45
- switch: (val) => util.isNumber(val),
46
- close: () => true
47
- };
8
+ image_vue_vue_type_script_lang["default"].render = image_vue_vue_type_template_id_34467287_lang.render;
9
+ image_vue_vue_type_script_lang["default"].__file = "packages/components/image/src/image.vue";
48
10
 
49
- exports.imageEmits = imageEmits;
50
- exports.imageProps = imageProps;
11
+ exports["default"] = image_vue_vue_type_script_lang["default"];
51
12
  //# sourceMappingURL=image2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image2.js","sources":["../../../../../../../packages/components/image/src/image.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport { isNumber } from '@element-ps/utils/util'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageProps = buildProps({\n appendToBody: {\n type: Boolean,\n default: false,\n },\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n src: {\n type: String,\n default: '',\n },\n fit: {\n type: String,\n values: ['', 'contain', 'cover', 'fill', 'none', 'scale-down'],\n default: '',\n },\n lazy: {\n type: Boolean,\n default: false,\n },\n scrollContainer: {\n type: definePropType<string | HTMLElement | undefined>([String, Object]),\n },\n previewSrcList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n zIndex: {\n type: Number,\n default: 2000,\n },\n widget: String,\n} as const)\nexport type ImageProps = ExtractPropTypes<typeof imageProps>\n\nexport const imageEmits = {\n error: (evt: Event) => evt instanceof Event,\n switch: (val: number) => isNumber(val),\n close: () => true,\n}\nexport type ImageEmits = typeof imageEmits\n"],"names":["buildProps","definePropType","mutable","isNumber"],"mappings":";;;;;;;MAKa,aAAaA,iBAAW;AAAA,EACnC,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,KAAK;AAAA,IACH,MAAM;AAAA,IACN,QAAQ,CAAC,IAAI,WAAW,SAAS,QAAQ,QAAQ;AAAA,IACjD,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,iBAAiB;AAAA,IACf,MAAMC,qBAAiD,CAAC,QAAQ;AAAA;AAAA,EAElE,gBAAgB;AAAA,IACd,MAAMA,qBAAyB;AAAA,IAC/B,SAAS,MAAMC,cAAQ;AAAA;AAAA,EAEzB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,QAAQ;AAAA;MAIG,aAAa;AAAA,EACxB,OAAO,CAAC,QAAe,eAAe;AAAA,EACtC,QAAQ,CAAC,QAAgBC,cAAS;AAAA,EAClC,OAAO,MAAM;AAAA;;;;;"}
1
+ {"version":3,"file":"image2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -71,31 +71,31 @@ require('./virtual-list/index.js');
71
71
  var index$12 = require('./loading/index.js');
72
72
  var index$13 = require('./popover/index.js');
73
73
  var affix = require('./affix/src/affix.js');
74
- var alert = require('./alert/src/alert.js');
74
+ var alert = require('./alert/src/alert2.js');
75
75
  var avatar = require('./avatar/src/avatar.js');
76
76
  var backtop = require('./backtop/src/backtop.js');
77
- var badge = require('./badge/src/badge.js');
77
+ var badge = require('./badge/src/badge2.js');
78
78
  var breadcrumb = require('./breadcrumb/src/breadcrumb2.js');
79
79
  var breadcrumbItem = require('./breadcrumb/src/breadcrumb-item.js');
80
80
  var button = require('./button/src/button.js');
81
- var card = require('./card/src/card2.js');
81
+ var card = require('./card/src/card.js');
82
82
  var types = require('./cascader-panel/src/types.js');
83
83
  var config = require('./cascader-panel/src/config.js');
84
84
  var col = require('./col/src/col.js');
85
85
  var configProvider = require('./config-provider/src/config-provider.js');
86
86
  var useDialog = require('./dialog/src/use-dialog.js');
87
87
  var dialog = require('./dialog/src/dialog.js');
88
- var divider = require('./divider/src/divider2.js');
88
+ var divider = require('./divider/src/divider.js');
89
89
  var empty = require('./empty/src/empty.js');
90
90
  var icon = require('./icon/src/icon.js');
91
- var image = require('./image/src/image2.js');
91
+ var image = require('./image/src/image.js');
92
92
  var imageViewer = require('./image-viewer/src/image-viewer.js');
93
93
  var input = require('./input/src/input2.js');
94
94
  var inputNumber = require('./input-number/src/input-number.js');
95
95
  var link = require('./link/src/link.js');
96
96
  var menu = require('./menu/src/menu.js');
97
- var menuItem = require('./menu/src/menu-item2.js');
98
- var menuItemGroup = require('./menu/src/menu-item-group2.js');
97
+ var menuItem = require('./menu/src/menu-item.js');
98
+ var menuItemGroup = require('./menu/src/menu-item-group.js');
99
99
  var subMenu = require('./menu/src/sub-menu.js');
100
100
  var overlay = require('./overlay/src/overlay.js');
101
101
  var pageHeader = require('./page-header/src/page-header.js');
@@ -106,12 +106,13 @@ var index$E = require('./popper/src/use-popper/index.js');
106
106
  var popper = require('./popper/src/renderers/popper.js');
107
107
  var trigger = require('./popper/src/renderers/trigger.js');
108
108
  var arrow = require('./popper/src/renderers/arrow.js');
109
+ var rate = require('./rate/src/rate.js');
109
110
  var util = require('./scrollbar/src/util.js');
110
111
  var token = require('./select/src/token.js');
111
112
  var token$1 = require('./select-v2/src/token.js');
112
113
  var space = require('./space/src/space.js');
113
114
  var useSpace = require('./space/src/use-space.js');
114
- var tag = require('./tag/src/tag.js');
115
+ var tag = require('./tag/src/tag2.js');
115
116
  var dateUtils = require('./time-picker/src/common/date-utils.js');
116
117
  var constant = require('./time-picker/src/common/constant.js');
117
118
  var props = require('./time-picker/src/common/props.js');
@@ -274,6 +275,8 @@ exports.usePopper = index$E["default"];
274
275
  exports.renderPopper = popper["default"];
275
276
  exports.renderTrigger = trigger["default"];
276
277
  exports.renderArrow = arrow["default"];
278
+ exports.rateEmits = rate.rateEmits;
279
+ exports.rateProps = rate.rateProps;
277
280
  exports.BAR_MAP = util.BAR_MAP;
278
281
  exports.renderThumbStyle = util.renderThumbStyle;
279
282
  exports.selectGroupKey = token.selectGroupKey;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,7 +45,7 @@ var script = vue.defineComponent({
45
45
  const controlsAtRight = vue.computed(() => {
46
46
  return props.controls && props.controlsPosition === "right";
47
47
  });
48
- const { disabled: inputNumberDisabled } = index$2.useFormItem({});
48
+ const { size: inputNumberSize, disabled: inputNumberDisabled } = index$2.useFormItem({});
49
49
  const displayValue = vue.computed(() => {
50
50
  if (data.userInput !== null) {
51
51
  return data.userInput;
@@ -104,7 +104,9 @@ var script = vue.defineComponent({
104
104
  displayValue,
105
105
  controlsAtRight,
106
106
  maxDisabled,
107
- minDisabled
107
+ minDisabled,
108
+ inputNumberSize,
109
+ inputNumberDisabled
108
110
  };
109
111
  }
110
112
  });
@@ -1 +1 @@
1
- {"version":3,"file":"input-number.vue_vue&type=script&lang.js","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":["defineComponent","PsInput","PsIcon","ArrowUp","ArrowDown","Plus","Minus","inputNumberProps","ref","reactive","computed","useFormItem","isNumber"],"mappings":";;;;;;;;;;;;;;AAsEA,aAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,aACVC;AAAA,YACAC;AAAA,aACAC;AAAA,eACAC;AAAA,UACAC;AAAA,WACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,MAAM,OAAO;AACX,UAAM,QAAQC;AACd,UAAM,OAAOC,aAAgB;AAAA,MAC3B,cAAc,MAAM;AAAA,MACpB,WAAW;AAAA;AAGb,UAAM,cAAcC,aAAS,MAAM,UAAU,MAAM,cAAc,MAAM;AACvE,UAAM,cAAcA,aAAS,MAAM,UAAU,MAAM,cAAc,MAAM;AAEvE,UAAM,eAAeA,aAAS,MAAM;AAClC,YAAM,gBAAgB,aAAa,MAAM;AACzC,UAAI,MAAM,cAAc,QAAW;AACjC,YAAI,gBAAgB,MAAM,WAAW;AACnC,0BACE,eACA;AAAA;AAGJ,eAAO,MAAM;AAAA,aACR;AACL,eAAO,KAAK,IAAI,aAAa,MAAM,aAAa;AAAA;AAAA;AAGpD,UAAM,kBAAkBA,aAAS,MAAM;AACrC,aAAO,MAAM,YAAY,MAAM,qBAAqB;AAAA;AAGtD,UAAM,EAAE,UAAU,wBAAwBC,oBAAY;AAEtD,UAAM,eAAeD,aAAS,MAAM;AAClC,UAAI,KAAK,cAAc,MAAM;AAC3B,eAAO,KAAK;AAAA;AAEd,UAAI,eAAgC,KAAK;AACzC,UAAIE,cAAS,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,CAACA,cAAS;AAAM,eAAO,KAAK;AAChC,YAAM,kBAAkB,KAAK,IAAI,IAAI,aAAa;AAElD,YAAMA,cAAS,OAAO,MAAM;AAC5B,aAAO,YACJ,mBAAkB,MAAM,kBAAkB,MAAM,QAAQ;AAAA;AAG7D,UAAM,YAAY,CAAC,QAAgB;AACjC,UAAI,CAACA,cAAS;AAAM,eAAO,KAAK;AAChC,YAAM,kBAAkB,KAAK,IAAI,IAAI,aAAa;AAElD,YAAMA,cAAS,OAAO,MAAM;AAC5B,aAAO,YACJ,mBAAkB,MAAM,kBAAkB,MAAM,QAAQ;AAAA;AAI7D,kBAAU,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.js","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":["defineComponent","PsInput","PsIcon","ArrowUp","ArrowDown","Plus","Minus","inputNumberProps","ref","reactive","computed","useFormItem","isNumber"],"mappings":";;;;;;;;;;;;;;AAsEA,aAAeA,oBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,aACVC;AAAA,YACAC;AAAA,aACAC;AAAA,eACAC;AAAA,UACAC;AAAA,WACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,MAAM,OAAO;AACX,UAAM,QAAQC;AACd,UAAM,OAAOC,aAAgB;AAAA,MAC3B,cAAc,MAAM;AAAA,MACpB,WAAW;AAAA;AAGb,UAAM,cAAcC,aAAS,MAAM,UAAU,MAAM,cAAc,MAAM;AACvE,UAAM,cAAcA,aAAS,MAAM,UAAU,MAAM,cAAc,MAAM;AAEvE,UAAM,eAAeA,aAAS,MAAM;AAClC,YAAM,gBAAgB,aAAa,MAAM;AACzC,UAAI,MAAM,cAAc,QAAW;AACjC,YAAI,gBAAgB,MAAM,WAAW;AACnC,0BACE,eACA;AAAA;AAGJ,eAAO,MAAM;AAAA,aACR;AACL,eAAO,KAAK,IAAI,aAAa,MAAM,aAAa;AAAA;AAAA;AAGpD,UAAM,kBAAkBA,aAAS,MAAM;AACrC,aAAO,MAAM,YAAY,MAAM,qBAAqB;AAAA;AAGtD,UAAM,EAAE,MAAM,iBAAiB,UAAU,wBAAwBC,oBAAY;AAE7E,UAAM,eAAeD,aAAS,MAAM;AAClC,UAAI,KAAK,cAAc,MAAM;AAC3B,eAAO,KAAK;AAAA;AAEd,UAAI,eAAgC,KAAK;AACzC,UAAIE,cAAS,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,CAACA,cAAS;AAAM,eAAO,KAAK;AAChC,YAAM,kBAAkB,KAAK,IAAI,IAAI,aAAa;AAElD,YAAMA,cAAS,OAAO,MAAM;AAC5B,aAAO,YACJ,mBAAkB,MAAM,kBAAkB,MAAM,QAAQ;AAAA;AAG7D,UAAM,YAAY,CAAC,QAAgB;AACjC,UAAI,CAACA,cAAS;AAAM,eAAO,KAAK;AAChC,YAAM,kBAAkB,KAAK,IAAI,IAAI,aAAa;AAElD,YAAMA,cAAS,OAAO,MAAM;AAC5B,aAAO,YACJ,mBAAkB,MAAM,kBAAkB,MAAM,QAAQ;AAAA;AAI7D,kBAAU,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.js","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":";;;;;;;;;;;;;0BACEA;IACG;;;;;;;;IASO,kCADRA;;MAEE,2BAAM,8CAEmB;MADzB,MAAK;AAAA;MAGLC;6BACE;UAAkB,yCAAlBC,wEACAA;;;;;IAII,kCADRF;;MAEE,2BAAM,8CAEmB;MADzB,MAAK;AAAA;MAGLC;6BACE;UAAgB,yCAAhBC,sEACAA;;;;;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.js","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":";;;;;;;;;;;;;0BACEA;IACG;;;;;;;;IASO,kCADRA;;MAEE,2BAAM,8CAEmB;MADzB,MAAK;AAAA;MAGLC;6BACE;UAAkB,yCAAlBC,wEACAA;;;;;IAII,kCADRF;;MAEE,2BAAM,8CAEmB;MADzB,MAAK;AAAA;MAGLC;6BACE;UAAgB,yCAAhBC,sEACAA;;;;;IAGJD;MACE,KAAI;AAAA,MACJ,MAAK;AAAA,MACJ,eAAa;MACb,aAAa;MACb,UAAU;MACV,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,OAAO;;;;;;;"}