ele-admin-plus 1.4.1-beta.1 → 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 (224) hide show
  1. package/es/core-components.d.ts +2 -0
  2. package/es/core-components.js +104 -100
  3. package/es/ele-app/plus.d.ts +9 -1
  4. package/es/ele-app/plusx.d.ts +26 -13
  5. package/es/ele-backtop/index.js +7 -1
  6. package/es/ele-basic-select/components/select-view.d.ts +53 -22
  7. package/es/ele-basic-select/components/select-view.js +57 -20
  8. package/es/ele-basic-select/index.d.ts +39 -19
  9. package/es/ele-basic-select/index.js +62 -13
  10. package/es/ele-basic-select/props.d.ts +33 -21
  11. package/es/ele-basic-select/props.js +33 -21
  12. package/es/ele-basic-select/style/index.js +2 -0
  13. package/es/ele-basic-select/types.d.ts +1 -1
  14. package/es/ele-config-provider/components/receiver-view.d.ts +2 -0
  15. package/es/ele-config-provider/components/receiver-view.js +74 -72
  16. package/es/ele-config-provider/receiver.d.ts +2 -2
  17. package/es/ele-config-provider/receiver.js +5 -1
  18. package/es/ele-config-provider/types.d.ts +10 -1
  19. package/es/ele-copyable/index.d.ts +2 -4
  20. package/es/ele-cron-builder/index.d.ts +24 -0
  21. package/es/ele-cron-builder/index.js +81 -0
  22. package/es/ele-cron-builder/props.d.ts +31 -0
  23. package/es/ele-cron-builder/props.js +24 -0
  24. package/es/ele-cron-builder/style/index.d.ts +1 -0
  25. package/es/ele-cron-builder/style/index.js +4 -0
  26. package/es/ele-cron-builder/style/index.scss +6 -0
  27. package/es/ele-cron-builder/types.d.ts +8 -0
  28. package/es/ele-cron-panel/components/cron-day.d.ts +25 -0
  29. package/es/ele-cron-panel/components/cron-day.js +232 -0
  30. package/es/ele-cron-panel/components/cron-hour.d.ts +25 -0
  31. package/es/ele-cron-panel/components/cron-hour.js +174 -0
  32. package/es/ele-cron-panel/components/cron-minute.d.ts +25 -0
  33. package/es/ele-cron-panel/components/cron-minute.js +174 -0
  34. package/es/ele-cron-panel/components/cron-month.d.ts +25 -0
  35. package/es/ele-cron-panel/components/cron-month.js +174 -0
  36. package/es/ele-cron-panel/components/cron-second.d.ts +25 -0
  37. package/es/ele-cron-panel/components/cron-second.js +174 -0
  38. package/es/ele-cron-panel/components/cron-week.d.ts +25 -0
  39. package/es/ele-cron-panel/components/cron-week.js +229 -0
  40. package/es/ele-cron-panel/components/cron-year.d.ts +25 -0
  41. package/es/ele-cron-panel/components/cron-year.js +186 -0
  42. package/es/ele-cron-panel/index.d.ts +14 -0
  43. package/es/ele-cron-panel/index.js +348 -0
  44. package/es/ele-cron-panel/props.d.ts +20 -0
  45. package/es/ele-cron-panel/props.js +14 -0
  46. package/es/ele-cron-panel/style/index.d.ts +1 -0
  47. package/es/ele-cron-panel/style/index.js +7 -0
  48. package/es/ele-cron-panel/style/index.scss +282 -0
  49. package/es/ele-cron-panel/types.d.ts +118 -0
  50. package/es/ele-cron-panel/util.d.ts +23 -0
  51. package/es/ele-cron-panel/util.js +542 -0
  52. package/es/ele-cropper/components/cropper-tools.d.ts +2 -2
  53. package/es/ele-cropper-modal/index.d.ts +2 -4
  54. package/es/ele-crud/index.d.ts +3 -3
  55. package/es/ele-drawer/index.d.ts +9 -0
  56. package/es/ele-drawer/index.js +5 -1
  57. package/es/ele-drawer/props.d.ts +5 -0
  58. package/es/ele-drawer/props.js +6 -1
  59. package/es/ele-drawer/style/index.scss +11 -0
  60. package/es/ele-file-list/index.d.ts +3 -3
  61. package/es/ele-icon-select/components/icon-grid.d.ts +8 -3
  62. package/es/ele-icon-select/components/icon-grid.js +20 -12
  63. package/es/ele-icon-select/index.d.ts +58 -59
  64. package/es/ele-icon-select/index.js +92 -86
  65. package/es/ele-icon-select/props.d.ts +35 -35
  66. package/es/ele-icon-select/props.js +34 -34
  67. package/es/ele-icon-select/style/css-var.scss +1 -1
  68. package/es/ele-icon-select/style/index.scss +50 -18
  69. package/es/ele-icon-select/types.d.ts +13 -0
  70. package/es/ele-map-picker/index.d.ts +3 -3
  71. package/es/ele-modal/index.d.ts +4 -2
  72. package/es/ele-modal/index.js +9 -3
  73. package/es/ele-modal/props.d.ts +2 -0
  74. package/es/ele-modal/props.js +2 -0
  75. package/es/ele-modal/style/index.scss +16 -0
  76. package/es/ele-pro-form/components/item-type-data.js +39 -64
  77. package/es/ele-pro-form/index.d.ts +3 -3
  78. package/es/ele-pro-table/components/table-tools.d.ts +12 -97
  79. package/es/ele-pro-table/components/table-tools.js +118 -248
  80. package/es/ele-pro-table/components/tool-export.d.ts +5 -1
  81. package/es/ele-pro-table/components/tool-export.js +32 -20
  82. package/es/ele-pro-table/components/tool-print.d.ts +5 -1
  83. package/es/ele-pro-table/components/tool-print.js +37 -25
  84. package/es/ele-pro-table/exceljs-plugin.d.ts +12 -0
  85. package/es/ele-pro-table/exceljs-plugin.js +81 -0
  86. package/es/ele-pro-table/index.d.ts +6 -7
  87. package/es/ele-pro-table/index.js +117 -46
  88. package/es/ele-pro-table/types.d.ts +11 -0
  89. package/es/ele-split-panel/style/index.scss +1 -1
  90. package/es/ele-table-select/index.d.ts +2 -0
  91. package/es/ele-table-select/props.d.ts +2 -0
  92. package/es/ele-table-select/props.js +3 -1
  93. package/es/ele-tour/index.d.ts +3 -3
  94. package/es/ele-tree-select/index.d.ts +2 -0
  95. package/es/ele-upload-list/index.d.ts +3 -3
  96. package/es/ele-upload-list/index.js +25 -8
  97. package/es/ele-virtual-table/components/body-cell.d.ts +1 -1
  98. package/es/ele-watermark/index.d.ts +20 -7
  99. package/es/ele-watermark/index.js +253 -94
  100. package/es/ele-watermark/props.d.ts +10 -3
  101. package/es/ele-watermark/props.js +10 -3
  102. package/es/ele-watermark/types.d.ts +12 -0
  103. package/es/ele-watermark/util.d.ts +2 -9
  104. package/es/ele-watermark/util.js +10 -19
  105. package/es/lang/en_US.js +116 -0
  106. package/es/lang/zh_CN.js +116 -0
  107. package/es/lang/zh_TW.js +116 -0
  108. package/es/style/plus.scss +3 -1
  109. package/es/style/themes/default.scss +12 -3
  110. package/es/style/themes/rounded.scss +2 -1
  111. package/es/utils/theme-util.d.ts +1 -1
  112. package/lib/core-components.cjs +104 -100
  113. package/lib/core-components.d.ts +2 -0
  114. package/lib/ele-app/plus.d.ts +9 -1
  115. package/lib/ele-app/plusx.d.ts +26 -13
  116. package/lib/ele-backtop/index.cjs +6 -0
  117. package/lib/ele-basic-select/components/select-view.cjs +56 -19
  118. package/lib/ele-basic-select/components/select-view.d.ts +53 -22
  119. package/lib/ele-basic-select/index.cjs +61 -12
  120. package/lib/ele-basic-select/index.d.ts +39 -19
  121. package/lib/ele-basic-select/props.cjs +33 -21
  122. package/lib/ele-basic-select/props.d.ts +33 -21
  123. package/lib/ele-basic-select/style/index.cjs +2 -0
  124. package/lib/ele-basic-select/types.d.ts +1 -1
  125. package/lib/ele-config-provider/components/receiver-view.cjs +2 -2
  126. package/lib/ele-config-provider/components/receiver-view.d.ts +2 -0
  127. package/lib/ele-config-provider/receiver.cjs +5 -1
  128. package/lib/ele-config-provider/receiver.d.ts +2 -2
  129. package/lib/ele-config-provider/types.d.ts +10 -1
  130. package/lib/ele-copyable/index.d.ts +2 -4
  131. package/lib/ele-cron-builder/index.cjs +80 -0
  132. package/lib/ele-cron-builder/index.d.ts +24 -0
  133. package/lib/ele-cron-builder/props.cjs +24 -0
  134. package/lib/ele-cron-builder/props.d.ts +31 -0
  135. package/lib/ele-cron-builder/style/index.cjs +5 -0
  136. package/lib/ele-cron-builder/style/index.d.ts +1 -0
  137. package/lib/ele-cron-builder/style/index.scss +6 -0
  138. package/lib/ele-cron-builder/types.d.ts +8 -0
  139. package/lib/ele-cron-panel/components/cron-day.cjs +231 -0
  140. package/lib/ele-cron-panel/components/cron-day.d.ts +25 -0
  141. package/lib/ele-cron-panel/components/cron-hour.cjs +173 -0
  142. package/lib/ele-cron-panel/components/cron-hour.d.ts +25 -0
  143. package/lib/ele-cron-panel/components/cron-minute.cjs +173 -0
  144. package/lib/ele-cron-panel/components/cron-minute.d.ts +25 -0
  145. package/lib/ele-cron-panel/components/cron-month.cjs +173 -0
  146. package/lib/ele-cron-panel/components/cron-month.d.ts +25 -0
  147. package/lib/ele-cron-panel/components/cron-second.cjs +173 -0
  148. package/lib/ele-cron-panel/components/cron-second.d.ts +25 -0
  149. package/lib/ele-cron-panel/components/cron-week.cjs +228 -0
  150. package/lib/ele-cron-panel/components/cron-week.d.ts +25 -0
  151. package/lib/ele-cron-panel/components/cron-year.cjs +185 -0
  152. package/lib/ele-cron-panel/components/cron-year.d.ts +25 -0
  153. package/lib/ele-cron-panel/index.cjs +347 -0
  154. package/lib/ele-cron-panel/index.d.ts +14 -0
  155. package/lib/ele-cron-panel/props.cjs +14 -0
  156. package/lib/ele-cron-panel/props.d.ts +20 -0
  157. package/lib/ele-cron-panel/style/index.cjs +8 -0
  158. package/lib/ele-cron-panel/style/index.d.ts +1 -0
  159. package/lib/ele-cron-panel/style/index.scss +282 -0
  160. package/lib/ele-cron-panel/types.d.ts +118 -0
  161. package/lib/ele-cron-panel/util.cjs +542 -0
  162. package/lib/ele-cron-panel/util.d.ts +23 -0
  163. package/lib/ele-cropper/components/cropper-tools.d.ts +2 -2
  164. package/lib/ele-cropper-modal/index.d.ts +2 -4
  165. package/lib/ele-crud/index.d.ts +3 -3
  166. package/lib/ele-drawer/index.cjs +4 -0
  167. package/lib/ele-drawer/index.d.ts +9 -0
  168. package/lib/ele-drawer/props.cjs +6 -1
  169. package/lib/ele-drawer/props.d.ts +5 -0
  170. package/lib/ele-drawer/style/index.scss +11 -0
  171. package/lib/ele-file-list/index.d.ts +3 -3
  172. package/lib/ele-icon-select/components/icon-grid.cjs +19 -11
  173. package/lib/ele-icon-select/components/icon-grid.d.ts +8 -3
  174. package/lib/ele-icon-select/index.cjs +91 -85
  175. package/lib/ele-icon-select/index.d.ts +58 -59
  176. package/lib/ele-icon-select/props.cjs +34 -34
  177. package/lib/ele-icon-select/props.d.ts +35 -35
  178. package/lib/ele-icon-select/style/css-var.scss +1 -1
  179. package/lib/ele-icon-select/style/index.scss +50 -18
  180. package/lib/ele-icon-select/types.d.ts +13 -0
  181. package/lib/ele-map-picker/index.d.ts +3 -3
  182. package/lib/ele-modal/index.cjs +9 -3
  183. package/lib/ele-modal/index.d.ts +4 -2
  184. package/lib/ele-modal/props.cjs +2 -0
  185. package/lib/ele-modal/props.d.ts +2 -0
  186. package/lib/ele-modal/style/index.scss +16 -0
  187. package/lib/ele-pro-form/components/item-type-data.cjs +39 -64
  188. package/lib/ele-pro-form/index.d.ts +3 -3
  189. package/lib/ele-pro-table/components/table-tools.cjs +117 -247
  190. package/lib/ele-pro-table/components/table-tools.d.ts +12 -97
  191. package/lib/ele-pro-table/components/tool-export.cjs +32 -20
  192. package/lib/ele-pro-table/components/tool-export.d.ts +5 -1
  193. package/lib/ele-pro-table/components/tool-print.cjs +37 -25
  194. package/lib/ele-pro-table/components/tool-print.d.ts +5 -1
  195. package/lib/ele-pro-table/exceljs-plugin.cjs +81 -0
  196. package/lib/ele-pro-table/exceljs-plugin.d.ts +12 -0
  197. package/lib/ele-pro-table/index.cjs +143 -72
  198. package/lib/ele-pro-table/index.d.ts +6 -7
  199. package/lib/ele-pro-table/types.d.ts +11 -0
  200. package/lib/ele-split-panel/style/index.scss +1 -1
  201. package/lib/ele-table-select/index.d.ts +2 -0
  202. package/lib/ele-table-select/props.cjs +3 -1
  203. package/lib/ele-table-select/props.d.ts +2 -0
  204. package/lib/ele-tour/index.d.ts +3 -3
  205. package/lib/ele-tree-select/index.d.ts +2 -0
  206. package/lib/ele-upload-list/index.cjs +25 -8
  207. package/lib/ele-upload-list/index.d.ts +3 -3
  208. package/lib/ele-virtual-table/components/body-cell.d.ts +1 -1
  209. package/lib/ele-watermark/index.cjs +251 -92
  210. package/lib/ele-watermark/index.d.ts +20 -7
  211. package/lib/ele-watermark/props.cjs +10 -3
  212. package/lib/ele-watermark/props.d.ts +10 -3
  213. package/lib/ele-watermark/types.d.ts +12 -0
  214. package/lib/ele-watermark/util.cjs +10 -19
  215. package/lib/ele-watermark/util.d.ts +2 -9
  216. package/lib/lang/en_US.cjs +116 -0
  217. package/lib/lang/zh_CN.cjs +116 -0
  218. package/lib/lang/zh_TW.cjs +116 -0
  219. package/lib/style/plus.scss +3 -1
  220. package/lib/style/themes/default.scss +12 -3
  221. package/lib/style/themes/rounded.scss +2 -1
  222. package/lib/utils/theme-util.d.ts +1 -1
  223. package/package.json +1 -1
  224. package/typings/global.d.ts +2 -0
@@ -1,5 +1,3 @@
1
- import { CropperLocale } from '../ele-cropper/types';
2
-
3
1
  declare function __VLS_template(): {
4
2
  header?(_: {
5
3
  close: () => void;
@@ -50,7 +48,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
50
48
  type: BooleanConstructor;
51
49
  default: null;
52
50
  };
53
- locale: import('vue').PropType<Partial<CropperLocale>>;
51
+ locale: import('vue').PropType<Partial<import('../ele-cropper/types').CropperLocale>>;
54
52
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
55
53
  done: (_result: string | Blob | null) => void;
56
54
  "update:modelValue": (_value: boolean) => void;
@@ -92,7 +90,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
92
90
  type: BooleanConstructor;
93
91
  default: null;
94
92
  };
95
- locale: import('vue').PropType<Partial<CropperLocale>>;
93
+ locale: import('vue').PropType<Partial<import('../ele-cropper/types').CropperLocale>>;
96
94
  }>> & Readonly<{
97
95
  onDone?: ((_result: string | Blob | null) => any) | undefined;
98
96
  "onUpdate:modelValue"?: ((_value: boolean) => any) | undefined;
@@ -1,6 +1,6 @@
1
1
  import { EleProTableInstance } from '../ele-app/plus';
2
2
  import { DataItem } from '../ele-data-table/types';
3
- import { CrudField, DeleteApi, TreeListApi, CrudLocale } from './types';
3
+ import { CrudField, DeleteApi, TreeListApi } from './types';
4
4
 
5
5
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
6
6
  fields: import('vue').PropType<CrudField[]>;
@@ -28,7 +28,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
28
28
  itemTypeData: import('vue').PropType<import('../ele-pro-form/types').ProFormItemTypeData[]>;
29
29
  httpRequest: (ObjectConstructor | FunctionConstructor)[];
30
30
  screenSize: import('vue').PropType<import('../ele-pro-form/types').ScreenSize>;
31
- locale: import('vue').PropType<Partial<CrudLocale>>;
31
+ locale: import('vue').PropType<Partial<import('./types').CrudLocale>>;
32
32
  }>, {
33
33
  tableRef: import('vue').Ref<EleProTableInstance, EleProTableInstance>;
34
34
  getTableSelections: () => {
@@ -66,7 +66,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
66
66
  itemTypeData: import('vue').PropType<import('../ele-pro-form/types').ProFormItemTypeData[]>;
67
67
  httpRequest: (ObjectConstructor | FunctionConstructor)[];
68
68
  screenSize: import('vue').PropType<import('../ele-pro-form/types').ScreenSize>;
69
- locale: import('vue').PropType<Partial<CrudLocale>>;
69
+ locale: import('vue').PropType<Partial<import('./types').CrudLocale>>;
70
70
  }>> & Readonly<{
71
71
  onTableSelectionsChange?: ((_selections: DataItem[]) => any) | undefined;
72
72
  }>, {
@@ -17,10 +17,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
17
  const props$1 = __props;
18
18
  const emit = __emit;
19
19
  const layoutState = util.useLayoutState();
20
+ const isResponsive = util.useResponsive(props$1);
20
21
  const drawerRef = vue.ref(null);
21
22
  const isActivated = vue.ref(true);
22
23
  const drawerClass = vue.computed(() => {
23
24
  const classes = ["ele-drawer"];
25
+ if (isResponsive.value) {
26
+ classes.push("ele-drawer-responsive");
27
+ }
24
28
  if (!props$1.modelValue) {
25
29
  classes.push("ele-drawer-closed");
26
30
  }
@@ -13,6 +13,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
13
13
  footerStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
14
14
  closeBtnStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
15
15
  inner: BooleanConstructor;
16
+ responsive: {
17
+ type: BooleanConstructor;
18
+ default: null;
19
+ };
16
20
  direction: {
17
21
  readonly type: import('vue').PropType<"ltr" | "rtl" | "ttb" | "btt">;
18
22
  readonly required: false;
@@ -194,6 +198,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
194
198
  footerStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
195
199
  closeBtnStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
196
200
  inner: BooleanConstructor;
201
+ responsive: {
202
+ type: BooleanConstructor;
203
+ default: null;
204
+ };
197
205
  direction: {
198
206
  readonly type: import('vue').PropType<"ltr" | "rtl" | "ttb" | "btt">;
199
207
  readonly required: false;
@@ -391,6 +399,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
391
399
  withHeader: boolean;
392
400
  modalFade: boolean;
393
401
  inner: boolean;
402
+ responsive: boolean;
394
403
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
395
404
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
396
405
  export default _default;
@@ -14,7 +14,12 @@ const drawerProps = {
14
14
  /** 自定义关闭按钮样式 */
15
15
  closeBtnStyle: Object,
16
16
  /** 是否限制在主体内部 */
17
- inner: Boolean
17
+ inner: Boolean,
18
+ /** 是否开启响应式 */
19
+ responsive: {
20
+ type: Boolean,
21
+ default: null
22
+ }
18
23
  };
19
24
  const elDrawerPropKeys = Object.keys(
20
25
  elementPlus.drawerProps
@@ -18,6 +18,11 @@ export declare const drawerProps: {
18
18
  closeBtnStyle: PropType<StyleValue>;
19
19
  /** 是否限制在主体内部 */
20
20
  inner: BooleanConstructor;
21
+ /** 是否开启响应式 */
22
+ responsive: {
23
+ type: BooleanConstructor;
24
+ default: null;
25
+ };
21
26
  direction: {
22
27
  readonly type: PropType<"ltr" | "rtl" | "ttb" | "btt">;
23
28
  readonly required: false;
@@ -6,6 +6,11 @@
6
6
 
7
7
  /* 抽屉 */
8
8
  .ele-drawer {
9
+ &.el-drawer-fade-enter-active *,
10
+ &.el-drawer-fade-leave-active * {
11
+ pointer-events: none !important;
12
+ }
13
+
9
14
  &.el-overlay {
10
15
  overflow: hidden;
11
16
  }
@@ -88,6 +93,12 @@
88
93
  display: none !important;
89
94
  }
90
95
 
96
+ /* 最大宽度适应屏幕 */
97
+ .ele-drawer-responsive > .el-drawer {
98
+ max-width: 100%;
99
+ max-height: 100%;
100
+ }
101
+
91
102
  /* 限制在主体区域 */
92
103
  .ele-admin-modals > .ele-drawer {
93
104
  height: auto;
@@ -1,5 +1,5 @@
1
1
  import { EleDropdownInstance } from '../ele-app/plus';
2
- import { FileItem, SortValue, ItemContextMenuOption, FileListLocale } from './types';
2
+ import { FileItem, SortValue, ItemContextMenuOption } from './types';
3
3
 
4
4
  declare function __VLS_template(): Partial<Record<string, (_: any) => any>> & Partial<Record<string, (_: {
5
5
  item: FileItem;
@@ -29,7 +29,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
29
29
  boxChoose: BooleanConstructor;
30
30
  contextMenus: import('vue').PropType<import('./types').ContextMenus>;
31
31
  contextMenuProps: import('vue').PropType<import('../ele-app/plus').EleDropdownProps>;
32
- locale: import('vue').PropType<Partial<FileListLocale>>;
32
+ locale: import('vue').PropType<Partial<import('./types').FileListLocale>>;
33
33
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
34
34
  itemClick: (_item: FileItem) => void;
35
35
  sortChange: (_sorter: SortValue) => void;
@@ -61,7 +61,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
61
61
  boxChoose: BooleanConstructor;
62
62
  contextMenus: import('vue').PropType<import('./types').ContextMenus>;
63
63
  contextMenuProps: import('vue').PropType<import('../ele-app/plus').EleDropdownProps>;
64
- locale: import('vue').PropType<Partial<FileListLocale>>;
64
+ locale: import('vue').PropType<Partial<import('./types').FileListLocale>>;
65
65
  }>> & Readonly<{
66
66
  onItemClick?: ((_item: FileItem) => any) | undefined;
67
67
  onSortChange?: ((_sorter: SortValue) => any) | undefined;
@@ -4,6 +4,10 @@ const elementPlus = require("element-plus");
4
4
  const EleTooltip = require("../../ele-tooltip/index");
5
5
  const _hoisted_1 = ["title", "onClick", "onMouseover"];
6
6
  const _hoisted_2 = {
7
+ key: 0,
8
+ class: "ele-icon-select-item-name"
9
+ };
10
+ const _hoisted_3 = {
7
11
  key: 0,
8
12
  class: "ele-icon-select-empty"
9
13
  };
@@ -21,7 +25,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
25
  /** 空组件属性 */
22
26
  emptyProps: Object,
23
27
  /** 是否显示提示 */
24
- tooltip: Boolean,
28
+ tooltip: [Boolean, String],
25
29
  /** 提示属性 */
26
30
  tooltipProps: Object,
27
31
  /** 气泡是否展开 */
@@ -29,7 +33,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
33
  /** 网格样式 */
30
34
  gridStyle: Object,
31
35
  /** 图标样式 */
32
- itemStyle: Object
36
+ itemStyle: Object,
37
+ /** 下拉组件类型 */
38
+ popperType: String
33
39
  },
34
40
  emits: {
35
41
  select: (_icon) => true
@@ -47,7 +53,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
47
53
  updateTooltipVisible(false);
48
54
  };
49
55
  const handleItemHover = (icon, e) => {
50
- if (props.tooltip && props.popperVisible && icon) {
56
+ if (props.tooltip === true && (props.popperVisible || props.popperType === "default") && icon) {
51
57
  virtualRef.value = e.currentTarget;
52
58
  tooltipContent.value = icon;
53
59
  tooltipVisible.value = true;
@@ -71,14 +77,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
71
77
  return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElScrollbar), { class: "ele-icon-select-body" }, {
72
78
  default: vue.withCtx(() => [
73
79
  vue.createElementVNode("div", {
74
- class: "ele-icon-select-grid",
80
+ class: vue.normalizeClass(["ele-icon-select-grid", { "is-loose": __props.tooltip === "static" }]),
75
81
  style: vue.normalizeStyle(__props.gridStyle)
76
82
  }, [
77
83
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.data, (d, i) => {
78
84
  return vue.openBlock(), vue.createElementBlock("div", {
79
85
  key: i + "-" + d,
80
86
  class: vue.normalizeClass(["ele-icon-select-item", { "is-active": __props.icon && d === __props.icon }]),
81
- title: __props.tooltip ? void 0 : d,
87
+ title: !__props.tooltip || __props.tooltip === "static" ? d : void 0,
82
88
  style: vue.normalizeStyle(__props.itemStyle),
83
89
  onClick: ($event) => handleItemClick(d),
84
90
  onMouseover: (e) => handleItemHover(d, e)
@@ -86,24 +92,26 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
86
92
  vue.renderSlot(_ctx.$slots, "icon", {
87
93
  icon: d,
88
94
  prefix: false
89
- })
95
+ }),
96
+ __props.tooltip === "static" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, vue.toDisplayString(d), 1)) : vue.createCommentVNode("", true)
90
97
  ], 46, _hoisted_1);
91
98
  }), 128))
92
- ], 4),
93
- !__props.data || !__props.data.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
99
+ ], 6),
100
+ !__props.data || !__props.data.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
94
101
  vue.createVNode(vue.unref(elementPlus.ElEmpty), vue.mergeProps({ imageSize: 60 }, __props.emptyProps || {}), null, 16)
95
102
  ])) : vue.createCommentVNode("", true),
96
- vue.createVNode(EleTooltip, vue.mergeProps({
103
+ __props.tooltip === true ? (vue.openBlock(), vue.createBlock(EleTooltip, vue.mergeProps({
104
+ key: 1,
97
105
  placement: "top",
98
106
  offset: 6,
99
- teleported: false
107
+ teleported: __props.popperType !== "popper"
100
108
  }, __props.tooltipProps || {}, {
101
109
  visible: tooltipVisible.value,
102
110
  content: tooltipContent.value,
103
111
  virtualRef: virtualRef.value,
104
112
  virtualTriggering: true,
105
113
  "onUpdate:visible": updateTooltipVisible
106
- }), null, 16, ["visible", "content", "virtualRef"])
114
+ }), null, 16, ["teleported", "visible", "content", "virtualRef"])) : vue.createCommentVNode("", true)
107
115
  ]),
108
116
  _: 3
109
117
  });
@@ -2,6 +2,8 @@ import { PropType } from 'vue';
2
2
  import { StyleValue } from '../../ele-app/types';
3
3
  import { ElEmptyProps } from '../../ele-app/el';
4
4
  import { EleTooltipProps } from '../../ele-app/plus';
5
+ import { PopperType } from '../../ele-basic-select/types';
6
+ import { ItemTooltip } from '../types';
5
7
 
6
8
  declare function __VLS_template(): {
7
9
  icon?(_: {
@@ -20,7 +22,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
20
22
  /** 空组件属性 */
21
23
  emptyProps: PropType<ElEmptyProps>;
22
24
  /** 是否显示提示 */
23
- tooltip: BooleanConstructor;
25
+ tooltip: PropType<ItemTooltip>;
24
26
  /** 提示属性 */
25
27
  tooltipProps: PropType<EleTooltipProps>;
26
28
  /** 气泡是否展开 */
@@ -29,6 +31,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
29
31
  gridStyle: PropType<StyleValue>;
30
32
  /** 图标样式 */
31
33
  itemStyle: PropType<StyleValue>;
34
+ /** 下拉组件类型 */
35
+ popperType: PropType<PopperType>;
32
36
  }>, {
33
37
  hideTooltip: () => void;
34
38
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -44,7 +48,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
44
48
  /** 空组件属性 */
45
49
  emptyProps: PropType<ElEmptyProps>;
46
50
  /** 是否显示提示 */
47
- tooltip: BooleanConstructor;
51
+ tooltip: PropType<ItemTooltip>;
48
52
  /** 提示属性 */
49
53
  tooltipProps: PropType<EleTooltipProps>;
50
54
  /** 气泡是否展开 */
@@ -53,10 +57,11 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
53
57
  gridStyle: PropType<StyleValue>;
54
58
  /** 图标样式 */
55
59
  itemStyle: PropType<StyleValue>;
60
+ /** 下拉组件类型 */
61
+ popperType: PropType<PopperType>;
56
62
  }>> & Readonly<{
57
63
  onSelect?: ((_icon: string) => any) | undefined;
58
64
  }>, {
59
- tooltip: boolean;
60
65
  popperVisible: boolean;
61
66
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
62
67
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
3
  const elementPlus = require("element-plus");
4
+ const receiver = require("../ele-config-provider/receiver");
4
5
  const util$1 = require("../ele-pro-layout/util");
5
6
  const EleBasicSelect = require("../ele-basic-select/index");
6
7
  const util = require("../ele-basic-select/util");
@@ -18,6 +19,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
19
  setup(__props, { expose: __expose, emit: __emit }) {
19
20
  const props2 = __props;
20
21
  const emit = __emit;
22
+ const { lang } = receiver.useLocale("iconSelect", props2);
21
23
  const { validateChange } = util.useFormValidate();
22
24
  const isResponsive = util$1.useResponsive(props2);
23
25
  const selectRef = vue.ref(null);
@@ -37,24 +39,29 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
37
39
  }
38
40
  return true;
39
41
  });
42
+ const showFilterInput = vue.computed(() => {
43
+ if (props2.filterable === true && props2.popperType !== "popper") {
44
+ return true;
45
+ }
46
+ return props2.filterable === "popper";
47
+ });
40
48
  const selectPopperClass = vue.computed(() => {
49
+ var _a;
41
50
  const classes = ["ele-icon-select-popper"];
42
- if (isResponsive.value) {
43
- classes.push("is-responsive");
51
+ if (props2.popperType === "default") {
52
+ classes.push("is-icon-select-default");
53
+ }
54
+ if (props2.popperType === "modal" && (tabBar.value || showFilterInput.value || ((_a = menus.value) == null ? void 0 : _a.length))) {
55
+ classes.push("is-show-header-border");
56
+ }
57
+ if (isResponsive.value && props2.popperType === "popper") {
58
+ classes.push("is-icon-select-responsive");
44
59
  }
45
60
  if (props2.popperClass) {
46
61
  classes.push(props2.popperClass);
47
62
  }
48
63
  return classes.join(" ");
49
64
  });
50
- const iconPopperStyle = vue.computed(() => {
51
- if (!props2.popperHeight) {
52
- return;
53
- }
54
- return {
55
- height: typeof props2.popperHeight === "number" ? `${props2.popperHeight}px` : props2.popperHeight
56
- };
57
- });
58
65
  const updatePopover = () => {
59
66
  selectRef.value && selectRef.value.updatePopper();
60
67
  };
@@ -197,15 +204,18 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
197
204
  persistent: _ctx.persistent,
198
205
  placement: _ctx.placement,
199
206
  transition: _ctx.transition,
200
- popperWidth: _ctx.popperWidth,
201
207
  popperOptions: _ctx.popperOptions,
202
- popperClass: selectPopperClass.value,
203
208
  selectClass: "is-icon-select",
204
209
  selectStyle: _ctx.selectStyle,
205
210
  inputStyle: _ctx.inputStyle,
206
211
  selectTagsStyle: _ctx.selectTagsStyle,
212
+ popperClass: selectPopperClass.value,
213
+ popperWidth: _ctx.popperWidth,
214
+ popperHeight: _ctx.popperHeight,
207
215
  popperType: _ctx.popperType,
208
216
  popperProps: _ctx.popperProps,
217
+ popperTitle: vue.unref(lang).title,
218
+ responsive: vue.unref(isResponsive),
209
219
  selectedLabel: _ctx.modelValue,
210
220
  visible: selectVisible.value,
211
221
  "onUpdate:visible": updateVisible,
@@ -215,82 +225,78 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
215
225
  onBlur: handleSelectBlur
216
226
  }, vue.createSlots({
217
227
  default: vue.withCtx(() => [
218
- vue.createElementVNode("div", {
219
- class: "ele-icon-select",
220
- style: vue.normalizeStyle(iconPopperStyle.value)
228
+ tabBar.value || showFilterInput.value ? (vue.openBlock(), vue.createElementBlock("div", {
229
+ key: 0,
230
+ class: "ele-icon-select-header",
231
+ style: vue.normalizeStyle(_ctx.headerStyle)
221
232
  }, [
222
- tabBar.value || _ctx.filterable === "popper" ? (vue.openBlock(), vue.createElementBlock("div", {
233
+ vue.renderSlot(_ctx.$slots, "tabLeftExtra"),
234
+ tabBar.value ? (vue.openBlock(), vue.createElementBlock("div", {
223
235
  key: 0,
224
- class: "ele-icon-select-header",
225
- style: vue.normalizeStyle(_ctx.headerStyle)
236
+ class: "ele-icon-select-tabs",
237
+ style: vue.normalizeStyle(_ctx.tabsStyle)
238
+ }, [
239
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(tabs.value, (t, i) => {
240
+ return vue.openBlock(), vue.createElementBlock("div", {
241
+ key: i + "-" + t,
242
+ class: vue.normalizeClass(["ele-icon-select-tab", { "is-active": i === tabActive.value }]),
243
+ onClick: ($event) => handleTabClick(i)
244
+ }, vue.toDisplayString(t), 11, _hoisted_1);
245
+ }), 128))
246
+ ], 4)) : vue.createCommentVNode("", true),
247
+ showFilterInput.value ? (vue.openBlock(), vue.createElementBlock("div", {
248
+ key: 1,
249
+ class: "ele-icon-select-search",
250
+ style: vue.normalizeStyle(_ctx.searchStyle)
226
251
  }, [
227
- vue.renderSlot(_ctx.$slots, "tabLeftExtra"),
228
- tabBar.value ? (vue.openBlock(), vue.createElementBlock("div", {
229
- key: 0,
230
- class: "ele-icon-select-tabs",
231
- style: vue.normalizeStyle(_ctx.tabsStyle)
232
- }, [
233
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(tabs.value, (t, i) => {
234
- return vue.openBlock(), vue.createElementBlock("div", {
235
- key: i + "-" + t,
236
- class: vue.normalizeClass(["ele-icon-select-tab", { "is-active": i === tabActive.value }]),
237
- onClick: ($event) => handleTabClick(i)
238
- }, vue.toDisplayString(t), 11, _hoisted_1);
239
- }), 128))
240
- ], 4)) : vue.createCommentVNode("", true),
241
- _ctx.filterable === "popper" ? (vue.openBlock(), vue.createElementBlock("div", {
242
- key: 1,
243
- class: "ele-icon-select-search",
244
- style: vue.normalizeStyle(_ctx.searchStyle)
245
- }, [
246
- vue.createVNode(vue.unref(elementPlus.ElInput), {
247
- size: "small",
248
- clearable: true,
249
- modelValue: keywords.value,
250
- validateEvent: false,
251
- prefixIcon: vue.unref(index.SearchOutlined),
252
- placeholder: _ctx.filterPlaceholder,
253
- "onUpdate:modelValue": handleSelectFilter
254
- }, null, 8, ["modelValue", "prefixIcon", "placeholder"])
255
- ], 4)) : vue.createCommentVNode("", true),
256
- vue.renderSlot(_ctx.$slots, "tabRightExtra")
252
+ vue.createVNode(vue.unref(elementPlus.ElInput), {
253
+ size: "small",
254
+ clearable: true,
255
+ modelValue: keywords.value,
256
+ validateEvent: false,
257
+ prefixIcon: vue.unref(index.SearchOutlined),
258
+ placeholder: _ctx.filterPlaceholder ?? vue.unref(lang).searchPlaceholder,
259
+ "onUpdate:modelValue": handleSelectFilter
260
+ }, null, 8, ["modelValue", "prefixIcon", "placeholder"])
257
261
  ], 4)) : vue.createCommentVNode("", true),
258
- vue.createElementVNode("div", _hoisted_2, [
259
- menus.value && menus.value.length ? (vue.openBlock(), vue.createElementBlock("div", {
260
- key: 0,
261
- class: "ele-icon-select-menus",
262
- style: vue.normalizeStyle(_ctx.menusStyle)
263
- }, [
264
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menus.value, (m, i) => {
265
- return vue.openBlock(), vue.createElementBlock("div", {
266
- key: i + "-" + m,
267
- class: vue.normalizeClass(["ele-icon-select-menu", { "is-active": i === menuActive.value }]),
268
- onClick: ($event) => handleMenuClick(i)
269
- }, vue.toDisplayString(m), 11, _hoisted_3);
270
- }), 128))
271
- ], 4)) : vue.createCommentVNode("", true),
272
- vue.createVNode(IconGrid, {
273
- data: icons.value,
274
- icon: _ctx.modelValue,
275
- emptyProps: _ctx.emptyProps,
276
- tooltip: _ctx.tooltip,
277
- tooltipProps: _ctx.tooltipProps,
278
- popperVisible: selectVisible.value,
279
- gridStyle: _ctx.gridStyle,
280
- itemStyle: _ctx.itemStyle,
281
- style: vue.normalizeStyle(_ctx.bodyStyle),
282
- onSelect: handleIconSelect
283
- }, vue.createSlots({ _: 2 }, [
284
- _ctx.$slots.icon ? {
285
- name: "icon",
286
- fn: vue.withCtx((slotProps) => [
287
- vue.renderSlot(_ctx.$slots, "icon", vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
288
- ]),
289
- key: "0"
290
- } : void 0
291
- ]), 1032, ["data", "icon", "emptyProps", "tooltip", "tooltipProps", "popperVisible", "gridStyle", "itemStyle", "style"])
292
- ])
293
- ], 4)
262
+ vue.renderSlot(_ctx.$slots, "tabRightExtra")
263
+ ], 4)) : vue.createCommentVNode("", true),
264
+ vue.createElementVNode("div", _hoisted_2, [
265
+ menus.value && menus.value.length ? (vue.openBlock(), vue.createElementBlock("div", {
266
+ key: 0,
267
+ class: "ele-icon-select-menus",
268
+ style: vue.normalizeStyle(_ctx.menusStyle)
269
+ }, [
270
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menus.value, (m, i) => {
271
+ return vue.openBlock(), vue.createElementBlock("div", {
272
+ key: i + "-" + m,
273
+ class: vue.normalizeClass(["ele-icon-select-menu", { "is-active": i === menuActive.value }]),
274
+ onClick: ($event) => handleMenuClick(i)
275
+ }, vue.toDisplayString(m), 11, _hoisted_3);
276
+ }), 128))
277
+ ], 4)) : vue.createCommentVNode("", true),
278
+ vue.createVNode(IconGrid, {
279
+ data: icons.value,
280
+ icon: _ctx.modelValue,
281
+ emptyProps: _ctx.emptyProps,
282
+ tooltip: _ctx.tooltip,
283
+ tooltipProps: _ctx.tooltipProps,
284
+ popperVisible: selectVisible.value,
285
+ gridStyle: _ctx.gridStyle,
286
+ itemStyle: _ctx.itemStyle,
287
+ popperType: _ctx.popperType,
288
+ style: vue.normalizeStyle(_ctx.bodyStyle),
289
+ onSelect: handleIconSelect
290
+ }, vue.createSlots({ _: 2 }, [
291
+ _ctx.$slots.icon ? {
292
+ name: "icon",
293
+ fn: vue.withCtx((slotProps) => [
294
+ vue.renderSlot(_ctx.$slots, "icon", vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
295
+ ]),
296
+ key: "0"
297
+ } : void 0
298
+ ]), 1032, ["data", "icon", "emptyProps", "tooltip", "tooltipProps", "popperVisible", "gridStyle", "itemStyle", "popperType", "style"])
299
+ ])
294
300
  ]),
295
301
  _: 2
296
302
  }, [
@@ -304,7 +310,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
304
310
  ]),
305
311
  key: "0"
306
312
  } : void 0
307
- ]), 1032, ["value", "disabled", "size", "clearable", "placeholder", "automaticDropdown", "filterable", "teleported", "persistent", "placement", "transition", "popperWidth", "popperOptions", "popperClass", "selectStyle", "inputStyle", "selectTagsStyle", "popperType", "popperProps", "selectedLabel", "visible"]);
313
+ ]), 1032, ["value", "disabled", "size", "clearable", "placeholder", "automaticDropdown", "filterable", "teleported", "persistent", "placement", "transition", "popperOptions", "selectStyle", "inputStyle", "selectTagsStyle", "popperClass", "popperWidth", "popperHeight", "popperType", "popperProps", "popperTitle", "responsive", "selectedLabel", "visible"]);
308
314
  };
309
315
  }
310
316
  });