ele-admin-plus 1.4.0-beta.1 → 1.4.1-beta.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 (323) hide show
  1. package/es/ele-admin-layout/components/layout-skeleton.d.ts +9 -3
  2. package/es/ele-admin-layout/components/layout-skeleton.js +11 -5
  3. package/es/ele-admin-layout/components/layout-tabs.d.ts +7 -2
  4. package/es/ele-admin-layout/components/layout-tabs.js +9 -4
  5. package/es/ele-admin-layout/index.js +23 -18
  6. package/es/ele-alert/index.js +7 -8
  7. package/es/ele-app/el.d.ts +3 -1
  8. package/es/ele-app/plus.d.ts +12 -41
  9. package/es/ele-app/plusx.d.ts +40 -0
  10. package/es/ele-app/style/overwrite/date-picker/index.scss +1 -1
  11. package/es/ele-autocomplete/index.d.ts +265 -47
  12. package/es/ele-autocomplete/props.d.ts +124 -22
  13. package/es/ele-avatar-group/types.d.ts +1 -1
  14. package/es/ele-backtop/index.js +7 -8
  15. package/es/ele-basic-select/components/select-view.d.ts +129 -0
  16. package/es/ele-basic-select/components/select-view.js +272 -0
  17. package/es/ele-basic-select/index.d.ts +13 -23
  18. package/es/ele-basic-select/index.js +109 -248
  19. package/es/ele-basic-select/props.d.ts +8 -2
  20. package/es/ele-basic-select/props.js +7 -1
  21. package/es/ele-basic-select/types.d.ts +21 -0
  22. package/es/ele-basic-select/util.js +6 -1
  23. package/es/ele-bottom-bar/index.js +6 -6
  24. package/es/ele-breadcrumb/types.d.ts +1 -1
  25. package/es/ele-cascader/index.d.ts +14 -16
  26. package/es/ele-cascader/props.d.ts +3 -4
  27. package/es/ele-check-card/types.d.ts +1 -1
  28. package/es/ele-checkbox-group/index.d.ts +1 -1
  29. package/es/ele-config-provider/components/receiver-view.d.ts +2 -13
  30. package/es/ele-config-provider/components/receiver-view.js +111 -116
  31. package/es/ele-config-provider/receiver.d.ts +2 -0
  32. package/es/ele-config-provider/receiver.js +8 -1
  33. package/es/ele-cropper/index.d.ts +1 -3
  34. package/es/ele-cropper-modal/index.d.ts +1 -1
  35. package/es/ele-crud/components/page-side.js +1 -4
  36. package/es/ele-crud/types.d.ts +1 -1
  37. package/es/ele-crud/util.d.ts +1 -1
  38. package/es/ele-crud-builder/components/body-header.d.ts +1 -1
  39. package/es/ele-crud-builder/components/code-generator.d.ts +1 -1
  40. package/es/ele-crud-builder/components/code-preview.d.ts +1 -1
  41. package/es/ele-crud-builder/components/form-design-modal.d.ts +1 -1
  42. package/es/ele-crud-builder/components/import-modal.d.ts +1 -1
  43. package/es/ele-crud-builder/components/page-config.d.ts +1 -1
  44. package/es/ele-crud-builder/components/template-list.d.ts +1 -1
  45. package/es/ele-crud-builder/index.d.ts +3 -3
  46. package/es/ele-crud-builder/index.js +3 -3
  47. package/es/ele-crud-builder/props.d.ts +2 -1
  48. package/es/ele-crud-builder/types.d.ts +1 -1
  49. package/es/ele-crud-builder/util.js +2 -2
  50. package/es/ele-data-table/index.d.ts +38 -44
  51. package/es/ele-data-table/index.js +6 -3
  52. package/es/ele-data-table/props.d.ts +39 -45
  53. package/es/ele-drawer/index.d.ts +2 -2
  54. package/es/ele-drawer/index.js +5 -4
  55. package/es/ele-drawer/props.d.ts +6 -0
  56. package/es/ele-drawer/props.js +5 -1
  57. package/es/ele-dropdown/components/pro-dropdown.d.ts +26 -26
  58. package/es/ele-dropdown/index.d.ts +30 -30
  59. package/es/ele-dropdown/props.d.ts +12 -12
  60. package/es/ele-dropdown/types.d.ts +1 -1
  61. package/es/ele-edit-tag/index.d.ts +1 -1
  62. package/es/ele-ellipsis/props.d.ts +1 -1
  63. package/es/ele-file-list/components/file-grid.d.ts +1 -1
  64. package/es/ele-file-list/components/file-grid.js +2 -2
  65. package/es/ele-file-list/components/file-table.d.ts +1 -1
  66. package/es/ele-file-list/components/file-table.js +2 -2
  67. package/es/ele-file-list/icons.js +10 -1
  68. package/es/ele-file-list/types.d.ts +1 -1
  69. package/es/ele-icon-select/index.d.ts +5 -1
  70. package/es/ele-icon-select/index.js +3 -1
  71. package/es/ele-icon-select/props.d.ts +7 -2
  72. package/es/ele-icon-select/props.js +4 -0
  73. package/es/ele-image-viewer/index.d.ts +2 -16
  74. package/es/ele-image-viewer/index.js +13 -15
  75. package/es/ele-image-viewer/props.d.ts +1 -8
  76. package/es/ele-loading/index.js +6 -6
  77. package/es/ele-map-picker/index.d.ts +2 -4
  78. package/es/ele-mention/index.d.ts +29 -8
  79. package/es/ele-mention/props.d.ts +9 -0
  80. package/es/ele-menus/types.d.ts +2 -0
  81. package/es/ele-menus/util.js +1 -1
  82. package/es/ele-modal/index.d.ts +4 -4
  83. package/es/ele-modal/index.js +4 -3
  84. package/es/ele-popconfirm/index.d.ts +95 -96
  85. package/es/ele-popconfirm/index.js +6 -21
  86. package/es/ele-popconfirm/props.d.ts +32 -32
  87. package/es/ele-popover/index.d.ts +72 -72
  88. package/es/ele-printer/index.d.ts +2 -2
  89. package/es/ele-printer/index.js +8 -8
  90. package/es/ele-pro-form/components/render-util.d.ts +2 -2
  91. package/es/ele-pro-form/index.d.ts +2 -2
  92. package/es/ele-pro-form/props.d.ts +1 -1
  93. package/es/ele-pro-form-builder/components/body-form.d.ts +1 -1
  94. package/es/ele-pro-form-builder/components/body-header.d.ts +1 -1
  95. package/es/ele-pro-form-builder/components/code-generator.d.ts +1 -1
  96. package/es/ele-pro-form-builder/components/code-preview.d.ts +1 -1
  97. package/es/ele-pro-form-builder/components/config-form.d.ts +1 -1
  98. package/es/ele-pro-form-builder/components/import-modal.d.ts +1 -1
  99. package/es/ele-pro-form-builder/components/preview-modal.d.ts +1 -1
  100. package/es/ele-pro-form-builder/components/props-form.d.ts +1 -1
  101. package/es/ele-pro-form-builder/components/table-util.js +3 -0
  102. package/es/ele-pro-form-builder/components/template-list.d.ts +1 -1
  103. package/es/ele-pro-form-builder/index.d.ts +1 -1
  104. package/es/ele-pro-form-builder/props.d.ts +2 -1
  105. package/es/ele-pro-form-builder/types.d.ts +1 -1
  106. package/es/ele-pro-layout/index.d.ts +29 -29
  107. package/es/ele-pro-layout/props.d.ts +12 -12
  108. package/es/ele-pro-layout/style/index.scss +0 -2
  109. package/es/ele-pro-layout/types.d.ts +2 -0
  110. package/es/ele-pro-table/components/table-tools.d.ts +1 -1
  111. package/es/ele-pro-table/components/tool-export.d.ts +2 -2
  112. package/es/ele-pro-table/components/tool-print.d.ts +1 -1
  113. package/es/ele-pro-table/index.d.ts +40 -46
  114. package/es/ele-pro-table/index.js +11 -16
  115. package/es/ele-pro-table/props.d.ts +18 -21
  116. package/es/ele-pro-table/style/css-var.scss +4 -0
  117. package/es/ele-pro-table/style/index.scss +2 -2
  118. package/es/ele-radio-group/index.d.ts +2 -2
  119. package/es/ele-segmented/index.d.ts +2 -2
  120. package/es/ele-segmented/props.d.ts +1 -1
  121. package/es/ele-segmented/style/index.scss +1 -0
  122. package/es/ele-select/index.d.ts +9 -9
  123. package/es/ele-select/props.d.ts +1 -1
  124. package/es/ele-select/props.js +2 -2
  125. package/es/ele-select-tree/index.d.ts +7 -7
  126. package/es/ele-select-tree/props.d.ts +1 -1
  127. package/es/ele-select-tree/props.js +2 -2
  128. package/es/ele-split-panel/index.js +2 -2
  129. package/es/ele-steps/types.d.ts +1 -1
  130. package/es/ele-tab-bar/index.d.ts +4 -2
  131. package/es/ele-tab-bar/index.js +1 -0
  132. package/es/ele-tab-bar/props.d.ts +3 -1
  133. package/es/ele-tab-bar/props.js +4 -2
  134. package/es/ele-tab-bar/style/index.scss +1 -0
  135. package/es/ele-table-select/props.d.ts +2 -2
  136. package/es/ele-table-select/props.js +1 -1
  137. package/es/ele-tabs/index.d.ts +16 -12
  138. package/es/ele-tabs/style/index.scss +1 -0
  139. package/es/ele-tabs/types.d.ts +1 -1
  140. package/es/ele-timeline/types.d.ts +3 -3
  141. package/es/ele-tooltip/index.d.ts +53 -53
  142. package/es/ele-tour/index.js +8 -8
  143. package/es/ele-transfer/index.d.ts +1 -1
  144. package/es/ele-tree-select/index.d.ts +1 -1
  145. package/es/ele-tree-select/props.d.ts +1 -1
  146. package/es/ele-upload-list/components/list-item.d.ts +3 -0
  147. package/es/ele-upload-list/components/list-item.js +1 -0
  148. package/es/ele-upload-list/types.d.ts +1 -1
  149. package/es/ele-virtual-table/index.d.ts +38 -44
  150. package/es/ele-virtual-table/props.d.ts +19 -22
  151. package/es/ele-watermark/index.js +9 -6
  152. package/es/ele-watermark/util.d.ts +2 -0
  153. package/es/ele-watermark/util.js +10 -3
  154. package/es/style/themes/default.scss +6 -0
  155. package/es/style/themes/rounded.scss +3 -0
  156. package/es/style/themes/transparent.scss +3 -0
  157. package/es/utils/common.d.ts +10 -0
  158. package/es/utils/common.js +10 -0
  159. package/es/utils/core.d.ts +6 -0
  160. package/es/utils/core.js +10 -1
  161. package/es/utils/menu-util.js +1 -0
  162. package/lib/ele-admin-layout/components/layout-skeleton.cjs +10 -4
  163. package/lib/ele-admin-layout/components/layout-skeleton.d.ts +9 -3
  164. package/lib/ele-admin-layout/components/layout-tabs.cjs +9 -4
  165. package/lib/ele-admin-layout/components/layout-tabs.d.ts +7 -2
  166. package/lib/ele-admin-layout/index.cjs +23 -18
  167. package/lib/ele-alert/index.cjs +6 -7
  168. package/lib/ele-app/el.d.ts +3 -1
  169. package/lib/ele-app/plus.d.ts +12 -41
  170. package/lib/ele-app/plusx.d.ts +40 -0
  171. package/lib/ele-app/style/overwrite/date-picker/index.scss +1 -1
  172. package/lib/ele-autocomplete/index.d.ts +265 -47
  173. package/lib/ele-autocomplete/props.d.ts +124 -22
  174. package/lib/ele-avatar-group/types.d.ts +1 -1
  175. package/lib/ele-backtop/index.cjs +6 -7
  176. package/lib/ele-basic-select/components/select-view.cjs +271 -0
  177. package/lib/ele-basic-select/components/select-view.d.ts +129 -0
  178. package/lib/ele-basic-select/index.cjs +108 -247
  179. package/lib/ele-basic-select/index.d.ts +13 -23
  180. package/lib/ele-basic-select/props.cjs +7 -1
  181. package/lib/ele-basic-select/props.d.ts +8 -2
  182. package/lib/ele-basic-select/types.d.ts +21 -0
  183. package/lib/ele-basic-select/util.cjs +6 -1
  184. package/lib/ele-bottom-bar/index.cjs +5 -5
  185. package/lib/ele-breadcrumb/types.d.ts +1 -1
  186. package/lib/ele-cascader/index.d.ts +14 -16
  187. package/lib/ele-cascader/props.d.ts +3 -4
  188. package/lib/ele-check-card/types.d.ts +1 -1
  189. package/lib/ele-checkbox-group/index.d.ts +1 -1
  190. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  191. package/lib/ele-config-provider/components/receiver-view.d.ts +2 -13
  192. package/lib/ele-config-provider/receiver.cjs +10 -1
  193. package/lib/ele-config-provider/receiver.d.ts +2 -0
  194. package/lib/ele-cropper/index.d.ts +1 -3
  195. package/lib/ele-cropper-modal/index.d.ts +1 -1
  196. package/lib/ele-crud/components/page-side.cjs +1 -4
  197. package/lib/ele-crud/types.d.ts +1 -1
  198. package/lib/ele-crud/util.d.ts +1 -1
  199. package/lib/ele-crud-builder/components/body-header.d.ts +1 -1
  200. package/lib/ele-crud-builder/components/code-generator.d.ts +1 -1
  201. package/lib/ele-crud-builder/components/code-preview.d.ts +1 -1
  202. package/lib/ele-crud-builder/components/form-design-modal.d.ts +1 -1
  203. package/lib/ele-crud-builder/components/import-modal.d.ts +1 -1
  204. package/lib/ele-crud-builder/components/page-config.d.ts +1 -1
  205. package/lib/ele-crud-builder/components/template-list.d.ts +1 -1
  206. package/lib/ele-crud-builder/index.cjs +3 -3
  207. package/lib/ele-crud-builder/index.d.ts +3 -3
  208. package/lib/ele-crud-builder/props.d.ts +2 -1
  209. package/lib/ele-crud-builder/types.d.ts +1 -1
  210. package/lib/ele-crud-builder/util.cjs +2 -2
  211. package/lib/ele-data-table/index.cjs +6 -3
  212. package/lib/ele-data-table/index.d.ts +38 -44
  213. package/lib/ele-data-table/props.d.ts +39 -45
  214. package/lib/ele-drawer/index.cjs +15 -14
  215. package/lib/ele-drawer/index.d.ts +2 -2
  216. package/lib/ele-drawer/props.cjs +4 -0
  217. package/lib/ele-drawer/props.d.ts +6 -0
  218. package/lib/ele-dropdown/components/pro-dropdown.d.ts +26 -26
  219. package/lib/ele-dropdown/index.d.ts +30 -30
  220. package/lib/ele-dropdown/props.d.ts +12 -12
  221. package/lib/ele-dropdown/types.d.ts +1 -1
  222. package/lib/ele-edit-tag/index.d.ts +1 -1
  223. package/lib/ele-ellipsis/props.d.ts +1 -1
  224. package/lib/ele-file-list/components/file-grid.cjs +1 -1
  225. package/lib/ele-file-list/components/file-grid.d.ts +1 -1
  226. package/lib/ele-file-list/components/file-table.cjs +1 -1
  227. package/lib/ele-file-list/components/file-table.d.ts +1 -1
  228. package/lib/ele-file-list/icons.cjs +10 -1
  229. package/lib/ele-file-list/types.d.ts +1 -1
  230. package/lib/ele-icon-select/index.cjs +3 -1
  231. package/lib/ele-icon-select/index.d.ts +5 -1
  232. package/lib/ele-icon-select/props.cjs +4 -0
  233. package/lib/ele-icon-select/props.d.ts +7 -2
  234. package/lib/ele-image-viewer/index.cjs +12 -14
  235. package/lib/ele-image-viewer/index.d.ts +2 -16
  236. package/lib/ele-image-viewer/props.d.ts +1 -8
  237. package/lib/ele-loading/index.cjs +5 -5
  238. package/lib/ele-map-picker/index.d.ts +2 -4
  239. package/lib/ele-mention/index.d.ts +29 -8
  240. package/lib/ele-mention/props.d.ts +9 -0
  241. package/lib/ele-menus/types.d.ts +2 -0
  242. package/lib/ele-menus/util.cjs +1 -1
  243. package/lib/ele-modal/index.cjs +36 -35
  244. package/lib/ele-modal/index.d.ts +4 -4
  245. package/lib/ele-popconfirm/index.cjs +5 -20
  246. package/lib/ele-popconfirm/index.d.ts +95 -96
  247. package/lib/ele-popconfirm/props.d.ts +32 -32
  248. package/lib/ele-popover/index.d.ts +72 -72
  249. package/lib/ele-printer/index.cjs +7 -7
  250. package/lib/ele-printer/index.d.ts +2 -2
  251. package/lib/ele-pro-form/components/render-util.d.ts +2 -2
  252. package/lib/ele-pro-form/index.d.ts +2 -2
  253. package/lib/ele-pro-form/props.d.ts +1 -1
  254. package/lib/ele-pro-form-builder/components/body-form.d.ts +1 -1
  255. package/lib/ele-pro-form-builder/components/body-header.d.ts +1 -1
  256. package/lib/ele-pro-form-builder/components/code-generator.d.ts +1 -1
  257. package/lib/ele-pro-form-builder/components/code-preview.d.ts +1 -1
  258. package/lib/ele-pro-form-builder/components/config-form.d.ts +1 -1
  259. package/lib/ele-pro-form-builder/components/import-modal.d.ts +1 -1
  260. package/lib/ele-pro-form-builder/components/preview-modal.d.ts +1 -1
  261. package/lib/ele-pro-form-builder/components/props-form.d.ts +1 -1
  262. package/lib/ele-pro-form-builder/components/table-util.cjs +3 -0
  263. package/lib/ele-pro-form-builder/components/template-list.d.ts +1 -1
  264. package/lib/ele-pro-form-builder/index.d.ts +1 -1
  265. package/lib/ele-pro-form-builder/props.d.ts +2 -1
  266. package/lib/ele-pro-form-builder/types.d.ts +1 -1
  267. package/lib/ele-pro-layout/index.d.ts +29 -29
  268. package/lib/ele-pro-layout/props.d.ts +12 -12
  269. package/lib/ele-pro-layout/style/index.scss +0 -2
  270. package/lib/ele-pro-layout/types.d.ts +2 -0
  271. package/lib/ele-pro-table/components/table-tools.d.ts +1 -1
  272. package/lib/ele-pro-table/components/tool-export.d.ts +2 -2
  273. package/lib/ele-pro-table/components/tool-print.d.ts +1 -1
  274. package/lib/ele-pro-table/index.cjs +10 -15
  275. package/lib/ele-pro-table/index.d.ts +40 -46
  276. package/lib/ele-pro-table/props.d.ts +18 -21
  277. package/lib/ele-pro-table/style/css-var.scss +4 -0
  278. package/lib/ele-pro-table/style/index.scss +2 -2
  279. package/lib/ele-radio-group/index.d.ts +2 -2
  280. package/lib/ele-segmented/index.d.ts +2 -2
  281. package/lib/ele-segmented/props.d.ts +1 -1
  282. package/lib/ele-segmented/style/index.scss +1 -0
  283. package/lib/ele-select/index.d.ts +9 -9
  284. package/lib/ele-select/props.cjs +1 -1
  285. package/lib/ele-select/props.d.ts +1 -1
  286. package/lib/ele-select-tree/index.d.ts +7 -7
  287. package/lib/ele-select-tree/props.cjs +1 -1
  288. package/lib/ele-select-tree/props.d.ts +1 -1
  289. package/lib/ele-split-panel/index.cjs +1 -1
  290. package/lib/ele-steps/types.d.ts +1 -1
  291. package/lib/ele-tab-bar/index.cjs +1 -0
  292. package/lib/ele-tab-bar/index.d.ts +4 -2
  293. package/lib/ele-tab-bar/props.cjs +4 -2
  294. package/lib/ele-tab-bar/props.d.ts +3 -1
  295. package/lib/ele-tab-bar/style/index.scss +1 -0
  296. package/lib/ele-table-select/props.cjs +1 -1
  297. package/lib/ele-table-select/props.d.ts +2 -2
  298. package/lib/ele-tabs/index.d.ts +16 -12
  299. package/lib/ele-tabs/style/index.scss +1 -0
  300. package/lib/ele-tabs/types.d.ts +1 -1
  301. package/lib/ele-timeline/types.d.ts +3 -3
  302. package/lib/ele-tooltip/index.d.ts +53 -53
  303. package/lib/ele-tour/index.cjs +7 -7
  304. package/lib/ele-transfer/index.d.ts +1 -1
  305. package/lib/ele-tree-select/index.d.ts +1 -1
  306. package/lib/ele-tree-select/props.d.ts +1 -1
  307. package/lib/ele-upload-list/components/list-item.cjs +1 -0
  308. package/lib/ele-upload-list/components/list-item.d.ts +3 -0
  309. package/lib/ele-upload-list/types.d.ts +1 -1
  310. package/lib/ele-virtual-table/index.d.ts +38 -44
  311. package/lib/ele-virtual-table/props.d.ts +19 -22
  312. package/lib/ele-watermark/index.cjs +7 -4
  313. package/lib/ele-watermark/util.cjs +12 -3
  314. package/lib/ele-watermark/util.d.ts +2 -0
  315. package/lib/style/themes/default.scss +6 -0
  316. package/lib/style/themes/rounded.scss +3 -0
  317. package/lib/style/themes/transparent.scss +3 -0
  318. package/lib/utils/common.cjs +10 -0
  319. package/lib/utils/common.d.ts +10 -0
  320. package/lib/utils/core.cjs +10 -1
  321. package/lib/utils/core.d.ts +6 -0
  322. package/lib/utils/menu-util.cjs +1 -0
  323. package/package.json +3 -2
@@ -1,10 +1,10 @@
1
- import { defineComponent, ref, shallowRef, watch, onMounted, onBeforeUnmount, createBlock, openBlock, Transition, withCtx, createElementBlock, createCommentVNode, normalizeStyle, renderSlot, createVNode, unref } from "vue";
1
+ import { defineComponent, ref, shallowRef, watch, onMounted, onBeforeUnmount, createBlock, openBlock, Transition, withCtx, createElementBlock, createCommentVNode, mergeProps, renderSlot, createVNode, unref } from "vue";
2
2
  import { ElIcon } from "element-plus";
3
3
  import { ArrowUp } from "../icons/index";
4
4
  import { throttle } from "../utils/common";
5
5
  import { backtopEmits, backtopProps } from "./props";
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
- ...{ name: "EleBacktop" },
7
+ ...{ name: "EleBacktop", inheritAttrs: false },
8
8
  __name: "index",
9
9
  props: backtopProps,
10
10
  emits: backtopEmits,
@@ -67,15 +67,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
67
67
  return (_ctx, _cache) => {
68
68
  return openBlock(), createBlock(Transition, { name: _ctx.transitionName }, {
69
69
  default: withCtx(() => [
70
- visible.value ? (openBlock(), createElementBlock("div", {
71
- key: 0,
70
+ visible.value ? (openBlock(), createElementBlock("div", mergeProps({ key: 0 }, _ctx.$attrs, {
72
71
  class: "ele-backtop",
73
- style: normalizeStyle({
72
+ style: {
74
73
  bottom: typeof _ctx.bottom === "number" ? `${_ctx.bottom}px` : _ctx.bottom,
75
74
  right: typeof _ctx.right === "number" ? `${_ctx.right}px` : _ctx.right
76
- }),
75
+ },
77
76
  onClick: handleClick
78
- }, [
77
+ }), [
79
78
  renderSlot(_ctx.$slots, "default", {}, () => [
80
79
  createVNode(unref(ElIcon), null, {
81
80
  default: withCtx(() => [
@@ -84,7 +83,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
84
83
  _: 1
85
84
  })
86
85
  ])
87
- ], 4)) : createCommentVNode("", true)
86
+ ], 16)) : createCommentVNode("", true)
88
87
  ]),
89
88
  _: 3
90
89
  }, 8, ["name"]);
@@ -0,0 +1,129 @@
1
+ import { ElInputInstance } from '../../ele-app/el';
2
+ import { SelectedItem } from '../types';
3
+
4
+ declare function __VLS_template(): {
5
+ prefix?(_: {}): any;
6
+ clearIcon?(_: {}): any;
7
+ suffixIcon?(_: {
8
+ visible: boolean;
9
+ }): any;
10
+ maxTagPlaceholder?(_: {
11
+ omittedValues: SelectedItem[];
12
+ omittedSize: number;
13
+ }): any;
14
+ default?(_: {}): any;
15
+ };
16
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
17
+ value: {
18
+ type: import('vue').PropType<import('../types').SelectValue>;
19
+ default: () => null;
20
+ };
21
+ multiple: BooleanConstructor;
22
+ disabled: BooleanConstructor;
23
+ size: import('vue').PropType<import('../../ele-app/el').ElInputProps["size"]>;
24
+ clearable: BooleanConstructor;
25
+ placeholder: StringConstructor;
26
+ selectedLabel: StringConstructor;
27
+ selected: import('vue').PropType<SelectedItem[]>;
28
+ maxTagCount: NumberConstructor;
29
+ maxTagTextLength: NumberConstructor;
30
+ tagType: import('vue').PropType<import('../../ele-app/el').ElTagProps["type"]>;
31
+ automaticDropdown: BooleanConstructor;
32
+ filterable: BooleanConstructor;
33
+ visible: BooleanConstructor;
34
+ teleported: BooleanConstructor;
35
+ persistent: BooleanConstructor;
36
+ placement: import('vue').PropType<import('../../ele-app/plus').EleTooltipProps["placement"]>;
37
+ transition: {
38
+ type: StringConstructor;
39
+ default: string;
40
+ };
41
+ popperOptions: import('vue').PropType<import('../../ele-app/plus').EleTooltipProps["popperOptions"]>;
42
+ popperClass: StringConstructor;
43
+ popperWidth: (StringConstructor | NumberConstructor)[];
44
+ selectClass: StringConstructor;
45
+ selectStyle: import('vue').PropType<import('../../ele-app/types').StyleValue>;
46
+ inputStyle: import('vue').PropType<import('../../ele-app/types').StyleValue>;
47
+ selectTagsStyle: import('vue').PropType<import('../../ele-app/types').StyleValue>;
48
+ popperType: import('vue').PropType<import('../types').PopperType>;
49
+ popperProps: import('vue').PropType<import('../types').PopperProps>;
50
+ popperSlots: ObjectConstructor;
51
+ }>, {
52
+ inputRef: import('vue').Ref<ElInputInstance, ElInputInstance>;
53
+ searchRef: import('vue').Ref<ElInputInstance, ElInputInstance>;
54
+ currentTags: import('vue').ComputedRef<SelectedItem[]>;
55
+ omittedTags: import('vue').ComputedRef<SelectedItem[]>;
56
+ omittedSize: import('vue').ComputedRef<number>;
57
+ focusSearchInput: () => void;
58
+ updateSearchValue: (modelValue: string) => void;
59
+ updateInputValue: (modelValue: string) => void;
60
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
61
+ clear: () => void;
62
+ focus: (_e: FocusEvent) => void;
63
+ blur: (_e: FocusEvent) => void;
64
+ "update:visible": (_visible: boolean) => void;
65
+ filterChange: (_value: string) => void;
66
+ removeTag: (_item: SelectedItem) => void;
67
+ inputClick: (_e: MouseEvent) => void;
68
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
69
+ value: {
70
+ type: import('vue').PropType<import('../types').SelectValue>;
71
+ default: () => null;
72
+ };
73
+ multiple: BooleanConstructor;
74
+ disabled: BooleanConstructor;
75
+ size: import('vue').PropType<import('../../ele-app/el').ElInputProps["size"]>;
76
+ clearable: BooleanConstructor;
77
+ placeholder: StringConstructor;
78
+ selectedLabel: StringConstructor;
79
+ selected: import('vue').PropType<SelectedItem[]>;
80
+ maxTagCount: NumberConstructor;
81
+ maxTagTextLength: NumberConstructor;
82
+ tagType: import('vue').PropType<import('../../ele-app/el').ElTagProps["type"]>;
83
+ automaticDropdown: BooleanConstructor;
84
+ filterable: BooleanConstructor;
85
+ visible: BooleanConstructor;
86
+ teleported: BooleanConstructor;
87
+ persistent: BooleanConstructor;
88
+ placement: import('vue').PropType<import('../../ele-app/plus').EleTooltipProps["placement"]>;
89
+ transition: {
90
+ type: StringConstructor;
91
+ default: string;
92
+ };
93
+ popperOptions: import('vue').PropType<import('../../ele-app/plus').EleTooltipProps["popperOptions"]>;
94
+ popperClass: StringConstructor;
95
+ popperWidth: (StringConstructor | NumberConstructor)[];
96
+ selectClass: StringConstructor;
97
+ selectStyle: import('vue').PropType<import('../../ele-app/types').StyleValue>;
98
+ inputStyle: import('vue').PropType<import('../../ele-app/types').StyleValue>;
99
+ selectTagsStyle: import('vue').PropType<import('../../ele-app/types').StyleValue>;
100
+ popperType: import('vue').PropType<import('../types').PopperType>;
101
+ popperProps: import('vue').PropType<import('../types').PopperProps>;
102
+ popperSlots: ObjectConstructor;
103
+ }>> & Readonly<{
104
+ onClear?: (() => any) | undefined;
105
+ onFocus?: ((_e: FocusEvent) => any) | undefined;
106
+ onBlur?: ((_e: FocusEvent) => any) | undefined;
107
+ "onUpdate:visible"?: ((_visible: boolean) => any) | undefined;
108
+ onFilterChange?: ((_value: string) => any) | undefined;
109
+ onRemoveTag?: ((_item: SelectedItem) => any) | undefined;
110
+ onInputClick?: ((_e: MouseEvent) => any) | undefined;
111
+ }>, {
112
+ value: import('../types').SelectValue;
113
+ teleported: boolean;
114
+ disabled: boolean;
115
+ clearable: boolean;
116
+ filterable: boolean;
117
+ persistent: boolean;
118
+ visible: boolean;
119
+ transition: string;
120
+ automaticDropdown: boolean;
121
+ multiple: boolean;
122
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
123
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
124
+ export default _default;
125
+ type __VLS_WithTemplateSlots<T, S> = T & {
126
+ new (): {
127
+ $slots: S;
128
+ };
129
+ };
@@ -0,0 +1,272 @@
1
+ import { defineComponent, ref, computed, watch, createElementBlock, openBlock, normalizeStyle, normalizeClass, createVNode, createCommentVNode, renderSlot, unref, withKeys, createSlots, withCtx, createBlock, withModifiers, Fragment, renderList, createTextVNode, toDisplayString, nextTick } from "vue";
2
+ import { ElInput, ElIcon, ElTag } from "element-plus";
3
+ import { CloseCircleFilled, ArrowDown } from "../../icons/index";
4
+ import { basicSelectEmits, basicSelectProps } from "../props";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ ...{ name: "SelectView" },
7
+ __name: "select-view",
8
+ props: basicSelectProps,
9
+ emits: {
10
+ ...basicSelectEmits,
11
+ /** 输入框点击事件 */
12
+ inputClick: (_e) => true
13
+ },
14
+ setup(__props, { expose: __expose, emit: __emit }) {
15
+ const props = __props;
16
+ const emit = __emit;
17
+ const inputRef = ref(null);
18
+ const searchRef = ref(null);
19
+ const inputValue = ref(
20
+ props.multiple || !props.selectedLabel ? "" : props.selectedLabel
21
+ );
22
+ const searchValue = ref("");
23
+ const isEmpty = computed(() => {
24
+ if (!props.multiple) {
25
+ return props.value == null || props.value === "";
26
+ }
27
+ return !Array.isArray(props.value) || !props.value.length;
28
+ });
29
+ const inputPlaceholder = computed(() => {
30
+ const str = isEmpty.value && props.placeholder ? props.placeholder : "";
31
+ if (!props.filterable || !props.visible || props.multiple) {
32
+ return str;
33
+ }
34
+ return props.selectedLabel || str;
35
+ });
36
+ const isCollapse = computed(() => {
37
+ return typeof props.maxTagCount === "number" && props.selected != null && props.selected.length > props.maxTagCount;
38
+ });
39
+ const currentTags = computed(() => {
40
+ if (!isCollapse.value || isEmpty.value || props.selected == null) {
41
+ return props.selected || [];
42
+ }
43
+ return props.selected.slice(0, props.maxTagCount);
44
+ });
45
+ const omittedTags = computed(() => {
46
+ if (!isCollapse.value || isEmpty.value || props.selected == null) {
47
+ return [];
48
+ }
49
+ return props.selected.slice(props.maxTagCount);
50
+ });
51
+ const omittedSize = computed(() => {
52
+ if (isEmpty.value || props.maxTagCount == null || props.maxTagCount < 0) {
53
+ return 0;
54
+ }
55
+ return props.value.length - props.maxTagCount;
56
+ });
57
+ const focusSearchInput = () => {
58
+ const input = props.multiple ? searchRef.value : inputRef.value;
59
+ input && input.focus();
60
+ nextTick(() => {
61
+ input && input.focus();
62
+ });
63
+ };
64
+ const updateSearchValue = (modelValue) => {
65
+ if (props.filterable && props.visible && props.multiple) {
66
+ searchValue.value = modelValue;
67
+ emit("filterChange", modelValue);
68
+ }
69
+ };
70
+ const updateInputValue = (modelValue) => {
71
+ if (props.filterable && props.visible && !props.multiple) {
72
+ inputValue.value = modelValue;
73
+ emit("filterChange", modelValue);
74
+ }
75
+ };
76
+ const updateVisible = (visible) => {
77
+ emit("update:visible", visible);
78
+ };
79
+ const handleTagClose = (item) => {
80
+ if (!props.disabled) {
81
+ emit("removeTag", item);
82
+ }
83
+ };
84
+ const handleClear = () => {
85
+ emit("clear");
86
+ };
87
+ const handleInputClick = (e) => {
88
+ emit("inputClick", e);
89
+ };
90
+ const handleInputFocus = (e) => {
91
+ if (props.automaticDropdown && !props.visible) {
92
+ updateVisible(true);
93
+ }
94
+ emit("focus", e);
95
+ };
96
+ const handleInputBlur = (e) => {
97
+ emit("blur", e);
98
+ };
99
+ const handleInputEsc = (e) => {
100
+ if (!props.disabled && props.visible) {
101
+ e.stopPropagation();
102
+ e.preventDefault();
103
+ updateVisible(false);
104
+ }
105
+ };
106
+ watch(
107
+ () => props.selectedLabel,
108
+ (label) => {
109
+ if (!props.filterable || !props.visible) {
110
+ inputValue.value = props.multiple || !label ? "" : label;
111
+ }
112
+ }
113
+ );
114
+ watch(
115
+ () => props.visible,
116
+ (visible) => {
117
+ if (props.filterable) {
118
+ if (props.multiple) {
119
+ searchValue.value = "";
120
+ if (visible) {
121
+ focusSearchInput();
122
+ }
123
+ } else {
124
+ const label = props.selectedLabel;
125
+ inputValue.value = visible || !label ? "" : label;
126
+ }
127
+ }
128
+ }
129
+ );
130
+ __expose({
131
+ inputRef,
132
+ searchRef,
133
+ currentTags,
134
+ omittedTags,
135
+ omittedSize,
136
+ focusSearchInput,
137
+ updateSearchValue,
138
+ updateInputValue
139
+ });
140
+ return (_ctx, _cache) => {
141
+ return openBlock(), createElementBlock("div", {
142
+ class: normalizeClass([
143
+ "ele-select",
144
+ _ctx.selectClass,
145
+ { "is-empty": isEmpty.value },
146
+ { "is-multiple": _ctx.multiple },
147
+ { "is-disabled": _ctx.disabled },
148
+ { "is-filterable": _ctx.filterable },
149
+ { "is-small": _ctx.size === "small" },
150
+ { "is-large": _ctx.size === "large" },
151
+ { "is-opened": _ctx.visible }
152
+ ]),
153
+ style: normalizeStyle(_ctx.selectStyle)
154
+ }, [
155
+ createVNode(unref(ElInput), {
156
+ ref_key: "inputRef",
157
+ ref: inputRef,
158
+ size: _ctx.size,
159
+ disabled: _ctx.disabled,
160
+ validateEvent: false,
161
+ modelValue: inputValue.value,
162
+ placeholder: _ctx.filterable && _ctx.multiple && _ctx.visible ? "" : inputPlaceholder.value,
163
+ readonly: !(_ctx.filterable && !_ctx.multiple),
164
+ style: normalizeStyle(_ctx.inputStyle),
165
+ "onUpdate:modelValue": updateInputValue,
166
+ onClick: handleInputClick,
167
+ onFocus: handleInputFocus,
168
+ onBlur: handleInputBlur,
169
+ onKeydown: withKeys(handleInputEsc, ["esc"])
170
+ }, createSlots({
171
+ suffix: withCtx(() => [
172
+ _ctx.clearable && !_ctx.disabled && !isEmpty.value ? (openBlock(), createBlock(unref(ElIcon), {
173
+ key: 0,
174
+ class: "ele-select-clear el-input__icon",
175
+ onClick: withModifiers(handleClear, ["stop"])
176
+ }, {
177
+ default: withCtx(() => [
178
+ renderSlot(_ctx.$slots, "clearIcon", {}, () => [
179
+ createVNode(unref(CloseCircleFilled))
180
+ ])
181
+ ]),
182
+ _: 3
183
+ })) : createCommentVNode("", true),
184
+ createVNode(unref(ElIcon), { class: "ele-select-arrow el-input__icon" }, {
185
+ default: withCtx(() => [
186
+ renderSlot(_ctx.$slots, "suffixIcon", { visible: _ctx.visible }, () => [
187
+ createVNode(unref(ArrowDown))
188
+ ])
189
+ ]),
190
+ _: 3
191
+ })
192
+ ]),
193
+ _: 2
194
+ }, [
195
+ _ctx.$slots.prefix ? {
196
+ name: "prefix",
197
+ fn: withCtx(() => [
198
+ renderSlot(_ctx.$slots, "prefix")
199
+ ]),
200
+ key: "0"
201
+ } : void 0
202
+ ]), 1032, ["size", "disabled", "modelValue", "placeholder", "readonly", "style"]),
203
+ _ctx.multiple ? (openBlock(), createElementBlock("div", {
204
+ key: 0,
205
+ class: "ele-select-tags",
206
+ style: normalizeStyle(_ctx.selectTagsStyle)
207
+ }, [
208
+ (openBlock(true), createElementBlock(Fragment, null, renderList(currentTags.value, (item, index) => {
209
+ return openBlock(), createBlock(unref(ElTag), {
210
+ key: index + "-" + item.value,
211
+ size: _ctx.size,
212
+ type: _ctx.tagType,
213
+ closable: !_ctx.disabled,
214
+ disableTransitions: true,
215
+ title: item.label,
216
+ onClose: ($event) => handleTagClose(item)
217
+ }, {
218
+ default: withCtx(() => [
219
+ item.label && _ctx.maxTagTextLength && item.label.length > _ctx.maxTagTextLength ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
220
+ createTextVNode(toDisplayString(item.label.slice(0, _ctx.maxTagTextLength)) + "... ", 1)
221
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
222
+ createTextVNode(toDisplayString(item.label), 1)
223
+ ], 64))
224
+ ]),
225
+ _: 2
226
+ }, 1032, ["size", "type", "closable", "title", "onClose"]);
227
+ }), 128)),
228
+ isCollapse.value ? (openBlock(), createBlock(unref(ElTag), {
229
+ key: 0,
230
+ size: _ctx.size,
231
+ type: _ctx.tagType,
232
+ disableTransitions: true
233
+ }, {
234
+ default: withCtx(() => [
235
+ renderSlot(_ctx.$slots, "maxTagPlaceholder", {
236
+ omittedValues: omittedTags.value,
237
+ omittedSize: omittedSize.value
238
+ }, () => [
239
+ createTextVNode(" +" + toDisplayString(omittedSize.value), 1)
240
+ ])
241
+ ]),
242
+ _: 3
243
+ }, 8, ["size", "type"])) : createCommentVNode("", true),
244
+ !_ctx.disabled && _ctx.filterable ? (openBlock(), createBlock(unref(ElTag), {
245
+ key: 1,
246
+ size: _ctx.size,
247
+ disableTransitions: true,
248
+ class: "ele-select-search"
249
+ }, {
250
+ default: withCtx(() => [
251
+ createVNode(unref(ElInput), {
252
+ ref_key: "searchRef",
253
+ ref: searchRef,
254
+ size: _ctx.size,
255
+ validateEvent: false,
256
+ modelValue: searchValue.value,
257
+ placeholder: inputPlaceholder.value,
258
+ "onUpdate:modelValue": updateSearchValue,
259
+ onKeydown: withKeys(handleInputEsc, ["esc"])
260
+ }, null, 8, ["size", "modelValue", "placeholder"])
261
+ ]),
262
+ _: 1
263
+ }, 8, ["size"])) : createCommentVNode("", true)
264
+ ], 4)) : createCommentVNode("", true),
265
+ renderSlot(_ctx.$slots, "default")
266
+ ], 6);
267
+ };
268
+ }
269
+ });
270
+ export {
271
+ _sfc_main as default
272
+ };
@@ -1,17 +1,7 @@
1
- import { ElInputInstance } from '../ele-app/el';
2
- import { EleTooltipInstance } from '../ele-app/plus';
1
+ import { EleTooltipInstance, EleBasicSelectViewInstance } from '../ele-app/plus';
3
2
  import { SelectedItem } from './types';
4
3
 
5
- declare function __VLS_template(): {
6
- prefix?(_: {}): any;
7
- clearIcon?(_: {}): any;
8
- suffixIcon?(_: {
9
- visible: boolean;
10
- }): any;
11
- maxTagPlaceholder?(_: {
12
- omittedValues: SelectedItem[];
13
- omittedSize: number;
14
- }): any;
4
+ declare function __VLS_template(): Partial<Record<string, (_: any) => any>> & Partial<Record<any, (_: any) => any>> & Partial<Record<string, (_: any) => any>> & {
15
5
  default?(_: {}): any;
16
6
  };
17
7
  declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
@@ -46,21 +36,18 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
46
36
  selectStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
47
37
  inputStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
48
38
  selectTagsStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
39
+ popperType: import('vue').PropType<import('./types').PopperType>;
40
+ popperProps: import('vue').PropType<import('./types').PopperProps>;
41
+ popperSlots: ObjectConstructor;
49
42
  }>, {
50
43
  tooltipRef: import('vue').Ref<EleTooltipInstance, EleTooltipInstance>;
51
- inputRef: import('vue').Ref<ElInputInstance, ElInputInstance>;
52
- searchRef: import('vue').Ref<ElInputInstance, ElInputInstance>;
53
- currentTags: import('vue').ComputedRef<SelectedItem[]>;
54
- omittedTags: import('vue').ComputedRef<SelectedItem[]>;
55
- omittedSize: import('vue').ComputedRef<number>;
44
+ selectViewRef: import('vue').Ref<EleBasicSelectViewInstance, EleBasicSelectViewInstance>;
56
45
  updatePopper: () => void;
57
46
  focusSearchInput: (e?: MouseEvent) => void;
58
- updateSearchValue: (modelValue: string) => void;
59
- updateInputValue: (modelValue: string) => void;
60
47
  updateVisible: (visible: boolean) => void;
61
48
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
62
- focus: (_e: FocusEvent) => void;
63
49
  blur: (_e: FocusEvent) => void;
50
+ focus: (_e: FocusEvent) => void;
64
51
  clear: () => void;
65
52
  "update:visible": (_visible: boolean) => void;
66
53
  filterChange: (_value: string) => void;
@@ -97,18 +84,21 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
97
84
  selectStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
98
85
  inputStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
99
86
  selectTagsStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
87
+ popperType: import('vue').PropType<import('./types').PopperType>;
88
+ popperProps: import('vue').PropType<import('./types').PopperProps>;
89
+ popperSlots: ObjectConstructor;
100
90
  }>> & Readonly<{
101
- onFocus?: ((_e: FocusEvent) => any) | undefined;
102
91
  onBlur?: ((_e: FocusEvent) => any) | undefined;
92
+ onFocus?: ((_e: FocusEvent) => any) | undefined;
103
93
  onClear?: (() => any) | undefined;
104
94
  "onUpdate:visible"?: ((_visible: boolean) => any) | undefined;
105
95
  onFilterChange?: ((_value: string) => any) | undefined;
106
96
  onRemoveTag?: ((_item: SelectedItem) => any) | undefined;
107
97
  }>, {
108
- value: import('./types').SelectValue;
109
98
  teleported: boolean;
110
- clearable: boolean;
111
99
  disabled: boolean;
100
+ clearable: boolean;
101
+ value: import('./types').SelectValue;
112
102
  filterable: boolean;
113
103
  persistent: boolean;
114
104
  visible: boolean;