element-ps 2.0.22 → 2.0.23

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 (290) hide show
  1. package/es/components/affix/index.mjs +2 -2
  2. package/es/components/affix/src/affix.mjs +82 -19
  3. package/es/components/affix/src/affix.mjs.map +1 -1
  4. package/es/components/affix/src/affix2.mjs +19 -82
  5. package/es/components/affix/src/affix2.mjs.map +1 -1
  6. package/es/components/alert/index.mjs +2 -2
  7. package/es/components/alert/src/alert.mjs +33 -83
  8. package/es/components/alert/src/alert.mjs.map +1 -1
  9. package/es/components/alert/src/alert2.mjs +83 -33
  10. package/es/components/alert/src/alert2.mjs.map +1 -1
  11. package/es/components/breadcrumb/index.mjs +2 -2
  12. package/es/components/breadcrumb/src/breadcrumb-item.mjs +11 -46
  13. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  14. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +46 -11
  15. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  16. package/es/components/button/index.mjs +2 -2
  17. package/es/components/button/src/button-group.mjs +1 -1
  18. package/es/components/button/src/button.mjs +48 -96
  19. package/es/components/button/src/button.mjs.map +1 -1
  20. package/es/components/button/src/button2.mjs +96 -48
  21. package/es/components/button/src/button2.mjs.map +1 -1
  22. package/es/components/check-tag/index.mjs +2 -2
  23. package/es/components/check-tag/src/check-tag.mjs +20 -7
  24. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  25. package/es/components/check-tag/src/check-tag2.mjs +7 -20
  26. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  27. package/es/components/collapse/index.mjs +2 -2
  28. package/es/components/collapse/src/collapse.mjs +14 -61
  29. package/es/components/collapse/src/collapse.mjs.map +1 -1
  30. package/es/components/collapse/src/collapse2.mjs +61 -14
  31. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  32. package/es/components/dialog/src/dialog-content.mjs +79 -34
  33. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  34. package/es/components/dialog/src/dialog-content2.mjs +34 -79
  35. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  36. package/es/components/dialog/src/dialog.mjs +1 -1
  37. package/es/components/dialog/src/dialog2.mjs +1 -1
  38. package/es/components/drawer/index.mjs +2 -2
  39. package/es/components/drawer/src/drawer.mjs +117 -23
  40. package/es/components/drawer/src/drawer.mjs.map +1 -1
  41. package/es/components/drawer/src/drawer2.mjs +23 -117
  42. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  43. package/es/components/form/index.mjs +2 -2
  44. package/es/components/form/src/form-item.mjs +46 -177
  45. package/es/components/form/src/form-item.mjs.map +1 -1
  46. package/es/components/form/src/form-item2.mjs +177 -46
  47. package/es/components/form/src/form-item2.mjs.map +1 -1
  48. package/es/components/icon/index.mjs +2 -2
  49. package/es/components/icon/src/icon.mjs +8 -35
  50. package/es/components/icon/src/icon.mjs.map +1 -1
  51. package/es/components/icon/src/icon2.mjs +35 -8
  52. package/es/components/icon/src/icon2.mjs.map +1 -1
  53. package/es/components/index.mjs +25 -25
  54. package/es/components/input/index.mjs +2 -2
  55. package/es/components/input/src/input.mjs +296 -85
  56. package/es/components/input/src/input.mjs.map +1 -1
  57. package/es/components/input/src/input2.mjs +85 -296
  58. package/es/components/input/src/input2.mjs.map +1 -1
  59. package/es/components/input-number/index.mjs +2 -2
  60. package/es/components/input-number/src/input-number.mjs +171 -46
  61. package/es/components/input-number/src/input-number.mjs.map +1 -1
  62. package/es/components/input-number/src/input-number2.mjs +46 -171
  63. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  64. package/es/components/link/index.mjs +2 -2
  65. package/es/components/link/src/link.mjs +19 -43
  66. package/es/components/link/src/link.mjs.map +1 -1
  67. package/es/components/link/src/link2.mjs +43 -19
  68. package/es/components/link/src/link2.mjs.map +1 -1
  69. package/es/components/menu/index.mjs +4 -4
  70. package/es/components/menu/src/menu-item-group.mjs +56 -4
  71. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  72. package/es/components/menu/src/menu-item-group2.mjs +4 -56
  73. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  74. package/es/components/menu/src/menu-item.mjs +15 -65
  75. package/es/components/menu/src/menu-item.mjs.map +1 -1
  76. package/es/components/menu/src/menu-item2.mjs +65 -15
  77. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  78. package/es/components/page-header/index.mjs +2 -2
  79. package/es/components/page-header/src/page-header.mjs +14 -55
  80. package/es/components/page-header/src/page-header.mjs.map +1 -1
  81. package/es/components/page-header/src/page-header2.mjs +55 -14
  82. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  83. package/es/components/popconfirm/src/popconfirm2.mjs +1 -1
  84. package/es/components/popper/index.mjs +6 -6
  85. package/es/components/popper/src/arrow.mjs +31 -7
  86. package/es/components/popper/src/arrow.mjs.map +1 -1
  87. package/es/components/popper/src/arrow2.mjs +7 -31
  88. package/es/components/popper/src/arrow2.mjs.map +1 -1
  89. package/es/components/popper/src/content.mjs +64 -52
  90. package/es/components/popper/src/content.mjs.map +1 -1
  91. package/es/components/popper/src/content2.mjs +52 -64
  92. package/es/components/popper/src/content2.mjs.map +1 -1
  93. package/es/components/popper/src/trigger.mjs +17 -28
  94. package/es/components/popper/src/trigger.mjs.map +1 -1
  95. package/es/components/popper/src/trigger2.mjs +28 -17
  96. package/es/components/popper/src/trigger2.mjs.map +1 -1
  97. package/es/components/progress/index.mjs +2 -2
  98. package/es/components/progress/src/progress.mjs +230 -57
  99. package/es/components/progress/src/progress.mjs.map +1 -1
  100. package/es/components/progress/src/progress2.mjs +57 -230
  101. package/es/components/progress/src/progress2.mjs.map +1 -1
  102. package/es/components/rate/index.d.ts +5 -1
  103. package/es/components/rate/src/rate.mjs.map +1 -1
  104. package/es/components/rate/src/rate.vue.d.ts +6 -3
  105. package/es/components/scrollbar/index.mjs +2 -2
  106. package/es/components/scrollbar/src/bar.mjs +22 -35
  107. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  108. package/es/components/scrollbar/src/bar2.mjs +35 -22
  109. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  110. package/es/components/scrollbar/src/scrollbar.mjs +112 -42
  111. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  112. package/es/components/scrollbar/src/scrollbar2.mjs +42 -112
  113. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  114. package/es/components/teleport/index.mjs +2 -2
  115. package/es/components/teleport/src/teleport.mjs +43 -18
  116. package/es/components/teleport/src/teleport.mjs.map +1 -1
  117. package/es/components/teleport/src/teleport2.mjs +18 -43
  118. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  119. package/es/components/timeline/index.mjs +2 -2
  120. package/es/components/timeline/src/timeline-item.mjs +39 -73
  121. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  122. package/es/components/timeline/src/timeline-item2.mjs +73 -39
  123. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  124. package/es/components/tooltip/src/tooltip.mjs +2 -2
  125. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  126. package/es/components/tooltip/src/trigger.mjs +1 -1
  127. package/es/components/tooltip-v2/index.mjs +2 -2
  128. package/es/components/tooltip-v2/src/arrow.mjs +22 -38
  129. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  130. package/es/components/tooltip-v2/src/arrow2.mjs +38 -22
  131. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  132. package/es/components/tooltip-v2/src/root.mjs +81 -17
  133. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  134. package/es/components/tooltip-v2/src/root2.mjs +17 -81
  135. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  136. package/es/components/tooltip-v2/src/tooltip.mjs +4 -4
  137. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  138. package/es/components/upload/index.mjs +1 -1
  139. package/es/components/upload/src/upload-content.mjs +46 -15
  140. package/es/components/upload/src/upload-content.mjs.map +1 -1
  141. package/es/components/upload/src/upload-content2.mjs +15 -46
  142. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  143. package/es/components/upload/src/upload2.mjs +1 -1
  144. package/es/index.mjs +25 -25
  145. package/lib/components/affix/index.js +2 -2
  146. package/lib/components/affix/src/affix.js +82 -19
  147. package/lib/components/affix/src/affix.js.map +1 -1
  148. package/lib/components/affix/src/affix2.js +19 -82
  149. package/lib/components/affix/src/affix2.js.map +1 -1
  150. package/lib/components/alert/index.js +2 -2
  151. package/lib/components/alert/src/alert.js +33 -82
  152. package/lib/components/alert/src/alert.js.map +1 -1
  153. package/lib/components/alert/src/alert2.js +82 -33
  154. package/lib/components/alert/src/alert2.js.map +1 -1
  155. package/lib/components/breadcrumb/index.js +2 -2
  156. package/lib/components/breadcrumb/src/breadcrumb-item.js +11 -46
  157. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  158. package/lib/components/breadcrumb/src/breadcrumb-item2.js +46 -11
  159. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  160. package/lib/components/button/index.js +2 -2
  161. package/lib/components/button/src/button-group.js +1 -1
  162. package/lib/components/button/src/button.js +50 -96
  163. package/lib/components/button/src/button.js.map +1 -1
  164. package/lib/components/button/src/button2.js +96 -50
  165. package/lib/components/button/src/button2.js.map +1 -1
  166. package/lib/components/check-tag/index.js +2 -2
  167. package/lib/components/check-tag/src/check-tag.js +20 -7
  168. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  169. package/lib/components/check-tag/src/check-tag2.js +7 -20
  170. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  171. package/lib/components/collapse/index.js +2 -2
  172. package/lib/components/collapse/src/collapse.js +16 -61
  173. package/lib/components/collapse/src/collapse.js.map +1 -1
  174. package/lib/components/collapse/src/collapse2.js +61 -16
  175. package/lib/components/collapse/src/collapse2.js.map +1 -1
  176. package/lib/components/dialog/src/dialog-content.js +78 -33
  177. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  178. package/lib/components/dialog/src/dialog-content2.js +33 -78
  179. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  180. package/lib/components/dialog/src/dialog.js +1 -1
  181. package/lib/components/dialog/src/dialog2.js +1 -1
  182. package/lib/components/drawer/index.js +2 -2
  183. package/lib/components/drawer/src/drawer.js +117 -23
  184. package/lib/components/drawer/src/drawer.js.map +1 -1
  185. package/lib/components/drawer/src/drawer2.js +23 -117
  186. package/lib/components/drawer/src/drawer2.js.map +1 -1
  187. package/lib/components/form/index.js +2 -2
  188. package/lib/components/form/src/form-item.js +47 -177
  189. package/lib/components/form/src/form-item.js.map +1 -1
  190. package/lib/components/form/src/form-item2.js +177 -47
  191. package/lib/components/form/src/form-item2.js.map +1 -1
  192. package/lib/components/icon/index.js +2 -2
  193. package/lib/components/icon/src/icon.js +8 -35
  194. package/lib/components/icon/src/icon.js.map +1 -1
  195. package/lib/components/icon/src/icon2.js +35 -8
  196. package/lib/components/icon/src/icon2.js.map +1 -1
  197. package/lib/components/index.js +25 -25
  198. package/lib/components/input/index.js +2 -2
  199. package/lib/components/input/src/input.js +295 -84
  200. package/lib/components/input/src/input.js.map +1 -1
  201. package/lib/components/input/src/input2.js +84 -295
  202. package/lib/components/input/src/input2.js.map +1 -1
  203. package/lib/components/input-number/index.js +2 -2
  204. package/lib/components/input-number/src/input-number.js +171 -46
  205. package/lib/components/input-number/src/input-number.js.map +1 -1
  206. package/lib/components/input-number/src/input-number2.js +46 -171
  207. package/lib/components/input-number/src/input-number2.js.map +1 -1
  208. package/lib/components/link/index.js +2 -2
  209. package/lib/components/link/src/link.js +19 -43
  210. package/lib/components/link/src/link.js.map +1 -1
  211. package/lib/components/link/src/link2.js +43 -19
  212. package/lib/components/link/src/link2.js.map +1 -1
  213. package/lib/components/menu/index.js +4 -4
  214. package/lib/components/menu/src/menu-item-group.js +56 -4
  215. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  216. package/lib/components/menu/src/menu-item-group2.js +4 -56
  217. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  218. package/lib/components/menu/src/menu-item.js +16 -65
  219. package/lib/components/menu/src/menu-item.js.map +1 -1
  220. package/lib/components/menu/src/menu-item2.js +65 -16
  221. package/lib/components/menu/src/menu-item2.js.map +1 -1
  222. package/lib/components/page-header/index.js +2 -2
  223. package/lib/components/page-header/src/page-header.js +14 -55
  224. package/lib/components/page-header/src/page-header.js.map +1 -1
  225. package/lib/components/page-header/src/page-header2.js +55 -14
  226. package/lib/components/page-header/src/page-header2.js.map +1 -1
  227. package/lib/components/popconfirm/src/popconfirm2.js +1 -1
  228. package/lib/components/popper/index.js +6 -6
  229. package/lib/components/popper/src/arrow.js +31 -7
  230. package/lib/components/popper/src/arrow.js.map +1 -1
  231. package/lib/components/popper/src/arrow2.js +7 -31
  232. package/lib/components/popper/src/arrow2.js.map +1 -1
  233. package/lib/components/popper/src/content.js +65 -52
  234. package/lib/components/popper/src/content.js.map +1 -1
  235. package/lib/components/popper/src/content2.js +52 -65
  236. package/lib/components/popper/src/content2.js.map +1 -1
  237. package/lib/components/popper/src/trigger.js +17 -28
  238. package/lib/components/popper/src/trigger.js.map +1 -1
  239. package/lib/components/popper/src/trigger2.js +28 -17
  240. package/lib/components/popper/src/trigger2.js.map +1 -1
  241. package/lib/components/progress/index.js +2 -2
  242. package/lib/components/progress/src/progress.js +230 -57
  243. package/lib/components/progress/src/progress.js.map +1 -1
  244. package/lib/components/progress/src/progress2.js +57 -230
  245. package/lib/components/progress/src/progress2.js.map +1 -1
  246. package/lib/components/rate/index.d.ts +5 -1
  247. package/lib/components/rate/src/rate.js.map +1 -1
  248. package/lib/components/rate/src/rate.vue.d.ts +6 -3
  249. package/lib/components/scrollbar/index.js +2 -2
  250. package/lib/components/scrollbar/src/bar.js +22 -35
  251. package/lib/components/scrollbar/src/bar.js.map +1 -1
  252. package/lib/components/scrollbar/src/bar2.js +35 -22
  253. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  254. package/lib/components/scrollbar/src/scrollbar.js +112 -42
  255. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  256. package/lib/components/scrollbar/src/scrollbar2.js +42 -112
  257. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  258. package/lib/components/teleport/index.js +2 -2
  259. package/lib/components/teleport/src/teleport.js +43 -18
  260. package/lib/components/teleport/src/teleport.js.map +1 -1
  261. package/lib/components/teleport/src/teleport2.js +18 -43
  262. package/lib/components/teleport/src/teleport2.js.map +1 -1
  263. package/lib/components/timeline/index.js +2 -2
  264. package/lib/components/timeline/src/timeline-item.js +39 -73
  265. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  266. package/lib/components/timeline/src/timeline-item2.js +73 -39
  267. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  268. package/lib/components/tooltip/src/tooltip.js +2 -2
  269. package/lib/components/tooltip/src/tooltip2.js +1 -1
  270. package/lib/components/tooltip/src/trigger.js +1 -1
  271. package/lib/components/tooltip-v2/index.js +2 -2
  272. package/lib/components/tooltip-v2/src/arrow.js +23 -38
  273. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  274. package/lib/components/tooltip-v2/src/arrow2.js +38 -23
  275. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  276. package/lib/components/tooltip-v2/src/root.js +81 -17
  277. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  278. package/lib/components/tooltip-v2/src/root2.js +17 -81
  279. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  280. package/lib/components/tooltip-v2/src/tooltip.js +4 -4
  281. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  282. package/lib/components/upload/index.js +1 -1
  283. package/lib/components/upload/src/upload-content.js +46 -15
  284. package/lib/components/upload/src/upload-content.js.map +1 -1
  285. package/lib/components/upload/src/upload-content2.js +15 -46
  286. package/lib/components/upload/src/upload-content2.js.map +1 -1
  287. package/lib/components/upload/src/upload2.js +1 -1
  288. package/lib/index.js +25 -25
  289. package/package.json +1 -1
  290. package/web-types.json +1 -1
@@ -2,34 +2,128 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
5
+ var vue = require('vue');
6
+ var iconsVue = require('@element-plus/icons-vue');
7
+ var index = require('../../overlay/index.js');
6
8
  require('../../dialog/index.js');
7
- var props = require('../../../utils/vue/props.js');
8
- var dialog = require('../../dialog/src/dialog.js');
9
+ var index$1 = require('../../icon/index.js');
10
+ require('../../../directives/index.js');
11
+ require('../../../hooks/index.js');
12
+ var drawer = require('./drawer2.js');
13
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
+ var index$2 = require('../../../directives/trap-focus/index.js');
15
+ var index$3 = require('../../../hooks/use-namespace/index.js');
16
+ var useDialog = require('../../dialog/src/use-dialog.js');
9
17
 
10
- const drawerProps = props.buildProps({
11
- ...dialog.dialogProps,
12
- direction: {
13
- type: String,
14
- default: "rtl",
15
- values: ["ltr", "rtl", "ttb", "btt"]
18
+ const _sfc_main = vue.defineComponent({
19
+ name: "PsDrawer",
20
+ components: {
21
+ PsOverlay: index.PsOverlay,
22
+ PsIcon: index$1.PsIcon,
23
+ Close: iconsVue.Close
16
24
  },
17
- size: {
18
- type: [String, Number],
19
- default: "30%"
25
+ directives: {
26
+ TrapFocus: index$2["default"]
20
27
  },
21
- withHeader: {
22
- type: Boolean,
23
- default: true
24
- },
25
- modalFade: {
26
- type: Boolean,
27
- default: true
28
- },
29
- widget: {
30
- type: String
28
+ props: drawer.drawerProps,
29
+ setup(props, ctx) {
30
+ const drawerRef = vue.ref();
31
+ const ns = index$3.useNamespace("drawer");
32
+ const isHorizontal = vue.computed(() => props.direction === "rtl" || props.direction === "ltr");
33
+ const drawerSize = vue.computed(() => typeof props.size === "number" ? `${props.size}px` : props.size);
34
+ return {
35
+ ...useDialog.useDialog(props, ctx, drawerRef),
36
+ drawerRef,
37
+ isHorizontal,
38
+ drawerSize,
39
+ ns
40
+ };
31
41
  }
32
42
  });
43
+ const _hoisted_1 = ["aria-labelledby", "aria-label", "widget"];
44
+ const _hoisted_2 = ["id", "widget"];
45
+ const _hoisted_3 = ["title"];
46
+ const _hoisted_4 = ["aria-label"];
47
+ const _hoisted_5 = ["widget"];
48
+ const _hoisted_6 = ["widget"];
49
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
50
+ const _component_close = vue.resolveComponent("close");
51
+ const _component_ps_icon = vue.resolveComponent("ps-icon");
52
+ const _component_ps_overlay = vue.resolveComponent("ps-overlay");
53
+ const _directive_trap_focus = vue.resolveDirective("trap-focus");
54
+ return vue.openBlock(), vue.createBlock(vue.Teleport, {
55
+ to: "body",
56
+ disabled: !_ctx.appendToBody
57
+ }, [
58
+ vue.withDirectives(vue.createVNode(_component_ps_overlay, {
59
+ mask: _ctx.modal,
60
+ "overlay-class": (_ctx.modalClass || "") + (_ctx.widget ? ` ps--drawer-widget-class` : ""),
61
+ "z-index": _ctx.zIndex
62
+ }, {
63
+ default: vue.withCtx(() => [
64
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
65
+ ref: "drawerRef",
66
+ "aria-modal": "true",
67
+ "aria-labelledby": _ctx.ns.e("title"),
68
+ "aria-label": _ctx.title,
69
+ class: vue.normalizeClass([_ctx.ns.b(), _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
70
+ style: vue.normalizeStyle(_ctx.isHorizontal ? "width: " + _ctx.drawerSize : "height: " + _ctx.drawerSize),
71
+ role: "dialog",
72
+ widget: _ctx.widget
73
+ }, [
74
+ _ctx.withHeader ? (vue.openBlock(), vue.createElementBlock("header", {
75
+ key: 0,
76
+ id: _ctx.ns.e("title"),
77
+ class: vue.normalizeClass(_ctx.ns.e("header")),
78
+ widget: _ctx.widget ? "drawer:title:" + _ctx.widget.split(":")[1] : void 0
79
+ }, [
80
+ vue.renderSlot(_ctx.$slots, "title", {}, () => [
81
+ vue.createElementVNode("span", {
82
+ role: "heading",
83
+ title: _ctx.title
84
+ }, vue.toDisplayString(_ctx.title), 9, _hoisted_3)
85
+ ]),
86
+ _ctx.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
87
+ key: 0,
88
+ "aria-label": "close " + (_ctx.title || "drawer"),
89
+ class: vue.normalizeClass(_ctx.ns.e("close-btn")),
90
+ type: "button"
91
+ }, [
92
+ vue.createVNode(_component_ps_icon, {
93
+ class: vue.normalizeClass(_ctx.ns.e("close"))
94
+ }, {
95
+ default: vue.withCtx(() => [
96
+ vue.createVNode(_component_close)
97
+ ]),
98
+ _: 1
99
+ }, 8, ["class"])
100
+ ], 10, _hoisted_4)) : vue.createCommentVNode("v-if", true)
101
+ ], 10, _hoisted_2)) : vue.createCommentVNode("v-if", true),
102
+ _ctx.rendered ? (vue.openBlock(), vue.createElementBlock("section", {
103
+ key: 1,
104
+ class: vue.normalizeClass(_ctx.ns.e("body")),
105
+ widget: _ctx.widget ? "drawer:default:" + _ctx.widget.split(":")[1] : void 0
106
+ }, [
107
+ vue.renderSlot(_ctx.$slots, "default")
108
+ ], 10, _hoisted_5)) : vue.createCommentVNode("v-if", true),
109
+ _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
110
+ key: 2,
111
+ class: vue.normalizeClass(_ctx.ns.e("footer")),
112
+ widget: _ctx.widget ? "drawer:footer:" + _ctx.widget.split(":")[1] : void 0
113
+ }, [
114
+ vue.renderSlot(_ctx.$slots, "footer")
115
+ ], 10, _hoisted_6)) : vue.createCommentVNode("v-if", true)
116
+ ], 14, _hoisted_1)), [
117
+ [_directive_trap_focus]
118
+ ])
119
+ ]),
120
+ _: 3
121
+ }, 8, ["mask", "overlay-class", "z-index"]), [
122
+ [vue.vShow, _ctx.visible]
123
+ ])
124
+ ], 8, ["disabled"]);
125
+ }
126
+ var Drawer = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/drawer/src/drawer.vue"]]);
33
127
 
34
- exports.drawerProps = drawerProps;
128
+ exports["default"] = Drawer;
35
129
  //# sourceMappingURL=drawer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport { dialogProps } from '@element-ps/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n widget: {\n type: String,\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n"],"names":["buildProps","dialogProps"],"mappings":";;;;;;;;;AAEY,MAAC,WAAW,GAAGA,gBAAU,CAAC;AACtC,EAAE,GAAGC,kBAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"drawer.js","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <ps-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"(modalClass || '') + (widget ? ` ps--drawer-widget-class` : '')\"\n :z-index=\"zIndex\"\n >\n <div\n ref=\"drawerRef\"\n v-trap-focus\n aria-modal=\"true\"\n :aria-labelledby=\"ns.e('title')\"\n :aria-label=\"title\"\n :class=\"[ns.b(), direction, visible && 'open', customClass]\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n :widget=\"widget\"\n >\n <header v-if=\"withHeader\"\n :id=\"ns.e('title')\" :class=\"ns.e('header')\"\n :widget=\"widget ? 'drawer:title:' + widget.split(':')[1] : undefined\"\n >\n <slot name=\"title\">\n <span role=\"heading\" :title=\"title\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"'close ' + (title || 'drawer')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n >\n <ps-icon :class=\"ns.e('close')\"><close /></ps-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <section :class=\"ns.e('body')\"\n :widget=\"widget ? 'drawer:default:' + widget.split(':')[1] : undefined\"\n >\n <slot />\n </section>\n </template>\n <div v-if=\"$slots.footer\"\n :class=\"ns.e('footer')\"\n :widget=\"widget ? 'drawer:footer:' + widget.split(':')[1] : undefined\"\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </ps-overlay>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { PsOverlay } from '@element-ps/components/overlay'\nimport { useDialog } from '@element-ps/components/dialog'\nimport PsIcon from '@element-ps/components/icon'\nimport { TrapFocus } from '@element-ps/directives'\nimport { useNamespace } from '@element-ps/hooks'\nimport { drawerProps } from './drawer'\n\nexport default defineComponent({\n name: 'PsDrawer',\n components: {\n PsOverlay,\n PsIcon,\n Close,\n },\n directives: {\n TrapFocus,\n },\n props: drawerProps,\n\n setup(props, ctx) {\n const drawerRef = ref<HTMLElement>()\n const ns = useNamespace('drawer')\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() =>\n typeof props.size === 'number' ? `${props.size}px` : props.size\n )\n\n return {\n ...useDialog(props, ctx, drawerRef),\n drawerRef,\n isHorizontal,\n drawerSize,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","PsOverlay","PsIcon","Close","TrapFocus","drawerProps","ref","useNamespace","computed","useDialog","_createBlock","_Teleport","_createVNode","_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
@@ -2,128 +2,34 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var iconsVue = require('@element-plus/icons-vue');
7
- var index = require('../../overlay/index.js');
5
+ require('../../../utils/index.js');
8
6
  require('../../dialog/index.js');
9
- var index$1 = require('../../icon/index.js');
10
- require('../../../directives/index.js');
11
- require('../../../hooks/index.js');
12
- var drawer = require('./drawer.js');
13
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
- var index$2 = require('../../../directives/trap-focus/index.js');
15
- var index$3 = require('../../../hooks/use-namespace/index.js');
16
- var useDialog = require('../../dialog/src/use-dialog.js');
7
+ var props = require('../../../utils/vue/props.js');
8
+ var dialog = require('../../dialog/src/dialog.js');
17
9
 
18
- const _sfc_main = vue.defineComponent({
19
- name: "PsDrawer",
20
- components: {
21
- PsOverlay: index.PsOverlay,
22
- PsIcon: index$1.PsIcon,
23
- Close: iconsVue.Close
10
+ const drawerProps = props.buildProps({
11
+ ...dialog.dialogProps,
12
+ direction: {
13
+ type: String,
14
+ default: "rtl",
15
+ values: ["ltr", "rtl", "ttb", "btt"]
24
16
  },
25
- directives: {
26
- TrapFocus: index$2["default"]
17
+ size: {
18
+ type: [String, Number],
19
+ default: "30%"
27
20
  },
28
- props: drawer.drawerProps,
29
- setup(props, ctx) {
30
- const drawerRef = vue.ref();
31
- const ns = index$3.useNamespace("drawer");
32
- const isHorizontal = vue.computed(() => props.direction === "rtl" || props.direction === "ltr");
33
- const drawerSize = vue.computed(() => typeof props.size === "number" ? `${props.size}px` : props.size);
34
- return {
35
- ...useDialog.useDialog(props, ctx, drawerRef),
36
- drawerRef,
37
- isHorizontal,
38
- drawerSize,
39
- ns
40
- };
21
+ withHeader: {
22
+ type: Boolean,
23
+ default: true
24
+ },
25
+ modalFade: {
26
+ type: Boolean,
27
+ default: true
28
+ },
29
+ widget: {
30
+ type: String
41
31
  }
42
32
  });
43
- const _hoisted_1 = ["aria-labelledby", "aria-label", "widget"];
44
- const _hoisted_2 = ["id", "widget"];
45
- const _hoisted_3 = ["title"];
46
- const _hoisted_4 = ["aria-label"];
47
- const _hoisted_5 = ["widget"];
48
- const _hoisted_6 = ["widget"];
49
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
50
- const _component_close = vue.resolveComponent("close");
51
- const _component_ps_icon = vue.resolveComponent("ps-icon");
52
- const _component_ps_overlay = vue.resolveComponent("ps-overlay");
53
- const _directive_trap_focus = vue.resolveDirective("trap-focus");
54
- return vue.openBlock(), vue.createBlock(vue.Teleport, {
55
- to: "body",
56
- disabled: !_ctx.appendToBody
57
- }, [
58
- vue.withDirectives(vue.createVNode(_component_ps_overlay, {
59
- mask: _ctx.modal,
60
- "overlay-class": (_ctx.modalClass || "") + (_ctx.widget ? ` ps--drawer-widget-class` : ""),
61
- "z-index": _ctx.zIndex
62
- }, {
63
- default: vue.withCtx(() => [
64
- vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
65
- ref: "drawerRef",
66
- "aria-modal": "true",
67
- "aria-labelledby": _ctx.ns.e("title"),
68
- "aria-label": _ctx.title,
69
- class: vue.normalizeClass([_ctx.ns.b(), _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
70
- style: vue.normalizeStyle(_ctx.isHorizontal ? "width: " + _ctx.drawerSize : "height: " + _ctx.drawerSize),
71
- role: "dialog",
72
- widget: _ctx.widget
73
- }, [
74
- _ctx.withHeader ? (vue.openBlock(), vue.createElementBlock("header", {
75
- key: 0,
76
- id: _ctx.ns.e("title"),
77
- class: vue.normalizeClass(_ctx.ns.e("header")),
78
- widget: _ctx.widget ? "drawer:title:" + _ctx.widget.split(":")[1] : void 0
79
- }, [
80
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
81
- vue.createElementVNode("span", {
82
- role: "heading",
83
- title: _ctx.title
84
- }, vue.toDisplayString(_ctx.title), 9, _hoisted_3)
85
- ]),
86
- _ctx.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
87
- key: 0,
88
- "aria-label": "close " + (_ctx.title || "drawer"),
89
- class: vue.normalizeClass(_ctx.ns.e("close-btn")),
90
- type: "button"
91
- }, [
92
- vue.createVNode(_component_ps_icon, {
93
- class: vue.normalizeClass(_ctx.ns.e("close"))
94
- }, {
95
- default: vue.withCtx(() => [
96
- vue.createVNode(_component_close)
97
- ]),
98
- _: 1
99
- }, 8, ["class"])
100
- ], 10, _hoisted_4)) : vue.createCommentVNode("v-if", true)
101
- ], 10, _hoisted_2)) : vue.createCommentVNode("v-if", true),
102
- _ctx.rendered ? (vue.openBlock(), vue.createElementBlock("section", {
103
- key: 1,
104
- class: vue.normalizeClass(_ctx.ns.e("body")),
105
- widget: _ctx.widget ? "drawer:default:" + _ctx.widget.split(":")[1] : void 0
106
- }, [
107
- vue.renderSlot(_ctx.$slots, "default")
108
- ], 10, _hoisted_5)) : vue.createCommentVNode("v-if", true),
109
- _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
110
- key: 2,
111
- class: vue.normalizeClass(_ctx.ns.e("footer")),
112
- widget: _ctx.widget ? "drawer:footer:" + _ctx.widget.split(":")[1] : void 0
113
- }, [
114
- vue.renderSlot(_ctx.$slots, "footer")
115
- ], 10, _hoisted_6)) : vue.createCommentVNode("v-if", true)
116
- ], 14, _hoisted_1)), [
117
- [_directive_trap_focus]
118
- ])
119
- ]),
120
- _: 3
121
- }, 8, ["mask", "overlay-class", "z-index"]), [
122
- [vue.vShow, _ctx.visible]
123
- ])
124
- ], 8, ["disabled"]);
125
- }
126
- var Drawer = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/drawer/src/drawer.vue"]]);
127
33
 
128
- exports["default"] = Drawer;
34
+ exports.drawerProps = drawerProps;
129
35
  //# sourceMappingURL=drawer2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer2.js","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <ps-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"(modalClass || '') + (widget ? ` ps--drawer-widget-class` : '')\"\n :z-index=\"zIndex\"\n >\n <div\n ref=\"drawerRef\"\n v-trap-focus\n aria-modal=\"true\"\n :aria-labelledby=\"ns.e('title')\"\n :aria-label=\"title\"\n :class=\"[ns.b(), direction, visible && 'open', customClass]\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n :widget=\"widget\"\n >\n <header v-if=\"withHeader\"\n :id=\"ns.e('title')\" :class=\"ns.e('header')\"\n :widget=\"widget ? 'drawer:title:' + widget.split(':')[1] : undefined\"\n >\n <slot name=\"title\">\n <span role=\"heading\" :title=\"title\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"'close ' + (title || 'drawer')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n >\n <ps-icon :class=\"ns.e('close')\"><close /></ps-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <section :class=\"ns.e('body')\"\n :widget=\"widget ? 'drawer:default:' + widget.split(':')[1] : undefined\"\n >\n <slot />\n </section>\n </template>\n <div v-if=\"$slots.footer\"\n :class=\"ns.e('footer')\"\n :widget=\"widget ? 'drawer:footer:' + widget.split(':')[1] : undefined\"\n >\n <slot name=\"footer\" />\n </div>\n </div>\n </ps-overlay>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { PsOverlay } from '@element-ps/components/overlay'\nimport { useDialog } from '@element-ps/components/dialog'\nimport PsIcon from '@element-ps/components/icon'\nimport { TrapFocus } from '@element-ps/directives'\nimport { useNamespace } from '@element-ps/hooks'\nimport { drawerProps } from './drawer'\n\nexport default defineComponent({\n name: 'PsDrawer',\n components: {\n PsOverlay,\n PsIcon,\n Close,\n },\n directives: {\n TrapFocus,\n },\n props: drawerProps,\n\n setup(props, ctx) {\n const drawerRef = ref<HTMLElement>()\n const ns = useNamespace('drawer')\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() =>\n typeof props.size === 'number' ? `${props.size}px` : props.size\n )\n\n return {\n ...useDialog(props, ctx, drawerRef),\n drawerRef,\n isHorizontal,\n drawerSize,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","PsOverlay","PsIcon","Close","TrapFocus","drawerProps","ref","useNamespace","computed","useDialog","_createBlock","_Teleport","_createVNode","_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"drawer2.js","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport { dialogProps } from '@element-ps/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n widget: {\n type: String,\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n"],"names":["buildProps","dialogProps"],"mappings":";;;;;;;;;AAEY,MAAC,WAAW,GAAGA,gBAAU,CAAC;AACtC,EAAE,GAAGC,kBAAW;AAChB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACxC,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
6
  var form$1 = require('./src/form2.js');
7
- var formItem$1 = require('./src/form-item.js');
7
+ var formItem$1 = require('./src/form-item2.js');
8
8
  var form = require('./src/form.js');
9
- var formItem = require('./src/form-item2.js');
9
+ var formItem = require('./src/form-item.js');
10
10
  require('./src/types.js');
11
11
  var install = require('../../utils/vue/install.js');
12
12
 
@@ -2,186 +2,56 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var lodashUnified = require('lodash-unified');
7
- var core = require('@vueuse/core');
5
+ require('../../../constants/index.js');
8
6
  require('../../../utils/index.js');
9
- require('../../../tokens/index.js');
10
- require('../../../hooks/index.js');
11
- var formItem = require('./form-item2.js');
12
- var formLabelWrap = require('./form-label-wrap.js');
13
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
- var form = require('../../../tokens/form.js');
15
- var index = require('../../../hooks/use-common-props/index.js');
16
- var index$1 = require('../../../hooks/use-namespace/index.js');
17
- var style = require('../../../utils/dom/style.js');
18
- var shared = require('@vue/shared');
19
- var objects = require('../../../utils/objects.js');
7
+ var props = require('../../../utils/vue/props.js');
8
+ var size = require('../../../constants/size.js');
20
9
 
21
- const _hoisted_1 = ["widget"];
22
- const _hoisted_2 = ["for", "widget"];
23
- const _hoisted_3 = ["widget"];
24
- const __default__ = {
25
- name: "PsFormItem"
26
- };
27
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
28
- ...__default__,
29
- props: formItem.formItemProps,
30
- setup(__props, { expose }) {
31
- const props = __props;
32
- const slots = vue.useSlots();
33
- const formContext = vue.inject(form.formContextKey, void 0);
34
- const parentFormItemContext = vue.inject(form.formItemContextKey, void 0);
35
- const _size = index.useSize(void 0, { formItem: false });
36
- const ns = index$1.useNamespace("form-item");
37
- const validateState = vue.ref("");
38
- const validateStateDebounced = core.refDebounced(validateState, 100);
39
- const validateMessage = vue.ref("");
40
- const formItemRef = vue.ref();
41
- let initialValue = void 0;
42
- const labelStyle = vue.computed(() => {
43
- if ((formContext == null ? void 0 : formContext.labelPosition) === "top") {
44
- return {};
45
- }
46
- const labelWidth = style.addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
47
- if (labelWidth)
48
- return { width: labelWidth };
49
- return {};
50
- });
51
- const contentStyle = vue.computed(() => {
52
- if ((formContext == null ? void 0 : formContext.labelPosition) === "top" || (formContext == null ? void 0 : formContext.inline)) {
53
- return {};
54
- }
55
- if (!props.label && !props.labelWidth && isNested) {
56
- return {};
57
- }
58
- const labelWidth = style.addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
59
- if (!props.label && !slots.label) {
60
- return { marginLeft: labelWidth };
61
- }
62
- return {};
63
- });
64
- const formItemClasses = vue.computed(() => [
65
- ns.b(),
66
- ns.m(_size.value),
67
- ns.is("error", validateState.value === "error"),
68
- ns.is("validating", validateState.value === "validating"),
69
- ns.is("success", validateState.value === "success"),
70
- ns.is("required", isRequired.value || props.required),
71
- ns.is("no-asterisk", formContext == null ? void 0 : formContext.hideRequiredAsterisk),
72
- { [ns.m("feedback")]: formContext == null ? void 0 : formContext.statusIcon }
73
- ]);
74
- const _inlineMessage = vue.computed(() => core.isBoolean(props.inlineMessage) ? props.inlineMessage : (formContext == null ? void 0 : formContext.inlineMessage) || false);
75
- const validateClasses = vue.computed(() => [
76
- ns.e("error"),
77
- { [ns.em("error", "inline")]: _inlineMessage.value }
78
- ]);
79
- const propString = vue.computed(() => {
80
- if (!props.prop)
81
- return "";
82
- return shared.isString(props.prop) ? props.prop : props.prop.join(".");
83
- });
84
- const labelFor = vue.computed(() => props.for || propString.value);
85
- const isNested = !!parentFormItemContext;
86
- const fieldValue = vue.computed(() => {
87
- const model = formContext == null ? void 0 : formContext.model;
88
- if (!model || !props.prop) {
89
- return;
90
- }
91
- return objects.getProp(model, props.prop).value;
92
- });
93
- const _rules = vue.computed(() => {
94
- const rules = props.rules ? lodashUnified.castArray(props.rules) : [];
95
- const formRules = formContext == null ? void 0 : formContext.rules;
96
- if (formRules && props.prop) {
97
- const _rules2 = objects.getProp(formRules, props.prop).value;
98
- if (_rules2) {
99
- rules.push(...lodashUnified.castArray(_rules2));
100
- }
101
- }
102
- if (props.required !== void 0) {
103
- rules.push({ required: !!props.required });
104
- }
105
- return rules;
106
- });
107
- const isRequired = vue.computed(() => _rules.value.some((rule) => rule.required === true));
108
- const shouldShowError = vue.computed(() => {
109
- var _a;
110
- return validateStateDebounced.value === "error" && props.showMessage && ((_a = formContext == null ? void 0 : formContext.showMessage) != null ? _a : true);
111
- });
112
- const currentLabel = vue.computed(() => `${props.label || ""}${(formContext == null ? void 0 : formContext.labelSuffix) || ""}`);
113
- const context = vue.reactive({
114
- ...vue.toRefs(props),
115
- $el: formItemRef,
116
- size: _size,
117
- validateState
118
- });
119
- vue.provide(form.formItemContextKey, context);
120
- vue.onMounted(() => {
121
- if (props.prop) {
122
- formContext == null ? void 0 : formContext.addField(context);
123
- initialValue = lodashUnified.clone(fieldValue.value);
124
- }
125
- });
126
- expose({
127
- size: _size,
128
- validateMessage,
129
- validateState
130
- });
131
- return (_ctx, _cache) => {
132
- var _a;
133
- return vue.openBlock(), vue.createElementBlock("div", {
134
- ref_key: "formItemRef",
135
- ref: formItemRef,
136
- class: vue.normalizeClass(vue.unref(formItemClasses)),
137
- widget: _ctx.widget
138
- }, [
139
- vue.createVNode(vue.unref(formLabelWrap["default"]), {
140
- "is-auto-width": vue.unref(labelStyle).width === "auto",
141
- "update-all": ((_a = vue.unref(formContext)) == null ? void 0 : _a.labelWidth) === "auto"
142
- }, {
143
- default: vue.withCtx(() => [
144
- _ctx.label || _ctx.$slots.label ? (vue.openBlock(), vue.createElementBlock("label", {
145
- key: 0,
146
- for: vue.unref(labelFor),
147
- class: vue.normalizeClass(vue.unref(ns).e("label")),
148
- style: vue.normalizeStyle(vue.unref(labelStyle)),
149
- widget: _ctx.widget ? "form-item:label:" + _ctx.widget.split(":")[1] : void 0
150
- }, [
151
- vue.renderSlot(_ctx.$slots, "label", { label: vue.unref(currentLabel) }, () => [
152
- vue.createTextVNode(vue.toDisplayString(vue.unref(currentLabel)), 1)
153
- ])
154
- ], 14, _hoisted_2)) : vue.createCommentVNode("v-if", true)
155
- ]),
156
- _: 3
157
- }, 8, ["is-auto-width", "update-all"]),
158
- vue.createElementVNode("div", {
159
- class: vue.normalizeClass(vue.unref(ns).e("content")),
160
- style: vue.normalizeStyle(vue.unref(contentStyle)),
161
- widget: _ctx.widget ? "form-item:default:" + _ctx.widget.split(":")[1] : void 0
162
- }, [
163
- vue.renderSlot(_ctx.$slots, "default"),
164
- vue.createVNode(vue.Transition, {
165
- name: `${vue.unref(ns).namespace.value}-zoom-in-top`
166
- }, {
167
- default: vue.withCtx(() => [
168
- vue.unref(shouldShowError) ? vue.renderSlot(_ctx.$slots, "error", {
169
- key: 0,
170
- error: validateMessage.value
171
- }, () => [
172
- vue.createElementVNode("div", {
173
- class: vue.normalizeClass(vue.unref(validateClasses))
174
- }, vue.toDisplayString(validateMessage.value), 3)
175
- ]) : vue.createCommentVNode("v-if", true)
176
- ]),
177
- _: 3
178
- }, 8, ["name"])
179
- ], 14, _hoisted_3)
180
- ], 10, _hoisted_1);
181
- };
10
+ const formItemValidateStates = [
11
+ "",
12
+ "error",
13
+ "validating",
14
+ "success"
15
+ ];
16
+ const formItemProps = props.buildProps({
17
+ label: String,
18
+ labelWidth: {
19
+ type: [String, Number],
20
+ default: ""
21
+ },
22
+ prop: {
23
+ type: props.definePropType([String, Array])
24
+ },
25
+ required: {
26
+ type: Boolean,
27
+ default: void 0
28
+ },
29
+ rules: {
30
+ type: props.definePropType([Object, Array])
31
+ },
32
+ error: String,
33
+ validateStatus: {
34
+ type: String,
35
+ values: formItemValidateStates
36
+ },
37
+ for: String,
38
+ inlineMessage: {
39
+ type: [String, Boolean],
40
+ default: ""
41
+ },
42
+ showMessage: {
43
+ type: Boolean,
44
+ default: true
45
+ },
46
+ size: {
47
+ type: String,
48
+ values: size.componentSizes
49
+ },
50
+ widget: {
51
+ type: String
182
52
  }
183
53
  });
184
- var FormItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/form/src/form-item.vue"]]);
185
54
 
186
- exports["default"] = FormItem;
55
+ exports.formItemProps = formItemProps;
56
+ exports.formItemValidateStates = formItemValidateStates;
187
57
  //# sourceMappingURL=form-item.js.map