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
@@ -1,31 +1,125 @@
1
- import '../../../utils/index.mjs';
1
+ import { defineComponent, ref, computed, resolveComponent, resolveDirective, openBlock, createBlock, Teleport, withDirectives, createVNode, withCtx, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createElementVNode, toDisplayString, createCommentVNode, vShow } from 'vue';
2
+ import { Close } from '@element-plus/icons-vue';
3
+ import { PsOverlay } from '../../overlay/index.mjs';
2
4
  import '../../dialog/index.mjs';
3
- import { buildProps } from '../../../utils/vue/props.mjs';
4
- import { dialogProps } from '../../dialog/src/dialog.mjs';
5
+ import { PsIcon } from '../../icon/index.mjs';
6
+ import '../../../directives/index.mjs';
7
+ import '../../../hooks/index.mjs';
8
+ import { drawerProps } from './drawer2.mjs';
9
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
+ import TrapFocus from '../../../directives/trap-focus/index.mjs';
11
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
12
+ import { useDialog } from '../../dialog/src/use-dialog.mjs';
5
13
 
6
- const drawerProps = buildProps({
7
- ...dialogProps,
8
- direction: {
9
- type: String,
10
- default: "rtl",
11
- values: ["ltr", "rtl", "ttb", "btt"]
14
+ const _sfc_main = defineComponent({
15
+ name: "PsDrawer",
16
+ components: {
17
+ PsOverlay,
18
+ PsIcon,
19
+ Close
12
20
  },
13
- size: {
14
- type: [String, Number],
15
- default: "30%"
21
+ directives: {
22
+ TrapFocus
16
23
  },
17
- withHeader: {
18
- type: Boolean,
19
- default: true
20
- },
21
- modalFade: {
22
- type: Boolean,
23
- default: true
24
- },
25
- widget: {
26
- type: String
24
+ props: drawerProps,
25
+ setup(props, ctx) {
26
+ const drawerRef = ref();
27
+ const ns = useNamespace("drawer");
28
+ const isHorizontal = computed(() => props.direction === "rtl" || props.direction === "ltr");
29
+ const drawerSize = computed(() => typeof props.size === "number" ? `${props.size}px` : props.size);
30
+ return {
31
+ ...useDialog(props, ctx, drawerRef),
32
+ drawerRef,
33
+ isHorizontal,
34
+ drawerSize,
35
+ ns
36
+ };
27
37
  }
28
38
  });
39
+ const _hoisted_1 = ["aria-labelledby", "aria-label", "widget"];
40
+ const _hoisted_2 = ["id", "widget"];
41
+ const _hoisted_3 = ["title"];
42
+ const _hoisted_4 = ["aria-label"];
43
+ const _hoisted_5 = ["widget"];
44
+ const _hoisted_6 = ["widget"];
45
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
46
+ const _component_close = resolveComponent("close");
47
+ const _component_ps_icon = resolveComponent("ps-icon");
48
+ const _component_ps_overlay = resolveComponent("ps-overlay");
49
+ const _directive_trap_focus = resolveDirective("trap-focus");
50
+ return openBlock(), createBlock(Teleport, {
51
+ to: "body",
52
+ disabled: !_ctx.appendToBody
53
+ }, [
54
+ withDirectives(createVNode(_component_ps_overlay, {
55
+ mask: _ctx.modal,
56
+ "overlay-class": (_ctx.modalClass || "") + (_ctx.widget ? ` ps--drawer-widget-class` : ""),
57
+ "z-index": _ctx.zIndex
58
+ }, {
59
+ default: withCtx(() => [
60
+ withDirectives((openBlock(), createElementBlock("div", {
61
+ ref: "drawerRef",
62
+ "aria-modal": "true",
63
+ "aria-labelledby": _ctx.ns.e("title"),
64
+ "aria-label": _ctx.title,
65
+ class: normalizeClass([_ctx.ns.b(), _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
66
+ style: normalizeStyle(_ctx.isHorizontal ? "width: " + _ctx.drawerSize : "height: " + _ctx.drawerSize),
67
+ role: "dialog",
68
+ widget: _ctx.widget
69
+ }, [
70
+ _ctx.withHeader ? (openBlock(), createElementBlock("header", {
71
+ key: 0,
72
+ id: _ctx.ns.e("title"),
73
+ class: normalizeClass(_ctx.ns.e("header")),
74
+ widget: _ctx.widget ? "drawer:title:" + _ctx.widget.split(":")[1] : void 0
75
+ }, [
76
+ renderSlot(_ctx.$slots, "title", {}, () => [
77
+ createElementVNode("span", {
78
+ role: "heading",
79
+ title: _ctx.title
80
+ }, toDisplayString(_ctx.title), 9, _hoisted_3)
81
+ ]),
82
+ _ctx.showClose ? (openBlock(), createElementBlock("button", {
83
+ key: 0,
84
+ "aria-label": "close " + (_ctx.title || "drawer"),
85
+ class: normalizeClass(_ctx.ns.e("close-btn")),
86
+ type: "button"
87
+ }, [
88
+ createVNode(_component_ps_icon, {
89
+ class: normalizeClass(_ctx.ns.e("close"))
90
+ }, {
91
+ default: withCtx(() => [
92
+ createVNode(_component_close)
93
+ ]),
94
+ _: 1
95
+ }, 8, ["class"])
96
+ ], 10, _hoisted_4)) : createCommentVNode("v-if", true)
97
+ ], 10, _hoisted_2)) : createCommentVNode("v-if", true),
98
+ _ctx.rendered ? (openBlock(), createElementBlock("section", {
99
+ key: 1,
100
+ class: normalizeClass(_ctx.ns.e("body")),
101
+ widget: _ctx.widget ? "drawer:default:" + _ctx.widget.split(":")[1] : void 0
102
+ }, [
103
+ renderSlot(_ctx.$slots, "default")
104
+ ], 10, _hoisted_5)) : createCommentVNode("v-if", true),
105
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
106
+ key: 2,
107
+ class: normalizeClass(_ctx.ns.e("footer")),
108
+ widget: _ctx.widget ? "drawer:footer:" + _ctx.widget.split(":")[1] : void 0
109
+ }, [
110
+ renderSlot(_ctx.$slots, "footer")
111
+ ], 10, _hoisted_6)) : createCommentVNode("v-if", true)
112
+ ], 14, _hoisted_1)), [
113
+ [_directive_trap_focus]
114
+ ])
115
+ ]),
116
+ _: 3
117
+ }, 8, ["mask", "overlay-class", "z-index"]), [
118
+ [vShow, _ctx.visible]
119
+ ])
120
+ ], 8, ["disabled"]);
121
+ }
122
+ var Drawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/drawer/src/drawer.vue"]]);
29
123
 
30
- export { drawerProps };
124
+ export { Drawer as default };
31
125
  //# sourceMappingURL=drawer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.mjs","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":[],"mappings":";;;;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,GAAG,WAAW;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.mjs","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":["_createBlock","_Teleport","_createVNode","_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
@@ -1,125 +1,31 @@
1
- import { defineComponent, ref, computed, resolveComponent, resolveDirective, openBlock, createBlock, Teleport, withDirectives, createVNode, withCtx, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createElementVNode, toDisplayString, createCommentVNode, vShow } from 'vue';
2
- import { Close } from '@element-plus/icons-vue';
3
- import { PsOverlay } from '../../overlay/index.mjs';
1
+ import '../../../utils/index.mjs';
4
2
  import '../../dialog/index.mjs';
5
- import { PsIcon } from '../../icon/index.mjs';
6
- import '../../../directives/index.mjs';
7
- import '../../../hooks/index.mjs';
8
- import { drawerProps } from './drawer.mjs';
9
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
- import TrapFocus from '../../../directives/trap-focus/index.mjs';
11
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
12
- import { useDialog } from '../../dialog/src/use-dialog.mjs';
3
+ import { buildProps } from '../../../utils/vue/props.mjs';
4
+ import { dialogProps } from '../../dialog/src/dialog.mjs';
13
5
 
14
- const _sfc_main = defineComponent({
15
- name: "PsDrawer",
16
- components: {
17
- PsOverlay,
18
- PsIcon,
19
- Close
6
+ const drawerProps = buildProps({
7
+ ...dialogProps,
8
+ direction: {
9
+ type: String,
10
+ default: "rtl",
11
+ values: ["ltr", "rtl", "ttb", "btt"]
20
12
  },
21
- directives: {
22
- TrapFocus
13
+ size: {
14
+ type: [String, Number],
15
+ default: "30%"
23
16
  },
24
- props: drawerProps,
25
- setup(props, ctx) {
26
- const drawerRef = ref();
27
- const ns = useNamespace("drawer");
28
- const isHorizontal = computed(() => props.direction === "rtl" || props.direction === "ltr");
29
- const drawerSize = computed(() => typeof props.size === "number" ? `${props.size}px` : props.size);
30
- return {
31
- ...useDialog(props, ctx, drawerRef),
32
- drawerRef,
33
- isHorizontal,
34
- drawerSize,
35
- ns
36
- };
17
+ withHeader: {
18
+ type: Boolean,
19
+ default: true
20
+ },
21
+ modalFade: {
22
+ type: Boolean,
23
+ default: true
24
+ },
25
+ widget: {
26
+ type: String
37
27
  }
38
28
  });
39
- const _hoisted_1 = ["aria-labelledby", "aria-label", "widget"];
40
- const _hoisted_2 = ["id", "widget"];
41
- const _hoisted_3 = ["title"];
42
- const _hoisted_4 = ["aria-label"];
43
- const _hoisted_5 = ["widget"];
44
- const _hoisted_6 = ["widget"];
45
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
46
- const _component_close = resolveComponent("close");
47
- const _component_ps_icon = resolveComponent("ps-icon");
48
- const _component_ps_overlay = resolveComponent("ps-overlay");
49
- const _directive_trap_focus = resolveDirective("trap-focus");
50
- return openBlock(), createBlock(Teleport, {
51
- to: "body",
52
- disabled: !_ctx.appendToBody
53
- }, [
54
- withDirectives(createVNode(_component_ps_overlay, {
55
- mask: _ctx.modal,
56
- "overlay-class": (_ctx.modalClass || "") + (_ctx.widget ? ` ps--drawer-widget-class` : ""),
57
- "z-index": _ctx.zIndex
58
- }, {
59
- default: withCtx(() => [
60
- withDirectives((openBlock(), createElementBlock("div", {
61
- ref: "drawerRef",
62
- "aria-modal": "true",
63
- "aria-labelledby": _ctx.ns.e("title"),
64
- "aria-label": _ctx.title,
65
- class: normalizeClass([_ctx.ns.b(), _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
66
- style: normalizeStyle(_ctx.isHorizontal ? "width: " + _ctx.drawerSize : "height: " + _ctx.drawerSize),
67
- role: "dialog",
68
- widget: _ctx.widget
69
- }, [
70
- _ctx.withHeader ? (openBlock(), createElementBlock("header", {
71
- key: 0,
72
- id: _ctx.ns.e("title"),
73
- class: normalizeClass(_ctx.ns.e("header")),
74
- widget: _ctx.widget ? "drawer:title:" + _ctx.widget.split(":")[1] : void 0
75
- }, [
76
- renderSlot(_ctx.$slots, "title", {}, () => [
77
- createElementVNode("span", {
78
- role: "heading",
79
- title: _ctx.title
80
- }, toDisplayString(_ctx.title), 9, _hoisted_3)
81
- ]),
82
- _ctx.showClose ? (openBlock(), createElementBlock("button", {
83
- key: 0,
84
- "aria-label": "close " + (_ctx.title || "drawer"),
85
- class: normalizeClass(_ctx.ns.e("close-btn")),
86
- type: "button"
87
- }, [
88
- createVNode(_component_ps_icon, {
89
- class: normalizeClass(_ctx.ns.e("close"))
90
- }, {
91
- default: withCtx(() => [
92
- createVNode(_component_close)
93
- ]),
94
- _: 1
95
- }, 8, ["class"])
96
- ], 10, _hoisted_4)) : createCommentVNode("v-if", true)
97
- ], 10, _hoisted_2)) : createCommentVNode("v-if", true),
98
- _ctx.rendered ? (openBlock(), createElementBlock("section", {
99
- key: 1,
100
- class: normalizeClass(_ctx.ns.e("body")),
101
- widget: _ctx.widget ? "drawer:default:" + _ctx.widget.split(":")[1] : void 0
102
- }, [
103
- renderSlot(_ctx.$slots, "default")
104
- ], 10, _hoisted_5)) : createCommentVNode("v-if", true),
105
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
106
- key: 2,
107
- class: normalizeClass(_ctx.ns.e("footer")),
108
- widget: _ctx.widget ? "drawer:footer:" + _ctx.widget.split(":")[1] : void 0
109
- }, [
110
- renderSlot(_ctx.$slots, "footer")
111
- ], 10, _hoisted_6)) : createCommentVNode("v-if", true)
112
- ], 14, _hoisted_1)), [
113
- [_directive_trap_focus]
114
- ])
115
- ]),
116
- _: 3
117
- }, 8, ["mask", "overlay-class", "z-index"]), [
118
- [vShow, _ctx.visible]
119
- ])
120
- ], 8, ["disabled"]);
121
- }
122
- var Drawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/drawer/src/drawer.vue"]]);
123
29
 
124
- export { Drawer as default };
30
+ export { drawerProps };
125
31
  //# sourceMappingURL=drawer2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer2.mjs","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":["_createBlock","_Teleport","_createVNode","_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"drawer2.mjs","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":[],"mappings":";;;;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,GAAG,WAAW;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,8 +1,8 @@
1
1
  import '../../utils/index.mjs';
2
2
  import Form from './src/form2.mjs';
3
- import FormItem from './src/form-item.mjs';
3
+ import FormItem from './src/form-item2.mjs';
4
4
  export { formProps } from './src/form.mjs';
5
- export { formItemProps, formItemValidateStates } from './src/form-item2.mjs';
5
+ export { formItemProps, formItemValidateStates } from './src/form-item.mjs';
6
6
  import './src/types.mjs';
7
7
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
8
8
 
@@ -1,183 +1,52 @@
1
- import { defineComponent, useSlots, inject, ref, computed, reactive, toRefs, provide, onMounted, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, normalizeStyle, renderSlot, createTextVNode, toDisplayString, createCommentVNode, createElementVNode, Transition } from 'vue';
2
- import { castArray, clone } from 'lodash-unified';
3
- import { refDebounced, isBoolean } from '@vueuse/core';
1
+ import '../../../constants/index.mjs';
4
2
  import '../../../utils/index.mjs';
5
- import '../../../tokens/index.mjs';
6
- import '../../../hooks/index.mjs';
7
- import { formItemProps } from './form-item2.mjs';
8
- import FormLabelWrap from './form-label-wrap.mjs';
9
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
- import { formContextKey, formItemContextKey } from '../../../tokens/form.mjs';
11
- import { useSize } from '../../../hooks/use-common-props/index.mjs';
12
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
- import { addUnit } from '../../../utils/dom/style.mjs';
14
- import { isString } from '@vue/shared';
15
- import { getProp } from '../../../utils/objects.mjs';
3
+ import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
4
+ import { componentSizes } from '../../../constants/size.mjs';
16
5
 
17
- const _hoisted_1 = ["widget"];
18
- const _hoisted_2 = ["for", "widget"];
19
- const _hoisted_3 = ["widget"];
20
- const __default__ = {
21
- name: "PsFormItem"
22
- };
23
- const _sfc_main = /* @__PURE__ */ defineComponent({
24
- ...__default__,
25
- props: formItemProps,
26
- setup(__props, { expose }) {
27
- const props = __props;
28
- const slots = useSlots();
29
- const formContext = inject(formContextKey, void 0);
30
- const parentFormItemContext = inject(formItemContextKey, void 0);
31
- const _size = useSize(void 0, { formItem: false });
32
- const ns = useNamespace("form-item");
33
- const validateState = ref("");
34
- const validateStateDebounced = refDebounced(validateState, 100);
35
- const validateMessage = ref("");
36
- const formItemRef = ref();
37
- let initialValue = void 0;
38
- const labelStyle = computed(() => {
39
- if ((formContext == null ? void 0 : formContext.labelPosition) === "top") {
40
- return {};
41
- }
42
- const labelWidth = addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
43
- if (labelWidth)
44
- return { width: labelWidth };
45
- return {};
46
- });
47
- const contentStyle = computed(() => {
48
- if ((formContext == null ? void 0 : formContext.labelPosition) === "top" || (formContext == null ? void 0 : formContext.inline)) {
49
- return {};
50
- }
51
- if (!props.label && !props.labelWidth && isNested) {
52
- return {};
53
- }
54
- const labelWidth = addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
55
- if (!props.label && !slots.label) {
56
- return { marginLeft: labelWidth };
57
- }
58
- return {};
59
- });
60
- const formItemClasses = computed(() => [
61
- ns.b(),
62
- ns.m(_size.value),
63
- ns.is("error", validateState.value === "error"),
64
- ns.is("validating", validateState.value === "validating"),
65
- ns.is("success", validateState.value === "success"),
66
- ns.is("required", isRequired.value || props.required),
67
- ns.is("no-asterisk", formContext == null ? void 0 : formContext.hideRequiredAsterisk),
68
- { [ns.m("feedback")]: formContext == null ? void 0 : formContext.statusIcon }
69
- ]);
70
- const _inlineMessage = computed(() => isBoolean(props.inlineMessage) ? props.inlineMessage : (formContext == null ? void 0 : formContext.inlineMessage) || false);
71
- const validateClasses = computed(() => [
72
- ns.e("error"),
73
- { [ns.em("error", "inline")]: _inlineMessage.value }
74
- ]);
75
- const propString = computed(() => {
76
- if (!props.prop)
77
- return "";
78
- return isString(props.prop) ? props.prop : props.prop.join(".");
79
- });
80
- const labelFor = computed(() => props.for || propString.value);
81
- const isNested = !!parentFormItemContext;
82
- const fieldValue = computed(() => {
83
- const model = formContext == null ? void 0 : formContext.model;
84
- if (!model || !props.prop) {
85
- return;
86
- }
87
- return getProp(model, props.prop).value;
88
- });
89
- const _rules = computed(() => {
90
- const rules = props.rules ? castArray(props.rules) : [];
91
- const formRules = formContext == null ? void 0 : formContext.rules;
92
- if (formRules && props.prop) {
93
- const _rules2 = getProp(formRules, props.prop).value;
94
- if (_rules2) {
95
- rules.push(...castArray(_rules2));
96
- }
97
- }
98
- if (props.required !== void 0) {
99
- rules.push({ required: !!props.required });
100
- }
101
- return rules;
102
- });
103
- const isRequired = computed(() => _rules.value.some((rule) => rule.required === true));
104
- const shouldShowError = computed(() => {
105
- var _a;
106
- return validateStateDebounced.value === "error" && props.showMessage && ((_a = formContext == null ? void 0 : formContext.showMessage) != null ? _a : true);
107
- });
108
- const currentLabel = computed(() => `${props.label || ""}${(formContext == null ? void 0 : formContext.labelSuffix) || ""}`);
109
- const context = reactive({
110
- ...toRefs(props),
111
- $el: formItemRef,
112
- size: _size,
113
- validateState
114
- });
115
- provide(formItemContextKey, context);
116
- onMounted(() => {
117
- if (props.prop) {
118
- formContext == null ? void 0 : formContext.addField(context);
119
- initialValue = clone(fieldValue.value);
120
- }
121
- });
122
- expose({
123
- size: _size,
124
- validateMessage,
125
- validateState
126
- });
127
- return (_ctx, _cache) => {
128
- var _a;
129
- return openBlock(), createElementBlock("div", {
130
- ref_key: "formItemRef",
131
- ref: formItemRef,
132
- class: normalizeClass(unref(formItemClasses)),
133
- widget: _ctx.widget
134
- }, [
135
- createVNode(unref(FormLabelWrap), {
136
- "is-auto-width": unref(labelStyle).width === "auto",
137
- "update-all": ((_a = unref(formContext)) == null ? void 0 : _a.labelWidth) === "auto"
138
- }, {
139
- default: withCtx(() => [
140
- _ctx.label || _ctx.$slots.label ? (openBlock(), createElementBlock("label", {
141
- key: 0,
142
- for: unref(labelFor),
143
- class: normalizeClass(unref(ns).e("label")),
144
- style: normalizeStyle(unref(labelStyle)),
145
- widget: _ctx.widget ? "form-item:label:" + _ctx.widget.split(":")[1] : void 0
146
- }, [
147
- renderSlot(_ctx.$slots, "label", { label: unref(currentLabel) }, () => [
148
- createTextVNode(toDisplayString(unref(currentLabel)), 1)
149
- ])
150
- ], 14, _hoisted_2)) : createCommentVNode("v-if", true)
151
- ]),
152
- _: 3
153
- }, 8, ["is-auto-width", "update-all"]),
154
- createElementVNode("div", {
155
- class: normalizeClass(unref(ns).e("content")),
156
- style: normalizeStyle(unref(contentStyle)),
157
- widget: _ctx.widget ? "form-item:default:" + _ctx.widget.split(":")[1] : void 0
158
- }, [
159
- renderSlot(_ctx.$slots, "default"),
160
- createVNode(Transition, {
161
- name: `${unref(ns).namespace.value}-zoom-in-top`
162
- }, {
163
- default: withCtx(() => [
164
- unref(shouldShowError) ? renderSlot(_ctx.$slots, "error", {
165
- key: 0,
166
- error: validateMessage.value
167
- }, () => [
168
- createElementVNode("div", {
169
- class: normalizeClass(unref(validateClasses))
170
- }, toDisplayString(validateMessage.value), 3)
171
- ]) : createCommentVNode("v-if", true)
172
- ]),
173
- _: 3
174
- }, 8, ["name"])
175
- ], 14, _hoisted_3)
176
- ], 10, _hoisted_1);
177
- };
6
+ const formItemValidateStates = [
7
+ "",
8
+ "error",
9
+ "validating",
10
+ "success"
11
+ ];
12
+ const formItemProps = buildProps({
13
+ label: String,
14
+ labelWidth: {
15
+ type: [String, Number],
16
+ default: ""
17
+ },
18
+ prop: {
19
+ type: definePropType([String, Array])
20
+ },
21
+ required: {
22
+ type: Boolean,
23
+ default: void 0
24
+ },
25
+ rules: {
26
+ type: definePropType([Object, Array])
27
+ },
28
+ error: String,
29
+ validateStatus: {
30
+ type: String,
31
+ values: formItemValidateStates
32
+ },
33
+ for: String,
34
+ inlineMessage: {
35
+ type: [String, Boolean],
36
+ default: ""
37
+ },
38
+ showMessage: {
39
+ type: Boolean,
40
+ default: true
41
+ },
42
+ size: {
43
+ type: String,
44
+ values: componentSizes
45
+ },
46
+ widget: {
47
+ type: String
178
48
  }
179
49
  });
180
- var FormItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/form/src/form-item.vue"]]);
181
50
 
182
- export { FormItem as default };
51
+ export { formItemProps, formItemValidateStates };
183
52
  //# sourceMappingURL=form-item.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div ref=\"formItemRef\" :class=\"formItemClasses\" :widget=\"widget\">\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext?.labelWidth === 'auto'\"\n >\n <label\n v-if=\"label || $slots.label\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n :widget=\"widget ? 'form-item:label:' + widget.split(':')[1] : undefined\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </label>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\"\n :widget=\"widget ? 'form-item:default:' + widget.split(':')[1] : undefined\"\n >\n <slot />\n <transition :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n useSlots,\n} from 'vue'\nimport { clone } from 'lodash-unified'\nimport { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isBoolean,\n isString,\n} from '@element-ps/utils'\nimport { formContextKey, formItemContextKey } from '@element-ps/tokens'\nimport { useNamespace, useSize } from '@element-ps/hooks'\nimport { formItemProps } from './form-item'\nimport FormLabelWrap from './form-label-wrap'\n\nimport type { CSSProperties } from 'vue'\nimport type {\n FormItemContext,\n FormItemRule,\n} from '@element-ps/tokens'\nimport type { Arrayable } from '@element-ps/utils'\nimport type { FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'PsFormItem',\n})\nconst props = defineProps(formItemProps)\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey, undefined)\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateStateDebounced = refDebounced(validateState, 100)\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\n// special inline value.\nlet initialValue: any = undefined\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (formContext?.labelPosition === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth || formContext?.labelWidth || '')\n if (labelWidth) return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (formContext?.labelPosition === 'top' || formContext?.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth || formContext?.labelWidth || '')\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext?.hideRequiredAsterisk),\n { [ns.m('feedback')]: formContext?.statusIcon },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext?.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isString(props.prop) ? props.prop : props.prop.join('.')\n})\n\nconst labelFor = computed(() => props.for || propString.value)\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext?.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst _rules = computed(() => {\n const rules: FormItemRule[] = props.rules ? ensureArray(props.rules) : []\n\n const formRules = formContext?.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (props.required !== undefined) {\n rules.push({ required: !!props.required })\n }\n\n return rules\n})\n\nconst isRequired = computed(() =>\n _rules.value.some((rule) => rule.required === true)\n)\n\nconst shouldShowError = computed(\n () =>\n validateStateDebounced.value === 'error' &&\n props.showMessage &&\n (formContext?.showMessage ?? true)\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext?.labelSuffix || ''}`\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateState,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n formContext?.addField(context)\n initialValue = clone(fieldValue.value)\n }\n})\n\ndefineExpose({\n /** @description form item size */\n size: _size,\n /** @description validation message */\n validateMessage,\n /** @description validation state */\n validateState,\n})\n</script>\n"],"names":["ensureArray"],"mappings":"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"}
1
+ {"version":3,"file":"form-item.mjs","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { componentSizes } from '@element-ps/constants'\nimport { buildProps, definePropType } from '@element-ps/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-ps/utils'\nimport type { FormItemRule } from '@element-ps/tokens'\n\nexport const formItemValidateStates = [\n '',\n 'error',\n 'validating',\n 'success',\n] as const\nexport type FormItemValidateState = typeof formItemValidateStates[number]\n\nexport type FormItemProp = Arrayable<string>\n\nexport const formItemProps = buildProps({\n label: String,\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n prop: {\n type: definePropType<FormItemProp>([String, Array]),\n },\n required: {\n type: Boolean,\n default: undefined,\n },\n rules: {\n type: definePropType<Arrayable<FormItemRule>>([Object, Array]),\n },\n error: String,\n validateStatus: {\n type: String,\n values: formItemValidateStates,\n },\n for: String,\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n showMessage: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String,\n values: componentSizes,\n },\n widget: {\n type: String,\n },\n} as const)\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\n"],"names":[],"mappings":";;;;;AAEY,MAAC,sBAAsB,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE;AACU,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,sBAAsB;AAClC,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}