@element-plus/nightly 0.0.20220727 → 0.0.20220730

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 (300) hide show
  1. package/README.md +0 -5
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +58 -40
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +12 -12
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +58 -40
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/cs.js +1 -1
  34. package/dist/locale/cs.min.js +1 -1
  35. package/dist/locale/cs.min.mjs +1 -1
  36. package/dist/locale/cs.mjs +1 -1
  37. package/dist/locale/da.js +1 -1
  38. package/dist/locale/da.min.js +1 -1
  39. package/dist/locale/da.min.mjs +1 -1
  40. package/dist/locale/da.mjs +1 -1
  41. package/dist/locale/de.js +1 -1
  42. package/dist/locale/de.min.js +1 -1
  43. package/dist/locale/de.min.mjs +1 -1
  44. package/dist/locale/de.mjs +1 -1
  45. package/dist/locale/el.js +1 -1
  46. package/dist/locale/el.min.js +1 -1
  47. package/dist/locale/el.min.mjs +1 -1
  48. package/dist/locale/el.mjs +1 -1
  49. package/dist/locale/en.js +1 -1
  50. package/dist/locale/en.min.js +1 -1
  51. package/dist/locale/en.min.mjs +1 -1
  52. package/dist/locale/en.mjs +1 -1
  53. package/dist/locale/eo.js +1 -1
  54. package/dist/locale/eo.min.js +1 -1
  55. package/dist/locale/eo.min.mjs +1 -1
  56. package/dist/locale/eo.mjs +1 -1
  57. package/dist/locale/es.js +1 -1
  58. package/dist/locale/es.min.js +1 -1
  59. package/dist/locale/es.min.mjs +1 -1
  60. package/dist/locale/es.mjs +1 -1
  61. package/dist/locale/et.js +1 -1
  62. package/dist/locale/et.min.js +1 -1
  63. package/dist/locale/et.min.mjs +1 -1
  64. package/dist/locale/et.mjs +1 -1
  65. package/dist/locale/eu.js +1 -1
  66. package/dist/locale/eu.min.js +1 -1
  67. package/dist/locale/eu.min.mjs +1 -1
  68. package/dist/locale/eu.mjs +1 -1
  69. package/dist/locale/fa.js +1 -1
  70. package/dist/locale/fa.min.js +1 -1
  71. package/dist/locale/fa.min.mjs +1 -1
  72. package/dist/locale/fa.mjs +1 -1
  73. package/dist/locale/fi.js +1 -1
  74. package/dist/locale/fi.min.js +1 -1
  75. package/dist/locale/fi.min.mjs +1 -1
  76. package/dist/locale/fi.mjs +1 -1
  77. package/dist/locale/fr.js +1 -1
  78. package/dist/locale/fr.min.js +1 -1
  79. package/dist/locale/fr.min.mjs +1 -1
  80. package/dist/locale/fr.mjs +1 -1
  81. package/dist/locale/he.js +1 -1
  82. package/dist/locale/he.min.js +1 -1
  83. package/dist/locale/he.min.mjs +1 -1
  84. package/dist/locale/he.mjs +1 -1
  85. package/dist/locale/hr.js +1 -1
  86. package/dist/locale/hr.min.js +1 -1
  87. package/dist/locale/hr.min.mjs +1 -1
  88. package/dist/locale/hr.mjs +1 -1
  89. package/dist/locale/hu.js +1 -1
  90. package/dist/locale/hu.min.js +1 -1
  91. package/dist/locale/hu.min.mjs +1 -1
  92. package/dist/locale/hu.mjs +1 -1
  93. package/dist/locale/hy-am.js +1 -1
  94. package/dist/locale/hy-am.min.js +1 -1
  95. package/dist/locale/hy-am.min.mjs +1 -1
  96. package/dist/locale/hy-am.mjs +1 -1
  97. package/dist/locale/id.js +1 -1
  98. package/dist/locale/id.min.js +1 -1
  99. package/dist/locale/id.min.mjs +1 -1
  100. package/dist/locale/id.mjs +1 -1
  101. package/dist/locale/it.js +1 -1
  102. package/dist/locale/it.min.js +1 -1
  103. package/dist/locale/it.min.mjs +1 -1
  104. package/dist/locale/it.mjs +1 -1
  105. package/dist/locale/ja.js +1 -1
  106. package/dist/locale/ja.min.js +1 -1
  107. package/dist/locale/ja.min.mjs +1 -1
  108. package/dist/locale/ja.mjs +1 -1
  109. package/dist/locale/kk.js +1 -1
  110. package/dist/locale/kk.min.js +1 -1
  111. package/dist/locale/kk.min.mjs +1 -1
  112. package/dist/locale/kk.mjs +1 -1
  113. package/dist/locale/km.js +1 -1
  114. package/dist/locale/km.min.js +1 -1
  115. package/dist/locale/km.min.mjs +1 -1
  116. package/dist/locale/km.mjs +1 -1
  117. package/dist/locale/ko.js +1 -1
  118. package/dist/locale/ko.min.js +1 -1
  119. package/dist/locale/ko.min.mjs +1 -1
  120. package/dist/locale/ko.mjs +1 -1
  121. package/dist/locale/ku.js +1 -1
  122. package/dist/locale/ku.min.js +1 -1
  123. package/dist/locale/ku.min.mjs +1 -1
  124. package/dist/locale/ku.mjs +1 -1
  125. package/dist/locale/ky.js +1 -1
  126. package/dist/locale/ky.min.js +1 -1
  127. package/dist/locale/ky.min.mjs +1 -1
  128. package/dist/locale/ky.mjs +1 -1
  129. package/dist/locale/lt.js +1 -1
  130. package/dist/locale/lt.min.js +1 -1
  131. package/dist/locale/lt.min.mjs +1 -1
  132. package/dist/locale/lt.mjs +1 -1
  133. package/dist/locale/lv.js +1 -1
  134. package/dist/locale/lv.min.js +1 -1
  135. package/dist/locale/lv.min.mjs +1 -1
  136. package/dist/locale/lv.mjs +1 -1
  137. package/dist/locale/mg.js +1 -1
  138. package/dist/locale/mg.min.js +1 -1
  139. package/dist/locale/mg.min.mjs +1 -1
  140. package/dist/locale/mg.mjs +1 -1
  141. package/dist/locale/mn.js +1 -1
  142. package/dist/locale/mn.min.js +1 -1
  143. package/dist/locale/mn.min.mjs +1 -1
  144. package/dist/locale/mn.mjs +1 -1
  145. package/dist/locale/nb-no.js +1 -1
  146. package/dist/locale/nb-no.min.js +1 -1
  147. package/dist/locale/nb-no.min.mjs +1 -1
  148. package/dist/locale/nb-no.mjs +1 -1
  149. package/dist/locale/nl.js +1 -1
  150. package/dist/locale/nl.min.js +1 -1
  151. package/dist/locale/nl.min.mjs +1 -1
  152. package/dist/locale/nl.mjs +1 -1
  153. package/dist/locale/pa.js +1 -1
  154. package/dist/locale/pa.min.js +1 -1
  155. package/dist/locale/pa.min.mjs +1 -1
  156. package/dist/locale/pa.mjs +1 -1
  157. package/dist/locale/pl.js +1 -1
  158. package/dist/locale/pl.min.js +1 -1
  159. package/dist/locale/pl.min.mjs +1 -1
  160. package/dist/locale/pl.mjs +1 -1
  161. package/dist/locale/pt-br.js +1 -1
  162. package/dist/locale/pt-br.min.js +1 -1
  163. package/dist/locale/pt-br.min.mjs +1 -1
  164. package/dist/locale/pt-br.mjs +1 -1
  165. package/dist/locale/pt.js +1 -1
  166. package/dist/locale/pt.min.js +1 -1
  167. package/dist/locale/pt.min.mjs +1 -1
  168. package/dist/locale/pt.mjs +1 -1
  169. package/dist/locale/ro.js +1 -1
  170. package/dist/locale/ro.min.js +1 -1
  171. package/dist/locale/ro.min.mjs +1 -1
  172. package/dist/locale/ro.mjs +1 -1
  173. package/dist/locale/ru.js +1 -1
  174. package/dist/locale/ru.min.js +1 -1
  175. package/dist/locale/ru.min.mjs +1 -1
  176. package/dist/locale/ru.mjs +1 -1
  177. package/dist/locale/sk.js +1 -1
  178. package/dist/locale/sk.min.js +1 -1
  179. package/dist/locale/sk.min.mjs +1 -1
  180. package/dist/locale/sk.mjs +1 -1
  181. package/dist/locale/sl.js +1 -1
  182. package/dist/locale/sl.min.js +1 -1
  183. package/dist/locale/sl.min.mjs +1 -1
  184. package/dist/locale/sl.mjs +1 -1
  185. package/dist/locale/sr.js +1 -1
  186. package/dist/locale/sr.min.js +1 -1
  187. package/dist/locale/sr.min.mjs +1 -1
  188. package/dist/locale/sr.mjs +1 -1
  189. package/dist/locale/sv.js +1 -1
  190. package/dist/locale/sv.min.js +1 -1
  191. package/dist/locale/sv.min.mjs +1 -1
  192. package/dist/locale/sv.mjs +1 -1
  193. package/dist/locale/ta.js +1 -1
  194. package/dist/locale/ta.min.js +1 -1
  195. package/dist/locale/ta.min.mjs +1 -1
  196. package/dist/locale/ta.mjs +1 -1
  197. package/dist/locale/th.js +1 -1
  198. package/dist/locale/th.min.js +1 -1
  199. package/dist/locale/th.min.mjs +1 -1
  200. package/dist/locale/th.mjs +1 -1
  201. package/dist/locale/tk.js +1 -1
  202. package/dist/locale/tk.min.js +1 -1
  203. package/dist/locale/tk.min.mjs +1 -1
  204. package/dist/locale/tk.mjs +1 -1
  205. package/dist/locale/tr.js +1 -1
  206. package/dist/locale/tr.min.js +1 -1
  207. package/dist/locale/tr.min.mjs +1 -1
  208. package/dist/locale/tr.mjs +1 -1
  209. package/dist/locale/ug-cn.js +1 -1
  210. package/dist/locale/ug-cn.min.js +1 -1
  211. package/dist/locale/ug-cn.min.mjs +1 -1
  212. package/dist/locale/ug-cn.mjs +1 -1
  213. package/dist/locale/uk.js +1 -1
  214. package/dist/locale/uk.min.js +1 -1
  215. package/dist/locale/uk.min.mjs +1 -1
  216. package/dist/locale/uk.mjs +1 -1
  217. package/dist/locale/uz-uz.js +1 -1
  218. package/dist/locale/uz-uz.min.js +1 -1
  219. package/dist/locale/uz-uz.min.mjs +1 -1
  220. package/dist/locale/uz-uz.mjs +1 -1
  221. package/dist/locale/vi.js +1 -1
  222. package/dist/locale/vi.min.js +1 -1
  223. package/dist/locale/vi.min.mjs +1 -1
  224. package/dist/locale/vi.mjs +1 -1
  225. package/dist/locale/zh-cn.js +1 -1
  226. package/dist/locale/zh-cn.min.js +1 -1
  227. package/dist/locale/zh-cn.min.mjs +1 -1
  228. package/dist/locale/zh-cn.mjs +1 -1
  229. package/dist/locale/zh-tw.js +1 -1
  230. package/dist/locale/zh-tw.min.js +1 -1
  231. package/dist/locale/zh-tw.min.mjs +1 -1
  232. package/dist/locale/zh-tw.mjs +1 -1
  233. package/es/components/badge/index.mjs +2 -2
  234. package/es/components/badge/src/badge.mjs +55 -17
  235. package/es/components/badge/src/badge.mjs.map +1 -1
  236. package/es/components/badge/src/badge2.mjs +17 -55
  237. package/es/components/badge/src/badge2.mjs.map +1 -1
  238. package/es/components/calendar/index.mjs +2 -2
  239. package/es/components/calendar/src/calendar.mjs +16 -230
  240. package/es/components/calendar/src/calendar.mjs.map +1 -1
  241. package/es/components/calendar/src/calendar2.mjs +230 -16
  242. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  243. package/es/components/carousel/index.d.ts +1 -1
  244. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  245. package/es/components/carousel/src/carousel2.mjs +10 -3
  246. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  247. package/es/components/index.mjs +2 -2
  248. package/es/components/menu/src/menu.mjs +1 -2
  249. package/es/components/menu/src/menu.mjs.map +1 -1
  250. package/es/components/notification/src/notify.mjs +1 -1
  251. package/es/components/notification/src/notify.mjs.map +1 -1
  252. package/es/components/space/src/space.mjs +33 -25
  253. package/es/components/space/src/space.mjs.map +1 -1
  254. package/es/components/table/src/table/style-helper.mjs +6 -6
  255. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  256. package/es/components/transfer/src/transfer.vue.d.ts +45 -45
  257. package/es/hooks/use-namespace/index.mjs +6 -2
  258. package/es/hooks/use-namespace/index.mjs.map +1 -1
  259. package/es/index.mjs +2 -2
  260. package/es/version.d.ts +1 -1
  261. package/es/version.mjs +1 -1
  262. package/es/version.mjs.map +1 -1
  263. package/lib/components/badge/index.js +2 -2
  264. package/lib/components/badge/src/badge.js +55 -17
  265. package/lib/components/badge/src/badge.js.map +1 -1
  266. package/lib/components/badge/src/badge2.js +17 -55
  267. package/lib/components/badge/src/badge2.js.map +1 -1
  268. package/lib/components/calendar/index.js +2 -2
  269. package/lib/components/calendar/src/calendar.js +16 -233
  270. package/lib/components/calendar/src/calendar.js.map +1 -1
  271. package/lib/components/calendar/src/calendar2.js +233 -16
  272. package/lib/components/calendar/src/calendar2.js.map +1 -1
  273. package/lib/components/carousel/index.d.ts +1 -1
  274. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  275. package/lib/components/carousel/src/carousel2.js +10 -3
  276. package/lib/components/carousel/src/carousel2.js.map +1 -1
  277. package/lib/components/index.js +2 -2
  278. package/lib/components/menu/src/menu.js +1 -2
  279. package/lib/components/menu/src/menu.js.map +1 -1
  280. package/lib/components/notification/src/notify.js +1 -1
  281. package/lib/components/notification/src/notify.js.map +1 -1
  282. package/lib/components/space/src/space.js +32 -24
  283. package/lib/components/space/src/space.js.map +1 -1
  284. package/lib/components/table/src/table/style-helper.js +6 -6
  285. package/lib/components/table/src/table/style-helper.js.map +1 -1
  286. package/lib/components/transfer/src/transfer.vue.d.ts +45 -45
  287. package/lib/hooks/use-namespace/index.js +6 -2
  288. package/lib/hooks/use-namespace/index.js.map +1 -1
  289. package/lib/index.js +2 -2
  290. package/lib/version.d.ts +1 -1
  291. package/lib/version.js +1 -1
  292. package/lib/version.js.map +1 -1
  293. package/package.json +2 -2
  294. package/theme-chalk/el-menu.css +1 -1
  295. package/theme-chalk/el-message.css +1 -1
  296. package/theme-chalk/index.css +1 -1
  297. package/theme-chalk/src/common/var.scss +1 -2
  298. package/theme-chalk/src/menu.scss +1 -0
  299. package/theme-chalk/src/message.scss +3 -4
  300. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"notify.mjs","sources":["../../../../../../packages/components/notification/src/notify.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { useZIndex } from '@element-plus/hooks'\nimport { debugWarn, isElement, isString, isVNode } from '@element-plus/utils'\nimport NotificationConstructor from './notification.vue'\nimport { notificationTypes } from './notification'\n\nimport type { AppContext, ComponentPublicInstance, VNode } from 'vue'\nimport type {\n NotificationOptions,\n NotificationProps,\n NotificationQueue,\n Notify,\n NotifyFn,\n} from './notification'\n\n// This should be a queue but considering there were `non-autoclosable` notifications.\nconst notifications: Record<\n NotificationOptions['position'],\n NotificationQueue\n> = {\n 'top-left': [],\n 'top-right': [],\n 'bottom-left': [],\n 'bottom-right': [],\n}\n\n// the gap size between each notification\nconst GAP_SIZE = 16\nlet seed = 1\n\nconst notify: NotifyFn & Partial<Notify> & { _context: AppContext | null } =\n function (options = {}, context: AppContext | null = null) {\n if (!isClient) return { close: () => undefined }\n\n if (typeof options === 'string' || isVNode(options)) {\n options = { message: options }\n }\n\n const position = options.position || 'top-right'\n\n let verticalOffset = options.offset || 0\n notifications[position].forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n })\n verticalOffset += GAP_SIZE\n\n const { nextZIndex } = useZIndex()\n\n const id = `notification_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<NotificationProps> = {\n // default options end\n zIndex: nextZIndex(),\n offset: verticalOffset,\n ...options,\n id,\n onClose: () => {\n close(id, position, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElNotification',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n const vm = createVNode(\n NotificationConstructor,\n props,\n isVNode(props.message)\n ? {\n default: () => props.message,\n }\n : null\n )\n vm.appContext = context ?? notify._context\n\n // clean notification element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n }\n\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n render(vm, container)\n notifications[position].push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n },\n }\n }\nnotificationTypes.forEach((type) => {\n notify[type] = (options = {}) => {\n if (typeof options === 'string' || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return notify({\n ...options,\n type,\n })\n }\n})\n\n/**\n * This function gets called when user click `x` button or press `esc` or the time reached its limitation.\n * Emitted by transition@before-leave event so that we can fetch the current notification.offsetHeight, if this was called\n * by @after-leave the DOM element will be removed from the page thus we can no longer fetch the offsetHeight.\n * @param {String} id notification id to be closed\n * @param {Position} position the positioning strategy\n * @param {Function} userOnClose the callback called when close passed by user\n */\nexport function close(\n id: string,\n position: NotificationOptions['position'],\n userOnClose?: (vm: VNode) => void\n): void {\n // maybe we can store the index when inserting the vm to notification list.\n const orientedNotifications = notifications[position]\n const idx = orientedNotifications.findIndex(\n ({ vm }) => vm.component?.props.id === id\n )\n if (idx === -1) return\n const { vm } = orientedNotifications[idx]\n if (!vm) return\n // calling user's on close function before notification gets removed from DOM.\n userOnClose?.(vm)\n\n // note that this is called @before-leave, that's why we were able to fetch this property.\n const removedHeight = vm.el!.offsetHeight\n const verticalPos = position.split('-')[0]\n orientedNotifications.splice(idx, 1)\n const len = orientedNotifications.length\n if (len < 1) return\n // starting from the removing item.\n for (let i = idx; i < len; i++) {\n // new position equals the current offsetTop minus removed height plus 16px(the gap size between each item)\n const { el, component } = orientedNotifications[i].vm\n const pos =\n Number.parseInt(el!.style[verticalPos], 10) - removedHeight - GAP_SIZE\n component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n // loop through all directions, close them at once.\n for (const orientedNotifications of Object.values(notifications)) {\n orientedNotifications.forEach(({ vm }) => {\n // same as the previous close method, we'd like to make sure lifecycle gets handle properly.\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n })\n }\n}\n\nnotify.closeAll = closeAll\nnotify._context = null\n\nexport default notify as Notify\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notify.mjs","sources":["../../../../../../packages/components/notification/src/notify.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { useZIndex } from '@element-plus/hooks'\nimport { debugWarn, isElement, isString, isVNode } from '@element-plus/utils'\nimport NotificationConstructor from './notification.vue'\nimport { notificationTypes } from './notification'\n\nimport type { AppContext, ComponentPublicInstance, VNode } from 'vue'\nimport type {\n NotificationOptions,\n NotificationProps,\n NotificationQueue,\n Notify,\n NotifyFn,\n} from './notification'\n\n// This should be a queue but considering there were `non-autoclosable` notifications.\nconst notifications: Record<\n NotificationOptions['position'],\n NotificationQueue\n> = {\n 'top-left': [],\n 'top-right': [],\n 'bottom-left': [],\n 'bottom-right': [],\n}\n\n// the gap size between each notification\nconst GAP_SIZE = 16\nlet seed = 1\n\nconst notify: NotifyFn & Partial<Notify> & { _context: AppContext | null } =\n function (options = {}, context: AppContext | null = null) {\n if (!isClient) return { close: () => undefined }\n\n if (typeof options === 'string' || isVNode(options)) {\n options = { message: options }\n }\n\n const position = options.position || 'top-right'\n\n let verticalOffset = options.offset || 0\n notifications[position].forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + GAP_SIZE\n })\n verticalOffset += GAP_SIZE\n\n const { nextZIndex } = useZIndex()\n\n const id = `notification_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<NotificationProps> = {\n ...options,\n zIndex: nextZIndex(),\n offset: verticalOffset,\n id,\n onClose: () => {\n close(id, position, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElNotification',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n const vm = createVNode(\n NotificationConstructor,\n props,\n isVNode(props.message)\n ? {\n default: () => props.message,\n }\n : null\n )\n vm.appContext = context ?? notify._context\n\n // clean notification element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n }\n\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n render(vm, container)\n notifications[position].push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n },\n }\n }\nnotificationTypes.forEach((type) => {\n notify[type] = (options = {}) => {\n if (typeof options === 'string' || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return notify({\n ...options,\n type,\n })\n }\n})\n\n/**\n * This function gets called when user click `x` button or press `esc` or the time reached its limitation.\n * Emitted by transition@before-leave event so that we can fetch the current notification.offsetHeight, if this was called\n * by @after-leave the DOM element will be removed from the page thus we can no longer fetch the offsetHeight.\n * @param {String} id notification id to be closed\n * @param {Position} position the positioning strategy\n * @param {Function} userOnClose the callback called when close passed by user\n */\nexport function close(\n id: string,\n position: NotificationOptions['position'],\n userOnClose?: (vm: VNode) => void\n): void {\n // maybe we can store the index when inserting the vm to notification list.\n const orientedNotifications = notifications[position]\n const idx = orientedNotifications.findIndex(\n ({ vm }) => vm.component?.props.id === id\n )\n if (idx === -1) return\n const { vm } = orientedNotifications[idx]\n if (!vm) return\n // calling user's on close function before notification gets removed from DOM.\n userOnClose?.(vm)\n\n // note that this is called @before-leave, that's why we were able to fetch this property.\n const removedHeight = vm.el!.offsetHeight\n const verticalPos = position.split('-')[0]\n orientedNotifications.splice(idx, 1)\n const len = orientedNotifications.length\n if (len < 1) return\n // starting from the removing item.\n for (let i = idx; i < len; i++) {\n // new position equals the current offsetTop minus removed height plus 16px(the gap size between each item)\n const { el, component } = orientedNotifications[i].vm\n const pos =\n Number.parseInt(el!.style[verticalPos], 10) - removedHeight - GAP_SIZE\n component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n // loop through all directions, close them at once.\n for (const orientedNotifications of Object.values(notifications)) {\n orientedNotifications.forEach(({ vm }) => {\n // same as the previous close method, we'd like to make sure lifecycle gets handle properly.\n ;(\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false\n })\n }\n}\n\nnotify.closeAll = closeAll\nnotify._context = null\n\nexport default notify as Notify\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { isVNode, defineComponent, renderSlot, createVNode, createTextVNode } from 'vue';
1
+ import { isVNode, defineComponent, createVNode, renderSlot, createTextVNode } from 'vue';
2
2
  import { isString, isArray } from '@vue/shared';
3
3
  import '../../../utils/index.mjs';
4
4
  import '../../../constants/index.mjs';
@@ -58,37 +58,45 @@ var Space = defineComponent({
58
58
  props: spaceProps,
59
59
  setup(props, { slots }) {
60
60
  const { classes, containerStyle, itemStyle } = useSpace(props);
61
- return () => {
62
- var _a;
63
- const { spacer, prefixCls, direction } = props;
64
- const children = renderSlot(slots, "default", { key: 0 }, () => []);
65
- if (((_a = children.children) != null ? _a : []).length === 0)
66
- return null;
67
- if (isArray(children.children)) {
68
- let extractedChildren = [];
69
- children.children.forEach((child, loopKey) => {
70
- if (isFragment(child)) {
71
- if (isArray(child.children)) {
72
- child.children.forEach((nested, key) => {
61
+ function extractChildren(children, parentKey = "", extractedChildren = []) {
62
+ const { prefixCls } = props;
63
+ children.forEach((child, loopKey) => {
64
+ if (isFragment(child)) {
65
+ if (isArray(child.children)) {
66
+ child.children.forEach((nested, key) => {
67
+ if (isFragment(nested) && isArray(nested.children)) {
68
+ extractChildren(nested.children, `${parentKey + key}-`, extractedChildren);
69
+ } else {
73
70
  extractedChildren.push(createVNode(SpaceItem, {
74
71
  style: itemStyle.value,
75
72
  prefixCls,
76
- key: `nested-${key}`
73
+ key: `nested-${parentKey + key}`
77
74
  }, {
78
75
  default: () => [nested]
79
76
  }, PatchFlags.PROPS | PatchFlags.STYLE, ["style", "prefixCls"]));
80
- });
81
- }
82
- } else if (isValidElementNode(child)) {
83
- extractedChildren.push(createVNode(SpaceItem, {
84
- style: itemStyle.value,
85
- prefixCls,
86
- key: `LoopKey${loopKey}`
87
- }, {
88
- default: () => [child]
89
- }, PatchFlags.PROPS | PatchFlags.STYLE, ["style", "prefixCls"]));
77
+ }
78
+ });
90
79
  }
91
- });
80
+ } else if (isValidElementNode(child)) {
81
+ extractedChildren.push(createVNode(SpaceItem, {
82
+ style: itemStyle.value,
83
+ prefixCls,
84
+ key: `LoopKey${parentKey + loopKey}`
85
+ }, {
86
+ default: () => [child]
87
+ }, PatchFlags.PROPS | PatchFlags.STYLE, ["style", "prefixCls"]));
88
+ }
89
+ });
90
+ return extractedChildren;
91
+ }
92
+ return () => {
93
+ var _a;
94
+ const { spacer, direction } = props;
95
+ const children = renderSlot(slots, "default", { key: 0 }, () => []);
96
+ if (((_a = children.children) != null ? _a : []).length === 0)
97
+ return null;
98
+ if (isArray(children.children)) {
99
+ let extractedChildren = extractChildren(children.children);
92
100
  if (spacer) {
93
101
  const len = extractedChildren.length - 1;
94
102
  extractedChildren = extractedChildren.reduce((acc, child, idx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"space.mjs","sources":["../../../../../../packages/components/space/src/space.ts"],"sourcesContent":["import {\n createTextVNode,\n createVNode,\n defineComponent,\n isVNode,\n renderSlot,\n} from 'vue'\nimport { isString } from '@vue/shared'\nimport {\n PatchFlags,\n buildProps,\n definePropType,\n isArray,\n isFragment,\n isNumber,\n isValidElementNode,\n} from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport Item from './item'\nimport { useSpace } from './use-space'\n\nimport type { ExtractPropTypes, StyleValue, VNode, VNodeChild } from 'vue'\nimport type { AlignItemsProperty } from 'csstype'\n\nexport const spaceProps = buildProps({\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n\n class: {\n type: definePropType<string | string[] | Record<string, boolean>>([\n String,\n Object,\n Array,\n ]),\n default: '',\n },\n\n style: {\n type: definePropType<StyleValue>([String, Array, Object]),\n default: '',\n },\n\n alignment: {\n type: definePropType<AlignItemsProperty>(String),\n default: 'center',\n },\n\n prefixCls: {\n type: String,\n },\n\n spacer: {\n type: definePropType<VNodeChild>([Object, String, Number, Array]),\n default: null,\n validator: (val: unknown) => isVNode(val) || isNumber(val) || isString(val),\n },\n\n wrap: Boolean,\n\n fill: Boolean,\n\n fillRatio: {\n type: Number,\n default: 100,\n },\n\n size: {\n type: [String, Array, Number],\n values: componentSizes,\n validator: (val: unknown): val is [number, number] | number => {\n return (\n isNumber(val) ||\n (isArray(val) && val.length === 2 && val.every(isNumber))\n )\n },\n },\n} as const)\nexport type SpaceProps = ExtractPropTypes<typeof spaceProps>\n\nexport default defineComponent({\n name: 'ElSpace',\n\n props: spaceProps,\n\n setup(props, { slots }) {\n const { classes, containerStyle, itemStyle } = useSpace(props)\n\n return () => {\n const { spacer, prefixCls, direction } = props\n\n const children = renderSlot(slots, 'default', { key: 0 }, () => [])\n // retrieve the children out via a simple for loop\n // the edge case here is that when users uses directives like <v-for>, <v-if>\n // we need to go one layer deeper\n\n if ((children.children ?? []).length === 0) return null\n\n // loop the children, if current children is rendered via `renderList` or `<v-for>`\n if (isArray(children.children)) {\n let extractedChildren: VNode[] = []\n children.children.forEach((child, loopKey) => {\n if (isFragment(child)) {\n if (isArray(child.children)) {\n child.children.forEach((nested, key) => {\n extractedChildren.push(\n createVNode(\n Item,\n {\n style: itemStyle.value,\n prefixCls,\n key: `nested-${key}`,\n },\n {\n default: () => [nested],\n },\n PatchFlags.PROPS | PatchFlags.STYLE,\n ['style', 'prefixCls']\n )\n )\n })\n }\n // if the current child is valid vnode, then append this current vnode\n // to item as child node.\n } else if (isValidElementNode(child)) {\n extractedChildren.push(\n createVNode(\n Item,\n {\n style: itemStyle.value,\n prefixCls,\n key: `LoopKey${loopKey}`,\n },\n {\n default: () => [child],\n },\n PatchFlags.PROPS | PatchFlags.STYLE,\n ['style', 'prefixCls']\n )\n )\n }\n })\n\n if (spacer) {\n // track the current rendering index, when encounters the last element\n // then no need to add a spacer after it.\n const len = extractedChildren.length - 1\n extractedChildren = extractedChildren.reduce<VNode[]>(\n (acc, child, idx) => {\n const children = [...acc, child]\n if (idx !== len) {\n children.push(\n createVNode(\n 'span',\n // adding width 100% for vertical alignment,\n // when the spacer inherit the width from the\n // parent, this span's width was not set, so space\n // might disappear\n {\n style: [\n itemStyle.value,\n direction === 'vertical' ? 'width: 100%' : null,\n ],\n key: idx,\n },\n [\n // if spacer is already a valid vnode, then append it to the current\n // span element.\n // otherwise, treat it as string.\n isVNode(spacer)\n ? spacer\n : createTextVNode(spacer as string, PatchFlags.TEXT),\n ],\n PatchFlags.STYLE\n )\n )\n }\n return children\n },\n []\n )\n }\n\n // spacer container.\n return createVNode(\n 'div',\n {\n class: classes.value,\n style: containerStyle.value,\n },\n extractedChildren,\n PatchFlags.STYLE | PatchFlags.CLASS\n )\n }\n\n return children.children\n }\n },\n})\n"],"names":["Item"],"mappings":"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"}
1
+ {"version":3,"file":"space.mjs","sources":["../../../../../../packages/components/space/src/space.ts"],"sourcesContent":["import {\n createTextVNode,\n createVNode,\n defineComponent,\n isVNode,\n renderSlot,\n} from 'vue'\nimport { isString } from '@vue/shared'\nimport {\n PatchFlags,\n buildProps,\n definePropType,\n isArray,\n isFragment,\n isNumber,\n isValidElementNode,\n} from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport Item from './item'\nimport { useSpace } from './use-space'\n\nimport type {\n ExtractPropTypes,\n StyleValue,\n VNode,\n VNodeArrayChildren,\n VNodeChild,\n} from 'vue'\nimport type { AlignItemsProperty } from 'csstype'\n\nexport const spaceProps = buildProps({\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n\n class: {\n type: definePropType<string | string[] | Record<string, boolean>>([\n String,\n Object,\n Array,\n ]),\n default: '',\n },\n\n style: {\n type: definePropType<StyleValue>([String, Array, Object]),\n default: '',\n },\n\n alignment: {\n type: definePropType<AlignItemsProperty>(String),\n default: 'center',\n },\n\n prefixCls: {\n type: String,\n },\n\n spacer: {\n type: definePropType<VNodeChild>([Object, String, Number, Array]),\n default: null,\n validator: (val: unknown) => isVNode(val) || isNumber(val) || isString(val),\n },\n\n wrap: Boolean,\n\n fill: Boolean,\n\n fillRatio: {\n type: Number,\n default: 100,\n },\n\n size: {\n type: [String, Array, Number],\n values: componentSizes,\n validator: (val: unknown): val is [number, number] | number => {\n return (\n isNumber(val) ||\n (isArray(val) && val.length === 2 && val.every(isNumber))\n )\n },\n },\n} as const)\nexport type SpaceProps = ExtractPropTypes<typeof spaceProps>\n\nexport default defineComponent({\n name: 'ElSpace',\n\n props: spaceProps,\n\n setup(props, { slots }) {\n const { classes, containerStyle, itemStyle } = useSpace(props)\n\n // retrieve the children out via a simple for loop\n // the edge case here is that when users uses directives like <v-for>, <v-if>\n // we need to go deeper until the child is not the Fragment type\n function extractChildren(\n children: VNodeArrayChildren,\n parentKey = '',\n extractedChildren: VNode[] = []\n ) {\n const { prefixCls } = props\n children.forEach((child, loopKey) => {\n if (isFragment(child)) {\n if (isArray(child.children)) {\n child.children.forEach((nested, key) => {\n if (isFragment(nested) && isArray(nested.children)) {\n extractChildren(\n nested.children,\n `${parentKey + key}-`,\n extractedChildren\n )\n } else {\n extractedChildren.push(\n createVNode(\n Item,\n {\n style: itemStyle.value,\n prefixCls,\n key: `nested-${parentKey + key}`,\n },\n {\n default: () => [nested],\n },\n PatchFlags.PROPS | PatchFlags.STYLE,\n ['style', 'prefixCls']\n )\n )\n }\n })\n }\n // if the current child is valid vnode, then append this current vnode\n // to item as child node.\n } else if (isValidElementNode(child)) {\n extractedChildren.push(\n createVNode(\n Item,\n {\n style: itemStyle.value,\n prefixCls,\n key: `LoopKey${parentKey + loopKey}`,\n },\n {\n default: () => [child],\n },\n PatchFlags.PROPS | PatchFlags.STYLE,\n ['style', 'prefixCls']\n )\n )\n }\n })\n\n return extractedChildren\n }\n\n return () => {\n const { spacer, direction } = props\n\n const children = renderSlot(slots, 'default', { key: 0 }, () => [])\n\n if ((children.children ?? []).length === 0) return null\n // loop the children, if current children is rendered via `renderList` or `<v-for>`\n if (isArray(children.children)) {\n let extractedChildren = extractChildren(children.children)\n\n if (spacer) {\n // track the current rendering index, when encounters the last element\n // then no need to add a spacer after it.\n const len = extractedChildren.length - 1\n extractedChildren = extractedChildren.reduce<VNode[]>(\n (acc, child, idx) => {\n const children = [...acc, child]\n if (idx !== len) {\n children.push(\n createVNode(\n 'span',\n // adding width 100% for vertical alignment,\n // when the spacer inherit the width from the\n // parent, this span's width was not set, so space\n // might disappear\n {\n style: [\n itemStyle.value,\n direction === 'vertical' ? 'width: 100%' : null,\n ],\n key: idx,\n },\n [\n // if spacer is already a valid vnode, then append it to the current\n // span element.\n // otherwise, treat it as string.\n isVNode(spacer)\n ? spacer\n : createTextVNode(spacer as string, PatchFlags.TEXT),\n ],\n PatchFlags.STYLE\n )\n )\n }\n return children\n },\n []\n )\n }\n\n // spacer container.\n return createVNode(\n 'div',\n {\n class: classes.value,\n style: containerStyle.value,\n },\n extractedChildren,\n PatchFlags.STYLE | PatchFlags.CLASS\n )\n }\n\n return children.children\n }\n },\n})\n"],"names":["Item"],"mappings":"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"}
@@ -159,11 +159,11 @@ function useStyle(props, layout, store, table) {
159
159
  }
160
160
  };
161
161
  const resizeListener = () => {
162
- var _a, _b;
163
- if (!table.$ready)
162
+ var _a, _b, _c;
163
+ const el = table.vnode.el;
164
+ if (!table.$ready || !el)
164
165
  return;
165
166
  let shouldUpdateLayout = false;
166
- const el = table.vnode.el;
167
167
  const {
168
168
  width: oldWidth,
169
169
  height: oldHeight,
@@ -177,13 +177,13 @@ function useStyle(props, layout, store, table) {
177
177
  if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {
178
178
  shouldUpdateLayout = true;
179
179
  }
180
- const tableHeader = table.refs.headerWrapper;
180
+ const tableHeader = props.tableLayout === "fixed" ? table.refs.headerWrapper : (_a = table.refs.tableHeaderRef) == null ? void 0 : _a.$el;
181
181
  if (props.showHeader && (tableHeader == null ? void 0 : tableHeader.offsetHeight) !== oldHeaderHeight) {
182
182
  shouldUpdateLayout = true;
183
183
  }
184
- tableScrollHeight.value = ((_a = table.refs.tableWrapper) == null ? void 0 : _a.scrollHeight) || 0;
184
+ tableScrollHeight.value = ((_b = table.refs.tableWrapper) == null ? void 0 : _b.scrollHeight) || 0;
185
185
  headerScrollHeight.value = (tableHeader == null ? void 0 : tableHeader.scrollHeight) || 0;
186
- footerScrollHeight.value = ((_b = table.refs.footerWrapper) == null ? void 0 : _b.scrollHeight) || 0;
186
+ footerScrollHeight.value = ((_c = table.refs.footerWrapper) == null ? void 0 : _c.scrollHeight) || 0;
187
187
  bodyScrollHeight.value = tableScrollHeight.value - headerScrollHeight.value - footerScrollHeight.value;
188
188
  if (shouldUpdateLayout) {
189
189
  resizeState.value = {
@@ -1 +1 @@
1
- {"version":3,"file":"style-helper.mjs","sources":["../../../../../../../packages/components/table/src/table/style-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n unref,\n watch,\n watchEffect,\n} from 'vue'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { useSize } from '@element-plus/hooks'\n\nimport type { Table, TableProps } from './defaults'\nimport type { Store } from '../store'\nimport type TableLayout from '../table-layout'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useStyle<T>(\n props: TableProps<T>,\n layout: TableLayout<T>,\n store: Store<T>,\n table: Table<T>\n) {\n const isHidden = ref(false)\n const renderExpanded = ref(null)\n const resizeProxyVisible = ref(false)\n const setDragVisible = (visible: boolean) => {\n resizeProxyVisible.value = visible\n }\n const resizeState = ref<{\n width: null | number\n height: null | number\n headerHeight: null | number\n }>({\n width: null,\n height: null,\n headerHeight: null,\n })\n const isGroup = ref(false)\n const scrollbarViewStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n }\n const tableWidth = ref()\n const tableScrollHeight = ref(0)\n const bodyScrollHeight = ref(0)\n const headerScrollHeight = ref(0)\n const footerScrollHeight = ref(0)\n\n watchEffect(() => {\n layout.setHeight(props.height)\n })\n watchEffect(() => {\n layout.setMaxHeight(props.maxHeight)\n })\n watch(\n () => [props.currentRowKey, store.states.rowKey],\n ([currentRowKey, rowKey]) => {\n if (!unref(rowKey)) return\n store.setCurrentRowKey(`${currentRowKey}`)\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.data,\n (data) => {\n table.store.commit('setData', data)\n },\n {\n immediate: true,\n deep: true,\n }\n )\n watchEffect(() => {\n if (props.expandRowKeys) {\n store.setExpandRowKeysAdapter(props.expandRowKeys)\n }\n })\n\n const handleMouseLeave = () => {\n table.store.commit('setHoverRow', null)\n if (table.hoverState) table.hoverState = null\n }\n\n const handleHeaderFooterMousewheel = (event, data) => {\n const { pixelX, pixelY } = data\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n table.refs.bodyWrapper.scrollLeft += data.pixelX / 5\n }\n }\n\n const shouldUpdateHeight = computed(() => {\n return (\n props.height ||\n props.maxHeight ||\n store.states.fixedColumns.value.length > 0 ||\n store.states.rightFixedColumns.value.length > 0\n )\n })\n\n const tableBodyStyles = computed(() => {\n return {\n width: layout.bodyWidth.value ? `${layout.bodyWidth.value}px` : '',\n }\n })\n\n const doLayout = () => {\n if (shouldUpdateHeight.value) {\n layout.updateElsHeight()\n }\n layout.updateColumnsWidth()\n requestAnimationFrame(syncPostion)\n }\n onMounted(async () => {\n await nextTick()\n store.updateColumns()\n bindEvents()\n requestAnimationFrame(doLayout)\n\n const el: HTMLElement = table.vnode.el as HTMLElement\n const tableHeader: HTMLElement = table.refs.headerWrapper\n if (props.flexible && el && el.parentElement) {\n // Automatic minimum size of flex-items\n // Ensure that the main axis does not follow the width of the items\n el.parentElement.style.minWidth = '0'\n }\n\n resizeState.value = {\n width: (tableWidth.value = el.offsetWidth),\n height: el.offsetHeight,\n headerHeight:\n props.showHeader && tableHeader ? tableHeader.offsetHeight : null,\n }\n\n // init filters\n store.states.columns.value.forEach((column: TableColumnCtx<T>) => {\n if (column.filteredValue && column.filteredValue.length) {\n table.store.commit('filterChange', {\n column,\n values: column.filteredValue,\n silent: true,\n })\n }\n })\n table.$ready = true\n })\n const setScrollClassByEl = (el: HTMLElement, className: string) => {\n if (!el) return\n const classList = Array.from(el.classList).filter(\n (item) => !item.startsWith('is-scrolling-')\n )\n classList.push(layout.scrollX.value ? className : 'is-scrolling-none')\n el.className = classList.join(' ')\n }\n const setScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n setScrollClassByEl(tableWrapper, className)\n }\n const hasScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n return !!(tableWrapper && tableWrapper.classList.contains(className))\n }\n const syncPostion = function () {\n if (!table.refs.scrollBarRef) return\n if (!layout.scrollX.value) {\n const scrollingNoneClass = 'is-scrolling-none'\n if (!hasScrollClass(scrollingNoneClass)) {\n setScrollClass(scrollingNoneClass)\n }\n return\n }\n const scrollContainer = table.refs.scrollBarRef.wrap$\n if (!scrollContainer) return\n const { scrollLeft, offsetWidth, scrollWidth } = scrollContainer\n const { headerWrapper, footerWrapper } = table.refs\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft\n const maxScrollLeftPosition = scrollWidth - offsetWidth - 1\n if (scrollLeft >= maxScrollLeftPosition) {\n setScrollClass('is-scrolling-right')\n } else if (scrollLeft === 0) {\n setScrollClass('is-scrolling-left')\n } else {\n setScrollClass('is-scrolling-middle')\n }\n }\n\n const bindEvents = () => {\n if (!table.refs.scrollBarRef) return\n if (table.refs.scrollBarRef.wrap$) {\n useEventListener(table.refs.scrollBarRef.wrap$, 'scroll', syncPostion, {\n passive: true,\n })\n }\n if (props.fit) {\n useResizeObserver(table.vnode.el as HTMLElement, resizeListener)\n } else {\n useEventListener(window, 'resize', resizeListener)\n }\n }\n const resizeListener = () => {\n if (!table.$ready) return\n let shouldUpdateLayout = false\n const el = table.vnode.el\n const {\n width: oldWidth,\n height: oldHeight,\n headerHeight: oldHeaderHeight,\n } = resizeState.value\n\n const width = (tableWidth.value = el.offsetWidth)\n if (oldWidth !== width) {\n shouldUpdateLayout = true\n }\n\n const height = el.offsetHeight\n if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {\n shouldUpdateLayout = true\n }\n\n const tableHeader: HTMLElement = table.refs.headerWrapper\n if (props.showHeader && tableHeader?.offsetHeight !== oldHeaderHeight) {\n shouldUpdateLayout = true\n }\n\n tableScrollHeight.value = table.refs.tableWrapper?.scrollHeight || 0\n headerScrollHeight.value = tableHeader?.scrollHeight || 0\n footerScrollHeight.value = table.refs.footerWrapper?.scrollHeight || 0\n bodyScrollHeight.value =\n tableScrollHeight.value -\n headerScrollHeight.value -\n footerScrollHeight.value\n\n if (shouldUpdateLayout) {\n resizeState.value = {\n width,\n height,\n headerHeight: (props.showHeader && tableHeader?.offsetHeight) || 0,\n }\n doLayout()\n }\n }\n const tableSize = useSize()\n const bodyWidth = computed(() => {\n const { bodyWidth: bodyWidth_, scrollY, gutterWidth } = layout\n return bodyWidth_.value\n ? `${(bodyWidth_.value as number) - (scrollY.value ? gutterWidth : 0)}px`\n : ''\n })\n\n const tableLayout = computed(() => {\n if (props.maxHeight) return 'fixed'\n return props.tableLayout\n })\n\n const emptyBlockStyle = computed(() => {\n if (props.data && props.data.length) return null\n let height = '100%'\n if (bodyScrollHeight.value) {\n height = `${bodyScrollHeight.value}px`\n }\n const width = tableWidth.value\n return {\n width: width ? `${width}px` : '',\n height,\n }\n })\n\n const tableInnerStyle = computed(() => {\n if (props.height) {\n return {\n height: !Number.isNaN(Number(props.height))\n ? `${props.height}px`\n : props.height,\n }\n }\n if (props.maxHeight) {\n return {\n maxHeight: !Number.isNaN(Number(props.maxHeight))\n ? `${props.maxHeight}px`\n : props.maxHeight,\n }\n }\n return {}\n })\n\n const scrollbarStyle = computed(() => {\n if (props.height) {\n return {\n height: '100%',\n }\n }\n if (props.maxHeight) {\n if (!Number.isNaN(Number(props.maxHeight))) {\n const headerHeight = table.refs.headerWrapper?.scrollHeight || 0\n const footerHeight = table.refs.footerWrapper?.scrollHeight || 0\n const maxHeight = props.maxHeight\n const reachMaxHeight = tableScrollHeight.value >= Number(maxHeight)\n if (reachMaxHeight) {\n return {\n maxHeight: `${\n tableScrollHeight.value - headerHeight - footerHeight\n }px`,\n }\n }\n } else {\n return {\n maxHeight: `calc(${props.maxHeight} - ${\n headerScrollHeight.value + footerScrollHeight.value\n }px)`,\n }\n }\n }\n\n return {}\n })\n\n /**\n * fix layout\n */\n const handleFixedMousewheel = (event, data) => {\n const bodyWrapper = table.refs.bodyWrapper\n if (Math.abs(data.spinY) > 0) {\n const currentScrollTop = bodyWrapper.scrollTop\n if (data.pixelY < 0 && currentScrollTop !== 0) {\n event.preventDefault()\n }\n if (\n data.pixelY > 0 &&\n bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop\n ) {\n event.preventDefault()\n }\n bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5)\n } else {\n bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5)\n }\n }\n\n return {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n }\n}\n\nexport default useStyle\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style-helper.mjs","sources":["../../../../../../../packages/components/table/src/table/style-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n unref,\n watch,\n watchEffect,\n} from 'vue'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { useSize } from '@element-plus/hooks'\n\nimport type { Table, TableProps } from './defaults'\nimport type { Store } from '../store'\nimport type TableLayout from '../table-layout'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useStyle<T>(\n props: TableProps<T>,\n layout: TableLayout<T>,\n store: Store<T>,\n table: Table<T>\n) {\n const isHidden = ref(false)\n const renderExpanded = ref(null)\n const resizeProxyVisible = ref(false)\n const setDragVisible = (visible: boolean) => {\n resizeProxyVisible.value = visible\n }\n const resizeState = ref<{\n width: null | number\n height: null | number\n headerHeight: null | number\n }>({\n width: null,\n height: null,\n headerHeight: null,\n })\n const isGroup = ref(false)\n const scrollbarViewStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n }\n const tableWidth = ref()\n const tableScrollHeight = ref(0)\n const bodyScrollHeight = ref(0)\n const headerScrollHeight = ref(0)\n const footerScrollHeight = ref(0)\n\n watchEffect(() => {\n layout.setHeight(props.height)\n })\n watchEffect(() => {\n layout.setMaxHeight(props.maxHeight)\n })\n watch(\n () => [props.currentRowKey, store.states.rowKey],\n ([currentRowKey, rowKey]) => {\n if (!unref(rowKey)) return\n store.setCurrentRowKey(`${currentRowKey}`)\n },\n {\n immediate: true,\n }\n )\n watch(\n () => props.data,\n (data) => {\n table.store.commit('setData', data)\n },\n {\n immediate: true,\n deep: true,\n }\n )\n watchEffect(() => {\n if (props.expandRowKeys) {\n store.setExpandRowKeysAdapter(props.expandRowKeys)\n }\n })\n\n const handleMouseLeave = () => {\n table.store.commit('setHoverRow', null)\n if (table.hoverState) table.hoverState = null\n }\n\n const handleHeaderFooterMousewheel = (event, data) => {\n const { pixelX, pixelY } = data\n if (Math.abs(pixelX) >= Math.abs(pixelY)) {\n table.refs.bodyWrapper.scrollLeft += data.pixelX / 5\n }\n }\n\n const shouldUpdateHeight = computed(() => {\n return (\n props.height ||\n props.maxHeight ||\n store.states.fixedColumns.value.length > 0 ||\n store.states.rightFixedColumns.value.length > 0\n )\n })\n\n const tableBodyStyles = computed(() => {\n return {\n width: layout.bodyWidth.value ? `${layout.bodyWidth.value}px` : '',\n }\n })\n\n const doLayout = () => {\n if (shouldUpdateHeight.value) {\n layout.updateElsHeight()\n }\n layout.updateColumnsWidth()\n requestAnimationFrame(syncPostion)\n }\n onMounted(async () => {\n await nextTick()\n store.updateColumns()\n bindEvents()\n requestAnimationFrame(doLayout)\n\n const el: HTMLElement = table.vnode.el as HTMLElement\n const tableHeader: HTMLElement = table.refs.headerWrapper\n if (props.flexible && el && el.parentElement) {\n // Automatic minimum size of flex-items\n // Ensure that the main axis does not follow the width of the items\n el.parentElement.style.minWidth = '0'\n }\n\n resizeState.value = {\n width: (tableWidth.value = el.offsetWidth),\n height: el.offsetHeight,\n headerHeight:\n props.showHeader && tableHeader ? tableHeader.offsetHeight : null,\n }\n\n // init filters\n store.states.columns.value.forEach((column: TableColumnCtx<T>) => {\n if (column.filteredValue && column.filteredValue.length) {\n table.store.commit('filterChange', {\n column,\n values: column.filteredValue,\n silent: true,\n })\n }\n })\n table.$ready = true\n })\n const setScrollClassByEl = (el: HTMLElement, className: string) => {\n if (!el) return\n const classList = Array.from(el.classList).filter(\n (item) => !item.startsWith('is-scrolling-')\n )\n classList.push(layout.scrollX.value ? className : 'is-scrolling-none')\n el.className = classList.join(' ')\n }\n const setScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n setScrollClassByEl(tableWrapper, className)\n }\n const hasScrollClass = (className: string) => {\n const { tableWrapper } = table.refs\n return !!(tableWrapper && tableWrapper.classList.contains(className))\n }\n const syncPostion = function () {\n if (!table.refs.scrollBarRef) return\n if (!layout.scrollX.value) {\n const scrollingNoneClass = 'is-scrolling-none'\n if (!hasScrollClass(scrollingNoneClass)) {\n setScrollClass(scrollingNoneClass)\n }\n return\n }\n const scrollContainer = table.refs.scrollBarRef.wrap$\n if (!scrollContainer) return\n const { scrollLeft, offsetWidth, scrollWidth } = scrollContainer\n const { headerWrapper, footerWrapper } = table.refs\n if (headerWrapper) headerWrapper.scrollLeft = scrollLeft\n if (footerWrapper) footerWrapper.scrollLeft = scrollLeft\n const maxScrollLeftPosition = scrollWidth - offsetWidth - 1\n if (scrollLeft >= maxScrollLeftPosition) {\n setScrollClass('is-scrolling-right')\n } else if (scrollLeft === 0) {\n setScrollClass('is-scrolling-left')\n } else {\n setScrollClass('is-scrolling-middle')\n }\n }\n\n const bindEvents = () => {\n if (!table.refs.scrollBarRef) return\n if (table.refs.scrollBarRef.wrap$) {\n useEventListener(table.refs.scrollBarRef.wrap$, 'scroll', syncPostion, {\n passive: true,\n })\n }\n if (props.fit) {\n useResizeObserver(table.vnode.el as HTMLElement, resizeListener)\n } else {\n useEventListener(window, 'resize', resizeListener)\n }\n }\n const resizeListener = () => {\n const el = table.vnode.el\n if (!table.$ready || !el) return\n\n let shouldUpdateLayout = false\n const {\n width: oldWidth,\n height: oldHeight,\n headerHeight: oldHeaderHeight,\n } = resizeState.value\n\n const width = (tableWidth.value = el.offsetWidth)\n if (oldWidth !== width) {\n shouldUpdateLayout = true\n }\n\n const height = el.offsetHeight\n if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {\n shouldUpdateLayout = true\n }\n\n const tableHeader: HTMLElement =\n props.tableLayout === 'fixed'\n ? table.refs.headerWrapper\n : table.refs.tableHeaderRef?.$el\n if (props.showHeader && tableHeader?.offsetHeight !== oldHeaderHeight) {\n shouldUpdateLayout = true\n }\n\n tableScrollHeight.value = table.refs.tableWrapper?.scrollHeight || 0\n headerScrollHeight.value = tableHeader?.scrollHeight || 0\n footerScrollHeight.value = table.refs.footerWrapper?.scrollHeight || 0\n bodyScrollHeight.value =\n tableScrollHeight.value -\n headerScrollHeight.value -\n footerScrollHeight.value\n\n if (shouldUpdateLayout) {\n resizeState.value = {\n width,\n height,\n headerHeight: (props.showHeader && tableHeader?.offsetHeight) || 0,\n }\n doLayout()\n }\n }\n const tableSize = useSize()\n const bodyWidth = computed(() => {\n const { bodyWidth: bodyWidth_, scrollY, gutterWidth } = layout\n return bodyWidth_.value\n ? `${(bodyWidth_.value as number) - (scrollY.value ? gutterWidth : 0)}px`\n : ''\n })\n\n const tableLayout = computed(() => {\n if (props.maxHeight) return 'fixed'\n return props.tableLayout\n })\n\n const emptyBlockStyle = computed(() => {\n if (props.data && props.data.length) return null\n let height = '100%'\n if (bodyScrollHeight.value) {\n height = `${bodyScrollHeight.value}px`\n }\n const width = tableWidth.value\n return {\n width: width ? `${width}px` : '',\n height,\n }\n })\n\n const tableInnerStyle = computed(() => {\n if (props.height) {\n return {\n height: !Number.isNaN(Number(props.height))\n ? `${props.height}px`\n : props.height,\n }\n }\n if (props.maxHeight) {\n return {\n maxHeight: !Number.isNaN(Number(props.maxHeight))\n ? `${props.maxHeight}px`\n : props.maxHeight,\n }\n }\n return {}\n })\n\n const scrollbarStyle = computed(() => {\n if (props.height) {\n return {\n height: '100%',\n }\n }\n if (props.maxHeight) {\n if (!Number.isNaN(Number(props.maxHeight))) {\n const headerHeight = table.refs.headerWrapper?.scrollHeight || 0\n const footerHeight = table.refs.footerWrapper?.scrollHeight || 0\n const maxHeight = props.maxHeight\n const reachMaxHeight = tableScrollHeight.value >= Number(maxHeight)\n if (reachMaxHeight) {\n return {\n maxHeight: `${\n tableScrollHeight.value - headerHeight - footerHeight\n }px`,\n }\n }\n } else {\n return {\n maxHeight: `calc(${props.maxHeight} - ${\n headerScrollHeight.value + footerScrollHeight.value\n }px)`,\n }\n }\n }\n\n return {}\n })\n\n /**\n * fix layout\n */\n const handleFixedMousewheel = (event, data) => {\n const bodyWrapper = table.refs.bodyWrapper\n if (Math.abs(data.spinY) > 0) {\n const currentScrollTop = bodyWrapper.scrollTop\n if (data.pixelY < 0 && currentScrollTop !== 0) {\n event.preventDefault()\n }\n if (\n data.pixelY > 0 &&\n bodyWrapper.scrollHeight - bodyWrapper.clientHeight > currentScrollTop\n ) {\n event.preventDefault()\n }\n bodyWrapper.scrollTop += Math.ceil(data.pixelY / 5)\n } else {\n bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5)\n }\n }\n\n return {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n tableInnerStyle,\n scrollbarStyle,\n }\n}\n\nexport default useStyle\n"],"names":[],"mappings":"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"}