@element-plus/nightly 0.0.20260127 → 0.0.20260129

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 (338) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +40 -14
  4. package/dist/index.full.min.js +13 -13
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +15 -15
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +41 -15
  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-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/affix/src/affix.vue2.mjs +7 -1
  278. package/es/components/affix/src/affix.vue2.mjs.map +1 -1
  279. package/es/components/splitter/src/split-panel.vue2.mjs +0 -1
  280. package/es/components/splitter/src/split-panel.vue2.mjs.map +1 -1
  281. package/es/components/splitter/src/type.d.ts +0 -1
  282. package/es/components/splitter/src/type.mjs.map +1 -1
  283. package/es/components/table/src/config.d.ts +2 -1
  284. package/es/components/table/src/config.mjs +10 -2
  285. package/es/components/table/src/config.mjs.map +1 -1
  286. package/es/components/table/src/store/expand.mjs +13 -9
  287. package/es/components/table/src/store/expand.mjs.map +1 -1
  288. package/es/components/table/src/store/helper.d.ts +11 -0
  289. package/es/components/table/src/store/helper.mjs +1 -0
  290. package/es/components/table/src/store/helper.mjs.map +1 -1
  291. package/es/components/table/src/store/index.d.ts +22 -0
  292. package/es/components/table/src/store/watcher.d.ts +1 -0
  293. package/es/components/table/src/store/watcher.mjs +2 -0
  294. package/es/components/table/src/store/watcher.mjs.map +1 -1
  295. package/es/components/table/src/table/defaults.d.ts +7 -0
  296. package/es/components/table/src/table/defaults.mjs +6 -0
  297. package/es/components/table/src/table/defaults.mjs.map +1 -1
  298. package/es/components/table/src/table.vue.d.ts +17 -0
  299. package/es/components/time-picker/index.d.ts +7 -0
  300. package/es/components/time-picker/index.mjs.map +1 -1
  301. package/es/version.d.ts +1 -1
  302. package/es/version.mjs +1 -1
  303. package/es/version.mjs.map +1 -1
  304. package/lib/components/affix/src/affix.vue2.js +6 -0
  305. package/lib/components/affix/src/affix.vue2.js.map +1 -1
  306. package/lib/components/splitter/src/split-panel.vue2.js +0 -1
  307. package/lib/components/splitter/src/split-panel.vue2.js.map +1 -1
  308. package/lib/components/splitter/src/type.d.ts +0 -1
  309. package/lib/components/splitter/src/type.js.map +1 -1
  310. package/lib/components/table/src/config.d.ts +2 -1
  311. package/lib/components/table/src/config.js +10 -2
  312. package/lib/components/table/src/config.js.map +1 -1
  313. package/lib/components/table/src/store/expand.js +13 -9
  314. package/lib/components/table/src/store/expand.js.map +1 -1
  315. package/lib/components/table/src/store/helper.d.ts +11 -0
  316. package/lib/components/table/src/store/helper.js +1 -0
  317. package/lib/components/table/src/store/helper.js.map +1 -1
  318. package/lib/components/table/src/store/index.d.ts +22 -0
  319. package/lib/components/table/src/store/watcher.d.ts +1 -0
  320. package/lib/components/table/src/store/watcher.js +2 -0
  321. package/lib/components/table/src/store/watcher.js.map +1 -1
  322. package/lib/components/table/src/table/defaults.d.ts +7 -0
  323. package/lib/components/table/src/table/defaults.js +6 -0
  324. package/lib/components/table/src/table/defaults.js.map +1 -1
  325. package/lib/components/table/src/table.vue.d.ts +17 -0
  326. package/lib/components/time-picker/index.d.ts +7 -0
  327. package/lib/components/time-picker/index.js.map +1 -1
  328. package/lib/version.d.ts +1 -1
  329. package/lib/version.js +1 -1
  330. package/lib/version.js.map +1 -1
  331. package/package.json +2 -2
  332. package/tags.json +1 -1
  333. package/theme-chalk/el-card.css +1 -1
  334. package/theme-chalk/el-table.css +1 -1
  335. package/theme-chalk/index.css +1 -1
  336. package/theme-chalk/src/card.scss +1 -1
  337. package/theme-chalk/src/table.scss +5 -0
  338. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table/defaults.ts"],"sourcesContent":["import { useSizeProp } from '@element-plus/hooks'\n\nimport type {\n CSSProperties,\n ComponentInternalInstance,\n PropType,\n Ref,\n StyleValue,\n VNode,\n} from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Nullable } from '@element-plus/utils'\nimport type { Store } from '../store'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type TableLayout from '../table-layout'\nimport type {\n TableOverflowTooltipFormatter,\n TableOverflowTooltipOptions,\n} from '../util'\n\ntype DefaultRow = Record<PropertyKey, any>\n\ninterface TableRefs {\n tableWrapper: HTMLElement\n headerWrapper: HTMLElement\n footerWrapper: HTMLElement\n fixedBodyWrapper: HTMLElement\n rightFixedBodyWrapper: HTMLElement\n bodyWrapper: HTMLElement\n appendWrapper: HTMLElement\n [key: string]: any\n}\n\ninterface TableState {\n isGroup: Ref<boolean>\n resizeState: Ref<{\n width: any\n height: any\n }>\n doLayout: () => void\n debouncedUpdateLayout: () => void\n}\n\ninterface TreeProps {\n hasChildren?: string\n children?: string\n checkStrictly?: boolean\n}\n\ntype HoverState<T extends DefaultRow> = Nullable<{\n cell: HTMLElement\n column: TableColumnCtx<T>\n row: T\n}>\n\ntype RIS<T extends DefaultRow> = {\n row: T\n $index: number\n store: Store<T>\n expanded: boolean\n}\n\ntype RenderExpanded<T extends DefaultRow> = ({\n row,\n $index,\n store,\n expanded,\n}: RIS<T>) => VNode[] | undefined\n\ntype SummaryMethod<T extends DefaultRow> = (data: {\n columns: TableColumnCtx<T>[]\n data: T[]\n}) => (string | VNode)[]\n\ninterface Table<T extends DefaultRow = any> extends ComponentInternalInstance {\n $ready: boolean\n hoverState?: HoverState<T> | null\n renderExpanded: RenderExpanded<T>\n store: Store<T>\n layout: TableLayout<T>\n refs: TableRefs\n tableId: string\n state: TableState\n}\n\ntype ColumnCls<T> = string | ((data: { row: T; rowIndex: number }) => string)\ntype ColumnStyle<T> =\n | CSSProperties\n | ((data: { row: T; rowIndex: number }) => CSSProperties)\ntype CellCls<T extends DefaultRow> =\n | string\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => string)\ntype CellStyle<T extends DefaultRow> =\n | CSSProperties\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => CSSProperties)\ntype Layout = 'fixed' | 'auto'\ninterface TableProps<T extends DefaultRow> {\n data: T[]\n size?: ComponentSize\n width?: string | number\n height?: string | number\n maxHeight?: string | number\n fit?: boolean\n stripe?: boolean\n border?: boolean\n rowKey?: string | ((row: T) => string)\n context?: Table<T>\n showHeader?: boolean\n showSummary?: boolean\n sumText?: string\n summaryMethod?: SummaryMethod<T>\n rowClassName?: ColumnCls<T>\n rowStyle?: ColumnStyle<T>\n cellClassName?: CellCls<T>\n cellStyle?: CellStyle<T>\n headerRowClassName?: ColumnCls<T>\n headerRowStyle?: ColumnStyle<T>\n headerCellClassName?: CellCls<T>\n headerCellStyle?: CellStyle<T>\n highlightCurrentRow?: boolean\n currentRowKey?: string | number\n emptyText?: string\n expandRowKeys?: Array<string>\n defaultExpandAll?: boolean\n defaultSort?: Sort\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n spanMethod?: (data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) =>\n | number[]\n | {\n rowspan: number\n colspan: number\n }\n | undefined\n selectOnIndeterminate?: boolean\n indent?: number\n treeProps?: TreeProps\n lazy?: boolean\n load?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void\n className?: string\n style?: StyleValue\n tableLayout?: Layout\n scrollbarAlwaysOn?: boolean\n flexible?: boolean\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n tooltipFormatter?: TableOverflowTooltipFormatter<T>\n appendFilterPanelTo?: string\n scrollbarTabindex?: number | string\n nativeScrollbar?: boolean\n}\n\ntype TableTooltipData<T extends DefaultRow> = Parameters<\n TableOverflowTooltipFormatter<T>\n>[0]\ntype TableSortOrder = 'ascending' | 'descending'\n\ninterface Sort {\n prop: string\n order: TableSortOrder\n init?: any\n silent?: any\n}\n\ninterface Filter<T extends DefaultRow> {\n column: TableColumnCtx<T>\n values: string[]\n silent: any\n}\n\ninterface TreeNode {\n expanded?: boolean\n loading?: boolean\n noLazyChildren?: boolean\n indent?: number\n level?: number\n display?: boolean\n}\n\ninterface RenderRowData<T extends DefaultRow> {\n store: Store<T>\n _self: Table<T>\n column: TableColumnCtx<T>\n row: T\n $index: number\n cellIndex: number\n treeNode?: TreeNode\n expanded: boolean\n}\n\nexport default {\n /**\n * @description table data\n */\n data: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n /**\n * @description size of Table\n */\n size: useSizeProp,\n width: [String, Number],\n /**\n * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n */\n height: [String, Number],\n /**\n * @description table's max-height. The legal value is a number or the height in px\n */\n maxHeight: [String, Number],\n /**\n * @description whether width of column automatically fits its container\n */\n fit: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Table is striped\n */\n stripe: Boolean,\n /**\n * @description whether Table has vertical border\n */\n border: Boolean,\n /**\n * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n */\n rowKey: [String, Function] as PropType<TableProps<any>['rowKey']>,\n /**\n * @description whether Table header is visible\n */\n showHeader: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to display a summary row\n */\n showSummary: Boolean,\n /**\n * @description displayed text for the first column of summary row\n */\n sumText: String,\n /**\n * @description custom summary method\n */\n summaryMethod: Function as PropType<TableProps<any>['summaryMethod']>,\n /**\n * @description function that returns custom class names for a row, or a string assigning class names for every row\n */\n rowClassName: [String, Function] as PropType<TableProps<any>['rowClassName']>,\n /**\n * @description function that returns custom style for a row, or an object assigning custom style for every row\n */\n rowStyle: [Object, Function] as PropType<TableProps<any>['rowStyle']>,\n /**\n * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n */\n cellClassName: [String, Function] as PropType<\n TableProps<any>['cellClassName']\n >,\n /**\n * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n */\n cellStyle: [Object, Function] as PropType<TableProps<any>['cellStyle']>,\n /**\n * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n */\n headerRowClassName: [String, Function] as PropType<\n TableProps<any>['headerRowClassName']\n >,\n /**\n * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n */\n headerRowStyle: [Object, Function] as PropType<\n TableProps<any>['headerRowStyle']\n >,\n /**\n * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n */\n headerCellClassName: [String, Function] as PropType<\n TableProps<any>['headerCellClassName']\n >,\n /**\n * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n */\n headerCellStyle: [Object, Function] as PropType<\n TableProps<any>['headerCellStyle']\n >,\n /**\n * @description whether current row is highlighted\n */\n highlightCurrentRow: Boolean,\n /**\n * @description key of current row, a set only prop\n */\n currentRowKey: [String, Number],\n /**\n * @description displayed text when data is empty. You can customize this area with `#empty`\n */\n emptyText: String,\n /**\n * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n */\n expandRowKeys: Array as PropType<TableProps<any>['expandRowKeys']>,\n /**\n * @description whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n */\n defaultExpandAll: Boolean,\n /**\n * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n */\n defaultSort: Object as PropType<TableProps<any>['defaultSort']>,\n /**\n * @description the `effect` of the overflow tooltip\n */\n tooltipEffect: String,\n /**\n * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n */\n tooltipOptions: Object as PropType<TableProps<any>['tooltipOptions']>,\n /**\n * @description method that returns rowspan and colspan\n */\n spanMethod: Function as PropType<TableProps<any>['spanMethod']>,\n /**\n * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n */\n selectOnIndeterminate: {\n type: Boolean,\n default: true,\n },\n /**\n * @description horizontal indentation of tree data\n */\n indent: {\n type: Number,\n default: 16,\n },\n /**\n * @description configuration for rendering nested data\n */\n treeProps: {\n type: Object as PropType<TableProps<any>['treeProps']>,\n default: () => {\n return {\n hasChildren: 'hasChildren',\n children: 'children',\n checkStrictly: false,\n }\n },\n },\n /**\n * @description whether to lazy loading data\n */\n lazy: Boolean,\n /**\n * @description method for loading child row data, only works when `lazy` is true\n */\n load: Function as PropType<TableProps<any>['load']>,\n style: {\n type: [String, Object, Array] as PropType<TableProps<any>['style']>,\n default: () => ({}),\n },\n className: {\n type: String,\n default: '',\n },\n /**\n * @description sets the algorithm used to lay out table cells, rows, and columns\n */\n tableLayout: {\n type: String as PropType<Layout>,\n default: 'fixed',\n },\n /**\n * @description always show scrollbar\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description ensure main axis minimum-size doesn't follow the content\n */\n flexible: Boolean,\n /**\n * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n */\n showOverflowTooltip: [Boolean, Object] as PropType<\n TableProps<any>['showOverflowTooltip']\n >,\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter: Function as PropType<TableProps<any>['tooltipFormatter']>,\n appendFilterPanelTo: String,\n scrollbarTabindex: {\n type: [Number, String],\n default: undefined,\n },\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to preserve expanded row content in DOM when collapsed\n */\n preserveExpandedContent: Boolean,\n /**\n * @description whether to use native scrollbars\n */\n nativeScrollbar: Boolean,\n}\nexport type {\n SummaryMethod,\n Table,\n TableProps,\n TableRefs,\n ColumnCls,\n ColumnStyle,\n CellCls,\n CellStyle,\n DefaultRow,\n TreeNode,\n RenderRowData,\n Sort,\n Filter,\n TableColumnCtx,\n TreeProps,\n TableTooltipData,\n TableSortOrder,\n RenderExpanded,\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table/defaults.ts"],"sourcesContent":["import { useSizeProp } from '@element-plus/hooks'\n\nimport type {\n CSSProperties,\n ComponentInternalInstance,\n PropType,\n Ref,\n StyleValue,\n VNode,\n} from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Nullable } from '@element-plus/utils'\nimport type { Store } from '../store'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type TableLayout from '../table-layout'\nimport type {\n TableOverflowTooltipFormatter,\n TableOverflowTooltipOptions,\n} from '../util'\n\ntype DefaultRow = Record<PropertyKey, any>\n\ninterface TableRefs {\n tableWrapper: HTMLElement\n headerWrapper: HTMLElement\n footerWrapper: HTMLElement\n fixedBodyWrapper: HTMLElement\n rightFixedBodyWrapper: HTMLElement\n bodyWrapper: HTMLElement\n appendWrapper: HTMLElement\n [key: string]: any\n}\n\ninterface TableState {\n isGroup: Ref<boolean>\n resizeState: Ref<{\n width: any\n height: any\n }>\n doLayout: () => void\n debouncedUpdateLayout: () => void\n}\n\ninterface TreeProps {\n hasChildren?: string\n children?: string\n checkStrictly?: boolean\n}\n\ntype HoverState<T extends DefaultRow> = Nullable<{\n cell: HTMLElement\n column: TableColumnCtx<T>\n row: T\n}>\n\ntype RIS<T extends DefaultRow> = {\n row: T\n $index: number\n store: Store<T>\n expanded: boolean\n}\n\ntype RenderExpanded<T extends DefaultRow> = ({\n row,\n $index,\n store,\n expanded,\n}: RIS<T>) => VNode[] | undefined\n\ntype SummaryMethod<T extends DefaultRow> = (data: {\n columns: TableColumnCtx<T>[]\n data: T[]\n}) => (string | VNode)[]\n\ninterface Table<T extends DefaultRow = any> extends ComponentInternalInstance {\n $ready: boolean\n hoverState?: HoverState<T> | null\n renderExpanded: RenderExpanded<T>\n store: Store<T>\n layout: TableLayout<T>\n refs: TableRefs\n tableId: string\n state: TableState\n}\n\ntype ColumnCls<T> = string | ((data: { row: T; rowIndex: number }) => string)\ntype ColumnStyle<T> =\n | CSSProperties\n | ((data: { row: T; rowIndex: number }) => CSSProperties)\ntype CellCls<T extends DefaultRow> =\n | string\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => string)\ntype CellStyle<T extends DefaultRow> =\n | CSSProperties\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => CSSProperties)\ntype Layout = 'fixed' | 'auto'\ninterface TableProps<T extends DefaultRow> {\n data: T[]\n size?: ComponentSize\n width?: string | number\n height?: string | number\n maxHeight?: string | number\n fit?: boolean\n stripe?: boolean\n border?: boolean\n rowKey?: string | ((row: T) => string)\n context?: Table<T>\n showHeader?: boolean\n showSummary?: boolean\n sumText?: string\n summaryMethod?: SummaryMethod<T>\n rowClassName?: ColumnCls<T>\n rowStyle?: ColumnStyle<T>\n cellClassName?: CellCls<T>\n cellStyle?: CellStyle<T>\n headerRowClassName?: ColumnCls<T>\n headerRowStyle?: ColumnStyle<T>\n headerCellClassName?: CellCls<T>\n headerCellStyle?: CellStyle<T>\n highlightCurrentRow?: boolean\n currentRowKey?: string | number\n emptyText?: string\n expandRowKeys?: Array<string>\n defaultExpandAll?: boolean\n rowExpandable?: (row: T, index: number) => boolean\n defaultSort?: Sort\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n spanMethod?: (data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) =>\n | number[]\n | {\n rowspan: number\n colspan: number\n }\n | undefined\n selectOnIndeterminate?: boolean\n indent?: number\n treeProps?: TreeProps\n lazy?: boolean\n load?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void\n className?: string\n style?: StyleValue\n tableLayout?: Layout\n scrollbarAlwaysOn?: boolean\n flexible?: boolean\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n tooltipFormatter?: TableOverflowTooltipFormatter<T>\n appendFilterPanelTo?: string\n scrollbarTabindex?: number | string\n nativeScrollbar?: boolean\n}\n\ntype TableTooltipData<T extends DefaultRow> = Parameters<\n TableOverflowTooltipFormatter<T>\n>[0]\ntype TableSortOrder = 'ascending' | 'descending'\n\ninterface Sort {\n prop: string\n order: TableSortOrder\n init?: any\n silent?: any\n}\n\ninterface Filter<T extends DefaultRow> {\n column: TableColumnCtx<T>\n values: string[]\n silent: any\n}\n\ninterface TreeNode {\n expanded?: boolean\n loading?: boolean\n noLazyChildren?: boolean\n indent?: number\n level?: number\n display?: boolean\n}\n\ninterface RenderRowData<T extends DefaultRow> {\n store: Store<T>\n _self: Table<T>\n column: TableColumnCtx<T>\n row: T\n $index: number\n cellIndex: number\n treeNode?: TreeNode\n expanded: boolean\n}\n\nexport default {\n /**\n * @description table data\n */\n data: {\n type: Array as PropType<any[]>,\n default: () => [],\n },\n /**\n * @description size of Table\n */\n size: useSizeProp,\n width: [String, Number],\n /**\n * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n */\n height: [String, Number],\n /**\n * @description table's max-height. The legal value is a number or the height in px\n */\n maxHeight: [String, Number],\n /**\n * @description whether width of column automatically fits its container\n */\n fit: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Table is striped\n */\n stripe: Boolean,\n /**\n * @description whether Table has vertical border\n */\n border: Boolean,\n /**\n * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n */\n rowKey: [String, Function] as PropType<TableProps<any>['rowKey']>,\n /**\n * @description whether Table header is visible\n */\n showHeader: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to display a summary row\n */\n showSummary: Boolean,\n /**\n * @description displayed text for the first column of summary row\n */\n sumText: String,\n /**\n * @description custom summary method\n */\n summaryMethod: Function as PropType<TableProps<any>['summaryMethod']>,\n /**\n * @description function that returns custom class names for a row, or a string assigning class names for every row\n */\n rowClassName: [String, Function] as PropType<TableProps<any>['rowClassName']>,\n /**\n * @description function that returns custom style for a row, or an object assigning custom style for every row\n */\n rowStyle: [Object, Function] as PropType<TableProps<any>['rowStyle']>,\n /**\n * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n */\n cellClassName: [String, Function] as PropType<\n TableProps<any>['cellClassName']\n >,\n /**\n * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n */\n cellStyle: [Object, Function] as PropType<TableProps<any>['cellStyle']>,\n /**\n * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n */\n headerRowClassName: [String, Function] as PropType<\n TableProps<any>['headerRowClassName']\n >,\n /**\n * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n */\n headerRowStyle: [Object, Function] as PropType<\n TableProps<any>['headerRowStyle']\n >,\n /**\n * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n */\n headerCellClassName: [String, Function] as PropType<\n TableProps<any>['headerCellClassName']\n >,\n /**\n * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n */\n headerCellStyle: [Object, Function] as PropType<\n TableProps<any>['headerCellStyle']\n >,\n /**\n * @description whether current row is highlighted\n */\n highlightCurrentRow: Boolean,\n /**\n * @description key of current row, a set only prop\n */\n currentRowKey: [String, Number],\n /**\n * @description displayed text when data is empty. You can customize this area with `#empty`\n */\n emptyText: String,\n /**\n * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n */\n expandRowKeys: Array as PropType<TableProps<any>['expandRowKeys']>,\n /**\n * @description whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n */\n defaultExpandAll: Boolean,\n /**\n * @description enable expandable rows, works when the table has a column type=\"expand\"\n */\n rowExpandable: {\n type: Function as PropType<TableProps<any>['rowExpandable']>,\n },\n /**\n * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n */\n defaultSort: Object as PropType<TableProps<any>['defaultSort']>,\n /**\n * @description the `effect` of the overflow tooltip\n */\n tooltipEffect: String,\n /**\n * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n */\n tooltipOptions: Object as PropType<TableProps<any>['tooltipOptions']>,\n /**\n * @description method that returns rowspan and colspan\n */\n spanMethod: Function as PropType<TableProps<any>['spanMethod']>,\n /**\n * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n */\n selectOnIndeterminate: {\n type: Boolean,\n default: true,\n },\n /**\n * @description horizontal indentation of tree data\n */\n indent: {\n type: Number,\n default: 16,\n },\n /**\n * @description configuration for rendering nested data\n */\n treeProps: {\n type: Object as PropType<TableProps<any>['treeProps']>,\n default: () => {\n return {\n hasChildren: 'hasChildren',\n children: 'children',\n checkStrictly: false,\n }\n },\n },\n /**\n * @description whether to lazy loading data\n */\n lazy: Boolean,\n /**\n * @description method for loading child row data, only works when `lazy` is true\n */\n load: Function as PropType<TableProps<any>['load']>,\n style: {\n type: [String, Object, Array] as PropType<TableProps<any>['style']>,\n default: () => ({}),\n },\n className: {\n type: String,\n default: '',\n },\n /**\n * @description sets the algorithm used to lay out table cells, rows, and columns\n */\n tableLayout: {\n type: String as PropType<Layout>,\n default: 'fixed',\n },\n /**\n * @description always show scrollbar\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description ensure main axis minimum-size doesn't follow the content\n */\n flexible: Boolean,\n /**\n * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n */\n showOverflowTooltip: [Boolean, Object] as PropType<\n TableProps<any>['showOverflowTooltip']\n >,\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter: Function as PropType<TableProps<any>['tooltipFormatter']>,\n appendFilterPanelTo: String,\n scrollbarTabindex: {\n type: [Number, String],\n default: undefined,\n },\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to preserve expanded row content in DOM when collapsed\n */\n preserveExpandedContent: Boolean,\n /**\n * @description whether to use native scrollbars\n */\n nativeScrollbar: Boolean,\n}\nexport type {\n SummaryMethod,\n Table,\n TableProps,\n TableRefs,\n ColumnCls,\n ColumnStyle,\n CellCls,\n CellStyle,\n DefaultRow,\n TreeNode,\n RenderRowData,\n Sort,\n Filter,\n TableColumnCtx,\n TreeProps,\n TableTooltipData,\n TableSortOrder,\n RenderExpanded,\n}\n"],"names":[],"mappings":"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"}
@@ -41,6 +41,9 @@ declare const __VLS_export: import("vue").DefineComponent<{
41
41
  emptyText: StringConstructor;
42
42
  expandRowKeys: import("vue").PropType<import("./table/defaults").TableProps<any>["expandRowKeys"]>;
43
43
  defaultExpandAll: BooleanConstructor;
44
+ rowExpandable: {
45
+ type: import("vue").PropType<import("./table/defaults").TableProps<any>["rowExpandable"]>;
46
+ };
44
47
  defaultSort: import("vue").PropType<import("./table/defaults").TableProps<any>["defaultSort"]>;
45
48
  tooltipEffect: StringConstructor;
46
49
  tooltipOptions: import("vue").PropType<import("./table/defaults").TableProps<any>["tooltipOptions"]>;
@@ -147,6 +150,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
147
150
  reserveSelection: import("vue").Ref<boolean>;
148
151
  selectOnIndeterminate: import("vue").Ref<boolean>;
149
152
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
153
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
150
154
  filters: import("vue").Ref<import("./store").StoreFilter>;
151
155
  filteredData: import("vue").Ref<any[] | null>;
152
156
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -189,6 +193,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
189
193
  reserveSelection: import("vue").Ref<boolean>;
190
194
  selectOnIndeterminate: import("vue").Ref<boolean>;
191
195
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
196
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
192
197
  filters: import("vue").Ref<import("./store").StoreFilter>;
193
198
  filteredData: import("vue").Ref<any[] | null>;
194
199
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -231,6 +236,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
231
236
  reserveSelection: import("vue").Ref<boolean>;
232
237
  selectOnIndeterminate: import("vue").Ref<boolean>;
233
238
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
239
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
234
240
  filters: import("vue").Ref<import("./store").StoreFilter>;
235
241
  filteredData: import("vue").Ref<any[] | null>;
236
242
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -273,6 +279,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
273
279
  reserveSelection: import("vue").Ref<boolean>;
274
280
  selectOnIndeterminate: import("vue").Ref<boolean>;
275
281
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
282
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
276
283
  filters: import("vue").Ref<import("./store").StoreFilter>;
277
284
  filteredData: import("vue").Ref<any[] | null>;
278
285
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -315,6 +322,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
315
322
  reserveSelection: import("vue").Ref<boolean>;
316
323
  selectOnIndeterminate: import("vue").Ref<boolean>;
317
324
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
325
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
318
326
  filters: import("vue").Ref<import("./store").StoreFilter>;
319
327
  filteredData: import("vue").Ref<any[] | null>;
320
328
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -357,6 +365,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
357
365
  reserveSelection: import("vue").Ref<boolean>;
358
366
  selectOnIndeterminate: import("vue").Ref<boolean>;
359
367
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
368
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
360
369
  filters: import("vue").Ref<import("./store").StoreFilter>;
361
370
  filteredData: import("vue").Ref<any[] | null>;
362
371
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -399,6 +408,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
399
408
  reserveSelection: import("vue").Ref<boolean>;
400
409
  selectOnIndeterminate: import("vue").Ref<boolean>;
401
410
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
411
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
402
412
  filters: import("vue").Ref<import("./store").StoreFilter>;
403
413
  filteredData: import("vue").Ref<any[] | null>;
404
414
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -442,6 +452,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
442
452
  reserveSelection: import("vue").Ref<boolean>;
443
453
  selectOnIndeterminate: import("vue").Ref<boolean>;
444
454
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
455
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
445
456
  filters: import("vue").Ref<import("./store").StoreFilter>;
446
457
  filteredData: import("vue").Ref<any[] | null>;
447
458
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -484,6 +495,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
484
495
  reserveSelection: import("vue").Ref<boolean>;
485
496
  selectOnIndeterminate: import("vue").Ref<boolean>;
486
497
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
498
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
487
499
  filters: import("vue").Ref<import("./store").StoreFilter>;
488
500
  filteredData: import("vue").Ref<any[] | null>;
489
501
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -526,6 +538,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
526
538
  reserveSelection: import("vue").Ref<boolean>;
527
539
  selectOnIndeterminate: import("vue").Ref<boolean>;
528
540
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
541
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
529
542
  filters: import("vue").Ref<import("./store").StoreFilter>;
530
543
  filteredData: import("vue").Ref<any[] | null>;
531
544
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -602,6 +615,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
602
615
  reserveSelection: import("vue").Ref<boolean>;
603
616
  selectOnIndeterminate: import("vue").Ref<boolean>;
604
617
  selectable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
618
+ rowExpandable: import("vue").Ref<((row: any, index: number) => boolean) | null>;
605
619
  filters: import("vue").Ref<import("./store").StoreFilter>;
606
620
  filteredData: import("vue").Ref<any[] | null>;
607
621
  sortingColumn: import("vue").Ref<import("./table-column/defaults").TableColumnCtx<any> | null>;
@@ -775,6 +789,9 @@ declare const __VLS_export: import("vue").DefineComponent<{
775
789
  emptyText: StringConstructor;
776
790
  expandRowKeys: import("vue").PropType<import("./table/defaults").TableProps<any>["expandRowKeys"]>;
777
791
  defaultExpandAll: BooleanConstructor;
792
+ rowExpandable: {
793
+ type: import("vue").PropType<import("./table/defaults").TableProps<any>["rowExpandable"]>;
794
+ };
778
795
  defaultSort: import("vue").PropType<import("./table/defaults").TableProps<any>["defaultSort"]>;
779
796
  tooltipEffect: StringConstructor;
780
797
  tooltipOptions: import("vue").PropType<import("./table/defaults").TableProps<any>["tooltipOptions"]>;
@@ -2,6 +2,13 @@ import TimePicker from './src/time-picker';
2
2
  import CommonPicker from './src/common/picker.vue';
3
3
  import TimePickPanel from './src/time-picker-com/panel-time-pick.vue';
4
4
  import type { SFCWithInstall } from '@element-plus/nightly/es/utils';
5
+ export type TimePickerInstance = InstanceType<typeof TimePicker> & TimePickerExpose;
6
+ export type TimePickerExpose = {
7
+ focus: () => void;
8
+ blur: () => void;
9
+ handleOpen: () => void;
10
+ handleClose: () => void;
11
+ };
5
12
  export * from './src/utils';
6
13
  export * from './src/constants';
7
14
  export * from './src/common/props';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/time-picker/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport TimePicker from './src/time-picker'\nimport CommonPicker from './src/common/picker.vue'\nimport TimePickPanel from './src/time-picker-com/panel-time-pick.vue'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport * from './src/utils'\nexport * from './src/constants'\nexport * from './src/common/props'\n\nexport const ElTimePicker: SFCWithInstall<typeof TimePicker> =\n withInstall(TimePicker)\n\nexport { CommonPicker, TimePickPanel }\nexport default ElTimePicker\n"],"names":[],"mappings":";;;;;;;;AAWO,MAAM,YAAA,GACX,YAAY,UAAU;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/components/time-picker/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport TimePicker from './src/time-picker'\nimport CommonPicker from './src/common/picker.vue'\nimport TimePickPanel from './src/time-picker-com/panel-time-pick.vue'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport type TimePickerInstance = InstanceType<typeof TimePicker> &\n TimePickerExpose\nexport type TimePickerExpose = {\n focus: () => void\n blur: () => void\n handleOpen: () => void\n handleClose: () => void\n}\nexport * from './src/utils'\nexport * from './src/constants'\nexport * from './src/common/props'\n\nexport const ElTimePicker: SFCWithInstall<typeof TimePicker> =\n withInstall(TimePicker)\n\nexport { CommonPicker, TimePickPanel }\nexport default ElTimePicker\n"],"names":[],"mappings":";;;;;;;;AAmBO,MAAM,YAAA,GACX,YAAY,UAAU;;;;"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20260127";
1
+ export declare const version = "0.0.20260129";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20260127";
1
+ const version = "0.0.20260129";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260127'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260129'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
@@ -114,6 +114,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
114
114
  scrollContainer.value = scroll.getScrollContainer(root.value, true);
115
115
  updateRoot();
116
116
  });
117
+ vue.onActivated(() => {
118
+ vue.nextTick(updateRootRect);
119
+ });
120
+ vue.onDeactivated(() => {
121
+ fixed.value = false;
122
+ });
117
123
  core.useEventListener(scrollContainer, "scroll", handleScroll);
118
124
  vue.watchEffect(update);
119
125
  __expose({
@@ -1 +1 @@
1
- {"version":3,"file":"affix.vue2.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <el-teleport :disabled=\"teleportDisabled\" :to=\"appendTo\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </el-teleport>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { affixEmits } from './affix'\n\nimport type { CSSProperties } from 'vue'\nimport type { AffixProps } from './affix'\n\nconst COMPONENT_NAME = 'ElAffix'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = withDefaults(defineProps<AffixProps>(), {\n zIndex: 100,\n target: '',\n offset: 0,\n position: 'top',\n appendTo: 'body',\n})\nconst emit = defineEmits(affixEmits)\n\nconst ns = useNamespace('affix')\n\nconst target = shallowRef<HTMLElement>()\nconst root = shallowRef<HTMLDivElement>()\nconst scrollContainer = shallowRef<HTMLElement | Window>()\nconst { height: windowHeight } = useWindowSize()\nconst {\n height: rootHeight,\n width: rootWidth,\n top: rootTop,\n bottom: rootBottom,\n left: rootLeft,\n update: updateRoot,\n} = useElementBounding(root, { windowScroll: false })\nconst targetRect = useElementBounding(target)\n\nconst fixed = ref(false)\nconst scrollTop = ref(0)\nconst transform = ref(0)\n\nconst teleportDisabled = computed(() => {\n return !props.teleported || !fixed.value\n})\n\nconst rootStyle = computed<CSSProperties>(() => {\n return {\n height: fixed.value ? `${rootHeight.value}px` : '',\n width: fixed.value ? `${rootWidth.value}px` : '',\n }\n})\n\nconst affixStyle = computed<CSSProperties>(() => {\n if (!fixed.value) return {}\n\n const offset = addUnit(props.offset)\n return {\n height: `${rootHeight.value}px`,\n width: `${rootWidth.value}px`,\n top: props.position === 'top' ? offset : '',\n bottom: props.position === 'bottom' ? offset : '',\n left: props.teleported ? `${rootLeft.value}px` : '',\n transform: transform.value ? `translateY(${transform.value}px)` : '',\n zIndex: props.zIndex,\n }\n})\n\nconst update = () => {\n if (!scrollContainer.value) return\n\n scrollTop.value =\n scrollContainer.value instanceof Window\n ? document.documentElement.scrollTop\n : scrollContainer.value.scrollTop || 0\n\n const { position, target, offset } = props\n const rootHeightOffset = offset + rootHeight.value\n\n if (position === 'top') {\n if (target) {\n const difference = targetRect.bottom.value - rootHeightOffset\n fixed.value = offset > rootTop.value && targetRect.bottom.value > 0\n transform.value = difference < 0 ? difference : 0\n } else {\n fixed.value = offset > rootTop.value\n }\n } else if (target) {\n const difference =\n windowHeight.value - targetRect.top.value - rootHeightOffset\n fixed.value =\n windowHeight.value - offset < rootBottom.value &&\n windowHeight.value > targetRect.top.value\n transform.value = difference < 0 ? -difference : 0\n } else {\n fixed.value = windowHeight.value - offset < rootBottom.value\n }\n}\n\nconst updateRootRect = async () => {\n if (!fixed.value) {\n updateRoot()\n return\n }\n\n fixed.value = false\n await nextTick()\n updateRoot()\n fixed.value = true\n}\n\nconst handleScroll = async () => {\n updateRoot()\n await nextTick()\n emit('scroll', {\n scrollTop: scrollTop.value,\n fixed: fixed.value,\n })\n}\n\nwatch(fixed, (val) => emit(CHANGE_EVENT, val))\n\nonMounted(() => {\n if (props.target) {\n target.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!target.value)\n throwError(COMPONENT_NAME, `Target does not exist: ${props.target}`)\n } else {\n target.value = document.documentElement\n }\n scrollContainer.value = getScrollContainer(root.value!, true)\n updateRoot()\n})\n\nuseEventListener(scrollContainer, 'scroll', handleScroll)\nwatchEffect(update)\n\ndefineExpose({\n /** @description update affix status */\n update,\n /** @description update rootRect info */\n updateRoot: updateRootRect,\n})\n</script>\n"],"names":["useNamespace","shallowRef","useWindowSize","useElementBounding","ref","computed","addUnit","target","nextTick","watch","CHANGE_EVENT","onMounted","throwError","getScrollContainer","useEventListener","watchEffect","_createElementBlock","_normalizeClass","_unref","_createVNode","ElTeleport","_createElementVNode","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"affix.vue2.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <el-teleport :disabled=\"teleportDisabled\" :to=\"appendTo\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </el-teleport>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onActivated,\n onDeactivated,\n onMounted,\n ref,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { affixEmits } from './affix'\n\nimport type { CSSProperties } from 'vue'\nimport type { AffixProps } from './affix'\n\nconst COMPONENT_NAME = 'ElAffix'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = withDefaults(defineProps<AffixProps>(), {\n zIndex: 100,\n target: '',\n offset: 0,\n position: 'top',\n appendTo: 'body',\n})\nconst emit = defineEmits(affixEmits)\n\nconst ns = useNamespace('affix')\n\nconst target = shallowRef<HTMLElement>()\nconst root = shallowRef<HTMLDivElement>()\nconst scrollContainer = shallowRef<HTMLElement | Window>()\nconst { height: windowHeight } = useWindowSize()\nconst {\n height: rootHeight,\n width: rootWidth,\n top: rootTop,\n bottom: rootBottom,\n left: rootLeft,\n update: updateRoot,\n} = useElementBounding(root, { windowScroll: false })\nconst targetRect = useElementBounding(target)\n\nconst fixed = ref(false)\nconst scrollTop = ref(0)\nconst transform = ref(0)\n\nconst teleportDisabled = computed(() => {\n return !props.teleported || !fixed.value\n})\n\nconst rootStyle = computed<CSSProperties>(() => {\n return {\n height: fixed.value ? `${rootHeight.value}px` : '',\n width: fixed.value ? `${rootWidth.value}px` : '',\n }\n})\n\nconst affixStyle = computed<CSSProperties>(() => {\n if (!fixed.value) return {}\n\n const offset = addUnit(props.offset)\n return {\n height: `${rootHeight.value}px`,\n width: `${rootWidth.value}px`,\n top: props.position === 'top' ? offset : '',\n bottom: props.position === 'bottom' ? offset : '',\n left: props.teleported ? `${rootLeft.value}px` : '',\n transform: transform.value ? `translateY(${transform.value}px)` : '',\n zIndex: props.zIndex,\n }\n})\n\nconst update = () => {\n if (!scrollContainer.value) return\n\n scrollTop.value =\n scrollContainer.value instanceof Window\n ? document.documentElement.scrollTop\n : scrollContainer.value.scrollTop || 0\n\n const { position, target, offset } = props\n const rootHeightOffset = offset + rootHeight.value\n\n if (position === 'top') {\n if (target) {\n const difference = targetRect.bottom.value - rootHeightOffset\n fixed.value = offset > rootTop.value && targetRect.bottom.value > 0\n transform.value = difference < 0 ? difference : 0\n } else {\n fixed.value = offset > rootTop.value\n }\n } else if (target) {\n const difference =\n windowHeight.value - targetRect.top.value - rootHeightOffset\n fixed.value =\n windowHeight.value - offset < rootBottom.value &&\n windowHeight.value > targetRect.top.value\n transform.value = difference < 0 ? -difference : 0\n } else {\n fixed.value = windowHeight.value - offset < rootBottom.value\n }\n}\n\nconst updateRootRect = async () => {\n if (!fixed.value) {\n updateRoot()\n return\n }\n\n fixed.value = false\n await nextTick()\n updateRoot()\n fixed.value = true\n}\n\nconst handleScroll = async () => {\n updateRoot()\n await nextTick()\n emit('scroll', {\n scrollTop: scrollTop.value,\n fixed: fixed.value,\n })\n}\n\nwatch(fixed, (val) => emit(CHANGE_EVENT, val))\n\nonMounted(() => {\n if (props.target) {\n target.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!target.value)\n throwError(COMPONENT_NAME, `Target does not exist: ${props.target}`)\n } else {\n target.value = document.documentElement\n }\n scrollContainer.value = getScrollContainer(root.value!, true)\n updateRoot()\n})\n\nonActivated(() => {\n nextTick(updateRootRect)\n})\n\nonDeactivated(() => {\n fixed.value = false\n})\n\nuseEventListener(scrollContainer, 'scroll', handleScroll)\nwatchEffect(update)\n\ndefineExpose({\n /** @description update affix status */\n update,\n /** @description update rootRect info */\n updateRoot: updateRootRect,\n})\n</script>\n"],"names":["useNamespace","shallowRef","useWindowSize","useElementBounding","ref","computed","addUnit","target","nextTick","watch","CHANGE_EVENT","onMounted","throwError","getScrollContainer","onActivated","onDeactivated","useEventListener","watchEffect","_createElementBlock","_normalizeClass","_unref","_createVNode","ElTeleport","_createElementVNode","_renderSlot"],"mappings":"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"}
@@ -128,7 +128,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
128
128
  }
129
129
  );
130
130
  const _panel = vue.reactive({
131
- el: panelEl.value,
132
131
  uid,
133
132
  getVnode: () => instance.vnode,
134
133
  setIndex,
@@ -1 +1 @@
1
- {"version":3,"file":"split-panel.vue2.js","sources":["../../../../../../packages/components/splitter/src/split-panel.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n nextTick,\n onBeforeUnmount,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { throwError } from '@element-plus/utils'\nimport { getCollapsible, isCollapsible } from './hooks/usePanel'\nimport SplitBar from './split-bar.vue'\nimport { splitterPanelEmits } from './split-panel'\nimport { getPct, getPx, isPct, isPx } from './hooks'\nimport { splitterRootContextKey } from './type'\n\nimport type { SplitterPanelProps } from './split-panel'\n\nconst ns = useNamespace('splitter-panel')\n\nconst COMPONENT_NAME = 'ElSplitterPanel'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = withDefaults(defineProps<SplitterPanelProps>(), {\n resizable: true,\n})\n\nconst emits = defineEmits(splitterPanelEmits)\nconst splitterContext = inject(splitterRootContextKey)\nif (!splitterContext)\n throwError(\n COMPONENT_NAME,\n 'usage: <el-splitter><el-splitter-panel /></el-splitter/>'\n )\n\nconst { panels, layout, lazy, containerSize, pxSizes } = toRefs(splitterContext)\n\nconst {\n registerPanel,\n unregisterPanel,\n onCollapse,\n onMoveEnd,\n onMoveStart,\n onMoving,\n} = splitterContext\n\nconst panelEl = ref<HTMLDivElement>()\nconst instance = getCurrentInstance()!\nconst uid = instance.uid\n\nconst index = ref(0)\nconst panel = computed(() => panels.value[index.value])\n\nconst setIndex = (val: number) => {\n index.value = val\n}\n\nconst panelSize = computed(() => {\n if (!panel.value) return 0\n return pxSizes.value[index.value] ?? 0\n})\n\nconst nextSize = computed(() => {\n if (!panel.value) return 0\n return pxSizes.value[index.value + 1] ?? 0\n})\n\nconst nextPanel = computed(() => {\n if (panel.value) {\n return panels.value[index.value + 1]\n }\n return null\n})\n\nconst isResizable = computed(() => {\n if (!nextPanel.value) return false\n return (\n props.resizable &&\n nextPanel.value?.resizable &&\n // If it is 0, it means it is collapsed => check if the minimum value is set\n (panelSize.value !== 0 || !props.min) &&\n (nextSize.value !== 0 || !nextPanel.value.min)\n )\n})\n\n// The last panel doesn't need a drag bar\nconst isShowBar = computed(() => {\n if (!panel.value) return false\n return index.value !== panels.value.length - 1\n})\n\nconst startCollapsible = computed(() =>\n isCollapsible(panel.value, panelSize.value, nextPanel.value, nextSize.value)\n)\n\nconst endCollapsible = computed(() =>\n isCollapsible(nextPanel.value, nextSize.value, panel.value, panelSize.value)\n)\n\nfunction sizeToPx(str: string | number | undefined) {\n if (isPct(str)) {\n return getPct(str) * containerSize.value || 0\n } else if (isPx(str)) {\n return getPx(str)\n }\n return str ?? 0\n}\n\n// Two-way binding for size\nlet isSizeUpdating = false\nwatch(\n () => props.size,\n () => {\n if (!isSizeUpdating && panel.value) {\n if (!containerSize.value) {\n panel.value.size = props.size\n return\n }\n\n const size = sizeToPx(props.size)\n const maxSize = sizeToPx(props.max)\n const minSize = sizeToPx(props.min)\n\n // Ensure it is within the maximum and minimum value range\n const finalSize = Math.min(Math.max(size, minSize || 0), maxSize || size)\n\n if (finalSize !== size) {\n emits('update:size', finalSize)\n }\n\n panel.value.size = finalSize\n }\n }\n)\n\nwatch(\n () => panel.value?.size,\n (val) => {\n if (val !== props.size) {\n isSizeUpdating = true\n emits('update:size', val as number)\n nextTick(() => (isSizeUpdating = false))\n }\n }\n)\n\nwatch(\n () => props.resizable,\n (val) => {\n if (panel.value) {\n panel.value.resizable = val\n }\n }\n)\n\nconst _panel = reactive({\n el: panelEl.value!,\n uid,\n getVnode: () => instance.vnode,\n setIndex,\n ...props,\n collapsible: computed(() => getCollapsible(props.collapsible)),\n})\n\nregisterPanel(_panel)\n\nonBeforeUnmount(() => unregisterPanel(_panel))\n\ndefineExpose({\n /** @description splitter-panel html element */\n splitterPanelRef: panelEl,\n})\n</script>\n\n<template>\n <div\n ref=\"panelEl\"\n :class=\"[ns.b()]\"\n :style=\"{ flexBasis: `${panelSize}px` }\"\n v-bind=\"$attrs\"\n >\n <slot />\n </div>\n <SplitBar\n v-if=\"isShowBar\"\n :index=\"index\"\n :layout=\"layout\"\n :lazy=\"lazy\"\n :resizable=\"isResizable\"\n :start-collapsible=\"startCollapsible\"\n :end-collapsible=\"endCollapsible\"\n @move-start=\"onMoveStart\"\n @moving=\"onMoving\"\n @move-end=\"onMoveEnd\"\n @collapse=\"onCollapse\"\n >\n <template #start-collapsible>\n <slot name=\"start-collapsible\" />\n </template>\n <template #end-collapsible>\n <slot name=\"end-collapsible\" />\n </template>\n </SplitBar>\n</template>\n"],"names":["useNamespace","inject","splitterRootContextKey","throwError","toRefs","ref","getCurrentInstance","index","computed","isCollapsible","isPct","getPct","isPx","getPx","watch","nextTick","reactive","getCollapsible","onBeforeUnmount","_createElementVNode","_mergeProps","_unref","$attrs","_renderSlot","_createBlock","SplitBar"],"mappings":"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"}
1
+ {"version":3,"file":"split-panel.vue2.js","sources":["../../../../../../packages/components/splitter/src/split-panel.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n inject,\n nextTick,\n onBeforeUnmount,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { throwError } from '@element-plus/utils'\nimport { getCollapsible, isCollapsible } from './hooks/usePanel'\nimport SplitBar from './split-bar.vue'\nimport { splitterPanelEmits } from './split-panel'\nimport { getPct, getPx, isPct, isPx } from './hooks'\nimport { splitterRootContextKey } from './type'\n\nimport type { SplitterPanelProps } from './split-panel'\n\nconst ns = useNamespace('splitter-panel')\n\nconst COMPONENT_NAME = 'ElSplitterPanel'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = withDefaults(defineProps<SplitterPanelProps>(), {\n resizable: true,\n})\n\nconst emits = defineEmits(splitterPanelEmits)\nconst splitterContext = inject(splitterRootContextKey)\nif (!splitterContext)\n throwError(\n COMPONENT_NAME,\n 'usage: <el-splitter><el-splitter-panel /></el-splitter/>'\n )\n\nconst { panels, layout, lazy, containerSize, pxSizes } = toRefs(splitterContext)\n\nconst {\n registerPanel,\n unregisterPanel,\n onCollapse,\n onMoveEnd,\n onMoveStart,\n onMoving,\n} = splitterContext\n\nconst panelEl = ref<HTMLDivElement>()\nconst instance = getCurrentInstance()!\nconst uid = instance.uid\n\nconst index = ref(0)\nconst panel = computed(() => panels.value[index.value])\n\nconst setIndex = (val: number) => {\n index.value = val\n}\n\nconst panelSize = computed(() => {\n if (!panel.value) return 0\n return pxSizes.value[index.value] ?? 0\n})\n\nconst nextSize = computed(() => {\n if (!panel.value) return 0\n return pxSizes.value[index.value + 1] ?? 0\n})\n\nconst nextPanel = computed(() => {\n if (panel.value) {\n return panels.value[index.value + 1]\n }\n return null\n})\n\nconst isResizable = computed(() => {\n if (!nextPanel.value) return false\n return (\n props.resizable &&\n nextPanel.value?.resizable &&\n // If it is 0, it means it is collapsed => check if the minimum value is set\n (panelSize.value !== 0 || !props.min) &&\n (nextSize.value !== 0 || !nextPanel.value.min)\n )\n})\n\n// The last panel doesn't need a drag bar\nconst isShowBar = computed(() => {\n if (!panel.value) return false\n return index.value !== panels.value.length - 1\n})\n\nconst startCollapsible = computed(() =>\n isCollapsible(panel.value, panelSize.value, nextPanel.value, nextSize.value)\n)\n\nconst endCollapsible = computed(() =>\n isCollapsible(nextPanel.value, nextSize.value, panel.value, panelSize.value)\n)\n\nfunction sizeToPx(str: string | number | undefined) {\n if (isPct(str)) {\n return getPct(str) * containerSize.value || 0\n } else if (isPx(str)) {\n return getPx(str)\n }\n return str ?? 0\n}\n\n// Two-way binding for size\nlet isSizeUpdating = false\nwatch(\n () => props.size,\n () => {\n if (!isSizeUpdating && panel.value) {\n if (!containerSize.value) {\n panel.value.size = props.size\n return\n }\n\n const size = sizeToPx(props.size)\n const maxSize = sizeToPx(props.max)\n const minSize = sizeToPx(props.min)\n\n // Ensure it is within the maximum and minimum value range\n const finalSize = Math.min(Math.max(size, minSize || 0), maxSize || size)\n\n if (finalSize !== size) {\n emits('update:size', finalSize)\n }\n\n panel.value.size = finalSize\n }\n }\n)\n\nwatch(\n () => panel.value?.size,\n (val) => {\n if (val !== props.size) {\n isSizeUpdating = true\n emits('update:size', val as number)\n nextTick(() => (isSizeUpdating = false))\n }\n }\n)\n\nwatch(\n () => props.resizable,\n (val) => {\n if (panel.value) {\n panel.value.resizable = val\n }\n }\n)\n\nconst _panel = reactive({\n uid,\n getVnode: () => instance.vnode,\n setIndex,\n ...props,\n collapsible: computed(() => getCollapsible(props.collapsible)),\n})\n\nregisterPanel(_panel)\n\nonBeforeUnmount(() => unregisterPanel(_panel))\n\ndefineExpose({\n /** @description splitter-panel html element */\n splitterPanelRef: panelEl,\n})\n</script>\n\n<template>\n <div\n ref=\"panelEl\"\n :class=\"[ns.b()]\"\n :style=\"{ flexBasis: `${panelSize}px` }\"\n v-bind=\"$attrs\"\n >\n <slot />\n </div>\n <SplitBar\n v-if=\"isShowBar\"\n :index=\"index\"\n :layout=\"layout\"\n :lazy=\"lazy\"\n :resizable=\"isResizable\"\n :start-collapsible=\"startCollapsible\"\n :end-collapsible=\"endCollapsible\"\n @move-start=\"onMoveStart\"\n @moving=\"onMoving\"\n @move-end=\"onMoveEnd\"\n @collapse=\"onCollapse\"\n >\n <template #start-collapsible>\n <slot name=\"start-collapsible\" />\n </template>\n <template #end-collapsible>\n <slot name=\"end-collapsible\" />\n </template>\n </SplitBar>\n</template>\n"],"names":["useNamespace","inject","splitterRootContextKey","throwError","toRefs","ref","getCurrentInstance","index","computed","isCollapsible","isPct","getPct","isPx","getPx","watch","nextTick","reactive","getCollapsible","onBeforeUnmount","_createElementVNode","_mergeProps","_unref","$attrs","_renderSlot","_createBlock","SplitBar"],"mappings":"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"}
@@ -3,7 +3,6 @@ export type Layout = 'horizontal' | 'vertical';
3
3
  export type PanelItemState = UnwrapRef<{
4
4
  uid: number;
5
5
  getVnode: () => VNode;
6
- el: HTMLElement;
7
6
  collapsible: {
8
7
  start?: boolean;
9
8
  end?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sources":["../../../../../../packages/components/splitter/src/type.ts"],"sourcesContent":["import type { InjectionKey, UnwrapRef, VNode } from 'vue'\n\nexport type Layout = 'horizontal' | 'vertical'\n\nexport type PanelItemState = UnwrapRef<{\n uid: number\n getVnode: () => VNode\n el: HTMLElement\n collapsible: { start?: boolean; end?: boolean }\n max?: number | string\n min?: number | string\n resizable: boolean\n size?: number | string\n setIndex: (val: number) => void\n}>\n\nexport interface SplitterRootContext {\n panels: PanelItemState[]\n layout: Layout\n lazy: boolean\n containerSize: number\n movingIndex: { index: number; confirmed: boolean } | null\n percentSizes: number[]\n pxSizes: number[]\n registerPanel: (pane: PanelItemState) => void\n unregisterPanel: (pane: PanelItemState) => void\n onCollapse: (index: number, type: 'start' | 'end') => void\n onMoveEnd: (index: number) => Promise<void>\n onMoveStart: (index: number) => void\n onMoving: (index: number, offset: number) => void\n}\n\nexport const splitterRootContextKey: InjectionKey<SplitterRootContext> = Symbol(\n 'splitterRootContextKey'\n)\n"],"names":[],"mappings":";;AAgCO,MAAM,sBAAA,mBAA4D,MAAA;AAAA,EACvE;AACF;;;;"}
1
+ {"version":3,"file":"type.js","sources":["../../../../../../packages/components/splitter/src/type.ts"],"sourcesContent":["import type { InjectionKey, UnwrapRef, VNode } from 'vue'\n\nexport type Layout = 'horizontal' | 'vertical'\n\nexport type PanelItemState = UnwrapRef<{\n uid: number\n getVnode: () => VNode\n collapsible: { start?: boolean; end?: boolean }\n max?: number | string\n min?: number | string\n resizable: boolean\n size?: number | string\n setIndex: (val: number) => void\n}>\n\nexport interface SplitterRootContext {\n panels: PanelItemState[]\n layout: Layout\n lazy: boolean\n containerSize: number\n movingIndex: { index: number; confirmed: boolean } | null\n percentSizes: number[]\n pxSizes: number[]\n registerPanel: (pane: PanelItemState) => void\n unregisterPanel: (pane: PanelItemState) => void\n onCollapse: (index: number, type: 'start' | 'end') => void\n onMoveEnd: (index: number) => Promise<void>\n onMoveStart: (index: number) => void\n onMoving: (index: number, offset: number) => void\n}\n\nexport const splitterRootContextKey: InjectionKey<SplitterRootContext> = Symbol(\n 'splitterRootContextKey'\n)\n"],"names":[],"mappings":";;AA+BO,MAAM,sBAAA,mBAA4D,MAAA;AAAA,EACvE;AACF;;;;"}
@@ -60,11 +60,12 @@ export declare const cellForced: {
60
60
  renderHeader<T extends DefaultRow>({ column, }: {
61
61
  column: TableColumnCtx<T>;
62
62
  }): string;
63
- renderCell<T extends DefaultRow>({ column, row, store, expanded, }: {
63
+ renderCell<T extends DefaultRow>({ column, row, store, expanded, $index, }: {
64
64
  column: TableColumnCtx<T>;
65
65
  row: T;
66
66
  store: Store<T>;
67
67
  expanded: boolean;
68
+ $index: number;
68
69
  }): VNode<import("vue").RendererNode, import("vue").RendererElement, {
69
70
  [key: string]: any;
70
71
  }>;
@@ -105,8 +105,10 @@ const cellForced = {
105
105
  column,
106
106
  row,
107
107
  store,
108
- expanded
108
+ expanded,
109
+ $index
109
110
  }) {
111
+ var _a, _b, _c;
110
112
  const { ns } = store;
111
113
  const classes = [ns.e("expand-icon")];
112
114
  if (!column.renderExpand && expanded) {
@@ -116,10 +118,15 @@ const cellForced = {
116
118
  e.stopPropagation();
117
119
  store.toggleRowExpansion(row);
118
120
  };
121
+ const isRowExpandable = (_c = (_b = (_a = store.states.rowExpandable).value) == null ? void 0 : _b.call(_a, row, $index)) != null ? _c : true;
122
+ if (!isRowExpandable) {
123
+ classes.push(ns.is("disabled"));
124
+ }
119
125
  return vue.h(
120
126
  "button",
121
127
  {
122
128
  type: "button",
129
+ disabled: !isRowExpandable,
123
130
  "aria-label": store.t(
124
131
  expanded ? "el.table.collapseRowLabel" : "el.table.expandRowLabel"
125
132
  ),
@@ -132,7 +139,8 @@ const cellForced = {
132
139
  if (column.renderExpand) {
133
140
  return [
134
141
  column.renderExpand({
135
- expanded
142
+ expanded,
143
+ expandable: isRowExpandable
136
144
  })
137
145
  ];
138
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../../../../../../packages/components/table/src/config.ts"],"sourcesContent":["import { h } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowRight, Loading } from '@element-plus/icons-vue'\nimport { getProp, isBoolean, isFunction, isNumber } from '@element-plus/utils'\n\nimport type { VNode } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { Store } from './store'\nimport type { DefaultRow, TreeNode } from './table/defaults'\n\nconst defaultClassNames = {\n selection: 'table-column--selection',\n expand: 'table__expand-column',\n} as const\n\nexport const cellStarts = {\n default: {\n order: '',\n },\n selection: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n expand: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n index: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n}\n\nexport const getDefaultClassName = (type: string) => {\n return defaultClassNames[type as keyof typeof defaultClassNames] || ''\n}\n\n// 这些选项不应该被覆盖\nexport const cellForced = {\n selection: {\n renderHeader<T extends DefaultRow>({ store }: { store: Store<T> }) {\n function isDisabled() {\n return store.states.data.value && store.states.data.value.length === 0\n }\n return h(ElCheckbox, {\n disabled: isDisabled(),\n size: store.states.tableSize.value,\n indeterminate:\n store.states.selection.value.length > 0 &&\n !store.states.isAllSelected.value,\n 'onUpdate:modelValue': store.toggleAllSelection ?? undefined,\n modelValue: store.states.isAllSelected.value,\n ariaLabel: store.t('el.table.selectAllLabel'),\n })\n },\n renderCell<T extends DefaultRow>({\n row,\n column,\n store,\n $index,\n }: {\n row: T\n column: TableColumnCtx<T>\n store: Store<T>\n $index: number\n }) {\n return h(ElCheckbox, {\n disabled: column.selectable\n ? !column.selectable.call(null, row, $index)\n : false,\n size: store.states.tableSize.value,\n onChange: () => {\n store.commit('rowSelectedChanged', row)\n },\n onClick: (event: Event) => event.stopPropagation(),\n modelValue: store.isSelected(row),\n ariaLabel: store.t('el.table.selectRowLabel'),\n })\n },\n sortable: false,\n resizable: false,\n },\n index: {\n renderHeader<T extends DefaultRow>({\n column,\n }: {\n column: TableColumnCtx<T>\n }) {\n return column.label || '#'\n },\n renderCell<T extends DefaultRow>({\n column,\n $index,\n }: {\n column: TableColumnCtx<T>\n $index: number\n }) {\n let i = $index + 1\n const index = column.index\n\n if (isNumber(index)) {\n i = $index + index\n } else if (isFunction(index)) {\n i = index($index)\n }\n return h('div', {}, [i])\n },\n sortable: false,\n },\n expand: {\n renderHeader<T extends DefaultRow>({\n column,\n }: {\n column: TableColumnCtx<T>\n }) {\n return column.label || ''\n },\n renderCell<T extends DefaultRow>({\n column,\n row,\n store,\n expanded,\n }: {\n column: TableColumnCtx<T>\n row: T\n store: Store<T>\n expanded: boolean\n }) {\n const { ns } = store\n const classes = [ns.e('expand-icon')]\n\n if (!column.renderExpand && expanded) {\n classes.push(ns.em('expand-icon', 'expanded'))\n }\n const callback = function (e: Event) {\n e.stopPropagation()\n store.toggleRowExpansion(row)\n }\n return h(\n 'button',\n {\n type: 'button',\n 'aria-label': store.t(\n expanded ? 'el.table.collapseRowLabel' : 'el.table.expandRowLabel'\n ),\n 'aria-expanded': expanded,\n class: classes,\n onClick: callback,\n },\n {\n default: () => {\n if (column.renderExpand) {\n return [\n column.renderExpand({\n expanded,\n }),\n ]\n }\n\n return [\n h(ElIcon, null, {\n default: () => {\n return [h(ArrowRight)]\n },\n }),\n ]\n },\n }\n )\n },\n sortable: false,\n resizable: false,\n },\n}\n\nexport function defaultRenderCell<T extends DefaultRow>({\n row,\n column,\n $index,\n}: {\n row: T\n column: TableColumnCtx<T>\n $index: number\n}) {\n const property = column.property\n const value = property && getProp(row, property).value\n if (column && column.formatter) {\n return column.formatter(row, column, value, $index)\n }\n return value?.toString?.() || ''\n}\n\nexport function treeCellPrefix<T extends DefaultRow>(\n {\n row,\n treeNode,\n store,\n }: {\n row: T\n treeNode: TreeNode\n store: Store<T>\n },\n createPlaceholder = false\n) {\n const { ns } = store\n if (!treeNode) {\n if (createPlaceholder) {\n return [\n h('span', {\n class: ns.e('placeholder'),\n }),\n ]\n }\n return null\n }\n const ele: VNode[] = []\n const callback = function (e: Event) {\n e.stopPropagation()\n if (treeNode.loading) {\n return\n }\n store.loadOrToggle(row)\n }\n if (treeNode.indent) {\n ele.push(\n h('span', {\n class: ns.e('indent'),\n style: { 'padding-left': `${treeNode.indent}px` },\n })\n )\n }\n if (isBoolean(treeNode.expanded) && !treeNode.noLazyChildren) {\n const expandClasses = [\n ns.e('expand-icon'),\n treeNode.expanded ? ns.em('expand-icon', 'expanded') : '',\n ]\n let icon = ArrowRight\n if (treeNode.loading) {\n icon = Loading\n }\n\n ele.push(\n h(\n 'button',\n {\n type: 'button',\n 'aria-label': store.t(\n treeNode.expanded\n ? 'el.table.collapseRowLabel'\n : 'el.table.expandRowLabel'\n ),\n 'aria-expanded': treeNode.expanded,\n class: expandClasses,\n onClick: callback,\n },\n {\n default: () => {\n return [\n h(\n ElIcon,\n { class: ns.is('loading', treeNode.loading) },\n {\n default: () => [h(icon)],\n }\n ),\n ]\n },\n }\n )\n )\n } else {\n ele.push(\n h('span', {\n class: ns.e('placeholder'),\n })\n )\n }\n return ele\n}\n"],"names":["h","ElCheckbox","isNumber","isFunction","ElIcon","ArrowRight","getProp","isBoolean","Loading"],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sources":["../../../../../../packages/components/table/src/config.ts"],"sourcesContent":["import { h } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowRight, Loading } from '@element-plus/icons-vue'\nimport { getProp, isBoolean, isFunction, isNumber } from '@element-plus/utils'\n\nimport type { VNode } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { Store } from './store'\nimport type { DefaultRow, TreeNode } from './table/defaults'\n\nconst defaultClassNames = {\n selection: 'table-column--selection',\n expand: 'table__expand-column',\n} as const\n\nexport const cellStarts = {\n default: {\n order: '',\n },\n selection: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n expand: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n index: {\n width: 48,\n minWidth: 48,\n realWidth: 48,\n order: '',\n },\n}\n\nexport const getDefaultClassName = (type: string) => {\n return defaultClassNames[type as keyof typeof defaultClassNames] || ''\n}\n\n// 这些选项不应该被覆盖\nexport const cellForced = {\n selection: {\n renderHeader<T extends DefaultRow>({ store }: { store: Store<T> }) {\n function isDisabled() {\n return store.states.data.value && store.states.data.value.length === 0\n }\n return h(ElCheckbox, {\n disabled: isDisabled(),\n size: store.states.tableSize.value,\n indeterminate:\n store.states.selection.value.length > 0 &&\n !store.states.isAllSelected.value,\n 'onUpdate:modelValue': store.toggleAllSelection ?? undefined,\n modelValue: store.states.isAllSelected.value,\n ariaLabel: store.t('el.table.selectAllLabel'),\n })\n },\n renderCell<T extends DefaultRow>({\n row,\n column,\n store,\n $index,\n }: {\n row: T\n column: TableColumnCtx<T>\n store: Store<T>\n $index: number\n }) {\n return h(ElCheckbox, {\n disabled: column.selectable\n ? !column.selectable.call(null, row, $index)\n : false,\n size: store.states.tableSize.value,\n onChange: () => {\n store.commit('rowSelectedChanged', row)\n },\n onClick: (event: Event) => event.stopPropagation(),\n modelValue: store.isSelected(row),\n ariaLabel: store.t('el.table.selectRowLabel'),\n })\n },\n sortable: false,\n resizable: false,\n },\n index: {\n renderHeader<T extends DefaultRow>({\n column,\n }: {\n column: TableColumnCtx<T>\n }) {\n return column.label || '#'\n },\n renderCell<T extends DefaultRow>({\n column,\n $index,\n }: {\n column: TableColumnCtx<T>\n $index: number\n }) {\n let i = $index + 1\n const index = column.index\n\n if (isNumber(index)) {\n i = $index + index\n } else if (isFunction(index)) {\n i = index($index)\n }\n return h('div', {}, [i])\n },\n sortable: false,\n },\n expand: {\n renderHeader<T extends DefaultRow>({\n column,\n }: {\n column: TableColumnCtx<T>\n }) {\n return column.label || ''\n },\n renderCell<T extends DefaultRow>({\n column,\n row,\n store,\n expanded,\n $index,\n }: {\n column: TableColumnCtx<T>\n row: T\n store: Store<T>\n expanded: boolean\n $index: number\n }) {\n const { ns } = store\n const classes = [ns.e('expand-icon')]\n\n if (!column.renderExpand && expanded) {\n classes.push(ns.em('expand-icon', 'expanded'))\n }\n const callback = function (e: Event) {\n e.stopPropagation()\n store.toggleRowExpansion(row)\n }\n const isRowExpandable =\n store.states.rowExpandable.value?.(row, $index) ?? true\n if (!isRowExpandable) {\n classes.push(ns.is('disabled'))\n }\n return h(\n 'button',\n {\n type: 'button',\n disabled: !isRowExpandable,\n 'aria-label': store.t(\n expanded ? 'el.table.collapseRowLabel' : 'el.table.expandRowLabel'\n ),\n 'aria-expanded': expanded,\n class: classes,\n onClick: callback,\n },\n {\n default: () => {\n if (column.renderExpand) {\n return [\n column.renderExpand({\n expanded,\n expandable: isRowExpandable,\n }),\n ]\n }\n\n return [\n h(ElIcon, null, {\n default: () => {\n return [h(ArrowRight)]\n },\n }),\n ]\n },\n }\n )\n },\n sortable: false,\n resizable: false,\n },\n}\n\nexport function defaultRenderCell<T extends DefaultRow>({\n row,\n column,\n $index,\n}: {\n row: T\n column: TableColumnCtx<T>\n $index: number\n}) {\n const property = column.property\n const value = property && getProp(row, property).value\n if (column && column.formatter) {\n return column.formatter(row, column, value, $index)\n }\n return value?.toString?.() || ''\n}\n\nexport function treeCellPrefix<T extends DefaultRow>(\n {\n row,\n treeNode,\n store,\n }: {\n row: T\n treeNode: TreeNode\n store: Store<T>\n },\n createPlaceholder = false\n) {\n const { ns } = store\n if (!treeNode) {\n if (createPlaceholder) {\n return [\n h('span', {\n class: ns.e('placeholder'),\n }),\n ]\n }\n return null\n }\n const ele: VNode[] = []\n const callback = function (e: Event) {\n e.stopPropagation()\n if (treeNode.loading) {\n return\n }\n store.loadOrToggle(row)\n }\n if (treeNode.indent) {\n ele.push(\n h('span', {\n class: ns.e('indent'),\n style: { 'padding-left': `${treeNode.indent}px` },\n })\n )\n }\n if (isBoolean(treeNode.expanded) && !treeNode.noLazyChildren) {\n const expandClasses = [\n ns.e('expand-icon'),\n treeNode.expanded ? ns.em('expand-icon', 'expanded') : '',\n ]\n let icon = ArrowRight\n if (treeNode.loading) {\n icon = Loading\n }\n\n ele.push(\n h(\n 'button',\n {\n type: 'button',\n 'aria-label': store.t(\n treeNode.expanded\n ? 'el.table.collapseRowLabel'\n : 'el.table.expandRowLabel'\n ),\n 'aria-expanded': treeNode.expanded,\n class: expandClasses,\n onClick: callback,\n },\n {\n default: () => {\n return [\n h(\n ElIcon,\n { class: ns.is('loading', treeNode.loading) },\n {\n default: () => [h(icon)],\n }\n ),\n ]\n },\n }\n )\n )\n } else {\n ele.push(\n h('span', {\n class: ns.e('placeholder'),\n })\n )\n }\n return ele\n}\n"],"names":["h","ElCheckbox","isNumber","isFunction","ElIcon","ArrowRight","getProp","isBoolean","Loading"],"mappings":"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"}
@@ -9,26 +9,30 @@ function useExpand(watcherData) {
9
9
  const instance = vue.getCurrentInstance();
10
10
  const defaultExpandAll = vue.ref(false);
11
11
  const expandRows = vue.ref([]);
12
+ const canRowExpand = (row, index) => {
13
+ var _a;
14
+ const expandableFn = instance.store.states.rowExpandable.value;
15
+ return (_a = expandableFn == null ? void 0 : expandableFn(row, index)) != null ? _a : true;
16
+ };
12
17
  const updateExpandRows = () => {
13
18
  const data = watcherData.data.value || [];
14
19
  const rowKey = watcherData.rowKey.value;
15
20
  if (defaultExpandAll.value) {
16
- expandRows.value = data.slice();
21
+ expandRows.value = instance.store.states.rowExpandable.value ? data.filter(canRowExpand) : data.slice();
17
22
  } else if (rowKey) {
18
23
  const expandRowsMap = util.getKeysMap(expandRows.value, rowKey);
19
- expandRows.value = data.reduce((prev, row) => {
24
+ expandRows.value = data.filter((row, index) => {
20
25
  const rowId = util.getRowIdentity(row, rowKey);
21
- const rowInfo = expandRowsMap[rowId];
22
- if (rowInfo) {
23
- prev.push(row);
24
- }
25
- return prev;
26
- }, []);
26
+ return !!expandRowsMap[rowId] && canRowExpand(row, index);
27
+ });
27
28
  } else {
28
29
  expandRows.value = [];
29
30
  }
30
31
  };
31
32
  const toggleRowExpansion = (row, expanded) => {
33
+ const dataArr = watcherData.data.value || [];
34
+ const rowIndex = dataArr.indexOf(row);
35
+ if (rowIndex > -1 && !canRowExpand(row, rowIndex)) return;
32
36
  const changed = util.toggleRowStatus(
33
37
  expandRows.value,
34
38
  row,
@@ -49,7 +53,7 @@ function useExpand(watcherData) {
49
53
  const keysMap = util.getKeysMap(data, rowKey);
50
54
  expandRows.value = rowKeys.reduce((prev, cur) => {
51
55
  const info = keysMap[cur];
52
- if (info) {
56
+ if (info && canRowExpand(info.row, info.index)) {
53
57
  prev.push(info.row);
54
58
  }
55
59
  return prev;
@@ -1 +1 @@
1
- {"version":3,"file":"expand.js","sources":["../../../../../../../packages/components/table/src/store/expand.ts"],"sourcesContent":["import { getCurrentInstance, ref } from 'vue'\nimport { getKeysMap, getRowIdentity, toggleRowStatus } from '../util'\n\nimport type { Ref } from 'vue'\nimport type { WatcherPropsData } from '.'\nimport type { DefaultRow, Table } from '../table/defaults'\n\nfunction useExpand<T extends DefaultRow>(watcherData: WatcherPropsData<T>) {\n const instance = getCurrentInstance() as Table<T>\n const defaultExpandAll = ref(false)\n const expandRows: Ref<T[]> = ref([])\n const updateExpandRows = () => {\n const data = watcherData.data.value || []\n const rowKey = watcherData.rowKey.value\n if (defaultExpandAll.value) {\n expandRows.value = data.slice()\n } else if (rowKey) {\n // TODO:这里的代码可以优化\n const expandRowsMap = getKeysMap(expandRows.value, rowKey)\n expandRows.value = data.reduce((prev: T[], row: T) => {\n const rowId = getRowIdentity(row, rowKey)\n const rowInfo = expandRowsMap[rowId]\n if (rowInfo) {\n prev.push(row)\n }\n return prev\n }, [])\n } else {\n expandRows.value = []\n }\n }\n\n const toggleRowExpansion = (row: T, expanded?: boolean) => {\n const changed = toggleRowStatus(\n expandRows.value,\n row,\n expanded,\n undefined,\n undefined,\n undefined,\n watcherData.rowKey.value\n )\n if (changed) {\n instance.emit('expand-change', row, expandRows.value.slice())\n }\n }\n\n const setExpandRowKeys = (rowKeys: (string | number)[]) => {\n instance.store.assertRowKey()\n // TODO:这里的代码可以优化\n const data = watcherData.data.value || []\n const rowKey = watcherData.rowKey.value\n const keysMap = getKeysMap(data, rowKey)\n expandRows.value = rowKeys.reduce((prev: T[], cur) => {\n const info = keysMap[cur]\n if (info) {\n prev.push(info.row)\n }\n return prev\n }, [])\n }\n\n const isRowExpanded = (row: T): boolean => {\n const rowKey = watcherData.rowKey.value\n if (rowKey) {\n const expandMap = getKeysMap(expandRows.value, rowKey)\n return !!expandMap[getRowIdentity(row, rowKey)]\n }\n return expandRows.value.includes(row)\n }\n return {\n updateExpandRows,\n toggleRowExpansion,\n setExpandRowKeys,\n isRowExpanded,\n states: {\n expandRows,\n defaultExpandAll,\n },\n }\n}\n\nexport default useExpand\n"],"names":["getCurrentInstance","ref","getKeysMap","getRowIdentity","toggleRowStatus"],"mappings":"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"}
1
+ {"version":3,"file":"expand.js","sources":["../../../../../../../packages/components/table/src/store/expand.ts"],"sourcesContent":["import { getCurrentInstance, ref } from 'vue'\nimport { getKeysMap, getRowIdentity, toggleRowStatus } from '../util'\n\nimport type { Ref } from 'vue'\nimport type { WatcherPropsData } from '.'\nimport type { DefaultRow, Table } from '../table/defaults'\n\nfunction useExpand<T extends DefaultRow>(watcherData: WatcherPropsData<T>) {\n const instance = getCurrentInstance() as Table<T>\n const defaultExpandAll = ref(false)\n const expandRows: Ref<T[]> = ref([])\n\n const canRowExpand = (row: T, index: number) => {\n const expandableFn = instance.store.states.rowExpandable.value\n return expandableFn?.(row, index) ?? true\n }\n\n const updateExpandRows = () => {\n const data = watcherData.data.value || []\n const rowKey = watcherData.rowKey.value\n if (defaultExpandAll.value) {\n expandRows.value = instance.store.states.rowExpandable.value\n ? data.filter(canRowExpand)\n : data.slice()\n } else if (rowKey) {\n // TODO:这里的代码可以优化\n const expandRowsMap = getKeysMap(expandRows.value, rowKey)\n expandRows.value = data.filter((row, index) => {\n const rowId = getRowIdentity(row, rowKey)\n return !!expandRowsMap[rowId] && canRowExpand(row, index)\n })\n } else {\n expandRows.value = []\n }\n }\n\n const toggleRowExpansion = (row: T, expanded?: boolean) => {\n const dataArr = watcherData.data.value || []\n const rowIndex = dataArr.indexOf(row)\n if (rowIndex > -1 && !canRowExpand(row, rowIndex)) return\n\n const changed = toggleRowStatus(\n expandRows.value,\n row,\n expanded,\n undefined,\n undefined,\n undefined,\n watcherData.rowKey.value\n )\n if (changed) {\n instance.emit('expand-change', row, expandRows.value.slice())\n }\n }\n\n const setExpandRowKeys = (rowKeys: (string | number)[]) => {\n instance.store.assertRowKey()\n // TODO:这里的代码可以优化\n const data = watcherData.data.value || []\n const rowKey = watcherData.rowKey.value\n const keysMap = getKeysMap(data, rowKey)\n expandRows.value = rowKeys.reduce((prev: T[], cur) => {\n const info = keysMap[cur]\n if (info && canRowExpand(info.row, info.index)) {\n prev.push(info.row)\n }\n return prev\n }, [])\n }\n\n const isRowExpanded = (row: T): boolean => {\n const rowKey = watcherData.rowKey.value\n if (rowKey) {\n const expandMap = getKeysMap(expandRows.value, rowKey)\n return !!expandMap[getRowIdentity(row, rowKey)]\n }\n return expandRows.value.includes(row)\n }\n return {\n updateExpandRows,\n toggleRowExpansion,\n setExpandRowKeys,\n isRowExpanded,\n states: {\n expandRows,\n defaultExpandAll,\n },\n }\n}\n\nexport default useExpand\n"],"names":["getCurrentInstance","ref","getKeysMap","getRowIdentity","toggleRowStatus"],"mappings":";;;;;;;AAOA,SAAS,UAAgC,WAAA,EAAkC;AACzE,EAAA,MAAM,WAAWA,sBAAA,EAAmB;AACpC,EAAA,MAAM,gBAAA,GAAmBC,QAAI,KAAK,CAAA;AAClC,EAAA,MAAM,UAAA,GAAuBA,OAAA,CAAI,EAAE,CAAA;AAEnC,EAAA,MAAM,YAAA,GAAe,CAAC,GAAA,EAAQ,KAAA,KAAkB;AAZlD,IAAA,IAAA,EAAA;AAaI,IAAA,MAAM,YAAA,GAAe,QAAA,CAAS,KAAA,CAAM,MAAA,CAAO,aAAA,CAAc,KAAA;AACzD,IAAA,OAAA,CAAO,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAe,GAAA,EAAK,KAAA,CAAA,KAApB,IAAA,GAAA,EAAA,GAA8B,IAAA;AAAA,EACvC,CAAA;AAEA,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAA,MAAM,IAAA,GAAO,WAAA,CAAY,IAAA,CAAK,KAAA,IAAS,EAAC;AACxC,IAAA,MAAM,MAAA,GAAS,YAAY,MAAA,CAAO,KAAA;AAClC,IAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,MAAA,UAAA,CAAW,KAAA,GAAQ,QAAA,CAAS,KAAA,CAAM,MAAA,CAAO,aAAA,CAAc,KAAA,GACnD,IAAA,CAAK,MAAA,CAAO,YAAY,CAAA,GACxB,IAAA,CAAK,KAAA,EAAM;AAAA,IACjB,WAAW,MAAA,EAAQ;AAEjB,MAAA,MAAM,aAAA,GAAgBC,eAAA,CAAW,UAAA,CAAW,KAAA,EAAO,MAAM,CAAA;AACzD,MAAA,UAAA,CAAW,KAAA,GAAQ,IAAA,CAAK,MAAA,CAAO,CAAC,KAAK,KAAA,KAAU;AAC7C,QAAA,MAAM,KAAA,GAAQC,mBAAA,CAAe,GAAA,EAAK,MAAM,CAAA;AACxC,QAAA,OAAO,CAAC,CAAC,aAAA,CAAc,KAAK,CAAA,IAAK,YAAA,CAAa,KAAK,KAAK,CAAA;AAAA,MAC1D,CAAC,CAAA;AAAA,IACH,CAAA,MAAO;AACL,MAAA,UAAA,CAAW,QAAQ,EAAC;AAAA,IACtB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,CAAC,GAAA,EAAQ,QAAA,KAAuB;AACzD,IAAA,MAAM,OAAA,GAAU,WAAA,CAAY,IAAA,CAAK,KAAA,IAAS,EAAC;AAC3C,IAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,OAAA,CAAQ,GAAG,CAAA;AACpC,IAAA,IAAI,WAAW,EAAA,IAAM,CAAC,YAAA,CAAa,GAAA,EAAK,QAAQ,CAAA,EAAG;AAEnD,IAAA,MAAM,OAAA,GAAUC,oBAAA;AAAA,MACd,UAAA,CAAW,KAAA;AAAA,MACX,GAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAY,MAAA,CAAO;AAAA,KACrB;AACA,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,QAAA,CAAS,KAAK,eAAA,EAAiB,GAAA,EAAK,UAAA,CAAW,KAAA,CAAM,OAAO,CAAA;AAAA,IAC9D;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,gBAAA,GAAmB,CAAC,OAAA,KAAiC;AACzD,IAAA,QAAA,CAAS,MAAM,YAAA,EAAa;AAE5B,IAAA,MAAM,IAAA,GAAO,WAAA,CAAY,IAAA,CAAK,KAAA,IAAS,EAAC;AACxC,IAAA,MAAM,MAAA,GAAS,YAAY,MAAA,CAAO,KAAA;AAClC,IAAA,MAAM,OAAA,GAAUF,eAAA,CAAW,IAAA,EAAM,MAAM,CAAA;AACvC,IAAA,UAAA,CAAW,KAAA,GAAQ,OAAA,CAAQ,MAAA,CAAO,CAAC,MAAW,GAAA,KAAQ;AACpD,MAAA,MAAM,IAAA,GAAO,QAAQ,GAAG,CAAA;AACxB,MAAA,IAAI,QAAQ,YAAA,CAAa,IAAA,CAAK,GAAA,EAAK,IAAA,CAAK,KAAK,CAAA,EAAG;AAC9C,QAAA,IAAA,CAAK,IAAA,CAAK,KAAK,GAAG,CAAA;AAAA,MACpB;AACA,MAAA,OAAO,IAAA;AAAA,IACT,CAAA,EAAG,EAAE,CAAA;AAAA,EACP,CAAA;AAEA,EAAA,MAAM,aAAA,GAAgB,CAAC,GAAA,KAAoB;AACzC,IAAA,MAAM,MAAA,GAAS,YAAY,MAAA,CAAO,KAAA;AAClC,IAAA,IAAI,MAAA,EAAQ;AACV,MAAA,MAAM,SAAA,GAAYA,eAAA,CAAW,UAAA,CAAW,KAAA,EAAO,MAAM,CAAA;AACrD,MAAA,OAAO,CAAC,CAAC,SAAA,CAAUC,mBAAA,CAAe,GAAA,EAAK,MAAM,CAAC,CAAA;AAAA,IAChD;AACA,IAAA,OAAO,UAAA,CAAW,KAAA,CAAM,QAAA,CAAS,GAAG,CAAA;AAAA,EACtC,CAAA;AACA,EAAA,OAAO;AAAA,IACL,gBAAA;AAAA,IACA,kBAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,UAAA;AAAA,MACA;AAAA;AACF,GACF;AACF;;;;"}