ele-admin-plus 1.4.0 → 1.4.1

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 (460) hide show
  1. package/es/core-components.d.ts +2 -0
  2. package/es/core-components.js +104 -100
  3. package/es/ele-admin-layout/components/layout-skeleton.d.ts +9 -3
  4. package/es/ele-admin-layout/components/layout-skeleton.js +9 -3
  5. package/es/ele-admin-layout/components/layout-tabs.d.ts +7 -2
  6. package/es/ele-admin-layout/components/layout-tabs.js +9 -4
  7. package/es/ele-admin-layout/index.js +23 -18
  8. package/es/ele-alert/index.js +7 -8
  9. package/es/ele-app/el.d.ts +3 -1
  10. package/es/ele-app/plus.d.ts +19 -40
  11. package/es/ele-app/plusx.d.ts +53 -0
  12. package/es/ele-app/style/overwrite/date-picker/index.scss +1 -1
  13. package/es/ele-autocomplete/index.d.ts +265 -47
  14. package/es/ele-autocomplete/props.d.ts +124 -22
  15. package/es/ele-avatar-group/types.d.ts +1 -1
  16. package/es/ele-backtop/index.js +13 -8
  17. package/es/ele-basic-select/components/select-view.d.ts +160 -0
  18. package/es/ele-basic-select/components/select-view.js +309 -0
  19. package/es/ele-basic-select/index.d.ts +45 -35
  20. package/es/ele-basic-select/index.js +160 -250
  21. package/es/ele-basic-select/props.d.ts +34 -16
  22. package/es/ele-basic-select/props.js +33 -15
  23. package/es/ele-basic-select/style/index.js +2 -0
  24. package/es/ele-basic-select/types.d.ts +22 -1
  25. package/es/ele-basic-select/util.js +6 -1
  26. package/es/ele-bottom-bar/index.js +6 -6
  27. package/es/ele-breadcrumb/types.d.ts +1 -1
  28. package/es/ele-cascader/index.d.ts +17 -19
  29. package/es/ele-cascader/props.d.ts +4 -5
  30. package/es/ele-check-card/types.d.ts +1 -1
  31. package/es/ele-checkbox-group/index.d.ts +1 -1
  32. package/es/ele-config-provider/components/receiver-view.d.ts +2 -0
  33. package/es/ele-config-provider/components/receiver-view.js +96 -83
  34. package/es/ele-config-provider/receiver.d.ts +4 -2
  35. package/es/ele-config-provider/receiver.js +12 -1
  36. package/es/ele-config-provider/types.d.ts +10 -1
  37. package/es/ele-copyable/index.d.ts +2 -4
  38. package/es/ele-cron-builder/index.d.ts +24 -0
  39. package/es/ele-cron-builder/index.js +81 -0
  40. package/es/ele-cron-builder/props.d.ts +31 -0
  41. package/es/ele-cron-builder/props.js +24 -0
  42. package/es/ele-cron-builder/style/index.d.ts +1 -0
  43. package/es/ele-cron-builder/style/index.js +4 -0
  44. package/es/ele-cron-builder/style/index.scss +6 -0
  45. package/es/ele-cron-builder/types.d.ts +8 -0
  46. package/es/ele-cron-panel/components/cron-day.d.ts +25 -0
  47. package/es/ele-cron-panel/components/cron-day.js +232 -0
  48. package/es/ele-cron-panel/components/cron-hour.d.ts +25 -0
  49. package/es/ele-cron-panel/components/cron-hour.js +174 -0
  50. package/es/ele-cron-panel/components/cron-minute.d.ts +25 -0
  51. package/es/ele-cron-panel/components/cron-minute.js +174 -0
  52. package/es/ele-cron-panel/components/cron-month.d.ts +25 -0
  53. package/es/ele-cron-panel/components/cron-month.js +174 -0
  54. package/es/ele-cron-panel/components/cron-second.d.ts +25 -0
  55. package/es/ele-cron-panel/components/cron-second.js +174 -0
  56. package/es/ele-cron-panel/components/cron-week.d.ts +25 -0
  57. package/es/ele-cron-panel/components/cron-week.js +229 -0
  58. package/es/ele-cron-panel/components/cron-year.d.ts +25 -0
  59. package/es/ele-cron-panel/components/cron-year.js +186 -0
  60. package/es/ele-cron-panel/index.d.ts +14 -0
  61. package/es/ele-cron-panel/index.js +348 -0
  62. package/es/ele-cron-panel/props.d.ts +20 -0
  63. package/es/ele-cron-panel/props.js +14 -0
  64. package/es/ele-cron-panel/style/index.d.ts +1 -0
  65. package/es/ele-cron-panel/style/index.js +7 -0
  66. package/es/ele-cron-panel/style/index.scss +282 -0
  67. package/es/ele-cron-panel/types.d.ts +118 -0
  68. package/es/ele-cron-panel/util.d.ts +23 -0
  69. package/es/ele-cron-panel/util.js +542 -0
  70. package/es/ele-cropper/components/cropper-tools.d.ts +2 -2
  71. package/es/ele-cropper/index.d.ts +1 -3
  72. package/es/ele-cropper-modal/index.d.ts +3 -5
  73. package/es/ele-crud/components/page-side.js +1 -4
  74. package/es/ele-crud/index.d.ts +3 -3
  75. package/es/ele-crud/types.d.ts +1 -1
  76. package/es/ele-crud/util.d.ts +1 -1
  77. package/es/ele-crud-builder/components/body-header.d.ts +1 -1
  78. package/es/ele-crud-builder/components/code-generator.d.ts +1 -1
  79. package/es/ele-crud-builder/components/code-preview.d.ts +1 -1
  80. package/es/ele-crud-builder/components/form-design-modal.d.ts +1 -1
  81. package/es/ele-crud-builder/components/import-modal.d.ts +1 -1
  82. package/es/ele-crud-builder/components/page-config.d.ts +1 -1
  83. package/es/ele-crud-builder/components/template-list.d.ts +1 -1
  84. package/es/ele-crud-builder/index.d.ts +3 -3
  85. package/es/ele-crud-builder/index.js +1 -1
  86. package/es/ele-crud-builder/props.d.ts +2 -1
  87. package/es/ele-crud-builder/types.d.ts +1 -1
  88. package/es/ele-crud-builder/util.js +2 -2
  89. package/es/ele-data-table/index.d.ts +38 -44
  90. package/es/ele-data-table/index.js +6 -3
  91. package/es/ele-data-table/props.d.ts +39 -45
  92. package/es/ele-drawer/index.d.ts +11 -2
  93. package/es/ele-drawer/index.js +9 -4
  94. package/es/ele-drawer/props.d.ts +11 -0
  95. package/es/ele-drawer/props.js +11 -2
  96. package/es/ele-drawer/style/index.scss +11 -0
  97. package/es/ele-dropdown/components/pro-dropdown.d.ts +28 -28
  98. package/es/ele-dropdown/index.d.ts +30 -30
  99. package/es/ele-dropdown/props.d.ts +12 -12
  100. package/es/ele-dropdown/types.d.ts +1 -1
  101. package/es/ele-edit-tag/index.d.ts +1 -1
  102. package/es/ele-ellipsis/props.d.ts +1 -1
  103. package/es/ele-file-list/components/file-grid.d.ts +1 -1
  104. package/es/ele-file-list/components/file-table.d.ts +1 -1
  105. package/es/ele-file-list/icons.js +10 -1
  106. package/es/ele-file-list/index.d.ts +3 -3
  107. package/es/ele-file-list/types.d.ts +1 -1
  108. package/es/ele-icon-select/components/icon-grid.d.ts +8 -3
  109. package/es/ele-icon-select/components/icon-grid.js +20 -12
  110. package/es/ele-icon-select/index.d.ts +59 -56
  111. package/es/ele-icon-select/index.js +94 -86
  112. package/es/ele-icon-select/props.d.ts +36 -31
  113. package/es/ele-icon-select/props.js +34 -30
  114. package/es/ele-icon-select/style/css-var.scss +1 -1
  115. package/es/ele-icon-select/style/index.scss +50 -18
  116. package/es/ele-icon-select/types.d.ts +13 -0
  117. package/es/ele-image-viewer/index.d.ts +2 -16
  118. package/es/ele-image-viewer/index.js +13 -15
  119. package/es/ele-image-viewer/props.d.ts +1 -8
  120. package/es/ele-loading/index.js +6 -6
  121. package/es/ele-map-picker/index.d.ts +5 -7
  122. package/es/ele-mention/index.d.ts +29 -8
  123. package/es/ele-mention/props.d.ts +9 -0
  124. package/es/ele-menus/types.d.ts +2 -0
  125. package/es/ele-menus/util.js +1 -1
  126. package/es/ele-modal/index.d.ts +8 -6
  127. package/es/ele-modal/index.js +12 -5
  128. package/es/ele-modal/props.d.ts +2 -0
  129. package/es/ele-modal/props.js +2 -0
  130. package/es/ele-modal/style/index.scss +16 -0
  131. package/es/ele-popconfirm/index.d.ts +95 -96
  132. package/es/ele-popconfirm/index.js +6 -21
  133. package/es/ele-popconfirm/props.d.ts +32 -32
  134. package/es/ele-popover/index.d.ts +72 -72
  135. package/es/ele-printer/index.d.ts +2 -2
  136. package/es/ele-printer/index.js +7 -7
  137. package/es/ele-pro-form/components/item-type-data.js +39 -64
  138. package/es/ele-pro-form/components/render-util.d.ts +2 -2
  139. package/es/ele-pro-form/index.d.ts +10 -5
  140. package/es/ele-pro-form/props.d.ts +3 -1
  141. package/es/ele-pro-form-builder/components/body-form.d.ts +1 -1
  142. package/es/ele-pro-form-builder/components/body-header.d.ts +1 -1
  143. package/es/ele-pro-form-builder/components/code-generator.d.ts +1 -1
  144. package/es/ele-pro-form-builder/components/code-preview.d.ts +1 -1
  145. package/es/ele-pro-form-builder/components/config-form.d.ts +1 -1
  146. package/es/ele-pro-form-builder/components/import-modal.d.ts +1 -1
  147. package/es/ele-pro-form-builder/components/preview-modal.d.ts +1 -1
  148. package/es/ele-pro-form-builder/components/props-form.d.ts +1 -1
  149. package/es/ele-pro-form-builder/components/table-util.js +3 -0
  150. package/es/ele-pro-form-builder/components/template-list.d.ts +1 -1
  151. package/es/ele-pro-form-builder/index.d.ts +1 -1
  152. package/es/ele-pro-form-builder/props.d.ts +2 -1
  153. package/es/ele-pro-form-builder/types.d.ts +1 -1
  154. package/es/ele-pro-layout/index.d.ts +29 -29
  155. package/es/ele-pro-layout/props.d.ts +12 -12
  156. package/es/ele-pro-layout/style/index.scss +0 -2
  157. package/es/ele-pro-layout/types.d.ts +2 -0
  158. package/es/ele-pro-table/components/table-tools.d.ts +12 -97
  159. package/es/ele-pro-table/components/table-tools.js +118 -248
  160. package/es/ele-pro-table/components/tool-export.d.ts +7 -3
  161. package/es/ele-pro-table/components/tool-export.js +32 -20
  162. package/es/ele-pro-table/components/tool-print.d.ts +6 -2
  163. package/es/ele-pro-table/components/tool-print.js +37 -25
  164. package/es/ele-pro-table/exceljs-plugin.d.ts +12 -0
  165. package/es/ele-pro-table/exceljs-plugin.js +81 -0
  166. package/es/ele-pro-table/index.d.ts +46 -53
  167. package/es/ele-pro-table/index.js +127 -61
  168. package/es/ele-pro-table/props.d.ts +18 -21
  169. package/es/ele-pro-table/style/css-var.scss +4 -0
  170. package/es/ele-pro-table/style/index.scss +2 -2
  171. package/es/ele-pro-table/types.d.ts +11 -0
  172. package/es/ele-radio-group/index.d.ts +2 -2
  173. package/es/ele-segmented/index.d.ts +2 -2
  174. package/es/ele-segmented/props.d.ts +1 -1
  175. package/es/ele-segmented/style/index.scss +1 -0
  176. package/es/ele-select/index.d.ts +12 -12
  177. package/es/ele-select/props.d.ts +2 -2
  178. package/es/ele-select/props.js +2 -2
  179. package/es/ele-select-tree/index.d.ts +10 -10
  180. package/es/ele-select-tree/props.d.ts +2 -2
  181. package/es/ele-select-tree/props.js +2 -2
  182. package/es/ele-split-panel/style/index.scss +1 -1
  183. package/es/ele-steps/types.d.ts +1 -1
  184. package/es/ele-tab-bar/index.d.ts +4 -2
  185. package/es/ele-tab-bar/index.js +1 -0
  186. package/es/ele-tab-bar/props.d.ts +3 -1
  187. package/es/ele-tab-bar/props.js +4 -2
  188. package/es/ele-tab-bar/style/index.scss +1 -0
  189. package/es/ele-table-select/index.d.ts +2 -0
  190. package/es/ele-table-select/props.d.ts +4 -2
  191. package/es/ele-table-select/props.js +4 -2
  192. package/es/ele-tabs/index.d.ts +16 -12
  193. package/es/ele-tabs/style/index.scss +1 -0
  194. package/es/ele-tabs/types.d.ts +1 -1
  195. package/es/ele-timeline/types.d.ts +3 -3
  196. package/es/ele-tooltip/index.d.ts +53 -53
  197. package/es/ele-tour/index.d.ts +3 -3
  198. package/es/ele-tour/index.js +7 -7
  199. package/es/ele-transfer/index.d.ts +1 -1
  200. package/es/ele-tree-select/index.d.ts +4 -2
  201. package/es/ele-tree-select/props.d.ts +1 -1
  202. package/es/ele-upload-list/components/list-item.d.ts +3 -0
  203. package/es/ele-upload-list/components/list-item.js +1 -0
  204. package/es/ele-upload-list/index.d.ts +3 -3
  205. package/es/ele-upload-list/index.js +25 -8
  206. package/es/ele-upload-list/types.d.ts +1 -1
  207. package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
  208. package/es/ele-virtual-table/index.d.ts +38 -44
  209. package/es/ele-virtual-table/props.d.ts +19 -22
  210. package/es/ele-watermark/index.d.ts +20 -7
  211. package/es/ele-watermark/index.js +254 -92
  212. package/es/ele-watermark/props.d.ts +10 -3
  213. package/es/ele-watermark/props.js +10 -3
  214. package/es/ele-watermark/types.d.ts +12 -0
  215. package/es/ele-watermark/util.d.ts +4 -9
  216. package/es/ele-watermark/util.js +20 -22
  217. package/es/lang/en_US.js +116 -0
  218. package/es/lang/zh_CN.js +116 -0
  219. package/es/lang/zh_TW.js +116 -0
  220. package/es/style/plus.scss +3 -1
  221. package/es/style/themes/default.scss +18 -3
  222. package/es/style/themes/rounded.scss +5 -1
  223. package/es/style/themes/transparent.scss +3 -0
  224. package/es/utils/common.d.ts +10 -0
  225. package/es/utils/common.js +10 -0
  226. package/es/utils/core.d.ts +6 -0
  227. package/es/utils/core.js +10 -1
  228. package/es/utils/menu-util.js +1 -0
  229. package/es/utils/theme-util.d.ts +1 -1
  230. package/lib/core-components.cjs +104 -100
  231. package/lib/core-components.d.ts +2 -0
  232. package/lib/ele-admin-layout/components/layout-skeleton.cjs +9 -3
  233. package/lib/ele-admin-layout/components/layout-skeleton.d.ts +9 -3
  234. package/lib/ele-admin-layout/components/layout-tabs.cjs +9 -4
  235. package/lib/ele-admin-layout/components/layout-tabs.d.ts +7 -2
  236. package/lib/ele-admin-layout/index.cjs +23 -18
  237. package/lib/ele-alert/index.cjs +6 -7
  238. package/lib/ele-app/el.d.ts +3 -1
  239. package/lib/ele-app/plus.d.ts +19 -40
  240. package/lib/ele-app/plusx.d.ts +53 -0
  241. package/lib/ele-app/style/overwrite/date-picker/index.scss +1 -1
  242. package/lib/ele-autocomplete/index.d.ts +265 -47
  243. package/lib/ele-autocomplete/props.d.ts +124 -22
  244. package/lib/ele-avatar-group/types.d.ts +1 -1
  245. package/lib/ele-backtop/index.cjs +12 -7
  246. package/lib/ele-basic-select/components/select-view.cjs +308 -0
  247. package/lib/ele-basic-select/components/select-view.d.ts +160 -0
  248. package/lib/ele-basic-select/index.cjs +159 -249
  249. package/lib/ele-basic-select/index.d.ts +45 -35
  250. package/lib/ele-basic-select/props.cjs +33 -15
  251. package/lib/ele-basic-select/props.d.ts +34 -16
  252. package/lib/ele-basic-select/style/index.cjs +2 -0
  253. package/lib/ele-basic-select/types.d.ts +22 -1
  254. package/lib/ele-basic-select/util.cjs +6 -1
  255. package/lib/ele-bottom-bar/index.cjs +5 -5
  256. package/lib/ele-breadcrumb/types.d.ts +1 -1
  257. package/lib/ele-cascader/index.d.ts +17 -19
  258. package/lib/ele-cascader/props.d.ts +4 -5
  259. package/lib/ele-check-card/types.d.ts +1 -1
  260. package/lib/ele-checkbox-group/index.d.ts +1 -1
  261. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  262. package/lib/ele-config-provider/components/receiver-view.d.ts +2 -0
  263. package/lib/ele-config-provider/receiver.cjs +14 -1
  264. package/lib/ele-config-provider/receiver.d.ts +4 -2
  265. package/lib/ele-config-provider/types.d.ts +10 -1
  266. package/lib/ele-copyable/index.d.ts +2 -4
  267. package/lib/ele-cron-builder/index.cjs +80 -0
  268. package/lib/ele-cron-builder/index.d.ts +24 -0
  269. package/lib/ele-cron-builder/props.cjs +24 -0
  270. package/lib/ele-cron-builder/props.d.ts +31 -0
  271. package/lib/ele-cron-builder/style/index.cjs +5 -0
  272. package/lib/ele-cron-builder/style/index.d.ts +1 -0
  273. package/lib/ele-cron-builder/style/index.scss +6 -0
  274. package/lib/ele-cron-builder/types.d.ts +8 -0
  275. package/lib/ele-cron-panel/components/cron-day.cjs +231 -0
  276. package/lib/ele-cron-panel/components/cron-day.d.ts +25 -0
  277. package/lib/ele-cron-panel/components/cron-hour.cjs +173 -0
  278. package/lib/ele-cron-panel/components/cron-hour.d.ts +25 -0
  279. package/lib/ele-cron-panel/components/cron-minute.cjs +173 -0
  280. package/lib/ele-cron-panel/components/cron-minute.d.ts +25 -0
  281. package/lib/ele-cron-panel/components/cron-month.cjs +173 -0
  282. package/lib/ele-cron-panel/components/cron-month.d.ts +25 -0
  283. package/lib/ele-cron-panel/components/cron-second.cjs +173 -0
  284. package/lib/ele-cron-panel/components/cron-second.d.ts +25 -0
  285. package/lib/ele-cron-panel/components/cron-week.cjs +228 -0
  286. package/lib/ele-cron-panel/components/cron-week.d.ts +25 -0
  287. package/lib/ele-cron-panel/components/cron-year.cjs +185 -0
  288. package/lib/ele-cron-panel/components/cron-year.d.ts +25 -0
  289. package/lib/ele-cron-panel/index.cjs +347 -0
  290. package/lib/ele-cron-panel/index.d.ts +14 -0
  291. package/lib/ele-cron-panel/props.cjs +14 -0
  292. package/lib/ele-cron-panel/props.d.ts +20 -0
  293. package/lib/ele-cron-panel/style/index.cjs +8 -0
  294. package/lib/ele-cron-panel/style/index.d.ts +1 -0
  295. package/lib/ele-cron-panel/style/index.scss +282 -0
  296. package/lib/ele-cron-panel/types.d.ts +118 -0
  297. package/lib/ele-cron-panel/util.cjs +542 -0
  298. package/lib/ele-cron-panel/util.d.ts +23 -0
  299. package/lib/ele-cropper/components/cropper-tools.d.ts +2 -2
  300. package/lib/ele-cropper/index.d.ts +1 -3
  301. package/lib/ele-cropper-modal/index.d.ts +3 -5
  302. package/lib/ele-crud/components/page-side.cjs +1 -4
  303. package/lib/ele-crud/index.d.ts +3 -3
  304. package/lib/ele-crud/types.d.ts +1 -1
  305. package/lib/ele-crud/util.d.ts +1 -1
  306. package/lib/ele-crud-builder/components/body-header.d.ts +1 -1
  307. package/lib/ele-crud-builder/components/code-generator.d.ts +1 -1
  308. package/lib/ele-crud-builder/components/code-preview.d.ts +1 -1
  309. package/lib/ele-crud-builder/components/form-design-modal.d.ts +1 -1
  310. package/lib/ele-crud-builder/components/import-modal.d.ts +1 -1
  311. package/lib/ele-crud-builder/components/page-config.d.ts +1 -1
  312. package/lib/ele-crud-builder/components/template-list.d.ts +1 -1
  313. package/lib/ele-crud-builder/index.cjs +1 -1
  314. package/lib/ele-crud-builder/index.d.ts +3 -3
  315. package/lib/ele-crud-builder/props.d.ts +2 -1
  316. package/lib/ele-crud-builder/types.d.ts +1 -1
  317. package/lib/ele-crud-builder/util.cjs +2 -2
  318. package/lib/ele-data-table/index.cjs +6 -3
  319. package/lib/ele-data-table/index.d.ts +38 -44
  320. package/lib/ele-data-table/props.d.ts +39 -45
  321. package/lib/ele-drawer/index.cjs +18 -13
  322. package/lib/ele-drawer/index.d.ts +11 -2
  323. package/lib/ele-drawer/props.cjs +10 -1
  324. package/lib/ele-drawer/props.d.ts +11 -0
  325. package/lib/ele-drawer/style/index.scss +11 -0
  326. package/lib/ele-dropdown/components/pro-dropdown.d.ts +28 -28
  327. package/lib/ele-dropdown/index.d.ts +30 -30
  328. package/lib/ele-dropdown/props.d.ts +12 -12
  329. package/lib/ele-dropdown/types.d.ts +1 -1
  330. package/lib/ele-edit-tag/index.d.ts +1 -1
  331. package/lib/ele-ellipsis/props.d.ts +1 -1
  332. package/lib/ele-file-list/components/file-grid.d.ts +1 -1
  333. package/lib/ele-file-list/components/file-table.d.ts +1 -1
  334. package/lib/ele-file-list/icons.cjs +10 -1
  335. package/lib/ele-file-list/index.d.ts +3 -3
  336. package/lib/ele-file-list/types.d.ts +1 -1
  337. package/lib/ele-icon-select/components/icon-grid.cjs +19 -11
  338. package/lib/ele-icon-select/components/icon-grid.d.ts +8 -3
  339. package/lib/ele-icon-select/index.cjs +93 -85
  340. package/lib/ele-icon-select/index.d.ts +59 -56
  341. package/lib/ele-icon-select/props.cjs +34 -30
  342. package/lib/ele-icon-select/props.d.ts +36 -31
  343. package/lib/ele-icon-select/style/css-var.scss +1 -1
  344. package/lib/ele-icon-select/style/index.scss +50 -18
  345. package/lib/ele-icon-select/types.d.ts +13 -0
  346. package/lib/ele-image-viewer/index.cjs +12 -14
  347. package/lib/ele-image-viewer/index.d.ts +2 -16
  348. package/lib/ele-image-viewer/props.d.ts +1 -8
  349. package/lib/ele-loading/index.cjs +5 -5
  350. package/lib/ele-map-picker/index.d.ts +5 -7
  351. package/lib/ele-mention/index.d.ts +29 -8
  352. package/lib/ele-mention/props.d.ts +9 -0
  353. package/lib/ele-menus/types.d.ts +2 -0
  354. package/lib/ele-menus/util.cjs +1 -1
  355. package/lib/ele-modal/index.cjs +43 -36
  356. package/lib/ele-modal/index.d.ts +8 -6
  357. package/lib/ele-modal/props.cjs +2 -0
  358. package/lib/ele-modal/props.d.ts +2 -0
  359. package/lib/ele-modal/style/index.scss +16 -0
  360. package/lib/ele-popconfirm/index.cjs +5 -20
  361. package/lib/ele-popconfirm/index.d.ts +95 -96
  362. package/lib/ele-popconfirm/props.d.ts +32 -32
  363. package/lib/ele-popover/index.d.ts +72 -72
  364. package/lib/ele-printer/index.cjs +6 -6
  365. package/lib/ele-printer/index.d.ts +2 -2
  366. package/lib/ele-pro-form/components/item-type-data.cjs +39 -64
  367. package/lib/ele-pro-form/components/render-util.d.ts +2 -2
  368. package/lib/ele-pro-form/index.d.ts +10 -5
  369. package/lib/ele-pro-form/props.d.ts +3 -1
  370. package/lib/ele-pro-form-builder/components/body-form.d.ts +1 -1
  371. package/lib/ele-pro-form-builder/components/body-header.d.ts +1 -1
  372. package/lib/ele-pro-form-builder/components/code-generator.d.ts +1 -1
  373. package/lib/ele-pro-form-builder/components/code-preview.d.ts +1 -1
  374. package/lib/ele-pro-form-builder/components/config-form.d.ts +1 -1
  375. package/lib/ele-pro-form-builder/components/import-modal.d.ts +1 -1
  376. package/lib/ele-pro-form-builder/components/preview-modal.d.ts +1 -1
  377. package/lib/ele-pro-form-builder/components/props-form.d.ts +1 -1
  378. package/lib/ele-pro-form-builder/components/table-util.cjs +3 -0
  379. package/lib/ele-pro-form-builder/components/template-list.d.ts +1 -1
  380. package/lib/ele-pro-form-builder/index.d.ts +1 -1
  381. package/lib/ele-pro-form-builder/props.d.ts +2 -1
  382. package/lib/ele-pro-form-builder/types.d.ts +1 -1
  383. package/lib/ele-pro-layout/index.d.ts +29 -29
  384. package/lib/ele-pro-layout/props.d.ts +12 -12
  385. package/lib/ele-pro-layout/style/index.scss +0 -2
  386. package/lib/ele-pro-layout/types.d.ts +2 -0
  387. package/lib/ele-pro-table/components/table-tools.cjs +117 -247
  388. package/lib/ele-pro-table/components/table-tools.d.ts +12 -97
  389. package/lib/ele-pro-table/components/tool-export.cjs +32 -20
  390. package/lib/ele-pro-table/components/tool-export.d.ts +7 -3
  391. package/lib/ele-pro-table/components/tool-print.cjs +37 -25
  392. package/lib/ele-pro-table/components/tool-print.d.ts +6 -2
  393. package/lib/ele-pro-table/exceljs-plugin.cjs +81 -0
  394. package/lib/ele-pro-table/exceljs-plugin.d.ts +12 -0
  395. package/lib/ele-pro-table/index.cjs +153 -87
  396. package/lib/ele-pro-table/index.d.ts +46 -53
  397. package/lib/ele-pro-table/props.d.ts +18 -21
  398. package/lib/ele-pro-table/style/css-var.scss +4 -0
  399. package/lib/ele-pro-table/style/index.scss +2 -2
  400. package/lib/ele-pro-table/types.d.ts +11 -0
  401. package/lib/ele-radio-group/index.d.ts +2 -2
  402. package/lib/ele-segmented/index.d.ts +2 -2
  403. package/lib/ele-segmented/props.d.ts +1 -1
  404. package/lib/ele-segmented/style/index.scss +1 -0
  405. package/lib/ele-select/index.d.ts +12 -12
  406. package/lib/ele-select/props.cjs +1 -1
  407. package/lib/ele-select/props.d.ts +2 -2
  408. package/lib/ele-select-tree/index.d.ts +10 -10
  409. package/lib/ele-select-tree/props.cjs +1 -1
  410. package/lib/ele-select-tree/props.d.ts +2 -2
  411. package/lib/ele-split-panel/style/index.scss +1 -1
  412. package/lib/ele-steps/types.d.ts +1 -1
  413. package/lib/ele-tab-bar/index.cjs +1 -0
  414. package/lib/ele-tab-bar/index.d.ts +4 -2
  415. package/lib/ele-tab-bar/props.cjs +4 -2
  416. package/lib/ele-tab-bar/props.d.ts +3 -1
  417. package/lib/ele-tab-bar/style/index.scss +1 -0
  418. package/lib/ele-table-select/index.d.ts +2 -0
  419. package/lib/ele-table-select/props.cjs +4 -2
  420. package/lib/ele-table-select/props.d.ts +4 -2
  421. package/lib/ele-tabs/index.d.ts +16 -12
  422. package/lib/ele-tabs/style/index.scss +1 -0
  423. package/lib/ele-tabs/types.d.ts +1 -1
  424. package/lib/ele-timeline/types.d.ts +3 -3
  425. package/lib/ele-tooltip/index.d.ts +53 -53
  426. package/lib/ele-tour/index.cjs +6 -6
  427. package/lib/ele-tour/index.d.ts +3 -3
  428. package/lib/ele-transfer/index.d.ts +1 -1
  429. package/lib/ele-tree-select/index.d.ts +4 -2
  430. package/lib/ele-tree-select/props.d.ts +1 -1
  431. package/lib/ele-upload-list/components/list-item.cjs +1 -0
  432. package/lib/ele-upload-list/components/list-item.d.ts +3 -0
  433. package/lib/ele-upload-list/index.cjs +25 -8
  434. package/lib/ele-upload-list/index.d.ts +3 -3
  435. package/lib/ele-upload-list/types.d.ts +1 -1
  436. package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
  437. package/lib/ele-virtual-table/index.d.ts +38 -44
  438. package/lib/ele-virtual-table/props.d.ts +19 -22
  439. package/lib/ele-watermark/index.cjs +252 -90
  440. package/lib/ele-watermark/index.d.ts +20 -7
  441. package/lib/ele-watermark/props.cjs +10 -3
  442. package/lib/ele-watermark/props.d.ts +10 -3
  443. package/lib/ele-watermark/types.d.ts +12 -0
  444. package/lib/ele-watermark/util.cjs +22 -22
  445. package/lib/ele-watermark/util.d.ts +4 -9
  446. package/lib/lang/en_US.cjs +116 -0
  447. package/lib/lang/zh_CN.cjs +116 -0
  448. package/lib/lang/zh_TW.cjs +116 -0
  449. package/lib/style/plus.scss +3 -1
  450. package/lib/style/themes/default.scss +18 -3
  451. package/lib/style/themes/rounded.scss +5 -1
  452. package/lib/style/themes/transparent.scss +3 -0
  453. package/lib/utils/common.cjs +10 -0
  454. package/lib/utils/common.d.ts +10 -0
  455. package/lib/utils/core.cjs +10 -1
  456. package/lib/utils/core.d.ts +6 -0
  457. package/lib/utils/menu-util.cjs +1 -0
  458. package/lib/utils/theme-util.d.ts +1 -1
  459. package/package.json +3 -2
  460. package/typings/global.d.ts +2 -0
@@ -1,8 +1,9 @@
1
- import { defineComponent, ref, computed, watch, createBlock, openBlock, withCtx, createElementVNode, normalizeStyle, normalizeClass, createVNode, createElementBlock, createCommentVNode, unref, withKeys, createSlots, withModifiers, renderSlot, Fragment, renderList, createTextVNode, toDisplayString, nextTick } from "vue";
2
- import { ElInput, ElIcon, ElTag } from "element-plus";
3
- import { CloseCircleFilled, ArrowDown } from "../icons/index";
1
+ import { defineComponent, ref, createBlock, openBlock, mergeProps, createSlots, withCtx, renderSlot, renderList, normalizeProps, guardReactiveProps, unref, normalizeClass, createElementBlock, createCommentVNode } from "vue";
4
2
  import EleTooltip from "../ele-tooltip/index";
3
+ import EleModal from "../ele-modal/index";
4
+ import EleDrawer from "../ele-drawer/index";
5
5
  import ReceiverView from "../ele-config-provider/components/receiver-view";
6
+ import SelectView from "./components/select-view";
6
7
  import { basicSelectEmits, basicSelectProps } from "./props";
7
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
9
  ...{ name: "EleBasicSelect" },
@@ -12,48 +13,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12
13
  setup(__props, { expose: __expose, emit: __emit }) {
13
14
  const props = __props;
14
15
  const emit = __emit;
16
+ const selectViewRef = ref(null);
15
17
  const tooltipRef = ref(null);
16
- const inputRef = ref(null);
17
- const searchRef = ref(null);
18
- const inputValue = ref(
19
- props.multiple || !props.selectedLabel ? "" : props.selectedLabel
20
- );
21
- const searchValue = ref("");
22
- const isEmpty = computed(() => {
23
- if (!props.multiple) {
24
- return props.value == null || props.value === "";
25
- }
26
- return !Array.isArray(props.value) || !props.value.length;
27
- });
28
- const inputPlaceholder = computed(() => {
29
- const str = isEmpty.value && props.placeholder ? props.placeholder : "";
30
- if (!props.filterable || !props.visible || props.multiple) {
31
- return str;
32
- }
33
- return props.selectedLabel || str;
34
- });
35
- const isCollapse = computed(() => {
36
- return typeof props.maxTagCount === "number" && props.selected != null && props.selected.length > props.maxTagCount;
37
- });
38
- const currentTags = computed(() => {
39
- if (!isCollapse.value || isEmpty.value || props.selected == null) {
40
- return props.selected || [];
41
- }
42
- return props.selected.slice(0, props.maxTagCount);
43
- });
44
- const omittedTags = computed(() => {
45
- if (!isCollapse.value || isEmpty.value || props.selected == null) {
46
- return [];
47
- }
48
- return props.selected.slice(props.maxTagCount);
49
- });
50
- const omittedSize = computed(() => {
51
- if (isEmpty.value || props.maxTagCount == null || props.maxTagCount < 0) {
52
- return 0;
18
+ const isSelectInputClick = ref(false);
19
+ const updateVisible = (visible) => {
20
+ isSelectInputClick.value = false;
21
+ if (!props.disabled || !visible) {
22
+ emit("update:visible", visible);
53
23
  }
54
- return props.value.length - props.maxTagCount;
55
- });
56
- let isSelectInputClick = false;
24
+ };
57
25
  const updatePopper = () => {
58
26
  tooltipRef.value && tooltipRef.value.updatePopper();
59
27
  };
@@ -65,115 +33,156 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
65
33
  return;
66
34
  }
67
35
  }
68
- const input = props.multiple ? searchRef.value : inputRef.value;
69
- input && input.focus();
70
- nextTick(() => {
71
- input && input.focus();
72
- });
73
- }
74
- };
75
- const updateSearchValue = (modelValue) => {
76
- if (props.filterable && props.visible && props.multiple) {
77
- searchValue.value = modelValue;
78
- emit("filterChange", modelValue);
79
- }
80
- };
81
- const updateInputValue = (modelValue) => {
82
- if (props.filterable && props.visible && !props.multiple) {
83
- inputValue.value = modelValue;
84
- emit("filterChange", modelValue);
85
- }
86
- };
87
- const updateVisible = (visible) => {
88
- isSelectInputClick = false;
89
- if (!props.disabled || !visible) {
90
- emit("update:visible", visible);
36
+ selectViewRef.value && selectViewRef.value.focusSearchInput();
91
37
  }
92
38
  };
93
39
  const handleUpdatePopoverVisible = (visible) => {
94
- if (!visible && props.filterable && isSelectInputClick) {
95
- isSelectInputClick = false;
40
+ if (!visible && props.filterable && isSelectInputClick.value) {
41
+ isSelectInputClick.value = false;
96
42
  return;
97
43
  }
98
44
  updateVisible(visible);
99
45
  };
100
- const handleSelectInputClick = () => {
101
- isSelectInputClick = true;
102
- };
103
- const handleTagClose = (item) => {
104
- if (!props.disabled) {
105
- emit("removeTag", item);
46
+ const handleWrapClick = (isCustom) => {
47
+ isSelectInputClick.value = true;
48
+ if (!isCustom && (props.popperType === "modal" || props.popperType === "drawer")) {
49
+ updateVisible(true);
106
50
  }
107
51
  };
108
- const handleClear = () => {
109
- isSelectInputClick = false;
110
- emit("clear");
111
- };
112
52
  const handleInputClick = (e) => {
113
53
  if (props.automaticDropdown && props.visible) {
114
- isSelectInputClick = true;
54
+ isSelectInputClick.value = true;
115
55
  e.stopPropagation();
116
56
  }
117
57
  };
118
- const handleInputFocus = (e) => {
58
+ const handleRemoveTag = (item) => {
59
+ emit("removeTag", item);
60
+ };
61
+ const handleClear = () => {
62
+ isSelectInputClick.value = false;
63
+ emit("clear");
64
+ };
65
+ const handleFocus = (e) => {
119
66
  if (props.automaticDropdown && !props.visible) {
120
67
  updateVisible(true);
121
68
  }
122
69
  emit("focus", e);
123
70
  };
124
- const handleInputBlur = (e) => {
71
+ const handleBlur = (e) => {
125
72
  emit("blur", e);
126
73
  };
127
- const handleInputEsc = (e) => {
128
- if (!props.disabled && props.visible) {
129
- e.stopPropagation();
130
- e.preventDefault();
131
- updateVisible(false);
132
- }
74
+ const handleFilterChange = (value) => {
75
+ emit("filterChange", value);
133
76
  };
134
- watch(
135
- () => props.selectedLabel,
136
- (label) => {
137
- if (!props.filterable || !props.visible) {
138
- inputValue.value = props.multiple || !label ? "" : label;
139
- }
140
- }
141
- );
142
- watch(
143
- () => props.visible,
144
- (visible) => {
145
- if (props.filterable) {
146
- if (props.multiple) {
147
- searchValue.value = "";
148
- if (visible) {
149
- focusSearchInput();
150
- }
151
- } else {
152
- const label = props.selectedLabel;
153
- inputValue.value = visible || !label ? "" : label;
154
- }
155
- }
156
- }
157
- );
158
77
  __expose({
159
78
  tooltipRef,
160
- inputRef,
161
- searchRef,
162
- currentTags,
163
- omittedTags,
164
- omittedSize,
79
+ selectViewRef,
165
80
  updatePopper,
166
81
  focusSearchInput,
167
- updateSearchValue,
168
- updateInputValue,
169
82
  updateVisible
170
83
  });
171
84
  return (_ctx, _cache) => {
172
- return openBlock(), createBlock(EleTooltip, {
85
+ return _ctx.popperType === "modal" || _ctx.popperType === "drawer" ? (openBlock(), createBlock(SelectView, mergeProps({ key: 0 }, _ctx.$props, {
86
+ ref_key: "selectViewRef",
87
+ ref: selectViewRef,
88
+ "onUpdate:visible": updateVisible,
89
+ onRemoveTag: handleRemoveTag,
90
+ onClear: handleClear,
91
+ onFocus: handleFocus,
92
+ onBlur: handleBlur,
93
+ onFilterChange: handleFilterChange,
94
+ onInputClick: handleInputClick,
95
+ onWrapClick: handleWrapClick
96
+ }), createSlots({
97
+ default: withCtx(() => [
98
+ _ctx.popperType === "drawer" ? (openBlock(), createBlock(EleDrawer, mergeProps({
99
+ key: 0,
100
+ title: _ctx.popperTitle,
101
+ size: _ctx.popperWidth,
102
+ closeOnClickModal: false,
103
+ destroyOnClose: !_ctx.persistent,
104
+ responsive: _ctx.responsive,
105
+ class: _ctx.popperClass
106
+ }, _ctx.popperProps || {}, {
107
+ modelValue: _ctx.visible,
108
+ "onUpdate:modelValue": handleUpdatePopoverVisible
109
+ }), createSlots({
110
+ default: withCtx(() => [
111
+ renderSlot(_ctx.$slots, "default")
112
+ ]),
113
+ _: 2
114
+ }, [
115
+ renderList(Object.keys(_ctx.popperSlots || {}).filter(
116
+ (k) => k !== "default" && _ctx.popperSlots && _ctx.popperSlots[k] && _ctx.popperSlots[k] !== "default" && _ctx.$slots[_ctx.popperSlots[k]]
117
+ ), (name) => {
118
+ return {
119
+ name,
120
+ fn: withCtx((slotProps) => {
121
+ var _a;
122
+ return [
123
+ renderSlot(_ctx.$slots, (_a = _ctx.popperSlots) == null ? void 0 : _a[name], normalizeProps(guardReactiveProps(slotProps || {})))
124
+ ];
125
+ })
126
+ };
127
+ })
128
+ ]), 1040, ["title", "size", "destroyOnClose", "responsive", "class", "modelValue"])) : (openBlock(), createBlock(EleModal, mergeProps({
129
+ key: 1,
130
+ position: "center",
131
+ title: _ctx.popperTitle,
132
+ width: _ctx.popperWidth,
133
+ bodyHeight: _ctx.popperHeight,
134
+ closeOnClickModal: false,
135
+ destroyOnClose: !_ctx.persistent,
136
+ responsive: _ctx.responsive,
137
+ class: _ctx.popperClass
138
+ }, _ctx.popperProps || {}, {
139
+ modelValue: _ctx.visible,
140
+ "onUpdate:modelValue": handleUpdatePopoverVisible
141
+ }), createSlots({
142
+ default: withCtx(() => [
143
+ renderSlot(_ctx.$slots, "default")
144
+ ]),
145
+ _: 2
146
+ }, [
147
+ renderList(Object.keys(_ctx.popperSlots || {}).filter(
148
+ (k) => k !== "default" && _ctx.popperSlots && _ctx.popperSlots[k] && _ctx.popperSlots[k] !== "default" && _ctx.$slots[_ctx.popperSlots[k]]
149
+ ), (name) => {
150
+ return {
151
+ name,
152
+ fn: withCtx((slotProps) => {
153
+ var _a;
154
+ return [
155
+ renderSlot(_ctx.$slots, (_a = _ctx.popperSlots) == null ? void 0 : _a[name], normalizeProps(guardReactiveProps(slotProps || {})))
156
+ ];
157
+ })
158
+ };
159
+ })
160
+ ]), 1040, ["title", "width", "bodyHeight", "destroyOnClose", "responsive", "class", "modelValue"]))
161
+ ]),
162
+ _: 2
163
+ }, [
164
+ renderList(Object.keys(_ctx.$slots).filter((k) => k !== "default"), (name) => {
165
+ return {
166
+ name,
167
+ fn: withCtx((slotProps) => [
168
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps || {})))
169
+ ])
170
+ };
171
+ })
172
+ ]), 1040)) : _ctx.popperType === "default" ? (openBlock(), createBlock(unref(ReceiverView), {
173
+ key: 1,
174
+ wrapHeight: _ctx.popperHeight,
175
+ class: normalizeClass(_ctx.popperClass)
176
+ }, {
177
+ default: withCtx(() => [
178
+ renderSlot(_ctx.$slots, "default")
179
+ ]),
180
+ _: 3
181
+ }, 8, ["wrapHeight", "class"])) : (openBlock(), createBlock(EleTooltip, mergeProps({
182
+ key: 2,
173
183
  ref_key: "tooltipRef",
174
184
  ref: tooltipRef,
175
185
  trigger: "click",
176
- visible: _ctx.visible,
177
186
  disabled: _ctx.disabled,
178
187
  placement: _ctx.placement,
179
188
  teleported: _ctx.teleported,
@@ -185,12 +194,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
185
194
  effect: "light",
186
195
  persistent: true,
187
196
  isPopover: true,
188
- triggerKeys: [],
197
+ triggerKeys: []
198
+ }, _ctx.popperProps || {}, {
199
+ visible: _ctx.visible,
189
200
  "onUpdate:visible": handleUpdatePopoverVisible
190
- }, {
201
+ }), {
191
202
  body: withCtx(() => [
192
203
  _ctx.persistent || _ctx.visible ? (openBlock(), createBlock(unref(ReceiverView), {
193
204
  key: 0,
205
+ wrapHeight: _ctx.popperHeight,
194
206
  class: "ele-popover-body",
195
207
  onClick: focusSearchInput,
196
208
  onMouseup: focusSearchInput
@@ -199,138 +211,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
199
211
  renderSlot(_ctx.$slots, "default")
200
212
  ]),
201
213
  _: 3
202
- })) : createCommentVNode("", true)
214
+ }, 8, ["wrapHeight"])) : createCommentVNode("", true)
203
215
  ]),
204
216
  default: withCtx(() => [
205
- createElementVNode("div", {
206
- class: normalizeClass([
207
- "ele-select",
208
- _ctx.selectClass,
209
- { "is-empty": isEmpty.value },
210
- { "is-multiple": _ctx.multiple },
211
- { "is-disabled": _ctx.disabled },
212
- { "is-filterable": _ctx.filterable },
213
- { "is-small": _ctx.size === "small" },
214
- { "is-large": _ctx.size === "large" },
215
- { "is-opened": _ctx.visible }
216
- ]),
217
- style: normalizeStyle(_ctx.selectStyle),
218
- onClick: handleSelectInputClick
219
- }, [
220
- createVNode(unref(ElInput), {
221
- ref_key: "inputRef",
222
- ref: inputRef,
223
- size: _ctx.size,
224
- disabled: _ctx.disabled,
225
- validateEvent: false,
226
- modelValue: inputValue.value,
227
- placeholder: _ctx.filterable && _ctx.multiple && _ctx.visible ? "" : inputPlaceholder.value,
228
- readonly: !(_ctx.filterable && !_ctx.multiple),
229
- style: normalizeStyle(_ctx.inputStyle),
230
- "onUpdate:modelValue": updateInputValue,
231
- onClick: handleInputClick,
232
- onFocus: handleInputFocus,
233
- onBlur: handleInputBlur,
234
- onKeydown: withKeys(handleInputEsc, ["esc"])
235
- }, createSlots({
236
- suffix: withCtx(() => [
237
- _ctx.clearable && !_ctx.disabled && !isEmpty.value ? (openBlock(), createBlock(unref(ElIcon), {
238
- key: 0,
239
- class: "ele-select-clear el-input__icon",
240
- onClick: withModifiers(handleClear, ["stop"])
241
- }, {
242
- default: withCtx(() => [
243
- renderSlot(_ctx.$slots, "clearIcon", {}, () => [
244
- createVNode(unref(CloseCircleFilled))
245
- ])
246
- ]),
247
- _: 3
248
- })) : createCommentVNode("", true),
249
- createVNode(unref(ElIcon), { class: "ele-select-arrow el-input__icon" }, {
250
- default: withCtx(() => [
251
- renderSlot(_ctx.$slots, "suffixIcon", { visible: _ctx.visible }, () => [
252
- createVNode(unref(ArrowDown))
253
- ])
254
- ]),
255
- _: 3
256
- })
257
- ]),
258
- _: 2
259
- }, [
260
- _ctx.$slots.prefix ? {
261
- name: "prefix",
262
- fn: withCtx(() => [
263
- renderSlot(_ctx.$slots, "prefix")
264
- ]),
265
- key: "0"
266
- } : void 0
267
- ]), 1032, ["size", "disabled", "modelValue", "placeholder", "readonly", "style"]),
268
- _ctx.multiple ? (openBlock(), createElementBlock("div", {
269
- key: 0,
270
- class: "ele-select-tags",
271
- style: normalizeStyle(_ctx.selectTagsStyle)
272
- }, [
273
- (openBlock(true), createElementBlock(Fragment, null, renderList(currentTags.value, (item, index) => {
274
- return openBlock(), createBlock(unref(ElTag), {
275
- key: index + "-" + item.value,
276
- size: _ctx.size,
277
- type: _ctx.tagType,
278
- closable: !_ctx.disabled,
279
- disableTransitions: true,
280
- title: item.label,
281
- onClose: ($event) => handleTagClose(item)
282
- }, {
283
- default: withCtx(() => [
284
- item.label && _ctx.maxTagTextLength && item.label.length > _ctx.maxTagTextLength ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
285
- createTextVNode(toDisplayString(item.label.slice(0, _ctx.maxTagTextLength)) + "... ", 1)
286
- ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
287
- createTextVNode(toDisplayString(item.label), 1)
288
- ], 64))
289
- ]),
290
- _: 2
291
- }, 1032, ["size", "type", "closable", "title", "onClose"]);
292
- }), 128)),
293
- isCollapse.value ? (openBlock(), createBlock(unref(ElTag), {
294
- key: 0,
295
- size: _ctx.size,
296
- type: _ctx.tagType,
297
- disableTransitions: true
298
- }, {
299
- default: withCtx(() => [
300
- renderSlot(_ctx.$slots, "maxTagPlaceholder", {
301
- omittedValues: omittedTags.value,
302
- omittedSize: omittedSize.value
303
- }, () => [
304
- createTextVNode(" +" + toDisplayString(omittedSize.value), 1)
305
- ])
306
- ]),
307
- _: 3
308
- }, 8, ["size", "type"])) : createCommentVNode("", true),
309
- !_ctx.disabled && _ctx.filterable ? (openBlock(), createBlock(unref(ElTag), {
310
- key: 1,
311
- size: _ctx.size,
312
- disableTransitions: true,
313
- class: "ele-select-search"
314
- }, {
315
- default: withCtx(() => [
316
- createVNode(unref(ElInput), {
317
- ref_key: "searchRef",
318
- ref: searchRef,
319
- size: _ctx.size,
320
- validateEvent: false,
321
- modelValue: searchValue.value,
322
- placeholder: inputPlaceholder.value,
323
- "onUpdate:modelValue": updateSearchValue,
324
- onKeydown: withKeys(handleInputEsc, ["esc"])
325
- }, null, 8, ["size", "modelValue", "placeholder"])
326
- ]),
327
- _: 1
328
- }, 8, ["size"])) : createCommentVNode("", true)
329
- ], 4)) : createCommentVNode("", true)
330
- ], 6)
217
+ _ctx.selectStyle === "none" ? (openBlock(), createElementBlock("div", {
218
+ key: 0,
219
+ class: normalizeClass(_ctx.selectClass)
220
+ }, null, 2)) : (openBlock(), createBlock(SelectView, mergeProps({ key: 1 }, _ctx.$props, {
221
+ ref_key: "selectViewRef",
222
+ ref: selectViewRef,
223
+ "onUpdate:visible": updateVisible,
224
+ onRemoveTag: handleRemoveTag,
225
+ onClear: handleClear,
226
+ onFocus: handleFocus,
227
+ onBlur: handleBlur,
228
+ onFilterChange: handleFilterChange,
229
+ onInputClick: handleInputClick,
230
+ onWrapClick: handleWrapClick
231
+ }), createSlots({ _: 2 }, [
232
+ renderList(Object.keys(_ctx.$slots).filter((k) => k !== "default"), (name) => {
233
+ return {
234
+ name,
235
+ fn: withCtx((slotProps) => [
236
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps || {})))
237
+ ])
238
+ };
239
+ })
240
+ ]), 1040))
331
241
  ]),
332
242
  _: 3
333
- }, 8, ["visible", "disabled", "placement", "teleported", "width", "popperClass", "popperOptions", "transition", "gpuAcceleration"]);
243
+ }, 16, ["disabled", "placement", "teleported", "width", "popperClass", "popperOptions", "transition", "gpuAcceleration", "visible"]));
334
244
  };
335
245
  }
336
246
  });
@@ -2,7 +2,7 @@ import { PropType, ExtractPropTypes } from 'vue';
2
2
  import { StyleValue } from '../ele-app/types';
3
3
  import { ElInputProps, ElTagProps } from '../ele-app/el';
4
4
  import { EleTooltipProps } from '../ele-app/plus';
5
- import { SelectValue, SelectedItem } from './types';
5
+ import { SelectValue, SelectedItem, PopperType, PopperProps } from './types';
6
6
 
7
7
  /**
8
8
  * 属性
@@ -37,11 +37,36 @@ export declare const basicSelectProps: {
37
37
  automaticDropdown: BooleanConstructor;
38
38
  /** 是否可以筛选 */
39
39
  filterable: BooleanConstructor;
40
- /** 下拉框是否显示 */
40
+ /** 下拉组件是否显示 */
41
41
  visible: BooleanConstructor;
42
- /** 是否将下拉框插入 body */
42
+ /** 自定义类名 */
43
+ selectClass: StringConstructor;
44
+ /** 自定义样式 */
45
+ selectStyle: PropType<StyleValue | string>;
46
+ /** 自定义输入框样式 */
47
+ inputStyle: PropType<StyleValue>;
48
+ /** 自定义多选标签容器样式 */
49
+ selectTagsStyle: PropType<StyleValue>;
50
+ /** 下拉组件类名 */
51
+ popperClass: StringConstructor;
52
+ /** 下拉组件宽度 */
53
+ popperWidth: (NumberConstructor | StringConstructor)[];
54
+ /** 下拉组件高度 */
55
+ popperHeight: (NumberConstructor | StringConstructor)[];
56
+ /** 下拉组件类型 */
57
+ popperType: {
58
+ type: PropType<PopperType>;
59
+ default: string;
60
+ };
61
+ /** 下拉组件属性 */
62
+ popperProps: PropType<PopperProps>;
63
+ /** 下拉组件插槽 */
64
+ popperSlots: ObjectConstructor;
65
+ /** 下拉组件标题 */
66
+ popperTitle: StringConstructor;
67
+ /** 是否将下拉组件插入 body */
43
68
  teleported: BooleanConstructor;
44
- /** 始终渲染下拉框 */
69
+ /** 始终渲染下拉组件 */
45
70
  persistent: BooleanConstructor;
46
71
  /** 下拉框位置 */
47
72
  placement: PropType<EleTooltipProps["placement"]>;
@@ -52,18 +77,11 @@ export declare const basicSelectProps: {
52
77
  };
53
78
  /** popper.js 参数 */
54
79
  popperOptions: PropType<EleTooltipProps["popperOptions"]>;
55
- /** 下拉框类名 */
56
- popperClass: StringConstructor;
57
- /** 下拉框宽度 */
58
- popperWidth: (StringConstructor | NumberConstructor)[];
59
- /** 自定义类名 */
60
- selectClass: StringConstructor;
61
- /** 自定义样式 */
62
- selectStyle: PropType<StyleValue>;
63
- /** 自定义输入框样式 */
64
- inputStyle: PropType<StyleValue>;
65
- /** 自定义多选标签容器样式 */
66
- selectTagsStyle: PropType<StyleValue>;
80
+ /** 是否开启响应式 */
81
+ responsive: {
82
+ type: BooleanConstructor;
83
+ default: null;
84
+ };
67
85
  };
68
86
  export type BasicSelectProps = ExtractPropTypes<typeof basicSelectProps>;
69
87
  /**
@@ -30,11 +30,36 @@ const basicSelectProps = {
30
30
  automaticDropdown: Boolean,
31
31
  /** 是否可以筛选 */
32
32
  filterable: Boolean,
33
- /** 下拉框是否显示 */
33
+ /** 下拉组件是否显示 */
34
34
  visible: Boolean,
35
- /** 是否将下拉框插入 body */
35
+ /** 自定义类名 */
36
+ selectClass: String,
37
+ /** 自定义样式 */
38
+ selectStyle: [Object, String],
39
+ /** 自定义输入框样式 */
40
+ inputStyle: Object,
41
+ /** 自定义多选标签容器样式 */
42
+ selectTagsStyle: Object,
43
+ /** 下拉组件类名 */
44
+ popperClass: String,
45
+ /** 下拉组件宽度 */
46
+ popperWidth: [Number, String],
47
+ /** 下拉组件高度 */
48
+ popperHeight: [Number, String],
49
+ /** 下拉组件类型 */
50
+ popperType: {
51
+ type: String,
52
+ default: "popper"
53
+ },
54
+ /** 下拉组件属性 */
55
+ popperProps: Object,
56
+ /** 下拉组件插槽 */
57
+ popperSlots: Object,
58
+ /** 下拉组件标题 */
59
+ popperTitle: String,
60
+ /** 是否将下拉组件插入 body */
36
61
  teleported: Boolean,
37
- /** 始终渲染下拉框 */
62
+ /** 始终渲染下拉组件 */
38
63
  persistent: Boolean,
39
64
  /** 下拉框位置 */
40
65
  placement: String,
@@ -45,18 +70,11 @@ const basicSelectProps = {
45
70
  },
46
71
  /** popper.js 参数 */
47
72
  popperOptions: Object,
48
- /** 下拉框类名 */
49
- popperClass: String,
50
- /** 下拉框宽度 */
51
- popperWidth: [Number, String],
52
- /** 自定义类名 */
53
- selectClass: String,
54
- /** 自定义样式 */
55
- selectStyle: Object,
56
- /** 自定义输入框样式 */
57
- inputStyle: Object,
58
- /** 自定义多选标签容器样式 */
59
- selectTagsStyle: Object
73
+ /** 是否开启响应式 */
74
+ responsive: {
75
+ type: Boolean,
76
+ default: null
77
+ }
60
78
  };
61
79
  const basicSelectEmits = {
62
80
  /** 更新下拉框显示状态 */
@@ -2,4 +2,6 @@ import "element-plus/es/components/input/style/index";
2
2
  import "element-plus/es/components/icon/style/index";
3
3
  import "element-plus/es/components/tag/style/index";
4
4
  import "../../ele-tooltip/style/index";
5
+ import "../../ele-modal/style/index";
6
+ import "../../ele-drawer/style/index";
5
7
  import "./index.scss";
@@ -1,3 +1,10 @@
1
+ import type { ComponentProps } from '../ele-app/types';
2
+ import type {
3
+ EleModalProps,
4
+ EleDrawerProps,
5
+ EleTooltipProps
6
+ } from '../ele-app/plus';
7
+
1
8
  /**
2
9
  * 单选值
3
10
  */
@@ -16,7 +23,7 @@ export type SelectValue = SingleValue | MultipleValue | undefined | null;
16
23
  /**
17
24
  * 多选选中数据
18
25
  */
19
- export interface SelectedItem {
26
+ export interface SelectedItem extends Record<string, any> {
20
27
  /** 文本 */
21
28
  label: string;
22
29
  /** 值 */
@@ -26,3 +33,17 @@ export interface SelectedItem {
26
33
  /** 排序号 */
27
34
  index?: number;
28
35
  }
36
+
37
+ /**
38
+ * 下拉类型
39
+ */
40
+ export type PopperType = 'popper' | 'modal' | 'drawer' | 'default';
41
+
42
+ /**
43
+ * 下拉组件属性
44
+ */
45
+ export type PopperProps =
46
+ | EleModalProps
47
+ | EleDrawerProps
48
+ | EleTooltipProps
49
+ | ComponentProps<{}>;
@@ -25,7 +25,12 @@ function valueIsChanged(value1, value2, multiple) {
25
25
  if (value1.length !== value2.length) {
26
26
  return true;
27
27
  }
28
- return value1.some((v) => !value2.includes(v));
28
+ for (let i = 0; i < value1.length; i++) {
29
+ if (value1[i] !== value2[i]) {
30
+ return true;
31
+ }
32
+ }
33
+ return false;
29
34
  }
30
35
  function useFormValidate() {
31
36
  const formItem = inject(formItemContextKey, null);