@element-plus/nightly 0.0.20240205 → 0.0.20240207

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 (306) hide show
  1. package/dist/index.full.js +2 -2
  2. package/dist/index.full.min.js +2 -2
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +2 -2
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +2 -2
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/nb-no.js +1 -1
  152. package/dist/locale/nb-no.min.js +1 -1
  153. package/dist/locale/nb-no.min.mjs +1 -1
  154. package/dist/locale/nb-no.mjs +1 -1
  155. package/dist/locale/nl.js +1 -1
  156. package/dist/locale/nl.min.js +1 -1
  157. package/dist/locale/nl.min.mjs +1 -1
  158. package/dist/locale/nl.mjs +1 -1
  159. package/dist/locale/pa.js +1 -1
  160. package/dist/locale/pa.min.js +1 -1
  161. package/dist/locale/pa.min.mjs +1 -1
  162. package/dist/locale/pa.mjs +1 -1
  163. package/dist/locale/pl.js +1 -1
  164. package/dist/locale/pl.min.js +1 -1
  165. package/dist/locale/pl.min.mjs +1 -1
  166. package/dist/locale/pl.mjs +1 -1
  167. package/dist/locale/pt-br.js +1 -1
  168. package/dist/locale/pt-br.min.js +1 -1
  169. package/dist/locale/pt-br.min.mjs +1 -1
  170. package/dist/locale/pt-br.mjs +1 -1
  171. package/dist/locale/pt.js +1 -1
  172. package/dist/locale/pt.min.js +1 -1
  173. package/dist/locale/pt.min.mjs +1 -1
  174. package/dist/locale/pt.mjs +1 -1
  175. package/dist/locale/ro.js +1 -1
  176. package/dist/locale/ro.min.js +1 -1
  177. package/dist/locale/ro.min.mjs +1 -1
  178. package/dist/locale/ro.mjs +1 -1
  179. package/dist/locale/ru.js +1 -1
  180. package/dist/locale/ru.min.js +1 -1
  181. package/dist/locale/ru.min.mjs +1 -1
  182. package/dist/locale/ru.mjs +1 -1
  183. package/dist/locale/sk.js +1 -1
  184. package/dist/locale/sk.min.js +1 -1
  185. package/dist/locale/sk.min.mjs +1 -1
  186. package/dist/locale/sk.mjs +1 -1
  187. package/dist/locale/sl.js +1 -1
  188. package/dist/locale/sl.min.js +1 -1
  189. package/dist/locale/sl.min.mjs +1 -1
  190. package/dist/locale/sl.mjs +1 -1
  191. package/dist/locale/sr.js +1 -1
  192. package/dist/locale/sr.min.js +1 -1
  193. package/dist/locale/sr.min.mjs +1 -1
  194. package/dist/locale/sr.mjs +1 -1
  195. package/dist/locale/sv.js +1 -1
  196. package/dist/locale/sv.min.js +1 -1
  197. package/dist/locale/sv.min.mjs +1 -1
  198. package/dist/locale/sv.mjs +1 -1
  199. package/dist/locale/sw.js +1 -1
  200. package/dist/locale/sw.min.js +1 -1
  201. package/dist/locale/sw.min.mjs +1 -1
  202. package/dist/locale/sw.mjs +1 -1
  203. package/dist/locale/ta.js +1 -1
  204. package/dist/locale/ta.min.js +1 -1
  205. package/dist/locale/ta.min.mjs +1 -1
  206. package/dist/locale/ta.mjs +1 -1
  207. package/dist/locale/th.js +1 -1
  208. package/dist/locale/th.min.js +1 -1
  209. package/dist/locale/th.min.mjs +1 -1
  210. package/dist/locale/th.mjs +1 -1
  211. package/dist/locale/tk.js +1 -1
  212. package/dist/locale/tk.min.js +1 -1
  213. package/dist/locale/tk.min.mjs +1 -1
  214. package/dist/locale/tk.mjs +1 -1
  215. package/dist/locale/tr.js +1 -1
  216. package/dist/locale/tr.min.js +1 -1
  217. package/dist/locale/tr.min.mjs +1 -1
  218. package/dist/locale/tr.mjs +1 -1
  219. package/dist/locale/ug-cn.js +1 -1
  220. package/dist/locale/ug-cn.min.js +1 -1
  221. package/dist/locale/ug-cn.min.mjs +1 -1
  222. package/dist/locale/ug-cn.mjs +1 -1
  223. package/dist/locale/uk.js +1 -1
  224. package/dist/locale/uk.min.js +1 -1
  225. package/dist/locale/uk.min.mjs +1 -1
  226. package/dist/locale/uk.mjs +1 -1
  227. package/dist/locale/uz-uz.js +1 -1
  228. package/dist/locale/uz-uz.min.js +1 -1
  229. package/dist/locale/uz-uz.min.mjs +1 -1
  230. package/dist/locale/uz-uz.mjs +1 -1
  231. package/dist/locale/vi.js +1 -1
  232. package/dist/locale/vi.min.js +1 -1
  233. package/dist/locale/vi.min.mjs +1 -1
  234. package/dist/locale/vi.mjs +1 -1
  235. package/dist/locale/zh-cn.js +1 -1
  236. package/dist/locale/zh-cn.min.js +1 -1
  237. package/dist/locale/zh-cn.min.mjs +1 -1
  238. package/dist/locale/zh-cn.mjs +1 -1
  239. package/dist/locale/zh-tw.js +1 -1
  240. package/dist/locale/zh-tw.min.js +1 -1
  241. package/dist/locale/zh-tw.min.mjs +1 -1
  242. package/dist/locale/zh-tw.mjs +1 -1
  243. package/es/components/affix/index.mjs +2 -2
  244. package/es/components/affix/src/affix.mjs +26 -117
  245. package/es/components/affix/src/affix.mjs.map +1 -1
  246. package/es/components/affix/src/affix2.mjs +117 -26
  247. package/es/components/affix/src/affix2.mjs.map +1 -1
  248. package/es/components/carousel/index.mjs +2 -2
  249. package/es/components/carousel/src/carousel.mjs +177 -56
  250. package/es/components/carousel/src/carousel.mjs.map +1 -1
  251. package/es/components/carousel/src/carousel2.mjs +56 -177
  252. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  253. package/es/components/drawer/index.mjs +2 -2
  254. package/es/components/drawer/src/drawer.mjs +180 -27
  255. package/es/components/drawer/src/drawer.mjs.map +1 -1
  256. package/es/components/drawer/src/drawer2.mjs +27 -180
  257. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  258. package/es/components/index.mjs +4 -4
  259. package/es/components/tabs/index.mjs +2 -2
  260. package/es/components/tabs/src/tab-pane.mjs +72 -13
  261. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  262. package/es/components/tabs/src/tab-pane2.mjs +13 -72
  263. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  264. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  265. package/es/components/transfer/src/transfer-panel.mjs +19 -128
  266. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  267. package/es/components/transfer/src/transfer-panel2.mjs +128 -19
  268. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  269. package/es/components/transfer/src/transfer2.mjs +1 -1
  270. package/es/index.mjs +4 -4
  271. package/es/version.d.ts +1 -1
  272. package/es/version.mjs +1 -1
  273. package/es/version.mjs.map +1 -1
  274. package/lib/components/affix/index.js +2 -2
  275. package/lib/components/affix/src/affix.js +27 -117
  276. package/lib/components/affix/src/affix.js.map +1 -1
  277. package/lib/components/affix/src/affix2.js +117 -27
  278. package/lib/components/affix/src/affix2.js.map +1 -1
  279. package/lib/components/carousel/index.js +2 -2
  280. package/lib/components/carousel/src/carousel.js +177 -57
  281. package/lib/components/carousel/src/carousel.js.map +1 -1
  282. package/lib/components/carousel/src/carousel2.js +57 -177
  283. package/lib/components/carousel/src/carousel2.js.map +1 -1
  284. package/lib/components/drawer/index.js +2 -2
  285. package/lib/components/drawer/src/drawer.js +180 -28
  286. package/lib/components/drawer/src/drawer.js.map +1 -1
  287. package/lib/components/drawer/src/drawer2.js +28 -180
  288. package/lib/components/drawer/src/drawer2.js.map +1 -1
  289. package/lib/components/index.js +4 -4
  290. package/lib/components/tabs/index.js +2 -2
  291. package/lib/components/tabs/src/tab-pane.js +72 -13
  292. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  293. package/lib/components/tabs/src/tab-pane2.js +13 -72
  294. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  295. package/lib/components/transfer/src/composables/use-check.js +1 -1
  296. package/lib/components/transfer/src/transfer-panel.js +21 -128
  297. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  298. package/lib/components/transfer/src/transfer-panel2.js +128 -21
  299. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  300. package/lib/components/transfer/src/transfer2.js +1 -1
  301. package/lib/index.js +4 -4
  302. package/lib/version.d.ts +1 -1
  303. package/lib/version.js +1 -1
  304. package/lib/version.js.map +1 -1
  305. package/package.json +1 -1
  306. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"carousel.mjs","sources":["../../../../../../packages/components/carousel/src/carousel.ts"],"sourcesContent":["import { buildProps, isNumber } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const carouselProps = buildProps({\n initialIndex: {\n type: Number,\n default: 0,\n },\n height: {\n type: String,\n default: '',\n },\n trigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n autoplay: {\n type: Boolean,\n default: true,\n },\n interval: {\n type: Number,\n default: 3000,\n },\n indicatorPosition: {\n type: String,\n values: ['', 'none', 'outside'],\n default: '',\n },\n arrow: {\n type: String,\n values: ['always', 'hover', 'never'],\n default: 'hover',\n },\n type: {\n type: String,\n values: ['', 'card'],\n default: '',\n },\n loop: {\n type: Boolean,\n default: true,\n },\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n pauseOnHover: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport const carouselEmits = {\n change: (current: number, prev: number) => [current, prev].every(isNumber),\n}\n\nexport type CarouselProps = ExtractPropTypes<typeof carouselProps>\nexport type CarouselEmits = typeof carouselEmits\n"],"names":[],"mappings":";;;;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC;AACnC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;AACxC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;AACxB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5D;;;;"}
1
+ {"version":3,"file":"carousel.mjs","sources":["../../../../../../packages/components/carousel/src/carousel.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('container')\" :style=\"containerStyle\">\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"\n (arrow === 'always' || hover) && (props.loop || activeIndex > 0)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n :aria-label=\"t('el.carousel.leftArrow')\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex - 1)\"\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || hover) &&\n (props.loop || activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n :aria-label=\"t('el.carousel.rightArrow')\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex + 1)\"\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </button>\n </transition>\n <PlaceholderItem />\n <slot />\n </div>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n v-show=\"isTwoLengthShow(index)\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button\n :class=\"ns.e('button')\"\n :aria-label=\"t('el.carousel.indicator', { index: index + 1 })\"\n >\n <span v-if=\"hasLabel\">{{ item.props.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, unref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { carouselEmits, carouselProps } from './carousel'\nimport { useCarousel } from './use-carousel'\n\nconst COMPONENT_NAME = 'ElCarousel'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(carouselProps)\nconst emit = defineEmits(carouselEmits)\nconst {\n root,\n activeIndex,\n arrowDisplay,\n hasLabel,\n hover,\n isCardType,\n items,\n isVertical,\n containerStyle,\n handleButtonEnter,\n handleButtonLeave,\n handleIndicatorClick,\n handleMouseEnter,\n handleMouseLeave,\n setActiveItem,\n prev,\n next,\n PlaceholderItem,\n isTwoLengthShow,\n throttledArrowClick,\n throttledIndicatorHover,\n} = useCarousel(props, emit, COMPONENT_NAME)\nconst ns = useNamespace('carousel')\n\nconst { t } = useLocale()\n\nconst carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (unref(isCardType)) {\n classes.push(ns.m('card'))\n }\n return classes\n})\n\nconst indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (unref(hasLabel)) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside') {\n classes.push(ns.em('indicators', 'outside'))\n }\n if (unref(isVertical)) {\n classes.push(ns.em('indicators', 'right'))\n }\n return classes\n})\n\ndefineExpose({\n /** @description manually switch slide */\n setActiveItem,\n /** @description switch to the previous slide */\n prev,\n /** @description switch to the next slide */\n next,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;mCA+Ec,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;;AAIA,IAAM,MAAA;AAAA,MACJ,IAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,iBAAA;AAAA,MACA,iBAAA;AAAA,MACA,oBAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,mBAAA;AAAA,MACA,uBAAA;AAAA,KACE,GAAA,WAAA,CAAY,KAAO,EAAA,IAAA,EAAM,cAAc,CAAA,CAAA;AAC3C,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AAExB,IAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAM,MAAA,OAAA,GAAU,CAAC,EAAG,CAAA,CAAA,IAAK,EAAG,CAAA,CAAA,CAAE,KAAM,CAAA,SAAS,CAAC,CAAA,CAAA;AAC9C,MAAI,IAAA,KAAA,CAAM,UAAU,CAAG,EAAA;AACrB,QAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,MAAM,CAAC,CAAA,CAAA;AAAA,OAC3B;AACA,MAAO,OAAA,OAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,iBAAA,GAAoB,SAAS,MAAM;AACvC,MAAM,MAAA,OAAA,GAAU,CAAC,EAAA,CAAG,CAAE,CAAA,YAAY,CAAG,EAAA,EAAA,CAAG,EAAG,CAAA,YAAA,EAAc,KAAM,CAAA,SAAS,CAAC,CAAA,CAAA;AACzE,MAAI,IAAA,KAAA,CAAM,QAAQ,CAAG,EAAA;AACnB,QAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,EAAG,CAAA,YAAA,EAAc,QAAQ,CAAC,CAAA,CAAA;AAAA,OAC5C;AACA,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,EAAG,CAAA,YAAA,EAAc,SAAS,CAAC,CAAA,CAAA;AAAA,OAC7C;AACA,MAAI,IAAA,KAAA,CAAM,UAAU,CAAG,EAAA;AACrB,QAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,EAAG,CAAA,YAAA,EAAc,OAAO,CAAC,CAAA,CAAA;AAAA,OAC3C;AACA,MAAO,OAAA,OAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAEX,aAAA;AAAA,MAEA,IAAA;AAAA,MAEA,IAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,182 +1,61 @@
1
- import { defineComponent, computed, unref, openBlock, createElementBlock, normalizeClass, withModifiers, createElementVNode, normalizeStyle, createBlock, Transition, withCtx, withDirectives, createVNode, vShow, createCommentVNode, renderSlot, Fragment, renderList, toDisplayString } from 'vue';
2
- import { ElIcon } from '../../icon/index.mjs';
3
- import { ArrowLeft, ArrowRight } from '@element-plus/icons-vue';
4
- import '../../../hooks/index.mjs';
5
- import { carouselProps, carouselEmits } from './carousel.mjs';
6
- import { useCarousel } from './use-carousel.mjs';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
- import { useLocale } from '../../../hooks/use-locale/index.mjs';
1
+ import '../../../utils/index.mjs';
2
+ import { buildProps } from '../../../utils/vue/props/runtime.mjs';
3
+ import { isNumber } from '../../../utils/types.mjs';
10
4
 
11
- const _hoisted_1 = ["aria-label"];
12
- const _hoisted_2 = ["aria-label"];
13
- const _hoisted_3 = ["onMouseenter", "onClick"];
14
- const _hoisted_4 = ["aria-label"];
15
- const _hoisted_5 = { key: 0 };
16
- const COMPONENT_NAME = "ElCarousel";
17
- const __default__ = defineComponent({
18
- name: COMPONENT_NAME
19
- });
20
- const _sfc_main = /* @__PURE__ */ defineComponent({
21
- ...__default__,
22
- props: carouselProps,
23
- emits: carouselEmits,
24
- setup(__props, { expose, emit }) {
25
- const props = __props;
26
- const {
27
- root,
28
- activeIndex,
29
- arrowDisplay,
30
- hasLabel,
31
- hover,
32
- isCardType,
33
- items,
34
- isVertical,
35
- containerStyle,
36
- handleButtonEnter,
37
- handleButtonLeave,
38
- handleIndicatorClick,
39
- handleMouseEnter,
40
- handleMouseLeave,
41
- setActiveItem,
42
- prev,
43
- next,
44
- PlaceholderItem,
45
- isTwoLengthShow,
46
- throttledArrowClick,
47
- throttledIndicatorHover
48
- } = useCarousel(props, emit, COMPONENT_NAME);
49
- const ns = useNamespace("carousel");
50
- const { t } = useLocale();
51
- const carouselClasses = computed(() => {
52
- const classes = [ns.b(), ns.m(props.direction)];
53
- if (unref(isCardType)) {
54
- classes.push(ns.m("card"));
55
- }
56
- return classes;
57
- });
58
- const indicatorsClasses = computed(() => {
59
- const classes = [ns.e("indicators"), ns.em("indicators", props.direction)];
60
- if (unref(hasLabel)) {
61
- classes.push(ns.em("indicators", "labels"));
62
- }
63
- if (props.indicatorPosition === "outside") {
64
- classes.push(ns.em("indicators", "outside"));
65
- }
66
- if (unref(isVertical)) {
67
- classes.push(ns.em("indicators", "right"));
68
- }
69
- return classes;
70
- });
71
- expose({
72
- setActiveItem,
73
- prev,
74
- next
75
- });
76
- return (_ctx, _cache) => {
77
- return openBlock(), createElementBlock("div", {
78
- ref_key: "root",
79
- ref: root,
80
- class: normalizeClass(unref(carouselClasses)),
81
- onMouseenter: _cache[6] || (_cache[6] = withModifiers((...args) => unref(handleMouseEnter) && unref(handleMouseEnter)(...args), ["stop"])),
82
- onMouseleave: _cache[7] || (_cache[7] = withModifiers((...args) => unref(handleMouseLeave) && unref(handleMouseLeave)(...args), ["stop"]))
83
- }, [
84
- createElementVNode("div", {
85
- class: normalizeClass(unref(ns).e("container")),
86
- style: normalizeStyle(unref(containerStyle))
87
- }, [
88
- unref(arrowDisplay) ? (openBlock(), createBlock(Transition, {
89
- key: 0,
90
- name: "carousel-arrow-left",
91
- persisted: ""
92
- }, {
93
- default: withCtx(() => [
94
- withDirectives(createElementVNode("button", {
95
- type: "button",
96
- class: normalizeClass([unref(ns).e("arrow"), unref(ns).em("arrow", "left")]),
97
- "aria-label": unref(t)("el.carousel.leftArrow"),
98
- onMouseenter: _cache[0] || (_cache[0] = ($event) => unref(handleButtonEnter)("left")),
99
- onMouseleave: _cache[1] || (_cache[1] = (...args) => unref(handleButtonLeave) && unref(handleButtonLeave)(...args)),
100
- onClick: _cache[2] || (_cache[2] = withModifiers(($event) => unref(throttledArrowClick)(unref(activeIndex) - 1), ["stop"]))
101
- }, [
102
- createVNode(unref(ElIcon), null, {
103
- default: withCtx(() => [
104
- createVNode(unref(ArrowLeft))
105
- ]),
106
- _: 1
107
- })
108
- ], 42, _hoisted_1), [
109
- [
110
- vShow,
111
- (_ctx.arrow === "always" || unref(hover)) && (props.loop || unref(activeIndex) > 0)
112
- ]
113
- ])
114
- ]),
115
- _: 1
116
- })) : createCommentVNode("v-if", true),
117
- unref(arrowDisplay) ? (openBlock(), createBlock(Transition, {
118
- key: 1,
119
- name: "carousel-arrow-right",
120
- persisted: ""
121
- }, {
122
- default: withCtx(() => [
123
- withDirectives(createElementVNode("button", {
124
- type: "button",
125
- class: normalizeClass([unref(ns).e("arrow"), unref(ns).em("arrow", "right")]),
126
- "aria-label": unref(t)("el.carousel.rightArrow"),
127
- onMouseenter: _cache[3] || (_cache[3] = ($event) => unref(handleButtonEnter)("right")),
128
- onMouseleave: _cache[4] || (_cache[4] = (...args) => unref(handleButtonLeave) && unref(handleButtonLeave)(...args)),
129
- onClick: _cache[5] || (_cache[5] = withModifiers(($event) => unref(throttledArrowClick)(unref(activeIndex) + 1), ["stop"]))
130
- }, [
131
- createVNode(unref(ElIcon), null, {
132
- default: withCtx(() => [
133
- createVNode(unref(ArrowRight))
134
- ]),
135
- _: 1
136
- })
137
- ], 42, _hoisted_2), [
138
- [
139
- vShow,
140
- (_ctx.arrow === "always" || unref(hover)) && (props.loop || unref(activeIndex) < unref(items).length - 1)
141
- ]
142
- ])
143
- ]),
144
- _: 1
145
- })) : createCommentVNode("v-if", true),
146
- createVNode(unref(PlaceholderItem)),
147
- renderSlot(_ctx.$slots, "default")
148
- ], 6),
149
- _ctx.indicatorPosition !== "none" ? (openBlock(), createElementBlock("ul", {
150
- key: 0,
151
- class: normalizeClass(unref(indicatorsClasses))
152
- }, [
153
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(items), (item, index) => {
154
- return withDirectives((openBlock(), createElementBlock("li", {
155
- key: index,
156
- class: normalizeClass([
157
- unref(ns).e("indicator"),
158
- unref(ns).em("indicator", _ctx.direction),
159
- unref(ns).is("active", index === unref(activeIndex))
160
- ]),
161
- onMouseenter: ($event) => unref(throttledIndicatorHover)(index),
162
- onClick: withModifiers(($event) => unref(handleIndicatorClick)(index), ["stop"])
163
- }, [
164
- createElementVNode("button", {
165
- class: normalizeClass(unref(ns).e("button")),
166
- "aria-label": unref(t)("el.carousel.indicator", { index: index + 1 })
167
- }, [
168
- unref(hasLabel) ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(item.props.label), 1)) : createCommentVNode("v-if", true)
169
- ], 10, _hoisted_4)
170
- ], 42, _hoisted_3)), [
171
- [vShow, unref(isTwoLengthShow)(index)]
172
- ]);
173
- }), 128))
174
- ], 2)) : createCommentVNode("v-if", true)
175
- ], 34);
176
- };
5
+ const carouselProps = buildProps({
6
+ initialIndex: {
7
+ type: Number,
8
+ default: 0
9
+ },
10
+ height: {
11
+ type: String,
12
+ default: ""
13
+ },
14
+ trigger: {
15
+ type: String,
16
+ values: ["hover", "click"],
17
+ default: "hover"
18
+ },
19
+ autoplay: {
20
+ type: Boolean,
21
+ default: true
22
+ },
23
+ interval: {
24
+ type: Number,
25
+ default: 3e3
26
+ },
27
+ indicatorPosition: {
28
+ type: String,
29
+ values: ["", "none", "outside"],
30
+ default: ""
31
+ },
32
+ arrow: {
33
+ type: String,
34
+ values: ["always", "hover", "never"],
35
+ default: "hover"
36
+ },
37
+ type: {
38
+ type: String,
39
+ values: ["", "card"],
40
+ default: ""
41
+ },
42
+ loop: {
43
+ type: Boolean,
44
+ default: true
45
+ },
46
+ direction: {
47
+ type: String,
48
+ values: ["horizontal", "vertical"],
49
+ default: "horizontal"
50
+ },
51
+ pauseOnHover: {
52
+ type: Boolean,
53
+ default: true
177
54
  }
178
55
  });
179
- var Carousel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "carousel.vue"]]);
56
+ const carouselEmits = {
57
+ change: (current, prev) => [current, prev].every(isNumber)
58
+ };
180
59
 
181
- export { Carousel as default };
60
+ export { carouselEmits, carouselProps };
182
61
  //# sourceMappingURL=carousel2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"carousel2.mjs","sources":["../../../../../../packages/components/carousel/src/carousel.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('container')\" :style=\"containerStyle\">\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"\n (arrow === 'always' || hover) && (props.loop || activeIndex > 0)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n :aria-label=\"t('el.carousel.leftArrow')\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex - 1)\"\n >\n <ElIcon>\n <ArrowLeft />\n </ElIcon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || hover) &&\n (props.loop || activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n :aria-label=\"t('el.carousel.rightArrow')\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(activeIndex + 1)\"\n >\n <ElIcon>\n <ArrowRight />\n </ElIcon>\n </button>\n </transition>\n <PlaceholderItem />\n <slot />\n </div>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n v-show=\"isTwoLengthShow(index)\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button\n :class=\"ns.e('button')\"\n :aria-label=\"t('el.carousel.indicator', { index: index + 1 })\"\n >\n <span v-if=\"hasLabel\">{{ item.props.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, unref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { carouselEmits, carouselProps } from './carousel'\nimport { useCarousel } from './use-carousel'\n\nconst COMPONENT_NAME = 'ElCarousel'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(carouselProps)\nconst emit = defineEmits(carouselEmits)\nconst {\n root,\n activeIndex,\n arrowDisplay,\n hasLabel,\n hover,\n isCardType,\n items,\n isVertical,\n containerStyle,\n handleButtonEnter,\n handleButtonLeave,\n handleIndicatorClick,\n handleMouseEnter,\n handleMouseLeave,\n setActiveItem,\n prev,\n next,\n PlaceholderItem,\n isTwoLengthShow,\n throttledArrowClick,\n throttledIndicatorHover,\n} = useCarousel(props, emit, COMPONENT_NAME)\nconst ns = useNamespace('carousel')\n\nconst { t } = useLocale()\n\nconst carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (unref(isCardType)) {\n classes.push(ns.m('card'))\n }\n return classes\n})\n\nconst indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (unref(hasLabel)) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside') {\n classes.push(ns.em('indicators', 'outside'))\n }\n if (unref(isVertical)) {\n classes.push(ns.em('indicators', 'right'))\n }\n return classes\n})\n\ndefineExpose({\n /** @description manually switch slide */\n setActiveItem,\n /** @description switch to the previous slide */\n prev,\n /** @description switch to the next slide */\n next,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;mCA+Ec,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;;AAIA,IAAM,MAAA;AAAA,MACJ,IAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,iBAAA;AAAA,MACA,iBAAA;AAAA,MACA,oBAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACA,mBAAA;AAAA,MACA,uBAAA;AAAA,KACE,GAAA,WAAA,CAAY,KAAO,EAAA,IAAA,EAAM,cAAc,CAAA,CAAA;AAC3C,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AAExB,IAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAM,MAAA,OAAA,GAAU,CAAC,EAAG,CAAA,CAAA,IAAK,EAAG,CAAA,CAAA,CAAE,KAAM,CAAA,SAAS,CAAC,CAAA,CAAA;AAC9C,MAAI,IAAA,KAAA,CAAM,UAAU,CAAG,EAAA;AACrB,QAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,MAAM,CAAC,CAAA,CAAA;AAAA,OAC3B;AACA,MAAO,OAAA,OAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,iBAAA,GAAoB,SAAS,MAAM;AACvC,MAAM,MAAA,OAAA,GAAU,CAAC,EAAA,CAAG,CAAE,CAAA,YAAY,CAAG,EAAA,EAAA,CAAG,EAAG,CAAA,YAAA,EAAc,KAAM,CAAA,SAAS,CAAC,CAAA,CAAA;AACzE,MAAI,IAAA,KAAA,CAAM,QAAQ,CAAG,EAAA;AACnB,QAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,EAAG,CAAA,YAAA,EAAc,QAAQ,CAAC,CAAA,CAAA;AAAA,OAC5C;AACA,MAAI,IAAA,KAAA,CAAM,sBAAsB,SAAW,EAAA;AACzC,QAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,EAAG,CAAA,YAAA,EAAc,SAAS,CAAC,CAAA,CAAA;AAAA,OAC7C;AACA,MAAI,IAAA,KAAA,CAAM,UAAU,CAAG,EAAA;AACrB,QAAA,OAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,EAAG,CAAA,YAAA,EAAc,OAAO,CAAC,CAAA,CAAA;AAAA,OAC3C;AACA,MAAO,OAAA,OAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAEX,aAAA;AAAA,MAEA,IAAA;AAAA,MAEA,IAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"carousel2.mjs","sources":["../../../../../../packages/components/carousel/src/carousel.ts"],"sourcesContent":["import { buildProps, isNumber } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const carouselProps = buildProps({\n initialIndex: {\n type: Number,\n default: 0,\n },\n height: {\n type: String,\n default: '',\n },\n trigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n autoplay: {\n type: Boolean,\n default: true,\n },\n interval: {\n type: Number,\n default: 3000,\n },\n indicatorPosition: {\n type: String,\n values: ['', 'none', 'outside'],\n default: '',\n },\n arrow: {\n type: String,\n values: ['always', 'hover', 'never'],\n default: 'hover',\n },\n type: {\n type: String,\n values: ['', 'card'],\n default: '',\n },\n loop: {\n type: Boolean,\n default: true,\n },\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n pauseOnHover: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport const carouselEmits = {\n change: (current: number, prev: number) => [current, prev].every(isNumber),\n}\n\nexport type CarouselProps = ExtractPropTypes<typeof carouselProps>\nexport type CarouselEmits = typeof carouselEmits\n"],"names":[],"mappings":";;;;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC9B,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC;AACnC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;AACxC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;AACxB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5D;;;;"}
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import Drawer from './src/drawer2.mjs';
3
- export { drawerEmits, drawerProps } from './src/drawer.mjs';
2
+ import Drawer from './src/drawer.mjs';
3
+ export { drawerEmits, drawerProps } from './src/drawer2.mjs';
4
4
  import { withInstall } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const ElDrawer = withInstall(Drawer);
@@ -1,33 +1,186 @@
1
- import '../../../utils/index.mjs';
1
+ import { defineComponent, useSlots, computed, ref, openBlock, createBlock, Teleport, createVNode, Transition, unref, withCtx, withDirectives, createElementVNode, mergeProps, withModifiers, normalizeClass, createElementBlock, renderSlot, toDisplayString, createCommentVNode, vShow } from 'vue';
2
+ import { Close } from '@element-plus/icons-vue';
3
+ import { ElOverlay } from '../../overlay/index.mjs';
4
+ import '../../focus-trap/index.mjs';
2
5
  import '../../dialog/index.mjs';
3
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
4
- import { dialogProps, dialogEmits } from '../../dialog/src/dialog.mjs';
6
+ import '../../../utils/index.mjs';
7
+ import { ElIcon } from '../../icon/index.mjs';
8
+ import '../../../hooks/index.mjs';
9
+ import { drawerProps, drawerEmits } from './drawer2.mjs';
10
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
+ import { useDeprecated } from '../../../hooks/use-deprecated/index.mjs';
12
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
14
+ import { useDialog } from '../../dialog/src/use-dialog.mjs';
15
+ import { addUnit } from '../../../utils/dom/style.mjs';
16
+ import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
5
17
 
6
- const drawerProps = buildProps({
7
- ...dialogProps,
8
- direction: {
9
- type: String,
10
- default: "rtl",
11
- values: ["ltr", "rtl", "ttb", "btt"]
12
- },
13
- size: {
14
- type: [String, Number],
15
- default: "30%"
16
- },
17
- withHeader: {
18
- type: Boolean,
19
- default: true
20
- },
21
- modalFade: {
22
- type: Boolean,
23
- default: true
24
- },
25
- headerAriaLevel: {
26
- type: String,
27
- default: "2"
18
+ const _hoisted_1 = ["aria-label", "aria-labelledby", "aria-describedby"];
19
+ const _hoisted_2 = ["id", "aria-level"];
20
+ const _hoisted_3 = ["aria-label"];
21
+ const _hoisted_4 = ["id"];
22
+ const __default__ = defineComponent({
23
+ name: "ElDrawer",
24
+ inheritAttrs: false
25
+ });
26
+ const _sfc_main = /* @__PURE__ */ defineComponent({
27
+ ...__default__,
28
+ props: drawerProps,
29
+ emits: drawerEmits,
30
+ setup(__props, { expose }) {
31
+ const props = __props;
32
+ const slots = useSlots();
33
+ useDeprecated({
34
+ scope: "el-drawer",
35
+ from: "the title slot",
36
+ replacement: "the header slot",
37
+ version: "3.0.0",
38
+ ref: "https://element-plus.org/en-US/component/drawer.html#slots"
39
+ }, computed(() => !!slots.title));
40
+ const drawerRef = ref();
41
+ const focusStartRef = ref();
42
+ const ns = useNamespace("drawer");
43
+ const { t } = useLocale();
44
+ const {
45
+ afterEnter,
46
+ afterLeave,
47
+ beforeLeave,
48
+ visible,
49
+ rendered,
50
+ titleId,
51
+ bodyId,
52
+ onModalClick,
53
+ onOpenAutoFocus,
54
+ onCloseAutoFocus,
55
+ onFocusoutPrevented,
56
+ onCloseRequested,
57
+ handleClose
58
+ } = useDialog(props, drawerRef);
59
+ const isHorizontal = computed(() => props.direction === "rtl" || props.direction === "ltr");
60
+ const drawerSize = computed(() => addUnit(props.size));
61
+ expose({
62
+ handleClose,
63
+ afterEnter,
64
+ afterLeave
65
+ });
66
+ return (_ctx, _cache) => {
67
+ return openBlock(), createBlock(Teleport, {
68
+ to: "body",
69
+ disabled: !_ctx.appendToBody
70
+ }, [
71
+ createVNode(Transition, {
72
+ name: unref(ns).b("fade"),
73
+ onAfterEnter: unref(afterEnter),
74
+ onAfterLeave: unref(afterLeave),
75
+ onBeforeLeave: unref(beforeLeave),
76
+ persisted: ""
77
+ }, {
78
+ default: withCtx(() => [
79
+ withDirectives(createVNode(unref(ElOverlay), {
80
+ mask: _ctx.modal,
81
+ "overlay-class": _ctx.modalClass,
82
+ "z-index": _ctx.zIndex,
83
+ onClick: unref(onModalClick)
84
+ }, {
85
+ default: withCtx(() => [
86
+ createVNode(unref(ElFocusTrap), {
87
+ loop: "",
88
+ trapped: unref(visible),
89
+ "focus-trap-el": drawerRef.value,
90
+ "focus-start-el": focusStartRef.value,
91
+ onFocusAfterTrapped: unref(onOpenAutoFocus),
92
+ onFocusAfterReleased: unref(onCloseAutoFocus),
93
+ onFocusoutPrevented: unref(onFocusoutPrevented),
94
+ onReleaseRequested: unref(onCloseRequested)
95
+ }, {
96
+ default: withCtx(() => [
97
+ createElementVNode("div", mergeProps({
98
+ ref_key: "drawerRef",
99
+ ref: drawerRef,
100
+ "aria-modal": "true",
101
+ "aria-label": _ctx.title || void 0,
102
+ "aria-labelledby": !_ctx.title ? unref(titleId) : void 0,
103
+ "aria-describedby": unref(bodyId)
104
+ }, _ctx.$attrs, {
105
+ class: [unref(ns).b(), _ctx.direction, unref(visible) && "open"],
106
+ style: unref(isHorizontal) ? "width: " + unref(drawerSize) : "height: " + unref(drawerSize),
107
+ role: "dialog",
108
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
109
+ }, ["stop"]))
110
+ }), [
111
+ createElementVNode("span", {
112
+ ref_key: "focusStartRef",
113
+ ref: focusStartRef,
114
+ class: normalizeClass(unref(ns).e("sr-focus")),
115
+ tabindex: "-1"
116
+ }, null, 2),
117
+ _ctx.withHeader ? (openBlock(), createElementBlock("header", {
118
+ key: 0,
119
+ class: normalizeClass(unref(ns).e("header"))
120
+ }, [
121
+ !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", {
122
+ key: 0,
123
+ close: unref(handleClose),
124
+ titleId: unref(titleId),
125
+ titleClass: unref(ns).e("title")
126
+ }, () => [
127
+ !_ctx.$slots.title ? (openBlock(), createElementBlock("span", {
128
+ key: 0,
129
+ id: unref(titleId),
130
+ role: "heading",
131
+ "aria-level": _ctx.headerAriaLevel,
132
+ class: normalizeClass(unref(ns).e("title"))
133
+ }, toDisplayString(_ctx.title), 11, _hoisted_2)) : createCommentVNode("v-if", true)
134
+ ]) : renderSlot(_ctx.$slots, "title", { key: 1 }, () => [
135
+ createCommentVNode(" DEPRECATED SLOT ")
136
+ ]),
137
+ _ctx.showClose ? (openBlock(), createElementBlock("button", {
138
+ key: 2,
139
+ "aria-label": unref(t)("el.drawer.close"),
140
+ class: normalizeClass(unref(ns).e("close-btn")),
141
+ type: "button",
142
+ onClick: _cache[0] || (_cache[0] = (...args) => unref(handleClose) && unref(handleClose)(...args))
143
+ }, [
144
+ createVNode(unref(ElIcon), {
145
+ class: normalizeClass(unref(ns).e("close"))
146
+ }, {
147
+ default: withCtx(() => [
148
+ createVNode(unref(Close))
149
+ ]),
150
+ _: 1
151
+ }, 8, ["class"])
152
+ ], 10, _hoisted_3)) : createCommentVNode("v-if", true)
153
+ ], 2)) : createCommentVNode("v-if", true),
154
+ unref(rendered) ? (openBlock(), createElementBlock("div", {
155
+ key: 1,
156
+ id: unref(bodyId),
157
+ class: normalizeClass(unref(ns).e("body"))
158
+ }, [
159
+ renderSlot(_ctx.$slots, "default")
160
+ ], 10, _hoisted_4)) : createCommentVNode("v-if", true),
161
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
162
+ key: 2,
163
+ class: normalizeClass(unref(ns).e("footer"))
164
+ }, [
165
+ renderSlot(_ctx.$slots, "footer")
166
+ ], 2)) : createCommentVNode("v-if", true)
167
+ ], 16, _hoisted_1)
168
+ ]),
169
+ _: 3
170
+ }, 8, ["trapped", "focus-trap-el", "focus-start-el", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"])
171
+ ]),
172
+ _: 3
173
+ }, 8, ["mask", "overlay-class", "z-index", "onClick"]), [
174
+ [vShow, unref(visible)]
175
+ ])
176
+ ]),
177
+ _: 3
178
+ }, 8, ["name", "onAfterEnter", "onAfterLeave", "onBeforeLeave"])
179
+ ], 8, ["disabled"]);
180
+ };
28
181
  }
29
182
  });
30
- const drawerEmits = dialogEmits;
183
+ var Drawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "drawer.vue"]]);
31
184
 
32
- export { drawerEmits, drawerProps };
185
+ export { Drawer as default };
33
186
  //# sourceMappingURL=drawer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/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 headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\n\nexport const drawerEmits = dialogEmits\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,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;;;;"}
1
+ {"version":3,"file":"drawer.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\n :class=\"[ns.b(), direction, visible && 'open']\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"ns.e('header')\">\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n v-if=\"!$slots.title\"\n :id=\"titleId\"\n role=\"heading\"\n :aria-level=\"headerAriaLevel\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n <slot v-else name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <div :id=\"bodyId\" :class=\"ns.e('body')\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\" />\n </div>\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useDialog } from '@element-plus/components/dialog'\nimport { addUnit } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\ndefineOptions({\n name: 'ElDrawer',\n inheritAttrs: false,\n})\n\nconst props = defineProps(drawerProps)\ndefineEmits(drawerEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst drawerRef = ref<HTMLElement>()\nconst focusStartRef = ref<HTMLElement>()\nconst ns = useNamespace('drawer')\nconst { t } = useLocale()\nconst {\n afterEnter,\n afterLeave,\n beforeLeave,\n visible,\n rendered,\n titleId,\n bodyId,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onFocusoutPrevented,\n onCloseRequested,\n handleClose,\n} = useDialog(props, drawerRef)\n\nconst isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n)\nconst drawerSize = computed(() => addUnit(props.size))\n\ndefineExpose({\n handleClose,\n afterEnter,\n afterLeave,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;mCAkGc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IACE,aAAA,CAAA;AAAA,MACE,KAAO,EAAA,WAAA;AAAA,MACP,IAAM,EAAA,gBAAA;AAAA,MACN,WAAa,EAAA,iBAAA;AAAA,MACb,OAAS,EAAA,OAAA;AAAA,MACT,GAAK,EAAA,4DAAA;AAAA,OAEP,QAAS,CAAA,MAAM,CAAC,CAAC,KAAA,CAAM,KAAK,CAC9B,CAAA,CAAA;AAEA,IAAA,MAAM,YAAY,GAAiB,EAAA,CAAA;AACnC,IAAA,MAAM,gBAAgB,GAAiB,EAAA,CAAA;AACvC,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA;AAAA,MACJ,UAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,MACA,gBAAA;AAAA,MACA,WAAA;AAAA,KACE,GAAA,SAAA,CAAU,OAAO,SAAS,CAAA,CAAA;AAE9B,IAAM,MAAA,YAAA,GAAe,SACnB,MAAM,KAAA,CAAM,cAAc,KAAS,IAAA,KAAA,CAAM,cAAc,KACzD,CAAA,CAAA;AACA,IAAA,MAAM,aAAa,QAAS,CAAA,MAAM,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAErD,IAAa,MAAA,CAAA;AAAA,MACX,WAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}