element-ps 2.0.20 → 2.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/dist/index.full.js +2 -41
  2. package/dist/index.full.min.js +5 -5
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +5 -5
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +2 -41
  7. package/es/components/affix/index.mjs +2 -2
  8. package/es/components/affix/src/affix.mjs +19 -82
  9. package/es/components/affix/src/affix.mjs.map +1 -1
  10. package/es/components/affix/src/affix2.mjs +82 -19
  11. package/es/components/affix/src/affix2.mjs.map +1 -1
  12. package/es/components/alert/index.mjs +2 -2
  13. package/es/components/alert/src/alert.mjs +33 -83
  14. package/es/components/alert/src/alert.mjs.map +1 -1
  15. package/es/components/alert/src/alert2.mjs +83 -33
  16. package/es/components/alert/src/alert2.mjs.map +1 -1
  17. package/es/components/autocomplete/index.d.ts +5 -5
  18. package/es/components/autocomplete/index.mjs +2 -2
  19. package/es/components/autocomplete/src/autocomplete.mjs +94 -58
  20. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  21. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  22. package/es/components/autocomplete/src/autocomplete2.mjs +58 -94
  23. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  24. package/es/components/avatar/index.mjs +2 -2
  25. package/es/components/avatar/src/avatar.mjs +29 -61
  26. package/es/components/avatar/src/avatar.mjs.map +1 -1
  27. package/es/components/avatar/src/avatar2.mjs +61 -29
  28. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  29. package/es/components/calendar/index.mjs +2 -2
  30. package/es/components/calendar/src/calendar.mjs +9 -188
  31. package/es/components/calendar/src/calendar.mjs.map +1 -1
  32. package/es/components/calendar/src/calendar2.mjs +188 -9
  33. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  34. package/es/components/calendar/src/date-table.mjs +27 -146
  35. package/es/components/calendar/src/date-table.mjs.map +1 -1
  36. package/es/components/calendar/src/date-table2.mjs +146 -27
  37. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  38. package/es/components/carousel/index.mjs +4 -4
  39. package/es/components/carousel/src/carousel-item.mjs +7 -148
  40. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  41. package/es/components/carousel/src/carousel-item2.mjs +148 -7
  42. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  43. package/es/components/carousel/src/carousel.mjs +43 -201
  44. package/es/components/carousel/src/carousel.mjs.map +1 -1
  45. package/es/components/carousel/src/carousel2.mjs +201 -43
  46. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  47. package/es/components/cascader-panel/src/config.mjs +1 -1
  48. package/es/components/cascader-panel/src/index.mjs +1 -1
  49. package/es/components/cascader-panel/src/menu.mjs +1 -1
  50. package/es/components/cascader-panel/src/node.mjs +200 -120
  51. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  52. package/es/components/cascader-panel/src/node2.mjs +120 -200
  53. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  54. package/es/components/cascader-panel/src/store.mjs +1 -1
  55. package/es/components/collection/src/collection.mjs +1 -34
  56. package/es/components/collection/src/collection.mjs.map +1 -1
  57. package/es/components/divider/index.mjs +2 -2
  58. package/es/components/divider/src/divider.mjs +34 -17
  59. package/es/components/divider/src/divider.mjs.map +1 -1
  60. package/es/components/divider/src/divider2.mjs +17 -34
  61. package/es/components/divider/src/divider2.mjs.map +1 -1
  62. package/es/components/dropdown/index.d.ts +3 -3
  63. package/es/components/dropdown/src/dropdown-item-impl.mjs +3 -12
  64. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  65. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +0 -3
  66. package/es/components/dropdown/src/dropdown.d.ts +1 -1
  67. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -3
  68. package/es/components/form/index.mjs +4 -4
  69. package/es/components/form/src/form-item.mjs +177 -46
  70. package/es/components/form/src/form-item.mjs.map +1 -1
  71. package/es/components/form/src/form-item2.mjs +46 -177
  72. package/es/components/form/src/form-item2.mjs.map +1 -1
  73. package/es/components/form/src/form.mjs +40 -45
  74. package/es/components/form/src/form.mjs.map +1 -1
  75. package/es/components/form/src/form2.mjs +45 -40
  76. package/es/components/form/src/form2.mjs.map +1 -1
  77. package/es/components/image/index.mjs +2 -2
  78. package/es/components/image/src/image.mjs +170 -46
  79. package/es/components/image/src/image.mjs.map +1 -1
  80. package/es/components/image/src/image2.mjs +46 -170
  81. package/es/components/image/src/image2.mjs.map +1 -1
  82. package/es/components/image-viewer/index.mjs +2 -2
  83. package/es/components/image-viewer/src/image-viewer.mjs +31 -210
  84. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  85. package/es/components/image-viewer/src/image-viewer2.mjs +210 -31
  86. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  87. package/es/components/index.mjs +23 -23
  88. package/es/components/input-number/index.mjs +2 -2
  89. package/es/components/input-number/src/input-number.mjs +46 -171
  90. package/es/components/input-number/src/input-number.mjs.map +1 -1
  91. package/es/components/input-number/src/input-number2.mjs +171 -46
  92. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  93. package/es/components/menu/index.d.ts +3 -3
  94. package/es/components/menu/src/menu.d.ts +4 -4
  95. package/es/components/popover/index.d.ts +6 -6
  96. package/es/components/popover/src/index.vue.d.ts +3 -3
  97. package/es/components/popover/src/popover.d.ts +1 -1
  98. package/es/components/popper/index.mjs +2 -2
  99. package/es/components/popper/src/arrow.mjs +7 -31
  100. package/es/components/popper/src/arrow.mjs.map +1 -1
  101. package/es/components/popper/src/arrow2.mjs +31 -7
  102. package/es/components/popper/src/arrow2.mjs.map +1 -1
  103. package/es/components/radio/index.mjs +2 -2
  104. package/es/components/radio/src/radio-button.mjs +1 -1
  105. package/es/components/radio/src/radio-button2.mjs +1 -1
  106. package/es/components/radio/src/radio.mjs +62 -74
  107. package/es/components/radio/src/radio.mjs.map +1 -1
  108. package/es/components/radio/src/radio2.mjs +74 -62
  109. package/es/components/radio/src/radio2.mjs.map +1 -1
  110. package/es/components/rate/index.mjs +2 -2
  111. package/es/components/rate/src/rate.mjs +84 -169
  112. package/es/components/rate/src/rate.mjs.map +1 -1
  113. package/es/components/rate/src/rate2.mjs +169 -84
  114. package/es/components/rate/src/rate2.mjs.map +1 -1
  115. package/es/components/result/index.mjs +2 -2
  116. package/es/components/result/src/result.mjs +28 -73
  117. package/es/components/result/src/result.mjs.map +1 -1
  118. package/es/components/result/src/result2.mjs +73 -28
  119. package/es/components/result/src/result2.mjs.map +1 -1
  120. package/es/components/select/index.d.ts +5 -5
  121. package/es/components/select/src/select.vue.d.ts +5 -5
  122. package/es/components/select/src/useSelect.d.ts +5 -5
  123. package/es/components/select-v2/index.d.ts +10 -10
  124. package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
  125. package/es/components/select-v2/src/select.vue.d.ts +5 -5
  126. package/es/components/select-v2/src/useSelect.d.ts +5 -5
  127. package/es/components/skeleton/index.mjs +4 -4
  128. package/es/components/skeleton/src/skeleton-item.mjs +18 -23
  129. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  130. package/es/components/skeleton/src/skeleton-item2.mjs +23 -18
  131. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  132. package/es/components/skeleton/src/skeleton.mjs +22 -49
  133. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  134. package/es/components/skeleton/src/skeleton2.mjs +49 -22
  135. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  136. package/es/components/table/index.d.ts +1 -1
  137. package/es/components/table/src/filter-panel.vue.d.ts +5 -5
  138. package/es/components/table/src/table.vue.d.ts +1 -1
  139. package/es/components/tabs/index.mjs +3 -3
  140. package/es/components/tabs/src/tab-bar.mjs +76 -7
  141. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  142. package/es/components/tabs/src/tab-bar2.mjs +7 -76
  143. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  144. package/es/components/tabs/src/tab-nav.mjs +1 -1
  145. package/es/components/tabs/src/tab-pane.mjs +14 -60
  146. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  147. package/es/components/tabs/src/tab-pane2.mjs +60 -14
  148. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  149. package/es/components/time-picker/src/common/picker.vue.d.ts +5 -5
  150. package/es/components/tooltip/index.d.ts +3 -3
  151. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  152. package/es/components/tooltip/src/tooltip.mjs +1 -1
  153. package/es/components/tooltip/src/tooltip.vue.d.ts +3 -3
  154. package/es/components/tooltip/src/trigger.vue.d.ts +3 -3
  155. package/es/components/tooltip-v2/index.mjs +2 -2
  156. package/es/components/tooltip-v2/src/arrow.mjs +22 -38
  157. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  158. package/es/components/tooltip-v2/src/arrow2.mjs +38 -22
  159. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  160. package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
  161. package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
  162. package/es/components/tooltip-v2/src/trigger.mjs +89 -11
  163. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  164. package/es/components/tooltip-v2/src/trigger2.mjs +11 -89
  165. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  166. package/es/components/upload/index.mjs +1 -1
  167. package/es/components/upload/src/upload-content.mjs +1 -1
  168. package/es/components/upload/src/upload-dragger.mjs +32 -11
  169. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  170. package/es/components/upload/src/upload-dragger2.mjs +11 -32
  171. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  172. package/es/index.mjs +23 -23
  173. package/lib/components/affix/index.js +2 -2
  174. package/lib/components/affix/src/affix.js +19 -82
  175. package/lib/components/affix/src/affix.js.map +1 -1
  176. package/lib/components/affix/src/affix2.js +82 -19
  177. package/lib/components/affix/src/affix2.js.map +1 -1
  178. package/lib/components/alert/index.js +2 -2
  179. package/lib/components/alert/src/alert.js +33 -82
  180. package/lib/components/alert/src/alert.js.map +1 -1
  181. package/lib/components/alert/src/alert2.js +82 -33
  182. package/lib/components/alert/src/alert2.js.map +1 -1
  183. package/lib/components/autocomplete/index.d.ts +5 -5
  184. package/lib/components/autocomplete/index.js +2 -2
  185. package/lib/components/autocomplete/src/autocomplete.js +94 -58
  186. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  187. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  188. package/lib/components/autocomplete/src/autocomplete2.js +58 -94
  189. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  190. package/lib/components/avatar/index.js +2 -2
  191. package/lib/components/avatar/src/avatar.js +29 -61
  192. package/lib/components/avatar/src/avatar.js.map +1 -1
  193. package/lib/components/avatar/src/avatar2.js +61 -29
  194. package/lib/components/avatar/src/avatar2.js.map +1 -1
  195. package/lib/components/calendar/index.js +2 -2
  196. package/lib/components/calendar/src/calendar.js +9 -192
  197. package/lib/components/calendar/src/calendar.js.map +1 -1
  198. package/lib/components/calendar/src/calendar2.js +192 -9
  199. package/lib/components/calendar/src/calendar2.js.map +1 -1
  200. package/lib/components/calendar/src/date-table.js +30 -151
  201. package/lib/components/calendar/src/date-table.js.map +1 -1
  202. package/lib/components/calendar/src/date-table2.js +151 -30
  203. package/lib/components/calendar/src/date-table2.js.map +1 -1
  204. package/lib/components/carousel/index.js +4 -4
  205. package/lib/components/carousel/src/carousel-item.js +7 -148
  206. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  207. package/lib/components/carousel/src/carousel-item2.js +148 -7
  208. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  209. package/lib/components/carousel/src/carousel.js +43 -201
  210. package/lib/components/carousel/src/carousel.js.map +1 -1
  211. package/lib/components/carousel/src/carousel2.js +201 -43
  212. package/lib/components/carousel/src/carousel2.js.map +1 -1
  213. package/lib/components/cascader-panel/src/config.js +1 -1
  214. package/lib/components/cascader-panel/src/index.js +1 -1
  215. package/lib/components/cascader-panel/src/menu.js +1 -1
  216. package/lib/components/cascader-panel/src/node.js +200 -121
  217. package/lib/components/cascader-panel/src/node.js.map +1 -1
  218. package/lib/components/cascader-panel/src/node2.js +121 -200
  219. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  220. package/lib/components/cascader-panel/src/store.js +1 -1
  221. package/lib/components/collection/src/collection.js +0 -33
  222. package/lib/components/collection/src/collection.js.map +1 -1
  223. package/lib/components/divider/index.js +2 -2
  224. package/lib/components/divider/src/divider.js +34 -17
  225. package/lib/components/divider/src/divider.js.map +1 -1
  226. package/lib/components/divider/src/divider2.js +17 -34
  227. package/lib/components/divider/src/divider2.js.map +1 -1
  228. package/lib/components/dropdown/index.d.ts +3 -3
  229. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -10
  230. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  231. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +0 -3
  232. package/lib/components/dropdown/src/dropdown.d.ts +1 -1
  233. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -3
  234. package/lib/components/form/index.js +4 -4
  235. package/lib/components/form/src/form-item.js +177 -47
  236. package/lib/components/form/src/form-item.js.map +1 -1
  237. package/lib/components/form/src/form-item2.js +47 -177
  238. package/lib/components/form/src/form-item2.js.map +1 -1
  239. package/lib/components/form/src/form.js +40 -45
  240. package/lib/components/form/src/form.js.map +1 -1
  241. package/lib/components/form/src/form2.js +45 -40
  242. package/lib/components/form/src/form2.js.map +1 -1
  243. package/lib/components/image/index.js +2 -2
  244. package/lib/components/image/src/image.js +170 -46
  245. package/lib/components/image/src/image.js.map +1 -1
  246. package/lib/components/image/src/image2.js +46 -170
  247. package/lib/components/image/src/image2.js.map +1 -1
  248. package/lib/components/image-viewer/index.js +2 -2
  249. package/lib/components/image-viewer/src/image-viewer.js +31 -210
  250. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  251. package/lib/components/image-viewer/src/image-viewer2.js +210 -31
  252. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  253. package/lib/components/index.js +23 -23
  254. package/lib/components/input-number/index.js +2 -2
  255. package/lib/components/input-number/src/input-number.js +46 -171
  256. package/lib/components/input-number/src/input-number.js.map +1 -1
  257. package/lib/components/input-number/src/input-number2.js +171 -46
  258. package/lib/components/input-number/src/input-number2.js.map +1 -1
  259. package/lib/components/menu/index.d.ts +3 -3
  260. package/lib/components/menu/src/menu.d.ts +4 -4
  261. package/lib/components/popover/index.d.ts +6 -6
  262. package/lib/components/popover/src/index.vue.d.ts +3 -3
  263. package/lib/components/popover/src/popover.d.ts +1 -1
  264. package/lib/components/popper/index.js +2 -2
  265. package/lib/components/popper/src/arrow.js +7 -31
  266. package/lib/components/popper/src/arrow.js.map +1 -1
  267. package/lib/components/popper/src/arrow2.js +31 -7
  268. package/lib/components/popper/src/arrow2.js.map +1 -1
  269. package/lib/components/radio/index.js +2 -2
  270. package/lib/components/radio/src/radio-button.js +1 -1
  271. package/lib/components/radio/src/radio-button2.js +1 -1
  272. package/lib/components/radio/src/radio.js +64 -73
  273. package/lib/components/radio/src/radio.js.map +1 -1
  274. package/lib/components/radio/src/radio2.js +73 -64
  275. package/lib/components/radio/src/radio2.js.map +1 -1
  276. package/lib/components/rate/index.js +2 -2
  277. package/lib/components/rate/src/rate.js +84 -169
  278. package/lib/components/rate/src/rate.js.map +1 -1
  279. package/lib/components/rate/src/rate2.js +169 -84
  280. package/lib/components/rate/src/rate2.js.map +1 -1
  281. package/lib/components/result/index.js +2 -2
  282. package/lib/components/result/src/result.js +30 -73
  283. package/lib/components/result/src/result.js.map +1 -1
  284. package/lib/components/result/src/result2.js +73 -30
  285. package/lib/components/result/src/result2.js.map +1 -1
  286. package/lib/components/select/index.d.ts +5 -5
  287. package/lib/components/select/src/select.vue.d.ts +5 -5
  288. package/lib/components/select/src/useSelect.d.ts +5 -5
  289. package/lib/components/select-v2/index.d.ts +10 -10
  290. package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
  291. package/lib/components/select-v2/src/select.vue.d.ts +5 -5
  292. package/lib/components/select-v2/src/useSelect.d.ts +5 -5
  293. package/lib/components/skeleton/index.js +4 -4
  294. package/lib/components/skeleton/src/skeleton-item.js +18 -23
  295. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  296. package/lib/components/skeleton/src/skeleton-item2.js +23 -18
  297. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  298. package/lib/components/skeleton/src/skeleton.js +22 -49
  299. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  300. package/lib/components/skeleton/src/skeleton2.js +49 -22
  301. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  302. package/lib/components/table/index.d.ts +1 -1
  303. package/lib/components/table/src/filter-panel.vue.d.ts +5 -5
  304. package/lib/components/table/src/table.vue.d.ts +1 -1
  305. package/lib/components/tabs/index.js +3 -3
  306. package/lib/components/tabs/src/tab-bar.js +76 -7
  307. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  308. package/lib/components/tabs/src/tab-bar2.js +7 -76
  309. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  310. package/lib/components/tabs/src/tab-nav.js +1 -1
  311. package/lib/components/tabs/src/tab-pane.js +14 -60
  312. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  313. package/lib/components/tabs/src/tab-pane2.js +60 -14
  314. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  315. package/lib/components/time-picker/src/common/picker.vue.d.ts +5 -5
  316. package/lib/components/tooltip/index.d.ts +3 -3
  317. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  318. package/lib/components/tooltip/src/tooltip.js +1 -1
  319. package/lib/components/tooltip/src/tooltip.vue.d.ts +3 -3
  320. package/lib/components/tooltip/src/trigger.vue.d.ts +3 -3
  321. package/lib/components/tooltip-v2/index.js +2 -2
  322. package/lib/components/tooltip-v2/src/arrow.js +23 -38
  323. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  324. package/lib/components/tooltip-v2/src/arrow2.js +38 -23
  325. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  326. package/lib/components/tooltip-v2/src/tooltip.js +2 -2
  327. package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
  328. package/lib/components/tooltip-v2/src/trigger.js +89 -11
  329. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  330. package/lib/components/tooltip-v2/src/trigger2.js +11 -89
  331. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  332. package/lib/components/upload/index.js +1 -1
  333. package/lib/components/upload/src/upload-content.js +1 -1
  334. package/lib/components/upload/src/upload-dragger.js +32 -12
  335. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  336. package/lib/components/upload/src/upload-dragger2.js +12 -32
  337. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  338. package/lib/index.js +23 -23
  339. package/package.json +1 -1
  340. package/web-types.json +1 -1
@@ -1,27 +1,54 @@
1
- import '../../../utils/index.mjs';
2
- import { buildProps } from '../../../utils/vue/props.mjs';
1
+ import { defineComponent, toRef, unref, openBlock, createElementBlock, mergeProps, Fragment, renderList, renderSlot, createVNode, normalizeClass, createBlock, createCommentVNode, normalizeProps } from 'vue';
2
+ import '../../../hooks/index.mjs';
3
+ import { skeletonProps } from './skeleton.mjs';
4
+ import SkeletonItem from './skeleton-item2.mjs';
5
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
7
+ import { useThrottleRender } from '../../../hooks/use-throttle-render/index.mjs';
3
8
 
4
- const skeletonProps = buildProps({
5
- animated: {
6
- type: Boolean,
7
- default: false
8
- },
9
- count: {
10
- type: Number,
11
- default: 1
12
- },
13
- rows: {
14
- type: Number,
15
- default: 3
16
- },
17
- loading: {
18
- type: Boolean,
19
- default: true
20
- },
21
- throttle: {
22
- type: Number
9
+ const __default__ = {
10
+ name: "PsSkeleton"
11
+ };
12
+ const _sfc_main = /* @__PURE__ */ defineComponent({
13
+ ...__default__,
14
+ props: skeletonProps,
15
+ setup(__props, { expose }) {
16
+ const props = __props;
17
+ const ns = useNamespace("skeleton");
18
+ const uiLoading = useThrottleRender(toRef(props, "loading"), props.throttle);
19
+ expose({
20
+ uiLoading
21
+ });
22
+ return (_ctx, _cache) => {
23
+ return unref(uiLoading) ? (openBlock(), createElementBlock("div", mergeProps({
24
+ key: 0,
25
+ class: [unref(ns).b(), unref(ns).is("animated", _ctx.animated)]
26
+ }, _ctx.$attrs), [
27
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.count, (i) => {
28
+ return openBlock(), createElementBlock(Fragment, { key: i }, [
29
+ _ctx.loading ? renderSlot(_ctx.$slots, "template", { key: i }, () => [
30
+ createVNode(SkeletonItem, {
31
+ class: normalizeClass(unref(ns).is("first")),
32
+ variant: "p"
33
+ }, null, 8, ["class"]),
34
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.rows, (item) => {
35
+ return openBlock(), createBlock(SkeletonItem, {
36
+ key: item,
37
+ class: normalizeClass([
38
+ unref(ns).e("paragraph"),
39
+ unref(ns).is("last", item === _ctx.rows && _ctx.rows > 1)
40
+ ]),
41
+ variant: "p"
42
+ }, null, 8, ["class"]);
43
+ }), 128))
44
+ ]) : createCommentVNode("v-if", true)
45
+ ], 64);
46
+ }), 128))
47
+ ], 16)) : renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({ key: 1 }, _ctx.$attrs)));
48
+ };
23
49
  }
24
50
  });
51
+ var Skeleton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/skeleton/src/skeleton.vue"]]);
25
52
 
26
- export { skeletonProps };
53
+ export { Skeleton as default };
27
54
  //# sourceMappingURL=skeleton2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton2.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport type Skeleton from './skeleton.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const skeletonProps = buildProps({\n animated: {\n type: Boolean,\n default: false,\n },\n count: {\n type: Number,\n default: 1,\n },\n rows: {\n type: Number,\n default: 3,\n },\n loading: {\n type: Boolean,\n default: true,\n },\n throttle: {\n type: Number,\n },\n} as const)\nexport type SkeletonProps = ExtractPropTypes<typeof skeletonProps>\n\nexport type SkeletonInstance = InstanceType<typeof Skeleton>\n"],"names":[],"mappings":";;;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"skeleton2.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton.vue"],"sourcesContent":["<template>\n <template v-if=\"uiLoading\">\n <div :class=\"[ns.b(), ns.is('animated', animated)]\" v-bind=\"$attrs\">\n <template v-for=\"i in count\" :key=\"i\">\n <slot v-if=\"loading\" :key=\"i\" name=\"template\">\n <ps-skeleton-item :class=\"ns.is('first')\" variant=\"p\" />\n <ps-skeleton-item\n v-for=\"item in rows\"\n :key=\"item\"\n :class=\"[\n ns.e('paragraph'),\n ns.is('last', item === rows && rows > 1),\n ]\"\n variant=\"p\"\n />\n </slot>\n </template>\n </div>\n </template>\n <template v-else>\n <slot v-bind=\"$attrs\" />\n </template>\n</template>\n\n<script lang=\"ts\" setup>\nimport { toRef } from 'vue'\nimport { useNamespace, useThrottleRender } from '@element-ps/hooks'\nimport { skeletonProps } from './skeleton'\nimport PsSkeletonItem from './skeleton-item.vue'\n\ndefineOptions({\n name: 'PsSkeleton',\n})\nconst props = defineProps(skeletonProps)\n\nconst ns = useNamespace('skeleton')\nconst uiLoading = useThrottleRender(toRef(props, 'loading'), props.throttle)\n\ndefineExpose({\n /** @description loading state */\n uiLoading,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAmCA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AACA,IAAA,MAAA,YAAA,iBAAA,CAAA,KAAA,CAAA,OAAA,SAAA,CAAA,EAAA,MAAA,QAAA,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA;AAAA,MAEA,SAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -196,7 +196,7 @@ export declare const PsTable: import("element-ps/es/utils").SFCWithInstall<impor
196
196
  scrollTo: (options: number | ScrollToOptions, yCoord?: number | undefined) => void;
197
197
  setScrollLeft: (left?: number | undefined) => void;
198
198
  setScrollTop: (top?: number | undefined) => void;
199
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "select-all" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "current-change" | "header-dragend" | "expand-change")[], "select" | "select-all" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "current-change" | "header-dragend" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
199
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select-all" | "select" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "current-change" | "header-dragend" | "expand-change")[], "select-all" | "select" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "current-change" | "header-dragend" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
200
200
  data: {
201
201
  type: import("vue").PropType<any[]>;
202
202
  default: () => never[];
@@ -48,7 +48,7 @@ declare const _default: import("vue").DefineComponent<{
48
48
  $data: {};
49
49
  $props: Partial<{
50
50
  disabled: boolean;
51
- trigger: import("../../../utils").BuildPropType<import("../../../utils").PropWrapper<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>, unknown, unknown>;
51
+ trigger: import("../../../utils").BuildPropType<import("../../../utils").PropWrapper<"hover" | "focus" | "click" | "contextmenu" | ("hover" | "focus" | "click" | "contextmenu")[]>, unknown, unknown>;
52
52
  offset: number;
53
53
  effect: string;
54
54
  style: import("vue").StyleValue;
@@ -137,7 +137,7 @@ declare const _default: import("vue").DefineComponent<{
137
137
  showArrow: import("../../../utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
138
138
  arrowOffset: import("../../../utils").BuildPropReturn<NumberConstructor, 5, unknown, unknown, unknown>;
139
139
  disabled: BooleanConstructor;
140
- trigger: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>, "hover", unknown, unknown, unknown>;
140
+ trigger: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<"hover" | "focus" | "click" | "contextmenu" | ("hover" | "focus" | "click" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
141
141
  virtualRef: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<import("../../..").Measurable>, unknown, unknown, unknown, unknown>;
142
142
  virtualTriggering: BooleanConstructor;
143
143
  onMouseenter: FunctionConstructor;
@@ -245,7 +245,7 @@ declare const _default: import("vue").DefineComponent<{
245
245
  showArrow: import("../../../utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
246
246
  arrowOffset: import("../../../utils").BuildPropReturn<NumberConstructor, 5, unknown, unknown, unknown>;
247
247
  disabled: BooleanConstructor;
248
- trigger: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>, "hover", unknown, unknown, unknown>;
248
+ trigger: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<"hover" | "focus" | "click" | "contextmenu" | ("hover" | "focus" | "click" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
249
249
  virtualRef: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<import("../../..").Measurable>, unknown, unknown, unknown, unknown>;
250
250
  virtualTriggering: BooleanConstructor;
251
251
  onMouseenter: FunctionConstructor;
@@ -334,7 +334,7 @@ declare const _default: import("vue").DefineComponent<{
334
334
  "onUpdate:visible": import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
335
335
  }>>, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
336
336
  disabled: boolean;
337
- trigger: import("../../../utils").BuildPropType<import("../../../utils").PropWrapper<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>, unknown, unknown>;
337
+ trigger: import("../../../utils").BuildPropType<import("../../../utils").PropWrapper<"hover" | "focus" | "click" | "contextmenu" | ("hover" | "focus" | "click" | "contextmenu")[]>, unknown, unknown>;
338
338
  offset: number;
339
339
  effect: string;
340
340
  style: import("vue").StyleValue;
@@ -443,7 +443,7 @@ declare const _default: import("vue").DefineComponent<{
443
443
  showArrow: import("../../../utils").BuildPropReturn<BooleanConstructor, boolean | (() => false) | (() => true) | undefined, unknown, unknown, unknown>;
444
444
  arrowOffset: import("../../../utils").BuildPropReturn<NumberConstructor, 5, unknown, unknown, unknown>;
445
445
  disabled: BooleanConstructor;
446
- trigger: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<"click" | "contextmenu" | "focus" | "hover" | ("click" | "contextmenu" | "focus" | "hover")[]>, "hover", unknown, unknown, unknown>;
446
+ trigger: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<"hover" | "focus" | "click" | "contextmenu" | ("hover" | "focus" | "click" | "contextmenu")[]>, "hover", unknown, unknown, unknown>;
447
447
  virtualRef: import("../../../utils").BuildPropReturn<import("../../../utils").PropWrapper<import("../../..").Measurable>, unknown, unknown, unknown, unknown>;
448
448
  virtualTriggering: BooleanConstructor;
449
449
  onMouseenter: FunctionConstructor;
@@ -198,7 +198,7 @@ declare const _default: import("vue").DefineComponent<{
198
198
  scrollTo: (options: number | ScrollToOptions, yCoord?: number | undefined) => void;
199
199
  setScrollLeft: (left?: number | undefined) => void;
200
200
  setScrollTop: (top?: number | undefined) => void;
201
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select" | "select-all" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "current-change" | "header-dragend" | "expand-change")[], "select" | "select-all" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "current-change" | "header-dragend" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
201
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("select-all" | "select" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "current-change" | "header-dragend" | "expand-change")[], "select-all" | "select" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "current-change" | "header-dragend" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
202
202
  data: {
203
203
  type: import("vue").PropType<any[]>;
204
204
  default: () => never[];
@@ -1,10 +1,10 @@
1
1
  import '../../utils/index.mjs';
2
2
  import Tabs from './src/tabs.mjs';
3
3
  export { tabsEmits, tabsProps } from './src/tabs.mjs';
4
- import TabPane from './src/tab-pane.mjs';
5
- export { tabBarProps } from './src/tab-bar.mjs';
4
+ import TabPane from './src/tab-pane2.mjs';
5
+ export { tabBarProps } from './src/tab-bar2.mjs';
6
6
  export { tabNavProps } from './src/tab-nav.mjs';
7
- export { tabPaneProps } from './src/tab-pane2.mjs';
7
+ export { tabPaneProps } from './src/tab-pane.mjs';
8
8
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
9
9
 
10
10
  const PsTabs = withInstall(Tabs, {
@@ -1,13 +1,82 @@
1
+ import { defineComponent, getCurrentInstance, inject, ref, watch, nextTick, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle } from 'vue';
2
+ import { useResizeObserver } from '@vueuse/core';
1
3
  import '../../../utils/index.mjs';
2
- import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
3
- import { mutable } from '../../../utils/typescript.mjs';
4
+ import '../../../tokens/index.mjs';
5
+ import '../../../hooks/index.mjs';
6
+ import { tabBarProps } from './tab-bar2.mjs';
7
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
+ import { tabsRootContextKey } from '../../../tokens/tabs.mjs';
9
+ import { throwError } from '../../../utils/error.mjs';
10
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
11
+ import { capitalize } from '@vue/shared';
4
12
 
5
- const tabBarProps = buildProps({
6
- tabs: {
7
- type: definePropType(Array),
8
- default: () => mutable([])
13
+ const __default__ = {
14
+ name: "PsTabBar"
15
+ };
16
+ const _sfc_main = /* @__PURE__ */ defineComponent({
17
+ ...__default__,
18
+ props: tabBarProps,
19
+ setup(__props, { expose }) {
20
+ const props = __props;
21
+ const COMPONENT_NAME = "PsTabBar";
22
+ const instance = getCurrentInstance();
23
+ const rootTabs = inject(tabsRootContextKey);
24
+ if (!rootTabs)
25
+ throwError(COMPONENT_NAME, "<ps-tabs><ps-tab-bar /></ps-tabs>");
26
+ const ns = useNamespace("tabs");
27
+ const barRef = ref();
28
+ const barStyle = ref();
29
+ const getBarStyle = () => {
30
+ let offset = 0;
31
+ let tabSize = 0;
32
+ const sizeName = ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height";
33
+ const sizeDir = sizeName === "width" ? "x" : "y";
34
+ props.tabs.every((tab) => {
35
+ var _a, _b, _c, _d;
36
+ const $el = (_b = (_a = instance.parent) == null ? void 0 : _a.refs) == null ? void 0 : _b[`tab-${tab.paneName}`];
37
+ if (!$el)
38
+ return false;
39
+ if (!tab.active) {
40
+ return true;
41
+ }
42
+ tabSize = $el[`client${capitalize(sizeName)}`];
43
+ const position = sizeDir === "x" ? "left" : "top";
44
+ offset = $el.getBoundingClientRect()[position] - ((_d = (_c = $el.parentElement) == null ? void 0 : _c.getBoundingClientRect()[position]) != null ? _d : 0);
45
+ const tabStyles = window.getComputedStyle($el);
46
+ if (sizeName === "width") {
47
+ if (props.tabs.length > 1) {
48
+ tabSize -= Number.parseFloat(tabStyles.paddingLeft) + Number.parseFloat(tabStyles.paddingRight);
49
+ }
50
+ offset += Number.parseFloat(tabStyles.paddingLeft);
51
+ }
52
+ return false;
53
+ });
54
+ return {
55
+ [sizeName]: `${tabSize}px`,
56
+ transform: `translate${capitalize(sizeDir)}(${offset}px)`
57
+ };
58
+ };
59
+ const update = () => barStyle.value = getBarStyle();
60
+ watch(() => props.tabs, async () => {
61
+ await nextTick();
62
+ update();
63
+ }, { immediate: true });
64
+ useResizeObserver(barRef, () => update());
65
+ expose({
66
+ ref: barRef,
67
+ update
68
+ });
69
+ return (_ctx, _cache) => {
70
+ return openBlock(), createElementBlock("div", {
71
+ ref_key: "barRef",
72
+ ref: barRef,
73
+ class: normalizeClass([unref(ns).e("active-bar"), unref(ns).is(unref(rootTabs).props.tabPosition)]),
74
+ style: normalizeStyle(barStyle.value)
75
+ }, null, 6);
76
+ };
9
77
  }
10
78
  });
79
+ var TabBar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/tabs/src/tab-bar.vue"]]);
11
80
 
12
- export { tabBarProps };
81
+ export { TabBar as default };
13
82
  //# sourceMappingURL=tab-bar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar.mjs","sources":["../../../../../../packages/components/tabs/src/tab-bar.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-ps/tokens'\nimport type TabBar from './tab-bar.vue'\n\nexport const tabBarProps = buildProps({\n tabs: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n} as const)\n\nexport type TabBarProps = ExtractPropTypes<typeof tabBarProps>\nexport type TabBarInstance = InstanceType<typeof TabBar>\n"],"names":[],"mappings":";;;;AACY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"tab-bar.mjs","sources":["../../../../../../packages/components/tabs/src/tab-bar.vue"],"sourcesContent":["<template>\n <div\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(rootTabs.props.tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n<script lang=\"ts\" setup>\nimport { getCurrentInstance, inject, nextTick, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { capitalize, throwError } from '@element-ps/utils'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { useNamespace } from '@element-ps/hooks'\nimport { tabBarProps } from './tab-bar'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'PsTabBar'\ndefineOptions({\n name: 'PsTabBar',\n})\nconst props = defineProps(tabBarProps)\n\nconst instance = getCurrentInstance()!\nconst rootTabs = inject(tabsRootContextKey)\nif (!rootTabs) throwError(COMPONENT_NAME, '<ps-tabs><ps-tab-bar /></ps-tabs>')\n\nconst ns = useNamespace('tabs')\n\nconst barRef = ref<HTMLDivElement>()\nconst barStyle = ref<CSSProperties>()\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0\n let tabSize = 0\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n const sizeDir = sizeName === 'width' ? 'x' : 'y'\n\n props.tabs.every((tab) => {\n const $el = instance.parent?.refs?.[`tab-${tab.paneName}`] as HTMLElement\n if (!$el) return false\n\n if (!tab.active) {\n return true\n }\n\n tabSize = $el[`client${capitalize(sizeName)}`]\n const position = sizeDir === 'x' ? 'left' : 'top'\n offset =\n $el.getBoundingClientRect()[position] -\n ($el.parentElement?.getBoundingClientRect()[position] ?? 0)\n const tabStyles = window.getComputedStyle($el)\n\n if (sizeName === 'width') {\n if (props.tabs.length > 1) {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight)\n }\n offset += Number.parseFloat(tabStyles.paddingLeft)\n }\n return false\n })\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`,\n }\n}\n\nconst update = () => (barStyle.value = getBarStyle())\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick()\n update()\n },\n { immediate: true }\n)\nuseResizeObserver(barRef, () => update())\n\ndefineExpose({\n /** @description tab root html element */\n ref: barRef,\n /** @description method to manually update tab bar style */\n update,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -1,82 +1,13 @@
1
- import { defineComponent, getCurrentInstance, inject, ref, watch, nextTick, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle } from 'vue';
2
- import { useResizeObserver } from '@vueuse/core';
3
1
  import '../../../utils/index.mjs';
4
- import '../../../tokens/index.mjs';
5
- import '../../../hooks/index.mjs';
6
- import { tabBarProps } from './tab-bar.mjs';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
- import { tabsRootContextKey } from '../../../tokens/tabs.mjs';
9
- import { throwError } from '../../../utils/error.mjs';
10
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
11
- import { capitalize } from '@vue/shared';
2
+ import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
3
+ import { mutable } from '../../../utils/typescript.mjs';
12
4
 
13
- const __default__ = {
14
- name: "PsTabBar"
15
- };
16
- const _sfc_main = /* @__PURE__ */ defineComponent({
17
- ...__default__,
18
- props: tabBarProps,
19
- setup(__props, { expose }) {
20
- const props = __props;
21
- const COMPONENT_NAME = "PsTabBar";
22
- const instance = getCurrentInstance();
23
- const rootTabs = inject(tabsRootContextKey);
24
- if (!rootTabs)
25
- throwError(COMPONENT_NAME, "<ps-tabs><ps-tab-bar /></ps-tabs>");
26
- const ns = useNamespace("tabs");
27
- const barRef = ref();
28
- const barStyle = ref();
29
- const getBarStyle = () => {
30
- let offset = 0;
31
- let tabSize = 0;
32
- const sizeName = ["top", "bottom"].includes(rootTabs.props.tabPosition) ? "width" : "height";
33
- const sizeDir = sizeName === "width" ? "x" : "y";
34
- props.tabs.every((tab) => {
35
- var _a, _b, _c, _d;
36
- const $el = (_b = (_a = instance.parent) == null ? void 0 : _a.refs) == null ? void 0 : _b[`tab-${tab.paneName}`];
37
- if (!$el)
38
- return false;
39
- if (!tab.active) {
40
- return true;
41
- }
42
- tabSize = $el[`client${capitalize(sizeName)}`];
43
- const position = sizeDir === "x" ? "left" : "top";
44
- offset = $el.getBoundingClientRect()[position] - ((_d = (_c = $el.parentElement) == null ? void 0 : _c.getBoundingClientRect()[position]) != null ? _d : 0);
45
- const tabStyles = window.getComputedStyle($el);
46
- if (sizeName === "width") {
47
- if (props.tabs.length > 1) {
48
- tabSize -= Number.parseFloat(tabStyles.paddingLeft) + Number.parseFloat(tabStyles.paddingRight);
49
- }
50
- offset += Number.parseFloat(tabStyles.paddingLeft);
51
- }
52
- return false;
53
- });
54
- return {
55
- [sizeName]: `${tabSize}px`,
56
- transform: `translate${capitalize(sizeDir)}(${offset}px)`
57
- };
58
- };
59
- const update = () => barStyle.value = getBarStyle();
60
- watch(() => props.tabs, async () => {
61
- await nextTick();
62
- update();
63
- }, { immediate: true });
64
- useResizeObserver(barRef, () => update());
65
- expose({
66
- ref: barRef,
67
- update
68
- });
69
- return (_ctx, _cache) => {
70
- return openBlock(), createElementBlock("div", {
71
- ref_key: "barRef",
72
- ref: barRef,
73
- class: normalizeClass([unref(ns).e("active-bar"), unref(ns).is(unref(rootTabs).props.tabPosition)]),
74
- style: normalizeStyle(barStyle.value)
75
- }, null, 6);
76
- };
5
+ const tabBarProps = buildProps({
6
+ tabs: {
7
+ type: definePropType(Array),
8
+ default: () => mutable([])
77
9
  }
78
10
  });
79
- var TabBar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/tabs/src/tab-bar.vue"]]);
80
11
 
81
- export { TabBar as default };
12
+ export { tabBarProps };
82
13
  //# sourceMappingURL=tab-bar2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-bar2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-bar.vue"],"sourcesContent":["<template>\n <div\n ref=\"barRef\"\n :class=\"[ns.e('active-bar'), ns.is(rootTabs.props.tabPosition)]\"\n :style=\"barStyle\"\n />\n</template>\n<script lang=\"ts\" setup>\nimport { getCurrentInstance, inject, nextTick, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { capitalize, throwError } from '@element-ps/utils'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { useNamespace } from '@element-ps/hooks'\nimport { tabBarProps } from './tab-bar'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'PsTabBar'\ndefineOptions({\n name: 'PsTabBar',\n})\nconst props = defineProps(tabBarProps)\n\nconst instance = getCurrentInstance()!\nconst rootTabs = inject(tabsRootContextKey)\nif (!rootTabs) throwError(COMPONENT_NAME, '<ps-tabs><ps-tab-bar /></ps-tabs>')\n\nconst ns = useNamespace('tabs')\n\nconst barRef = ref<HTMLDivElement>()\nconst barStyle = ref<CSSProperties>()\n\nconst getBarStyle = (): CSSProperties => {\n let offset = 0\n let tabSize = 0\n\n const sizeName = ['top', 'bottom'].includes(rootTabs.props.tabPosition)\n ? 'width'\n : 'height'\n const sizeDir = sizeName === 'width' ? 'x' : 'y'\n\n props.tabs.every((tab) => {\n const $el = instance.parent?.refs?.[`tab-${tab.paneName}`] as HTMLElement\n if (!$el) return false\n\n if (!tab.active) {\n return true\n }\n\n tabSize = $el[`client${capitalize(sizeName)}`]\n const position = sizeDir === 'x' ? 'left' : 'top'\n offset =\n $el.getBoundingClientRect()[position] -\n ($el.parentElement?.getBoundingClientRect()[position] ?? 0)\n const tabStyles = window.getComputedStyle($el)\n\n if (sizeName === 'width') {\n if (props.tabs.length > 1) {\n tabSize -=\n Number.parseFloat(tabStyles.paddingLeft) +\n Number.parseFloat(tabStyles.paddingRight)\n }\n offset += Number.parseFloat(tabStyles.paddingLeft)\n }\n return false\n })\n\n return {\n [sizeName]: `${tabSize}px`,\n transform: `translate${capitalize(sizeDir)}(${offset}px)`,\n }\n}\n\nconst update = () => (barStyle.value = getBarStyle())\n\nwatch(\n () => props.tabs,\n async () => {\n await nextTick()\n update()\n },\n { immediate: true }\n)\nuseResizeObserver(barRef, () => update())\n\ndefineExpose({\n /** @description tab root html element */\n ref: barRef,\n /** @description method to manually update tab bar style */\n update,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tab-bar2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-bar.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-ps/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type { TabsPaneContext } from '@element-ps/tokens'\nimport type TabBar from './tab-bar.vue'\n\nexport const tabBarProps = buildProps({\n tabs: {\n type: definePropType<TabsPaneContext[]>(Array),\n default: () => mutable([] as const),\n },\n} as const)\n\nexport type TabBarProps = ExtractPropTypes<typeof tabBarProps>\nexport type TabBarInstance = InstanceType<typeof TabBar>\n"],"names":[],"mappings":";;;;AACY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC;;;;"}
@@ -7,7 +7,7 @@ import { PsIcon } from '../../icon/index.mjs';
7
7
  import { ArrowLeft, ArrowRight, Close } from '@element-plus/icons-vue';
8
8
  import '../../../tokens/index.mjs';
9
9
  import '../../../hooks/index.mjs';
10
- import TabBar from './tab-bar2.mjs';
10
+ import TabBar from './tab-bar.mjs';
11
11
  import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
12
12
  import { mutable } from '../../../utils/typescript.mjs';
13
13
  import { tabsRootContextKey } from '../../../tokens/tabs.mjs';
@@ -1,65 +1,19 @@
1
- import { defineComponent, getCurrentInstance, inject, ref, computed, watch, reactive, markRaw, unref, withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow, createCommentVNode } from 'vue';
2
- import { eagerComputed } from '@vueuse/core';
3
- import '../../../tokens/index.mjs';
4
1
  import '../../../utils/index.mjs';
5
- import '../../../hooks/index.mjs';
6
- import { tabPaneProps } from './tab-pane2.mjs';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
- import { tabsRootContextKey } from '../../../tokens/tabs.mjs';
9
- import { throwError } from '../../../utils/error.mjs';
10
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
2
+ import { buildProps } from '../../../utils/vue/props.mjs';
11
3
 
12
- const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
13
- const __default__ = {
14
- name: "PsTabPane"
15
- };
16
- const _sfc_main = /* @__PURE__ */ defineComponent({
17
- ...__default__,
18
- props: tabPaneProps,
19
- setup(__props) {
20
- const props = __props;
21
- const COMPONENT_NAME = "PsTabPane";
22
- const instance = getCurrentInstance();
23
- const tabsRoot = inject(tabsRootContextKey);
24
- if (!tabsRoot)
25
- throwError(COMPONENT_NAME, "usage: <ps-tabs><ps-tab-pane /></ps-tabs/>");
26
- const ns = useNamespace("tab-pane");
27
- const index = ref();
28
- const isClosable = computed(() => props.closable || tabsRoot.props.closable);
29
- const active = eagerComputed(() => tabsRoot.currentName.value === (props.name || index.value));
30
- const loaded = ref(active.value);
31
- const paneName = computed(() => props.name || index.value);
32
- const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
33
- watch(active, (val) => {
34
- if (val)
35
- loaded.value = true;
36
- });
37
- tabsRoot.updatePaneState(reactive({
38
- uid: instance.uid,
39
- instance: markRaw(instance),
40
- props,
41
- paneName,
42
- active,
43
- index,
44
- isClosable
45
- }));
46
- return (_ctx, _cache) => {
47
- return unref(shouldBeRender) ? withDirectives((openBlock(), createElementBlock("div", {
48
- key: 0,
49
- id: `pane-${unref(paneName)}`,
50
- class: normalizeClass(unref(ns).b()),
51
- role: "tabpanel",
52
- "aria-hidden": !unref(active),
53
- "aria-labelledby": `tab-${unref(paneName)}`
54
- }, [
55
- renderSlot(_ctx.$slots, "default")
56
- ], 10, _hoisted_1)), [
57
- [vShow, unref(active)]
58
- ]) : createCommentVNode("v-if", true);
59
- };
60
- }
4
+ const tabPaneProps = buildProps({
5
+ label: {
6
+ type: String,
7
+ default: ""
8
+ },
9
+ name: {
10
+ type: [String, Number],
11
+ default: ""
12
+ },
13
+ closable: Boolean,
14
+ disabled: Boolean,
15
+ lazy: Boolean
61
16
  });
62
- var TabPane = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/tabs/src/tab-pane.vue"]]);
63
17
 
64
- export { TabPane as default };
18
+ export { tabPaneProps };
65
19
  //# sourceMappingURL=tab-pane.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n markRaw,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'PsTabPane'\ndefineOptions({\n name: 'PsTabPane',\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <ps-tabs><ps-tab-pane /></ps-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name || index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name || index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\ntabsRoot.updatePaneState(\n reactive({\n uid: instance.uid,\n instance: markRaw(instance),\n props,\n paneName,\n active,\n index,\n isClosable,\n })\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AAMA,IAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,OAAA,kBAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA;AACA,MAAA,UAAA,CAAA,gBAAA,4CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,QAAA,CAAA,MAAA,MAAA,QAAA,IAAA,QAAA,CAAA,MAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,cACA,MAAA,QAAA,CAAA,YAAA,KAAA,MAAA,KAAA,CAAA,IAAA,IAAA,KAAA,CAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,MAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,cACA,MAAA,CAAA,MAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KACA,CAAA,CAAA;AAEA,IAAA,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,GAAA;AAAA,QAAA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,QAAA,CAAA,gBACA,QAAA,CAAA;AAAA,MACA,KAAA,QAAA,CAAA,GAAA;AAAA,MACA,QAAA,EAAA,QAAA,QAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,KACA,CACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tab-pane.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":[],"mappings":";;;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
@@ -1,19 +1,65 @@
1
+ import { defineComponent, getCurrentInstance, inject, ref, computed, watch, reactive, markRaw, unref, withDirectives, openBlock, createElementBlock, normalizeClass, renderSlot, vShow, createCommentVNode } from 'vue';
2
+ import { eagerComputed } from '@vueuse/core';
3
+ import '../../../tokens/index.mjs';
1
4
  import '../../../utils/index.mjs';
2
- import { buildProps } from '../../../utils/vue/props.mjs';
5
+ import '../../../hooks/index.mjs';
6
+ import { tabPaneProps } from './tab-pane.mjs';
7
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
+ import { tabsRootContextKey } from '../../../tokens/tabs.mjs';
9
+ import { throwError } from '../../../utils/error.mjs';
10
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
3
11
 
4
- const tabPaneProps = buildProps({
5
- label: {
6
- type: String,
7
- default: ""
8
- },
9
- name: {
10
- type: [String, Number],
11
- default: ""
12
- },
13
- closable: Boolean,
14
- disabled: Boolean,
15
- lazy: Boolean
12
+ const _hoisted_1 = ["id", "aria-hidden", "aria-labelledby"];
13
+ const __default__ = {
14
+ name: "PsTabPane"
15
+ };
16
+ const _sfc_main = /* @__PURE__ */ defineComponent({
17
+ ...__default__,
18
+ props: tabPaneProps,
19
+ setup(__props) {
20
+ const props = __props;
21
+ const COMPONENT_NAME = "PsTabPane";
22
+ const instance = getCurrentInstance();
23
+ const tabsRoot = inject(tabsRootContextKey);
24
+ if (!tabsRoot)
25
+ throwError(COMPONENT_NAME, "usage: <ps-tabs><ps-tab-pane /></ps-tabs/>");
26
+ const ns = useNamespace("tab-pane");
27
+ const index = ref();
28
+ const isClosable = computed(() => props.closable || tabsRoot.props.closable);
29
+ const active = eagerComputed(() => tabsRoot.currentName.value === (props.name || index.value));
30
+ const loaded = ref(active.value);
31
+ const paneName = computed(() => props.name || index.value);
32
+ const shouldBeRender = eagerComputed(() => !props.lazy || loaded.value || active.value);
33
+ watch(active, (val) => {
34
+ if (val)
35
+ loaded.value = true;
36
+ });
37
+ tabsRoot.updatePaneState(reactive({
38
+ uid: instance.uid,
39
+ instance: markRaw(instance),
40
+ props,
41
+ paneName,
42
+ active,
43
+ index,
44
+ isClosable
45
+ }));
46
+ return (_ctx, _cache) => {
47
+ return unref(shouldBeRender) ? withDirectives((openBlock(), createElementBlock("div", {
48
+ key: 0,
49
+ id: `pane-${unref(paneName)}`,
50
+ class: normalizeClass(unref(ns).b()),
51
+ role: "tabpanel",
52
+ "aria-hidden": !unref(active),
53
+ "aria-labelledby": `tab-${unref(paneName)}`
54
+ }, [
55
+ renderSlot(_ctx.$slots, "default")
56
+ ], 10, _hoisted_1)), [
57
+ [vShow, unref(active)]
58
+ ]) : createCommentVNode("v-if", true);
59
+ };
60
+ }
16
61
  });
62
+ var TabPane = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/tabs/src/tab-pane.vue"]]);
17
63
 
18
- export { tabPaneProps };
64
+ export { TabPane as default };
19
65
  //# sourceMappingURL=tab-pane2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type TabPane from './tab-pane.vue'\n\nexport const tabPaneProps = buildProps({\n label: {\n type: String,\n default: '',\n },\n name: {\n type: [String, Number],\n default: '',\n },\n closable: Boolean,\n disabled: Boolean,\n lazy: Boolean,\n} as const)\n\nexport type TabPaneProps = ExtractPropTypes<typeof tabPaneProps>\n\nexport type TabPaneInstance = InstanceType<typeof TabPane>\n"],"names":[],"mappings":";;;AACY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,OAAO;AACf,CAAC;;;;"}
1
+ {"version":3,"file":"tab-pane2.mjs","sources":["../../../../../../packages/components/tabs/src/tab-pane.vue"],"sourcesContent":["<template>\n <div\n v-if=\"shouldBeRender\"\n v-show=\"active\"\n :id=\"`pane-${paneName}`\"\n :class=\"ns.b()\"\n role=\"tabpanel\"\n :aria-hidden=\"!active\"\n :aria-labelledby=\"`tab-${paneName}`\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n markRaw,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { eagerComputed } from '@vueuse/core'\nimport { tabsRootContextKey } from '@element-ps/tokens'\nimport { throwError } from '@element-ps/utils'\nimport { useNamespace } from '@element-ps/hooks'\nimport { tabPaneProps } from './tab-pane'\n\nconst COMPONENT_NAME = 'PsTabPane'\ndefineOptions({\n name: 'PsTabPane',\n})\nconst props = defineProps(tabPaneProps)\n\nconst instance = getCurrentInstance()!\nconst tabsRoot = inject(tabsRootContextKey)\nif (!tabsRoot)\n throwError(COMPONENT_NAME, 'usage: <ps-tabs><ps-tab-pane /></ps-tabs/>')\n\nconst ns = useNamespace('tab-pane')\n\nconst index = ref<string>()\nconst isClosable = computed(() => props.closable || tabsRoot.props.closable)\nconst active = eagerComputed(\n () => tabsRoot.currentName.value === (props.name || index.value)\n)\nconst loaded = ref(active.value)\nconst paneName = computed(() => props.name || index.value)\nconst shouldBeRender = eagerComputed(\n () => !props.lazy || loaded.value || active.value\n)\n\nwatch(active, (val) => {\n if (val) loaded.value = true\n})\n\ntabsRoot.updatePaneState(\n reactive({\n uid: instance.uid,\n instance: markRaw(instance),\n props,\n paneName,\n active,\n index,\n isClosable,\n })\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAA,cAAA,GAAA,WAAA,CAAA;AAMA,IAAA,MAAA,WAAA,kBAAA,EAAA,CAAA;AACA,IAAA,MAAA,QAAA,GAAA,OAAA,kBAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA;AACA,MAAA,UAAA,CAAA,gBAAA,4CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,QAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,aAAA,QAAA,CAAA,MAAA,MAAA,QAAA,IAAA,QAAA,CAAA,MAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,cACA,MAAA,QAAA,CAAA,YAAA,KAAA,MAAA,KAAA,CAAA,IAAA,IAAA,KAAA,CAAA,KACA,CAAA,CAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,QAAA,CAAA,MAAA,KAAA,CAAA,IAAA,IAAA,MAAA,KAAA,CAAA,CAAA;AACA,IAAA,MAAA,cAAA,GAAA,cACA,MAAA,CAAA,MAAA,IAAA,IAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KACA,CAAA,CAAA;AAEA,IAAA,KAAA,CAAA,MAAA,EAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,GAAA;AAAA,QAAA,MAAA,CAAA,KAAA,GAAA,IAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,QAAA,CAAA,gBACA,QAAA,CAAA;AAAA,MACA,KAAA,QAAA,CAAA,GAAA;AAAA,MACA,QAAA,EAAA,QAAA,QAAA,CAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,KACA,CACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;"}