element-ps 1.0.20 → 1.0.21

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 (176) hide show
  1. package/dist/index.full.js +3 -3
  2. package/dist/index.full.min.js +2 -2
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +2 -2
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +3 -3
  7. package/es/index.mjs +12 -12
  8. package/es/packages/components/affix/index.mjs +2 -2
  9. package/es/packages/components/affix/src/affix.mjs +22 -5
  10. package/es/packages/components/affix/src/affix.mjs.map +1 -1
  11. package/es/packages/components/affix/src/affix.vue_vue&type=script&lang.mjs +1 -1
  12. package/es/packages/components/affix/src/affix2.mjs +5 -22
  13. package/es/packages/components/affix/src/affix2.mjs.map +1 -1
  14. package/es/packages/components/backtop/index.mjs +2 -2
  15. package/es/packages/components/backtop/src/backtop.mjs +5 -19
  16. package/es/packages/components/backtop/src/backtop.mjs.map +1 -1
  17. package/es/packages/components/backtop/src/backtop.vue_vue&type=script&lang.mjs +1 -1
  18. package/es/packages/components/backtop/src/backtop2.mjs +19 -5
  19. package/es/packages/components/backtop/src/backtop2.mjs.map +1 -1
  20. package/es/packages/components/badge/index.mjs +2 -2
  21. package/es/packages/components/badge/src/badge.mjs +5 -20
  22. package/es/packages/components/badge/src/badge.mjs.map +1 -1
  23. package/es/packages/components/badge/src/badge.vue_vue&type=script&lang.mjs +1 -1
  24. package/es/packages/components/badge/src/badge2.mjs +20 -5
  25. package/es/packages/components/badge/src/badge2.mjs.map +1 -1
  26. package/es/packages/components/card/index.mjs +2 -2
  27. package/es/packages/components/card/src/card.mjs +5 -17
  28. package/es/packages/components/card/src/card.mjs.map +1 -1
  29. package/es/packages/components/card/src/card.vue_vue&type=script&lang.mjs +1 -1
  30. package/es/packages/components/card/src/card2.mjs +17 -5
  31. package/es/packages/components/card/src/card2.mjs.map +1 -1
  32. package/es/packages/components/divider/index.mjs +2 -2
  33. package/es/packages/components/divider/src/divider.mjs +5 -15
  34. package/es/packages/components/divider/src/divider.mjs.map +1 -1
  35. package/es/packages/components/divider/src/divider.vue_vue&type=script&lang.mjs +1 -1
  36. package/es/packages/components/divider/src/divider2.mjs +15 -5
  37. package/es/packages/components/divider/src/divider2.mjs.map +1 -1
  38. package/es/packages/components/dropdown/index.mjs +1 -1
  39. package/es/packages/components/dropdown/src/dropdown.mjs +5 -0
  40. package/es/packages/components/dropdown/src/dropdown.mjs.map +1 -1
  41. package/es/packages/components/dropdown/src/dropdown2.mjs +0 -5
  42. package/es/packages/components/dropdown/src/dropdown2.mjs.map +1 -1
  43. package/es/packages/components/empty/index.mjs +2 -2
  44. package/es/packages/components/empty/src/empty.mjs +5 -12
  45. package/es/packages/components/empty/src/empty.mjs.map +1 -1
  46. package/es/packages/components/empty/src/empty.vue_vue&type=script&lang.mjs +1 -1
  47. package/es/packages/components/empty/src/empty2.mjs +12 -5
  48. package/es/packages/components/empty/src/empty2.mjs.map +1 -1
  49. package/es/packages/components/form/src/form-item.vue_vue&type=script&lang.mjs.map +1 -1
  50. package/es/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.mjs +2 -2
  51. package/es/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.mjs.map +1 -1
  52. package/es/packages/components/icon/index.mjs +2 -2
  53. package/es/packages/components/icon/src/icon.mjs +5 -11
  54. package/es/packages/components/icon/src/icon.mjs.map +1 -1
  55. package/es/packages/components/icon/src/icon.vue_vue&type=script&lang.mjs +1 -1
  56. package/es/packages/components/icon/src/icon2.mjs +11 -5
  57. package/es/packages/components/icon/src/icon2.mjs.map +1 -1
  58. package/es/packages/components/image-viewer/index.mjs +2 -2
  59. package/es/packages/components/image-viewer/src/image-viewer.mjs +5 -25
  60. package/es/packages/components/image-viewer/src/image-viewer.mjs.map +1 -1
  61. package/es/packages/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.mjs +1 -1
  62. package/es/packages/components/image-viewer/src/image-viewer2.mjs +25 -5
  63. package/es/packages/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  64. package/es/packages/components/index.mjs +12 -12
  65. package/es/packages/components/input/index.mjs +2 -2
  66. package/es/packages/components/input/src/input.mjs +5 -79
  67. package/es/packages/components/input/src/input.mjs.map +1 -1
  68. package/es/packages/components/input/src/input.vue_vue&type=script&lang.mjs +1 -1
  69. package/es/packages/components/input/src/input.vue_vue&type=script&lang.mjs.map +1 -1
  70. package/es/packages/components/input/src/input.vue_vue&type=template&id=3290dcb6&lang.mjs +1 -1
  71. package/es/packages/components/input/src/input.vue_vue&type=template&id=3290dcb6&lang.mjs.map +1 -1
  72. package/es/packages/components/input/src/input2.mjs +79 -5
  73. package/es/packages/components/input/src/input2.mjs.map +1 -1
  74. package/es/packages/components/link/index.mjs +2 -2
  75. package/es/packages/components/link/src/link.mjs +20 -5
  76. package/es/packages/components/link/src/link.mjs.map +1 -1
  77. package/es/packages/components/link/src/link.vue_vue&type=script&lang.mjs +1 -1
  78. package/es/packages/components/link/src/link2.mjs +5 -20
  79. package/es/packages/components/link/src/link2.mjs.map +1 -1
  80. package/es/packages/components/menu/index.mjs +4 -4
  81. package/es/packages/components/menu/src/menu-item-group.mjs +4 -5
  82. package/es/packages/components/menu/src/menu-item-group.mjs.map +1 -1
  83. package/es/packages/components/menu/src/menu-item-group.vue_vue&type=script&lang.mjs +1 -1
  84. package/es/packages/components/menu/src/menu-item-group2.mjs +5 -4
  85. package/es/packages/components/menu/src/menu-item-group2.mjs.map +1 -1
  86. package/es/packages/components/menu/src/menu-item.mjs +5 -18
  87. package/es/packages/components/menu/src/menu-item.mjs.map +1 -1
  88. package/es/packages/components/menu/src/menu-item.vue_vue&type=script&lang.mjs +1 -1
  89. package/es/packages/components/menu/src/menu-item2.mjs +18 -5
  90. package/es/packages/components/menu/src/menu-item2.mjs.map +1 -1
  91. package/lib/index.js +12 -12
  92. package/lib/packages/components/affix/index.js +2 -2
  93. package/lib/packages/components/affix/src/affix.js +21 -5
  94. package/lib/packages/components/affix/src/affix.js.map +1 -1
  95. package/lib/packages/components/affix/src/affix.vue_vue&type=script&lang.js +1 -1
  96. package/lib/packages/components/affix/src/affix2.js +5 -21
  97. package/lib/packages/components/affix/src/affix2.js.map +1 -1
  98. package/lib/packages/components/backtop/index.js +2 -2
  99. package/lib/packages/components/backtop/src/backtop.js +6 -19
  100. package/lib/packages/components/backtop/src/backtop.js.map +1 -1
  101. package/lib/packages/components/backtop/src/backtop.vue_vue&type=script&lang.js +1 -1
  102. package/lib/packages/components/backtop/src/backtop2.js +19 -6
  103. package/lib/packages/components/backtop/src/backtop2.js.map +1 -1
  104. package/lib/packages/components/badge/index.js +2 -2
  105. package/lib/packages/components/badge/src/badge.js +5 -19
  106. package/lib/packages/components/badge/src/badge.js.map +1 -1
  107. package/lib/packages/components/badge/src/badge.vue_vue&type=script&lang.js +1 -1
  108. package/lib/packages/components/badge/src/badge2.js +19 -5
  109. package/lib/packages/components/badge/src/badge2.js.map +1 -1
  110. package/lib/packages/components/card/index.js +2 -2
  111. package/lib/packages/components/card/src/card.js +5 -16
  112. package/lib/packages/components/card/src/card.js.map +1 -1
  113. package/lib/packages/components/card/src/card.vue_vue&type=script&lang.js +1 -1
  114. package/lib/packages/components/card/src/card2.js +16 -5
  115. package/lib/packages/components/card/src/card2.js.map +1 -1
  116. package/lib/packages/components/divider/index.js +2 -2
  117. package/lib/packages/components/divider/src/divider.js +5 -14
  118. package/lib/packages/components/divider/src/divider.js.map +1 -1
  119. package/lib/packages/components/divider/src/divider.vue_vue&type=script&lang.js +1 -1
  120. package/lib/packages/components/divider/src/divider2.js +14 -5
  121. package/lib/packages/components/divider/src/divider2.js.map +1 -1
  122. package/lib/packages/components/dropdown/index.js +1 -1
  123. package/lib/packages/components/dropdown/src/dropdown.js +9 -0
  124. package/lib/packages/components/dropdown/src/dropdown.js.map +1 -1
  125. package/lib/packages/components/dropdown/src/dropdown2.js +0 -9
  126. package/lib/packages/components/dropdown/src/dropdown2.js.map +1 -1
  127. package/lib/packages/components/empty/index.js +2 -2
  128. package/lib/packages/components/empty/src/empty.js +6 -12
  129. package/lib/packages/components/empty/src/empty.js.map +1 -1
  130. package/lib/packages/components/empty/src/empty.vue_vue&type=script&lang.js +1 -1
  131. package/lib/packages/components/empty/src/empty2.js +12 -6
  132. package/lib/packages/components/empty/src/empty2.js.map +1 -1
  133. package/lib/packages/components/form/src/form-item.vue_vue&type=script&lang.js.map +1 -1
  134. package/lib/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.js +2 -2
  135. package/lib/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.js.map +1 -1
  136. package/lib/packages/components/icon/index.js +2 -2
  137. package/lib/packages/components/icon/src/icon.js +5 -10
  138. package/lib/packages/components/icon/src/icon.js.map +1 -1
  139. package/lib/packages/components/icon/src/icon.vue_vue&type=script&lang.js +1 -1
  140. package/lib/packages/components/icon/src/icon2.js +10 -5
  141. package/lib/packages/components/icon/src/icon2.js.map +1 -1
  142. package/lib/packages/components/image-viewer/index.js +2 -2
  143. package/lib/packages/components/image-viewer/src/image-viewer.js +5 -24
  144. package/lib/packages/components/image-viewer/src/image-viewer.js.map +1 -1
  145. package/lib/packages/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.js +1 -1
  146. package/lib/packages/components/image-viewer/src/image-viewer2.js +24 -5
  147. package/lib/packages/components/image-viewer/src/image-viewer2.js.map +1 -1
  148. package/lib/packages/components/index.js +12 -12
  149. package/lib/packages/components/input/index.js +2 -2
  150. package/lib/packages/components/input/src/input.js +5 -78
  151. package/lib/packages/components/input/src/input.js.map +1 -1
  152. package/lib/packages/components/input/src/input.vue_vue&type=script&lang.js +1 -1
  153. package/lib/packages/components/input/src/input.vue_vue&type=script&lang.js.map +1 -1
  154. package/lib/packages/components/input/src/input.vue_vue&type=template&id=3290dcb6&lang.js +1 -1
  155. package/lib/packages/components/input/src/input.vue_vue&type=template&id=3290dcb6&lang.js.map +1 -1
  156. package/lib/packages/components/input/src/input2.js +78 -5
  157. package/lib/packages/components/input/src/input2.js.map +1 -1
  158. package/lib/packages/components/link/index.js +2 -2
  159. package/lib/packages/components/link/src/link.js +19 -5
  160. package/lib/packages/components/link/src/link.js.map +1 -1
  161. package/lib/packages/components/link/src/link.vue_vue&type=script&lang.js +1 -1
  162. package/lib/packages/components/link/src/link2.js +5 -19
  163. package/lib/packages/components/link/src/link2.js.map +1 -1
  164. package/lib/packages/components/menu/index.js +4 -4
  165. package/lib/packages/components/menu/src/menu-item-group.js +4 -6
  166. package/lib/packages/components/menu/src/menu-item-group.js.map +1 -1
  167. package/lib/packages/components/menu/src/menu-item-group.vue_vue&type=script&lang.js +1 -1
  168. package/lib/packages/components/menu/src/menu-item-group2.js +6 -4
  169. package/lib/packages/components/menu/src/menu-item-group2.js.map +1 -1
  170. package/lib/packages/components/menu/src/menu-item.js +5 -18
  171. package/lib/packages/components/menu/src/menu-item.js.map +1 -1
  172. package/lib/packages/components/menu/src/menu-item.vue_vue&type=script&lang.js +1 -1
  173. package/lib/packages/components/menu/src/menu-item2.js +18 -5
  174. package/lib/packages/components/menu/src/menu-item2.js.map +1 -1
  175. package/package.json +1 -1
  176. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../../../../../../packages/components/icon/src/icon.ts"],"sourcesContent":["import { definePropType, buildProps } from '@element-ps/utils/props'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const iconProps = buildProps({\n size: {\n type: definePropType<number | string>([Number, String]),\n },\n color: {\n type: String,\n },\n} as const)\nexport type IconProps = ExtractPropTypes<typeof iconProps>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;MAGa,YAAYA,iBAAW;AAAA,EAClC,MAAM;AAAA,IACJ,MAAMC,qBAAgC,CAAC,QAAQ;AAAA;AAAA,EAEjD,OAAO;AAAA,IACL,MAAM;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"icon.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var util = require('../../../utils/util.js');
7
- var icon = require('./icon.js');
7
+ var icon = require('./icon2.js');
8
8
  var shared = require('@vue/shared');
9
9
 
10
10
  var script = vue.defineComponent({
@@ -2,11 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var icon_vue_vue_type_script_lang = require('./icon.vue_vue&type=script&lang.js');
6
- var icon_vue_vue_type_template_id_89b755b6_lang = require('./icon.vue_vue&type=template&id=89b755b6&lang.js');
5
+ var props = require('../../../utils/props.js');
7
6
 
8
- icon_vue_vue_type_script_lang["default"].render = icon_vue_vue_type_template_id_89b755b6_lang.render;
9
- icon_vue_vue_type_script_lang["default"].__file = "packages/components/icon/src/icon.vue";
7
+ const iconProps = props.buildProps({
8
+ size: {
9
+ type: props.definePropType([Number, String])
10
+ },
11
+ color: {
12
+ type: String
13
+ }
14
+ });
10
15
 
11
- exports["default"] = icon_vue_vue_type_script_lang["default"];
16
+ exports.iconProps = iconProps;
12
17
  //# sourceMappingURL=icon2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"icon2.js","sources":["../../../../../../../packages/components/icon/src/icon.ts"],"sourcesContent":["import { definePropType, buildProps } from '@element-ps/utils/props'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const iconProps = buildProps({\n size: {\n type: definePropType<number | string>([Number, String]),\n },\n color: {\n type: String,\n },\n} as const)\nexport type IconProps = ExtractPropTypes<typeof iconProps>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;MAGa,YAAYA,iBAAW;AAAA,EAClC,MAAM;AAAA,IACJ,MAAMC,qBAAgC,CAAC,QAAQ;AAAA;AAAA,EAEjD,OAAO;AAAA,IACL,MAAM;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/image-viewer2.js');
7
- var imageViewer = require('./src/image-viewer.js');
6
+ require('./src/image-viewer.js');
7
+ var imageViewer = require('./src/image-viewer2.js');
8
8
  var imageViewer_vue_vue_type_script_lang = require('./src/image-viewer.vue_vue&type=script&lang.js');
9
9
 
10
10
  const PsImageViewer = withInstall.withInstall(imageViewer_vue_vue_type_script_lang["default"]);
@@ -2,30 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var props = require('../../../utils/props.js');
5
+ var imageViewer_vue_vue_type_script_lang = require('./image-viewer.vue_vue&type=script&lang.js');
6
+ var imageViewer_vue_vue_type_template_id_4b22ad85_lang = require('./image-viewer.vue_vue&type=template&id=4b22ad85&lang.js');
6
7
 
7
- const imageViewerProps = props.buildProps({
8
- urlList: {
9
- type: props.definePropType(Array),
10
- default: () => props.mutable([])
11
- },
12
- zIndex: {
13
- type: Number,
14
- default: 2e3
15
- },
16
- initialIndex: {
17
- type: Number,
18
- default: 0
19
- },
20
- infinite: {
21
- type: Boolean,
22
- default: true
23
- },
24
- hideOnClickModal: {
25
- type: Boolean,
26
- default: false
27
- }
28
- });
8
+ imageViewer_vue_vue_type_script_lang["default"].render = imageViewer_vue_vue_type_template_id_4b22ad85_lang.render;
9
+ imageViewer_vue_vue_type_script_lang["default"].__file = "packages/components/image-viewer/src/image-viewer.vue";
29
10
 
30
- exports.imageViewerProps = imageViewerProps;
11
+ exports["default"] = imageViewer_vue_vue_type_script_lang["default"];
31
12
  //# sourceMappingURL=image-viewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer.js","sources":["../../../../../../../packages/components/image-viewer/src/image-viewer.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageViewerProps = buildProps({\n urlList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n zIndex: {\n type: Number,\n default: 2000,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n infinite: {\n type: Boolean,\n default: true,\n },\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\n"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;MAGa,mBAAmBA,iBAAW;AAAA,EACzC,SAAS;AAAA,IACP,MAAMC,qBAAyB;AAAA,IAC/B,SAAS,MAAMC,cAAQ;AAAA;AAAA,EAEzB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"image-viewer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var imageViewer = require('./image-viewer.js');
6
+ var imageViewer = require('./image-viewer2.js');
7
7
  var index = require('../../icon/index.js');
8
8
  var icons = require('@element-plus/icons');
9
9
 
@@ -2,11 +2,30 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var imageViewer_vue_vue_type_script_lang = require('./image-viewer.vue_vue&type=script&lang.js');
6
- var imageViewer_vue_vue_type_template_id_4b22ad85_lang = require('./image-viewer.vue_vue&type=template&id=4b22ad85&lang.js');
5
+ var props = require('../../../utils/props.js');
7
6
 
8
- imageViewer_vue_vue_type_script_lang["default"].render = imageViewer_vue_vue_type_template_id_4b22ad85_lang.render;
9
- imageViewer_vue_vue_type_script_lang["default"].__file = "packages/components/image-viewer/src/image-viewer.vue";
7
+ const imageViewerProps = props.buildProps({
8
+ urlList: {
9
+ type: props.definePropType(Array),
10
+ default: () => props.mutable([])
11
+ },
12
+ zIndex: {
13
+ type: Number,
14
+ default: 2e3
15
+ },
16
+ initialIndex: {
17
+ type: Number,
18
+ default: 0
19
+ },
20
+ infinite: {
21
+ type: Boolean,
22
+ default: true
23
+ },
24
+ hideOnClickModal: {
25
+ type: Boolean,
26
+ default: false
27
+ }
28
+ });
10
29
 
11
- exports["default"] = imageViewer_vue_vue_type_script_lang["default"];
30
+ exports.imageViewerProps = imageViewerProps;
12
31
  //# sourceMappingURL=image-viewer2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-viewer2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"image-viewer2.js","sources":["../../../../../../../packages/components/image-viewer/src/image-viewer.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageViewerProps = buildProps({\n urlList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n zIndex: {\n type: Number,\n default: 2000,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n infinite: {\n type: Boolean,\n default: true,\n },\n hideOnClickModal: {\n type: Boolean,\n default: false,\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes<typeof imageViewerProps>\n"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;MAGa,mBAAmBA,iBAAW;AAAA,EACzC,SAAS;AAAA,IACP,MAAMC,qBAAyB;AAAA,IAC/B,SAAS,MAAMC,cAAQ;AAAA;AAAA,EAEzB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA;AAAA;;;;"}
@@ -70,32 +70,32 @@ var index$11 = require('./upload/index.js');
70
70
  require('./virtual-list/index.js');
71
71
  var index$12 = require('./loading/index.js');
72
72
  var index$13 = require('./popover/index.js');
73
- var affix = require('./affix/src/affix2.js');
73
+ var affix = require('./affix/src/affix.js');
74
74
  var alert = require('./alert/src/alert2.js');
75
75
  var avatar = require('./avatar/src/avatar.js');
76
- var backtop = require('./backtop/src/backtop.js');
77
- var badge = require('./badge/src/badge.js');
76
+ var backtop = require('./backtop/src/backtop2.js');
77
+ var badge = require('./badge/src/badge2.js');
78
78
  var breadcrumb = require('./breadcrumb/src/breadcrumb.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/card.js');
81
+ var card = require('./card/src/card2.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/divider.js');
89
- var empty = require('./empty/src/empty.js');
90
- var icon = require('./icon/src/icon.js');
88
+ var divider = require('./divider/src/divider2.js');
89
+ var empty = require('./empty/src/empty2.js');
90
+ var icon = require('./icon/src/icon2.js');
91
91
  var image = require('./image/src/image.js');
92
- var imageViewer = require('./image-viewer/src/image-viewer.js');
93
- var input = require('./input/src/input.js');
92
+ var imageViewer = require('./image-viewer/src/image-viewer2.js');
93
+ var input = require('./input/src/input2.js');
94
94
  var inputNumber = require('./input-number/src/input-number.js');
95
- var link = require('./link/src/link2.js');
95
+ var link = require('./link/src/link.js');
96
96
  var menu = require('./menu/src/menu.js');
97
- var menuItem = require('./menu/src/menu-item.js');
98
- var menuItemGroup = require('./menu/src/menu-item-group2.js');
97
+ var menuItem = require('./menu/src/menu-item2.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');
@@ -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/input2.js');
7
- var input = require('./src/input.js');
6
+ require('./src/input.js');
7
+ var input = require('./src/input2.js');
8
8
  var input_vue_vue_type_script_lang = require('./src/input.vue_vue&type=script&lang.js');
9
9
 
10
10
  const PsInput = withInstall.withInstall(input_vue_vue_type_script_lang["default"]);
@@ -2,84 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../hooks/index.js');
6
- var props = require('../../../utils/props.js');
7
- var index = require('../../../hooks/use-form-item/index.js');
5
+ var input_vue_vue_type_script_lang = require('./input.vue_vue&type=script&lang.js');
6
+ var input_vue_vue_type_template_id_3290dcb6_lang = require('./input.vue_vue&type=template&id=3290dcb6&lang.js');
8
7
 
9
- const inputProps = props.buildProps({
10
- ...index.useFormItemProps,
11
- _modelValue: {
12
- type: props.definePropType(void 0),
13
- default: ""
14
- },
15
- type: {
16
- type: String,
17
- default: "text"
18
- },
19
- resize: {
20
- type: String,
21
- values: ["none", "both", "horizontal", "vertical"]
22
- },
23
- autosize: {
24
- type: props.definePropType([Boolean, Object]),
25
- default: false
26
- },
27
- autocomplete: {
28
- type: String,
29
- default: "off"
30
- },
31
- placeholder: {
32
- type: String
33
- },
34
- form: {
35
- type: String,
36
- default: ""
37
- },
38
- readonly: {
39
- type: Boolean,
40
- default: false
41
- },
42
- clearable: {
43
- type: Boolean,
44
- default: false
45
- },
46
- showPassword: {
47
- type: Boolean,
48
- default: false
49
- },
50
- showWordLimit: {
51
- type: Boolean,
52
- default: false
53
- },
54
- suffixIcon: {
55
- type: props.definePropType([String, Object]),
56
- default: ""
57
- },
58
- prefixIcon: {
59
- type: props.definePropType([String, Object]),
60
- default: ""
61
- },
62
- label: {
63
- type: String
64
- },
65
- tabindex: {
66
- type: [Number, String]
67
- },
68
- validateEvent: {
69
- type: Boolean,
70
- default: true
71
- },
72
- inputStyle: {
73
- type: props.definePropType([Object, Array, String]),
74
- default: () => props.mutable({})
75
- },
76
- maxlength: {
77
- type: [Number, String]
78
- },
79
- widget: {
80
- type: String
81
- }
82
- });
8
+ input_vue_vue_type_script_lang["default"].render = input_vue_vue_type_template_id_3290dcb6_lang.render;
9
+ input_vue_vue_type_script_lang["default"].__file = "packages/components/input/src/input.vue";
83
10
 
84
- exports.inputProps = inputProps;
11
+ exports["default"] = input_vue_vue_type_script_lang["default"];
85
12
  //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import { useFormItemProps } from '@element-ps/hooks'\nimport { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport type { StyleValue } from '@element-ps/utils/types'\nimport type { ExtractPropTypes, Component } from 'vue'\n\ntype AutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n ...useFormItemProps,\n _modelValue: {\n type: definePropType<string | number | null | undefined>(undefined),\n default: '',\n },\n type: {\n type: String,\n default: 'text',\n },\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n autosize: {\n type: definePropType<AutoSize>([Boolean, Object]),\n default: false,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n placeholder: {\n type: String,\n },\n form: {\n type: String,\n default: '',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n clearable: {\n type: Boolean,\n default: false,\n },\n showPassword: {\n type: Boolean,\n default: false,\n },\n showWordLimit: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n prefixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n label: {\n type: String,\n },\n tabindex: {\n type: [Number, String],\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n maxlength: {\n type: [Number, String],\n },\n widget: {\n type: String,\n },\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\n"],"names":["buildProps","useFormItemProps","definePropType","mutable"],"mappings":";;;;;;;;MAOa,aAAaA,iBAAW;AAAA,KAChCC;AAAA,EACH,aAAa;AAAA,IACX,MAAMC,qBAAmD;AAAA,IACzD,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,QAAQ,CAAC,QAAQ,QAAQ,cAAc;AAAA;AAAA,EAEzC,UAAU;AAAA,IACR,MAAMA,qBAAyB,CAAC,SAAS;AAAA,IACzC,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,aAAa;AAAA,IACX,MAAM;AAAA;AAAA,EAER,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAMA,qBAAmC,CAAC,QAAQ;AAAA,IAClD,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAMA,qBAAmC,CAAC,QAAQ;AAAA,IAClD,SAAS;AAAA;AAAA,EAEX,OAAO;AAAA,IACL,MAAM;AAAA;AAAA,EAER,UAAU;AAAA,IACR,MAAM,CAAC,QAAQ;AAAA;AAAA,EAEjB,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAMA,qBAA2B,CAAC,QAAQ,OAAO;AAAA,IACjD,SAAS,MAAMC,cAAQ;AAAA;AAAA,EAEzB,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ;AAAA;AAAA,EAEjB,QAAQ;AAAA,IACN,MAAM;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"input.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -9,7 +9,7 @@ var constants = require('../../../utils/constants.js');
9
9
  require('../../../utils/util.js');
10
10
  var isServer = require('../../../utils/isServer.js');
11
11
  var calcTextareaHeight = require('./calc-textarea-height.js');
12
- var input = require('./input.js');
12
+ var input = require('./input2.js');
13
13
  var index = require('../../icon/index.js');
14
14
  var icons = require('@element-plus/icons');
15
15
  var index$1 = require('../../../hooks/use-attrs/index.js');
@@ -1 +1 @@
1
- {"version":3,"file":"input.vue_vue&type=script&lang.js","sources":["../../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? 'el-textarea' : 'el-input',\n inputSize ? 'el-input--' + inputSize : '',\n {\n 'is-disabled': inputDisabled,\n 'is-exceed': inputExceed,\n 'el-input-group': $slots.prepend || $slots.append,\n 'el-input-group--append': $slots.append,\n 'el-input-group--prepend': $slots.prepend,\n 'el-input--prefix': $slots.prefix || prefixIcon,\n 'el-input--suffix':\n $slots.suffix || suffixIcon || clearable || showPassword,\n 'el-input--suffix--password-clear': clearable && showPassword,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\n :widget=\"widget || undefined\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" class=\"el-input-group__prepend\">\n <slot name=\"prepend\" />\n </div>\n\n <input\n ref=\"input\"\n class=\"el-input__inner\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n />\n\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" class=\"el-input__prefix\">\n <span class=\"el-input__prefix-inner\">\n <slot name=\"prefix\"></slot>\n <ps-icon v-if=\"prefixIcon\" class=\"el-input__icon\">\n <component :is=\"prefixIcon\" />\n </ps-icon>\n </span>\n </span>\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" class=\"el-input__suffix\">\n <span class=\"el-input__suffix-inner\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\"></slot>\n <ps-icon v-if=\"suffixIcon\" class=\"el-input__icon\">\n <component :is=\"suffixIcon\" />\n </ps-icon>\n </template>\n <ps-icon v-if=\"showClear\" class=\"el-input__icon el-input__clear\">\n <circle-close />\n </ps-icon>\n <ps-icon v-if=\"showPwdVisible\" class=\"el-input__icon el-input__clear\">\n <icon-view />\n </ps-icon>\n <span v-if=\"isWordLimitVisible\" class=\"el-input__count\">\n <span class=\"el-input__count-inner\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n </span>\n <ps-icon\n v-if=\"validateState && validateIcon\"\n class=\"el-input__icon el-input__validateIcon\"\n >\n <component :is=\"validateIcon\" />\n </ps-icon>\n </span>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" class=\"el-input-group__append\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n ref=\"textarea\"\n class=\"el-textarea__inner\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"computedTextareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n />\n <span v-if=\"isWordLimitVisible\" class=\"el-input__count\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n computed,\n watch,\n nextTick,\n getCurrentInstance,\n ref,\n shallowRef,\n onMounted,\n onUpdated,\n} from 'vue'\nimport { elFormKey, elFormItemKey } from '@element-ps/tokens'\nimport { useAttrs, useFormItem } from '@element-ps/hooks'\nimport { VALIDATE_STATE_MAP } from '@element-ps/utils/constants'\nimport { isObject } from '@element-ps/utils/util'\nimport isServer from '@element-ps/utils/isServer'\nimport { calcTextareaHeight } from './calc-textarea-height'\nimport { inputProps } from './input'\nimport type { StyleValue } from '@element-ps/utils/types'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { CircleClose, View as IconView } from '@element-plus/icons'\n\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\nexport default defineComponent({\n name: 'PsInput',\n inheritAttrs: false,\n components: { PsIcon, CircleClose, IconView },\n props: inputProps,\n\n setup(props, { slots, attrs: rawAttrs }) {\n const instance = getCurrentInstance()!\n const attrs = useAttrs()\n\n const elForm = inject(elFormKey, undefined)\n const elFormItem = inject(elFormItemKey, undefined)\n\n const { size: inputSize, disabled: inputDisabled } = useFormItem({})\n\n const input = ref<HTMLInputElement>()\n const textarea = ref<HTMLTextAreaElement>()\n const focused = ref(false)\n const hovering = ref(false)\n const passwordVisible = ref(false)\n const _textareaCalcStyle = shallowRef(props.inputStyle)\n\n const inputOrTextarea = computed(() => input.value || textarea.value)\n const needStatusIcon = computed(() => elForm?.statusIcon ?? false)\n const validateState = computed(() => elFormItem?.validateState || '')\n const validateIcon = computed(() => VALIDATE_STATE_MAP[validateState.value])\n const containerStyle = computed(() => rawAttrs.style as StyleValue)\n const computedTextareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n _textareaCalcStyle.value,\n { resize: props.resize },\n ])\n const nativeInputValue = computed(() =>\n props._modelValue === null || props._modelValue === undefined\n ? ''\n : String(props._modelValue)\n )\n const showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n )\n const showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n )\n const isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n )\n const textLength = computed(() => Array.from(nativeInputValue.value).length)\n const inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n )\n\n const resizeTextarea = () => {\n const { type, autosize } = props\n\n if (isServer || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n _textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n _textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n }\n\n const setNativeInputValue = () => {\n const input = inputOrTextarea.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n }\n\n const calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList: HTMLSpanElement[] = Array.from(\n el.querySelectorAll(`.el-input__${place}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.el-input-group__${pendant}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n }\n\n const updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n }\n\n const suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n )\n\n watch(\n () => props._modelValue,\n () => {\n nextTick(resizeTextarea)\n if (props.validateEvent) {\n elFormItem?.validate?.('change')\n }\n }\n )\n\n // native input value is set explicitly\n // do not use v-model / :value in template\n // see: https://github.com/ElemeFE/element/issues/14521\n watch(nativeInputValue, () => setNativeInputValue())\n\n // when change between <input> and <textarea>,\n // update DOM dependent value and styles\n // https://github.com/ElemeFE/element/issues/14857\n watch(\n () => props.type,\n () => {\n nextTick(() => {\n setNativeInputValue()\n resizeTextarea()\n updateIconOffset()\n })\n }\n )\n\n onMounted(() => {\n setNativeInputValue()\n updateIconOffset()\n nextTick(resizeTextarea)\n })\n\n onUpdated(() => {\n nextTick(updateIconOffset)\n })\n\n return {\n input,\n textarea,\n attrs,\n inputSize,\n validateState,\n validateIcon,\n containerStyle,\n computedTextareaStyle,\n inputDisabled,\n showClear,\n showPwdVisible,\n isWordLimitVisible,\n textLength,\n hovering,\n inputExceed,\n passwordVisible,\n inputOrTextarea,\n suffixVisible,\n }\n },\n})\n</script>\n"],"names":["defineComponent","PsIcon","CircleClose","IconView","inputProps","getCurrentInstance","useAttrs","inject","elFormKey","elFormItemKey","useFormItem","ref","shallowRef","computed","VALIDATE_STATE_MAP","isServer","isObject","calcTextareaHeight"],"mappings":"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"}
1
+ {"version":3,"file":"input.vue_vue&type=script&lang.js","sources":["../../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? 'el-textarea' : 'el-input',\n inputSize ? 'el-input--' + inputSize : '',\n {\n 'is-disabled': inputDisabled,\n 'is-exceed': inputExceed,\n 'el-input-group': $slots.prepend || $slots.append,\n 'el-input-group--append': $slots.append,\n 'el-input-group--prepend': $slots.prepend,\n 'el-input--prefix': $slots.prefix || prefixIcon,\n 'el-input--suffix':\n $slots.suffix || suffixIcon || clearable || showPassword,\n 'el-input--suffix--password-clear': clearable && showPassword,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\n :widget=\"widget\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" class=\"el-input-group__prepend\">\n <slot name=\"prepend\" />\n </div>\n\n <input\n ref=\"input\"\n class=\"el-input__inner\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n />\n\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" class=\"el-input__prefix\">\n <span class=\"el-input__prefix-inner\">\n <slot name=\"prefix\"></slot>\n <ps-icon v-if=\"prefixIcon\" class=\"el-input__icon\">\n <component :is=\"prefixIcon\" />\n </ps-icon>\n </span>\n </span>\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" class=\"el-input__suffix\">\n <span class=\"el-input__suffix-inner\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\"></slot>\n <ps-icon v-if=\"suffixIcon\" class=\"el-input__icon\">\n <component :is=\"suffixIcon\" />\n </ps-icon>\n </template>\n <ps-icon v-if=\"showClear\" class=\"el-input__icon el-input__clear\">\n <circle-close />\n </ps-icon>\n <ps-icon v-if=\"showPwdVisible\" class=\"el-input__icon el-input__clear\">\n <icon-view />\n </ps-icon>\n <span v-if=\"isWordLimitVisible\" class=\"el-input__count\">\n <span class=\"el-input__count-inner\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n </span>\n <ps-icon\n v-if=\"validateState && validateIcon\"\n class=\"el-input__icon el-input__validateIcon\"\n >\n <component :is=\"validateIcon\" />\n </ps-icon>\n </span>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" class=\"el-input-group__append\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n ref=\"textarea\"\n class=\"el-textarea__inner\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"computedTextareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n />\n <span v-if=\"isWordLimitVisible\" class=\"el-input__count\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n computed,\n watch,\n nextTick,\n getCurrentInstance,\n ref,\n shallowRef,\n onMounted,\n onUpdated,\n} from 'vue'\nimport { elFormKey, elFormItemKey } from '@element-ps/tokens'\nimport { useAttrs, useFormItem } from '@element-ps/hooks'\nimport { VALIDATE_STATE_MAP } from '@element-ps/utils/constants'\nimport { isObject } from '@element-ps/utils/util'\nimport isServer from '@element-ps/utils/isServer'\nimport { calcTextareaHeight } from './calc-textarea-height'\nimport { inputProps } from './input'\nimport type { StyleValue } from '@element-ps/utils/types'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { CircleClose, View as IconView } from '@element-plus/icons'\n\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\nexport default defineComponent({\n name: 'PsInput',\n inheritAttrs: false,\n components: { PsIcon, CircleClose, IconView },\n props: inputProps,\n\n setup(props, { slots, attrs: rawAttrs }) {\n const instance = getCurrentInstance()!\n const attrs = useAttrs()\n\n const elForm = inject(elFormKey, undefined)\n const elFormItem = inject(elFormItemKey, undefined)\n\n const { size: inputSize, disabled: inputDisabled } = useFormItem({})\n\n const input = ref<HTMLInputElement>()\n const textarea = ref<HTMLTextAreaElement>()\n const focused = ref(false)\n const hovering = ref(false)\n const passwordVisible = ref(false)\n const _textareaCalcStyle = shallowRef(props.inputStyle)\n\n const inputOrTextarea = computed(() => input.value || textarea.value)\n const needStatusIcon = computed(() => elForm?.statusIcon ?? false)\n const validateState = computed(() => elFormItem?.validateState || '')\n const validateIcon = computed(() => VALIDATE_STATE_MAP[validateState.value])\n const containerStyle = computed(() => rawAttrs.style as StyleValue)\n const computedTextareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n _textareaCalcStyle.value,\n { resize: props.resize },\n ])\n const nativeInputValue = computed(() =>\n props._modelValue === null || props._modelValue === undefined\n ? ''\n : String(props._modelValue)\n )\n const showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n )\n const showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n )\n const isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n )\n const textLength = computed(() => Array.from(nativeInputValue.value).length)\n const inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n )\n\n const resizeTextarea = () => {\n const { type, autosize } = props\n\n if (isServer || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n _textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n _textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n }\n\n const setNativeInputValue = () => {\n const input = inputOrTextarea.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n }\n\n const calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList: HTMLSpanElement[] = Array.from(\n el.querySelectorAll(`.el-input__${place}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.el-input-group__${pendant}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n }\n\n const updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n }\n\n const suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n )\n\n watch(\n () => props._modelValue,\n () => {\n nextTick(resizeTextarea)\n if (props.validateEvent) {\n elFormItem?.validate?.('change')\n }\n }\n )\n\n // native input value is set explicitly\n // do not use v-model / :value in template\n // see: https://github.com/ElemeFE/element/issues/14521\n watch(nativeInputValue, () => setNativeInputValue())\n\n // when change between <input> and <textarea>,\n // update DOM dependent value and styles\n // https://github.com/ElemeFE/element/issues/14857\n watch(\n () => props.type,\n () => {\n nextTick(() => {\n setNativeInputValue()\n resizeTextarea()\n updateIconOffset()\n })\n }\n )\n\n onMounted(() => {\n setNativeInputValue()\n updateIconOffset()\n nextTick(resizeTextarea)\n })\n\n onUpdated(() => {\n nextTick(updateIconOffset)\n })\n\n return {\n input,\n textarea,\n attrs,\n inputSize,\n validateState,\n validateIcon,\n containerStyle,\n computedTextareaStyle,\n inputDisabled,\n showClear,\n showPwdVisible,\n isWordLimitVisible,\n textLength,\n hovering,\n inputExceed,\n passwordVisible,\n inputOrTextarea,\n suffixVisible,\n }\n },\n})\n</script>\n"],"names":["defineComponent","PsIcon","CircleClose","IconView","inputProps","getCurrentInstance","useAttrs","inject","elFormKey","elFormItemKey","useFormItem","ref","shallowRef","computed","VALIDATE_STATE_MAP","isServer","isObject","calcTextareaHeight"],"mappings":"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"}
@@ -55,7 +55,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
55
55
  _ctx.$attrs.class
56
56
  ]),
57
57
  style: vue.normalizeStyle(_ctx.containerStyle),
58
- widget: _ctx.widget || void 0
58
+ widget: _ctx.widget
59
59
  }, [
60
60
  vue.createCommentVNode(" input "),
61
61
  _ctx.type !== "textarea" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
@@ -1 +1 @@
1
- {"version":3,"file":"input.vue_vue&type=template&id=3290dcb6&lang.js","sources":["../../../../../../../packages/components/input/src/input.vue?vue&type=template&id=3290dcb6&lang.js"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? 'el-textarea' : 'el-input',\n inputSize ? 'el-input--' + inputSize : '',\n {\n 'is-disabled': inputDisabled,\n 'is-exceed': inputExceed,\n 'el-input-group': $slots.prepend || $slots.append,\n 'el-input-group--append': $slots.append,\n 'el-input-group--prepend': $slots.prepend,\n 'el-input--prefix': $slots.prefix || prefixIcon,\n 'el-input--suffix':\n $slots.suffix || suffixIcon || clearable || showPassword,\n 'el-input--suffix--password-clear': clearable && showPassword,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\n :widget=\"widget || undefined\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" class=\"el-input-group__prepend\">\n <slot name=\"prepend\" />\n </div>\n\n <input\n ref=\"input\"\n class=\"el-input__inner\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n />\n\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" class=\"el-input__prefix\">\n <span class=\"el-input__prefix-inner\">\n <slot name=\"prefix\"></slot>\n <ps-icon v-if=\"prefixIcon\" class=\"el-input__icon\">\n <component :is=\"prefixIcon\" />\n </ps-icon>\n </span>\n </span>\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" class=\"el-input__suffix\">\n <span class=\"el-input__suffix-inner\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\"></slot>\n <ps-icon v-if=\"suffixIcon\" class=\"el-input__icon\">\n <component :is=\"suffixIcon\" />\n </ps-icon>\n </template>\n <ps-icon v-if=\"showClear\" class=\"el-input__icon el-input__clear\">\n <circle-close />\n </ps-icon>\n <ps-icon v-if=\"showPwdVisible\" class=\"el-input__icon el-input__clear\">\n <icon-view />\n </ps-icon>\n <span v-if=\"isWordLimitVisible\" class=\"el-input__count\">\n <span class=\"el-input__count-inner\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n </span>\n <ps-icon\n v-if=\"validateState && validateIcon\"\n class=\"el-input__icon el-input__validateIcon\"\n >\n <component :is=\"validateIcon\" />\n </ps-icon>\n </span>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" class=\"el-input-group__append\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n ref=\"textarea\"\n class=\"el-textarea__inner\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"computedTextareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n />\n <span v-if=\"isWordLimitVisible\" class=\"el-input__count\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n computed,\n watch,\n nextTick,\n getCurrentInstance,\n ref,\n shallowRef,\n onMounted,\n onUpdated,\n} from 'vue'\nimport { elFormKey, elFormItemKey } from '@element-ps/tokens'\nimport { useAttrs, useFormItem } from '@element-ps/hooks'\nimport { VALIDATE_STATE_MAP } from '@element-ps/utils/constants'\nimport { isObject } from '@element-ps/utils/util'\nimport isServer from '@element-ps/utils/isServer'\nimport { calcTextareaHeight } from './calc-textarea-height'\nimport { inputProps } from './input'\nimport type { StyleValue } from '@element-ps/utils/types'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { CircleClose, View as IconView } from '@element-plus/icons'\n\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\nexport default defineComponent({\n name: 'PsInput',\n inheritAttrs: false,\n components: { PsIcon, CircleClose, IconView },\n props: inputProps,\n\n setup(props, { slots, attrs: rawAttrs }) {\n const instance = getCurrentInstance()!\n const attrs = useAttrs()\n\n const elForm = inject(elFormKey, undefined)\n const elFormItem = inject(elFormItemKey, undefined)\n\n const { size: inputSize, disabled: inputDisabled } = useFormItem({})\n\n const input = ref<HTMLInputElement>()\n const textarea = ref<HTMLTextAreaElement>()\n const focused = ref(false)\n const hovering = ref(false)\n const passwordVisible = ref(false)\n const _textareaCalcStyle = shallowRef(props.inputStyle)\n\n const inputOrTextarea = computed(() => input.value || textarea.value)\n const needStatusIcon = computed(() => elForm?.statusIcon ?? false)\n const validateState = computed(() => elFormItem?.validateState || '')\n const validateIcon = computed(() => VALIDATE_STATE_MAP[validateState.value])\n const containerStyle = computed(() => rawAttrs.style as StyleValue)\n const computedTextareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n _textareaCalcStyle.value,\n { resize: props.resize },\n ])\n const nativeInputValue = computed(() =>\n props._modelValue === null || props._modelValue === undefined\n ? ''\n : String(props._modelValue)\n )\n const showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n )\n const showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n )\n const isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n )\n const textLength = computed(() => Array.from(nativeInputValue.value).length)\n const inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n )\n\n const resizeTextarea = () => {\n const { type, autosize } = props\n\n if (isServer || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n _textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n _textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n }\n\n const setNativeInputValue = () => {\n const input = inputOrTextarea.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n }\n\n const calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList: HTMLSpanElement[] = Array.from(\n el.querySelectorAll(`.el-input__${place}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.el-input-group__${pendant}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n }\n\n const updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n }\n\n const suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n )\n\n watch(\n () => props._modelValue,\n () => {\n nextTick(resizeTextarea)\n if (props.validateEvent) {\n elFormItem?.validate?.('change')\n }\n }\n )\n\n // native input value is set explicitly\n // do not use v-model / :value in template\n // see: https://github.com/ElemeFE/element/issues/14521\n watch(nativeInputValue, () => setNativeInputValue())\n\n // when change between <input> and <textarea>,\n // update DOM dependent value and styles\n // https://github.com/ElemeFE/element/issues/14857\n watch(\n () => props.type,\n () => {\n nextTick(() => {\n setNativeInputValue()\n resizeTextarea()\n updateIconOffset()\n })\n }\n )\n\n onMounted(() => {\n setNativeInputValue()\n updateIconOffset()\n nextTick(resizeTextarea)\n })\n\n onUpdated(() => {\n nextTick(updateIconOffset)\n })\n\n return {\n input,\n textarea,\n attrs,\n inputSize,\n validateState,\n validateIcon,\n containerStyle,\n computedTextareaStyle,\n inputDisabled,\n showClear,\n showPwdVisible,\n isWordLimitVisible,\n textLength,\n hovering,\n inputExceed,\n passwordVisible,\n inputOrTextarea,\n suffixVisible,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createCommentVNode","_renderSlot","_createElementVNode","_mergeProps","_createBlock","_createVNode"],"mappings":";;;;;;;;;EAyBiC,OAAM;AAAA;;;;EAmBQ,OAAM;AAAA;qBACvC,OAAM;;;EASa,OAAM;AAAA;qBACzB,OAAM;;;EAasB,OAAM;AAAA;qBAC9B,OAAM;;;EAcQ,OAAM;AAAA;;;;EAmBA,OAAM;AAAA;;;;;8CArG1CA;IAEG;;;;;;;;;;;;;;;IAgBA,0BAAO;IACP,QAAQ,eAAU;AAAA;IAEnBC;IACgB,6CAAhBD;MACEC;MACW,YAAO,4BAAlBD,8BAAA;QACEE;;MAGFC,gCAAAC;QACE,KAAI;AAAA,QACJ,OAAM;AAAA,SACE;QACP,MAAM,oBAAgB,6CAAyC;QAC/D,UAAU;QACV,UAAU;QACV,cAAc;QACd,UAAU;QACV,cAAY;QACZ,aAAa;QACb,OAAO;;MAGVH;MACY,YAAO,UAAU,oCAA7BD,+BAAA;QACEG,+BAAA;UACED;UACe,oCAAfG;;YAA2B,OAAM;AAAA;iCAC/B;gCAAAA,4CAAgB;;;;;;MAKtBJ;MACY,uCAAZD,+BAAA;QACEG,+BAAA;WACmB,mBAAc,wBAAmB,4CAAlDH;YACEE;YACe,oCAAfG;;cAA2B,OAAM;AAAA;mCAC/B;kCAAAA,4CAAgB;;;;;UAGL,mCAAfA;;YAA0B,OAAM;AAAA;iCAC9B;cAAAC;;;;UAEa,wCAAfD;;YAA+B,OAAM;AAAA;iCACnC;cAAAC;;;;UAEU,4CAAZN,+BAAA;YACEG,+BAAA,gCACK,+CAAmB,WAAM;;;QAK1B,sBAAiB,sCADzBE;;UAEE,OAAM;AAAA;+BAEN;8BAAAA,4CAAgB;;;;;MAIpBJ;MACW,YAAO,2BAAlBD,8BAAA;QACEE;;gCAKJF;MADAC;MAEEE,mCAAAC;QACE,KAAI;AAAA,QACJ,OAAM;AAAA,SACE;QACP,UAAU;QACV,UAAU;QACV,UAAU;QACV,cAAc;QACd,OAAO;QACP,cAAY;QACZ,aAAa;;MAEJ,4CAAZJ,+BAAA,iCACK,+CAAmB,WAAM;;;gBArGxB;;;;;;"}
1
+ {"version":3,"file":"input.vue_vue&type=template&id=3290dcb6&lang.js","sources":["../../../../../../../packages/components/input/src/input.vue?vue&type=template&id=3290dcb6&lang.js"],"sourcesContent":["<template>\n <div\n v-show=\"type !== 'hidden'\"\n :class=\"[\n type === 'textarea' ? 'el-textarea' : 'el-input',\n inputSize ? 'el-input--' + inputSize : '',\n {\n 'is-disabled': inputDisabled,\n 'is-exceed': inputExceed,\n 'el-input-group': $slots.prepend || $slots.append,\n 'el-input-group--append': $slots.append,\n 'el-input-group--prepend': $slots.prepend,\n 'el-input--prefix': $slots.prefix || prefixIcon,\n 'el-input--suffix':\n $slots.suffix || suffixIcon || clearable || showPassword,\n 'el-input--suffix--password-clear': clearable && showPassword,\n },\n $attrs.class,\n ]\"\n :style=\"containerStyle\"\n :widget=\"widget\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" class=\"el-input-group__prepend\">\n <slot name=\"prepend\" />\n </div>\n\n <input\n ref=\"input\"\n class=\"el-input__inner\"\n v-bind=\"attrs\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n />\n\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" class=\"el-input__prefix\">\n <span class=\"el-input__prefix-inner\">\n <slot name=\"prefix\"></slot>\n <ps-icon v-if=\"prefixIcon\" class=\"el-input__icon\">\n <component :is=\"prefixIcon\" />\n </ps-icon>\n </span>\n </span>\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" class=\"el-input__suffix\">\n <span class=\"el-input__suffix-inner\">\n <template v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\">\n <slot name=\"suffix\"></slot>\n <ps-icon v-if=\"suffixIcon\" class=\"el-input__icon\">\n <component :is=\"suffixIcon\" />\n </ps-icon>\n </template>\n <ps-icon v-if=\"showClear\" class=\"el-input__icon el-input__clear\">\n <circle-close />\n </ps-icon>\n <ps-icon v-if=\"showPwdVisible\" class=\"el-input__icon el-input__clear\">\n <icon-view />\n </ps-icon>\n <span v-if=\"isWordLimitVisible\" class=\"el-input__count\">\n <span class=\"el-input__count-inner\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </span>\n </span>\n <ps-icon\n v-if=\"validateState && validateIcon\"\n class=\"el-input__icon el-input__validateIcon\"\n >\n <component :is=\"validateIcon\" />\n </ps-icon>\n </span>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" class=\"el-input-group__append\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n ref=\"textarea\"\n class=\"el-textarea__inner\"\n v-bind=\"attrs\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"computedTextareaStyle\"\n :aria-label=\"label\"\n :placeholder=\"placeholder\"\n />\n <span v-if=\"isWordLimitVisible\" class=\"el-input__count\">\n {{ textLength }} / {{ attrs.maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n computed,\n watch,\n nextTick,\n getCurrentInstance,\n ref,\n shallowRef,\n onMounted,\n onUpdated,\n} from 'vue'\nimport { elFormKey, elFormItemKey } from '@element-ps/tokens'\nimport { useAttrs, useFormItem } from '@element-ps/hooks'\nimport { VALIDATE_STATE_MAP } from '@element-ps/utils/constants'\nimport { isObject } from '@element-ps/utils/util'\nimport isServer from '@element-ps/utils/isServer'\nimport { calcTextareaHeight } from './calc-textarea-height'\nimport { inputProps } from './input'\nimport type { StyleValue } from '@element-ps/utils/types'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { CircleClose, View as IconView } from '@element-plus/icons'\n\nconst PENDANT_MAP = {\n suffix: 'append',\n prefix: 'prepend',\n} as const\n\nexport default defineComponent({\n name: 'PsInput',\n inheritAttrs: false,\n components: { PsIcon, CircleClose, IconView },\n props: inputProps,\n\n setup(props, { slots, attrs: rawAttrs }) {\n const instance = getCurrentInstance()!\n const attrs = useAttrs()\n\n const elForm = inject(elFormKey, undefined)\n const elFormItem = inject(elFormItemKey, undefined)\n\n const { size: inputSize, disabled: inputDisabled } = useFormItem({})\n\n const input = ref<HTMLInputElement>()\n const textarea = ref<HTMLTextAreaElement>()\n const focused = ref(false)\n const hovering = ref(false)\n const passwordVisible = ref(false)\n const _textareaCalcStyle = shallowRef(props.inputStyle)\n\n const inputOrTextarea = computed(() => input.value || textarea.value)\n const needStatusIcon = computed(() => elForm?.statusIcon ?? false)\n const validateState = computed(() => elFormItem?.validateState || '')\n const validateIcon = computed(() => VALIDATE_STATE_MAP[validateState.value])\n const containerStyle = computed(() => rawAttrs.style as StyleValue)\n const computedTextareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n _textareaCalcStyle.value,\n { resize: props.resize },\n ])\n const nativeInputValue = computed(() =>\n props._modelValue === null || props._modelValue === undefined\n ? ''\n : String(props._modelValue)\n )\n const showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (focused.value || hovering.value)\n )\n const showPwdVisible = computed(\n () =>\n props.showPassword &&\n !inputDisabled.value &&\n !props.readonly &&\n (!!nativeInputValue.value || focused.value)\n )\n const isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!attrs.value.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n )\n const textLength = computed(() => Array.from(nativeInputValue.value).length)\n const inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value &&\n textLength.value > Number(attrs.value.maxlength)\n )\n\n const resizeTextarea = () => {\n const { type, autosize } = props\n\n if (isServer || type !== 'textarea') return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n _textareaCalcStyle.value = {\n ...calcTextareaHeight(textarea.value!, minRows, maxRows),\n }\n } else {\n _textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value!).minHeight,\n }\n }\n }\n\n const setNativeInputValue = () => {\n const input = inputOrTextarea.value\n if (!input || input.value === nativeInputValue.value) return\n input.value = nativeInputValue.value\n }\n\n const calcIconOffset = (place: 'prefix' | 'suffix') => {\n const { el } = instance.vnode\n if (!el) return\n const elList: HTMLSpanElement[] = Array.from(\n el.querySelectorAll(`.el-input__${place}`)\n )\n const target = elList.find((item) => item.parentNode === el)\n\n if (!target) return\n\n const pendant = PENDANT_MAP[place]\n\n if (slots[pendant]) {\n target.style.transform = `translateX(${place === 'suffix' ? '-' : ''}${\n el.querySelector(`.el-input-group__${pendant}`).offsetWidth\n }px)`\n } else {\n target.removeAttribute('style')\n }\n }\n\n const updateIconOffset = () => {\n calcIconOffset('prefix')\n calcIconOffset('suffix')\n }\n\n const suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n )\n\n watch(\n () => props._modelValue,\n () => {\n nextTick(resizeTextarea)\n if (props.validateEvent) {\n elFormItem?.validate?.('change')\n }\n }\n )\n\n // native input value is set explicitly\n // do not use v-model / :value in template\n // see: https://github.com/ElemeFE/element/issues/14521\n watch(nativeInputValue, () => setNativeInputValue())\n\n // when change between <input> and <textarea>,\n // update DOM dependent value and styles\n // https://github.com/ElemeFE/element/issues/14857\n watch(\n () => props.type,\n () => {\n nextTick(() => {\n setNativeInputValue()\n resizeTextarea()\n updateIconOffset()\n })\n }\n )\n\n onMounted(() => {\n setNativeInputValue()\n updateIconOffset()\n nextTick(resizeTextarea)\n })\n\n onUpdated(() => {\n nextTick(updateIconOffset)\n })\n\n return {\n input,\n textarea,\n attrs,\n inputSize,\n validateState,\n validateIcon,\n containerStyle,\n computedTextareaStyle,\n inputDisabled,\n showClear,\n showPwdVisible,\n isWordLimitVisible,\n textLength,\n hovering,\n inputExceed,\n passwordVisible,\n inputOrTextarea,\n suffixVisible,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createCommentVNode","_renderSlot","_createElementVNode","_mergeProps","_createBlock","_createVNode"],"mappings":";;;;;;;;;EAyBiC,OAAM;AAAA;;;;EAmBQ,OAAM;AAAA;qBACvC,OAAM;;;EASa,OAAM;AAAA;qBACzB,OAAM;;;EAasB,OAAM;AAAA;qBAC9B,OAAM;;;EAcQ,OAAM;AAAA;;;;EAmBA,OAAM;AAAA;;;;;8CArG1CA;IAEG;;;;;;;;;;;;;;;IAgBA,0BAAO;IACP,QAAQ;;IAETC;IACgB,6CAAhBD;MACEC;MACW,YAAO,4BAAlBD,8BAAA;QACEE;;MAGFC,gCAAAC;QACE,KAAI;AAAA,QACJ,OAAM;AAAA,SACE;QACP,MAAM,oBAAgB,6CAAyC;QAC/D,UAAU;QACV,UAAU;QACV,cAAc;QACd,UAAU;QACV,cAAY;QACZ,aAAa;QACb,OAAO;;MAGVH;MACY,YAAO,UAAU,oCAA7BD,+BAAA;QACEG,+BAAA;UACED;UACe,oCAAfG;;YAA2B,OAAM;AAAA;iCAC/B;gCAAAA,4CAAgB;;;;;;MAKtBJ;MACY,uCAAZD,+BAAA;QACEG,+BAAA;WACmB,mBAAc,wBAAmB,4CAAlDH;YACEE;YACe,oCAAfG;;cAA2B,OAAM;AAAA;mCAC/B;kCAAAA,4CAAgB;;;;;UAGL,mCAAfA;;YAA0B,OAAM;AAAA;iCAC9B;cAAAC;;;;UAEa,wCAAfD;;YAA+B,OAAM;AAAA;iCACnC;cAAAC;;;;UAEU,4CAAZN,+BAAA;YACEG,+BAAA,gCACK,+CAAmB,WAAM;;;QAK1B,sBAAiB,sCADzBE;;UAEE,OAAM;AAAA;+BAEN;8BAAAA,4CAAgB;;;;;MAIpBJ;MACW,YAAO,2BAAlBD,8BAAA;QACEE;;gCAKJF;MADAC;MAEEE,mCAAAC;QACE,KAAI;AAAA,QACJ,OAAM;AAAA,SACE;QACP,UAAU;QACV,UAAU;QACV,UAAU;QACV,cAAc;QACd,OAAO;QACP,cAAY;QACZ,aAAa;;MAEJ,4CAAZJ,+BAAA,iCACK,+CAAmB,WAAM;;;gBArGxB;;;;;;"}
@@ -2,11 +2,84 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var input_vue_vue_type_script_lang = require('./input.vue_vue&type=script&lang.js');
6
- var input_vue_vue_type_template_id_3290dcb6_lang = require('./input.vue_vue&type=template&id=3290dcb6&lang.js');
5
+ require('../../../hooks/index.js');
6
+ var props = require('../../../utils/props.js');
7
+ var index = require('../../../hooks/use-form-item/index.js');
7
8
 
8
- input_vue_vue_type_script_lang["default"].render = input_vue_vue_type_template_id_3290dcb6_lang.render;
9
- input_vue_vue_type_script_lang["default"].__file = "packages/components/input/src/input.vue";
9
+ const inputProps = props.buildProps({
10
+ ...index.useFormItemProps,
11
+ _modelValue: {
12
+ type: props.definePropType(void 0),
13
+ default: ""
14
+ },
15
+ type: {
16
+ type: String,
17
+ default: "text"
18
+ },
19
+ resize: {
20
+ type: String,
21
+ values: ["none", "both", "horizontal", "vertical"]
22
+ },
23
+ autosize: {
24
+ type: props.definePropType([Boolean, Object]),
25
+ default: false
26
+ },
27
+ autocomplete: {
28
+ type: String,
29
+ default: "off"
30
+ },
31
+ placeholder: {
32
+ type: String
33
+ },
34
+ form: {
35
+ type: String,
36
+ default: ""
37
+ },
38
+ readonly: {
39
+ type: Boolean,
40
+ default: false
41
+ },
42
+ clearable: {
43
+ type: Boolean,
44
+ default: false
45
+ },
46
+ showPassword: {
47
+ type: Boolean,
48
+ default: false
49
+ },
50
+ showWordLimit: {
51
+ type: Boolean,
52
+ default: false
53
+ },
54
+ suffixIcon: {
55
+ type: props.definePropType([String, Object]),
56
+ default: ""
57
+ },
58
+ prefixIcon: {
59
+ type: props.definePropType([String, Object]),
60
+ default: ""
61
+ },
62
+ label: {
63
+ type: String
64
+ },
65
+ tabindex: {
66
+ type: [Number, String]
67
+ },
68
+ validateEvent: {
69
+ type: Boolean,
70
+ default: true
71
+ },
72
+ inputStyle: {
73
+ type: props.definePropType([Object, Array, String]),
74
+ default: () => props.mutable({})
75
+ },
76
+ maxlength: {
77
+ type: [Number, String]
78
+ },
79
+ widget: {
80
+ type: String
81
+ }
82
+ });
10
83
 
11
- exports["default"] = input_vue_vue_type_script_lang["default"];
84
+ exports.inputProps = inputProps;
12
85
  //# sourceMappingURL=input2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"input2.js","sources":["../../../../../../../packages/components/input/src/input.ts"],"sourcesContent":["import { useFormItemProps } from '@element-ps/hooks'\nimport { buildProps, definePropType, mutable } from '@element-ps/utils/props'\nimport type { StyleValue } from '@element-ps/utils/types'\nimport type { ExtractPropTypes, Component } from 'vue'\n\ntype AutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n ...useFormItemProps,\n _modelValue: {\n type: definePropType<string | number | null | undefined>(undefined),\n default: '',\n },\n type: {\n type: String,\n default: 'text',\n },\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n autosize: {\n type: definePropType<AutoSize>([Boolean, Object]),\n default: false,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n placeholder: {\n type: String,\n },\n form: {\n type: String,\n default: '',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n clearable: {\n type: Boolean,\n default: false,\n },\n showPassword: {\n type: Boolean,\n default: false,\n },\n showWordLimit: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n prefixIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n label: {\n type: String,\n },\n tabindex: {\n type: [Number, String],\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n inputStyle: {\n type: definePropType<StyleValue>([Object, Array, String]),\n default: () => mutable({} as const),\n },\n maxlength: {\n type: [Number, String],\n },\n widget: {\n type: String,\n },\n} as const)\nexport type InputProps = ExtractPropTypes<typeof inputProps>\n"],"names":["buildProps","useFormItemProps","definePropType","mutable"],"mappings":";;;;;;;;MAOa,aAAaA,iBAAW;AAAA,KAChCC;AAAA,EACH,aAAa;AAAA,IACX,MAAMC,qBAAmD;AAAA,IACzD,SAAS;AAAA;AAAA,EAEX,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,QAAQ,CAAC,QAAQ,QAAQ,cAAc;AAAA;AAAA,EAEzC,UAAU;AAAA,IACR,MAAMA,qBAAyB,CAAC,SAAS;AAAA,IACzC,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,aAAa;AAAA,IACX,MAAM;AAAA;AAAA,EAER,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAMA,qBAAmC,CAAC,QAAQ;AAAA,IAClD,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAMA,qBAAmC,CAAC,QAAQ;AAAA,IAClD,SAAS;AAAA;AAAA,EAEX,OAAO;AAAA,IACL,MAAM;AAAA;AAAA,EAER,UAAU;AAAA,IACR,MAAM,CAAC,QAAQ;AAAA;AAAA,EAEjB,eAAe;AAAA,IACb,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,YAAY;AAAA,IACV,MAAMA,qBAA2B,CAAC,QAAQ,OAAO;AAAA,IACjD,SAAS,MAAMC,cAAQ;AAAA;AAAA,EAEzB,WAAW;AAAA,IACT,MAAM,CAAC,QAAQ;AAAA;AAAA,EAEjB,QAAQ;AAAA,IACN,MAAM;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/link.js');
7
- var link = require('./src/link2.js');
6
+ require('./src/link2.js');
7
+ var link = require('./src/link.js');
8
8
  var link_vue_vue_type_script_lang = require('./src/link.vue_vue&type=script&lang.js');
9
9
 
10
10
  const PsLink = withInstall.withInstall(link_vue_vue_type_script_lang["default"]);
@@ -2,11 +2,25 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var link_vue_vue_type_script_lang = require('./link.vue_vue&type=script&lang.js');
6
- var link_vue_vue_type_template_id_6a422645_lang = require('./link.vue_vue&type=template&id=6a422645&lang.js');
5
+ var props = require('../../../utils/props.js');
7
6
 
8
- link_vue_vue_type_script_lang["default"].render = link_vue_vue_type_template_id_6a422645_lang.render;
9
- link_vue_vue_type_script_lang["default"].__file = "packages/components/link/src/link.vue";
7
+ const linkProps = props.buildProps({
8
+ type: {
9
+ type: String,
10
+ values: ["primary", "success", "warning", "info", "danger", "default"],
11
+ default: "default"
12
+ },
13
+ underline: {
14
+ type: Boolean,
15
+ default: true
16
+ },
17
+ disabled: { type: Boolean, default: false },
18
+ href: { type: String, default: "" },
19
+ icon: {
20
+ type: props.definePropType([String, Object]),
21
+ default: ""
22
+ }
23
+ });
10
24
 
11
- exports["default"] = link_vue_vue_type_script_lang["default"];
25
+ exports.linkProps = linkProps;
12
26
  //# sourceMappingURL=link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"link.js","sources":["../../../../../../../packages/components/link/src/link.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-ps/utils/props'\nimport type { Component, ExtractPropTypes } from 'vue'\n\nexport const linkProps = buildProps({\n type: {\n type: String,\n values: ['primary', 'success', 'warning', 'info', 'danger', 'default'],\n default: 'default',\n },\n underline: {\n type: Boolean,\n default: true,\n },\n disabled: { type: Boolean, default: false },\n href: { type: String, default: '' },\n icon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n} as const)\nexport type LinkProps = ExtractPropTypes<typeof linkProps>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;MAGa,YAAYA,iBAAW;AAAA,EAClC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ,CAAC,WAAW,WAAW,WAAW,QAAQ,UAAU;AAAA,IAC5D,SAAS;AAAA;AAAA,EAEX,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA,EAEX,UAAU,EAAE,MAAM,SAAS,SAAS;AAAA,EACpC,MAAM,EAAE,MAAM,QAAQ,SAAS;AAAA,EAC/B,MAAM;AAAA,IACJ,MAAMC,qBAAmC,CAAC,QAAQ;AAAA,IAClD,SAAS;AAAA;AAAA;;;;"}