@wfrog/vc-ui 1.3.1 → 1.4.0

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 (219) hide show
  1. package/dist/es/chunk/{CCmEeM7D.mjs → B3GxuXVE.mjs} +6 -6
  2. package/dist/es/chunk/BL8WhaLp.mjs +427 -0
  3. package/dist/es/chunk/{BiHWk71g.mjs → BPqrpkTb.mjs} +4 -4
  4. package/dist/es/chunk/{C_7t9blX.mjs → BZ1uhZQF.mjs} +1 -1
  5. package/dist/es/chunk/{-ga82G_B.mjs → BdVq9mV6.mjs} +1 -1
  6. package/dist/es/chunk/{DGGhWn1A.mjs → BfjuZmry.mjs} +6 -5
  7. package/dist/es/chunk/{BLLKi_0v.mjs → Bu3XHP55.mjs} +1 -1
  8. package/dist/es/chunk/{DEiqPcuO.mjs → BvNFaD5d.mjs} +3 -3
  9. package/dist/es/chunk/BxibBO68.mjs +5741 -0
  10. package/dist/es/chunk/{DO-mBaf5.mjs → By7FMB3I.mjs} +1 -43
  11. package/dist/es/chunk/{DATKTbFj.mjs → CGhekNBa.mjs} +5 -5
  12. package/dist/es/chunk/{plK2vnjp.mjs → CJ0afvkJ.mjs} +1 -1
  13. package/dist/es/chunk/{CtYp4FB7.mjs → CK5Bluh4.mjs} +2 -2
  14. package/dist/es/chunk/{Vv8g5_A1.mjs → CKZGL4_3.mjs} +9 -8
  15. package/dist/es/chunk/CNEMJL35.mjs +69 -0
  16. package/dist/es/chunk/{C9ldJ8Hh.mjs → CPCieLBG.mjs} +1 -1
  17. package/dist/es/chunk/{C50_dziC.mjs → CQz3lhyS.mjs} +2 -1
  18. package/dist/es/chunk/{Cekqdlxf.mjs → CbYM6R_O.mjs} +12 -77
  19. package/dist/es/chunk/{CQbpo0im.mjs → CboHfRXN.mjs} +5 -6
  20. package/dist/es/chunk/{BambM7zX.mjs → Cdh3HNZa.mjs} +2 -2
  21. package/dist/es/chunk/{aX4SRHmD.mjs → Cg-Krnly.mjs} +2 -1
  22. package/dist/es/chunk/{9qQNa4bM.mjs → Cjp0Czyu.mjs} +1 -1
  23. package/dist/es/chunk/Cmb_E8Ip.mjs +184 -0
  24. package/dist/es/chunk/{BIK5Djc_.mjs → Co77DVCw.mjs} +2 -2
  25. package/dist/es/chunk/CqTa_Vd-.mjs +375 -0
  26. package/dist/es/{components/dual-pane/dual-pane.mjs → chunk/CsjEhAYY.mjs} +11 -91
  27. package/dist/es/chunk/{BQyZW57B.mjs → CwXV7M2F.mjs} +3 -3
  28. package/dist/es/chunk/{b9dx0jdT.mjs → D1MHFKtN.mjs} +3 -3
  29. package/dist/es/chunk/{DskGUrkJ.mjs → D6m3vWpc.mjs} +2 -1
  30. package/dist/es/chunk/{4F1xxyju.mjs → D6nWUATi.mjs} +48 -2117
  31. package/dist/es/chunk/{C6bIuBQg.mjs → D7CQDxqy.mjs} +3 -3
  32. package/dist/es/chunk/{Dqk3gyUk.mjs → D9Lr0Bzb.mjs} +1 -374
  33. package/dist/es/chunk/{Xk5kfdyT.mjs → DAIuzoFs.mjs} +2 -1
  34. package/dist/es/chunk/{OVbHCQoq.mjs → DCS0eqqM.mjs} +3 -101
  35. package/dist/es/chunk/{BJTCqgn1.mjs → DDR6UjaC.mjs} +1 -1
  36. package/dist/es/chunk/{BKmk2ptO.mjs → DNsAO9iB.mjs} +2 -2
  37. package/dist/es/chunk/{-_x5oKYF.mjs → DQK0ezHm.mjs} +5 -4
  38. package/dist/es/chunk/{BQHHM_Gw.mjs → DQi1QPak.mjs} +30 -70
  39. package/dist/es/chunk/{BaqDgAvL.mjs → DSt2uDNE.mjs} +22 -434
  40. package/dist/es/chunk/DSw4GnC6.mjs +44 -0
  41. package/dist/es/chunk/DTbnchOm.mjs +94 -0
  42. package/dist/es/chunk/DViraU6I.mjs +45 -0
  43. package/dist/es/chunk/{C540ZOUa.mjs → DX84QR5M.mjs} +10 -9
  44. package/dist/es/chunk/DYKOYbzT.mjs +2003 -0
  45. package/dist/es/chunk/{D1PKXAql.mjs → D_F7nIja.mjs} +3 -4
  46. package/dist/es/chunk/{DcTh6n4x.mjs → D_Mvdscy.mjs} +5 -4
  47. package/dist/es/chunk/DhGOsWxx.mjs +6 -0
  48. package/dist/es/chunk/{DFxeI_lP.mjs → DhGcJR5p.mjs} +6 -6
  49. package/dist/es/chunk/DxxbB5jY.mjs +34 -0
  50. package/dist/es/chunk/EMeQxUfH.mjs +49 -0
  51. package/dist/es/chunk/{eN6VJ63C.mjs → F2ph6lWu.mjs} +9 -8
  52. package/dist/es/chunk/{Dn-BFXcJ.mjs → dN0VcQc2.mjs} +1 -1
  53. package/dist/es/chunk/{DTpr71Gd.mjs → e5i7OJY-.mjs} +4 -4
  54. package/dist/es/chunk/fueZ9sVu.mjs +890 -0
  55. package/dist/es/chunk/{CV2NA_2e.mjs → ipA7n6-J.mjs} +1 -1
  56. package/dist/es/chunk/{Dw-yyl2m.mjs → q2jRgbir.mjs} +2 -2
  57. package/dist/es/chunk/{C72pWnuz.mjs → w7VqVeWU.mjs} +5 -4
  58. package/dist/es/chunk/{DWcIzeMM.mjs → ytiKcA3H.mjs} +108 -10
  59. package/dist/es/chunk/{DFHjl3eL.mjs → yuIXvUxc.mjs} +1 -1
  60. package/dist/es/components/backbottom/backbottom.mjs +2 -2
  61. package/dist/es/components/button/button.d.ts +2 -1
  62. package/dist/es/components/button/button.mjs +68 -17
  63. package/dist/es/components/button/button.vue.d.ts +4 -1
  64. package/dist/es/components/choice/choice.mjs +3 -2
  65. package/dist/es/components/color-switcher/color-switcher.d.ts +15 -0
  66. package/dist/es/components/color-switcher/color-switcher.mjs +1215 -0
  67. package/dist/es/components/color-switcher/color-switcher.vue.d.ts +122 -0
  68. package/dist/es/components/color-switcher/index.css +5 -0
  69. package/dist/es/components/color-switcher/index.d.ts +4 -0
  70. package/dist/es/components/color-switcher/index.mjs +6 -0
  71. package/dist/es/components/cropper/cropper.mjs +12 -11
  72. package/dist/es/components/cropper/cropper.vue.d.ts +2 -2
  73. package/dist/es/components/currency/currency.mjs +7 -7
  74. package/dist/es/components/dark-switcher/dark-switcher.d.ts +10 -0
  75. package/dist/es/components/dark-switcher/dark-switcher.mjs +87 -0
  76. package/dist/es/components/dark-switcher/dark-switcher.vue.d.ts +12 -0
  77. package/dist/es/components/dark-switcher/index.css +11 -0
  78. package/dist/es/components/dark-switcher/index.d.ts +4 -0
  79. package/dist/es/components/dark-switcher/index.mjs +6 -0
  80. package/dist/es/components/daterange-picker/daterange-picker.mjs +21 -20
  81. package/dist/es/components/dialog/dialog.d.ts +1 -1
  82. package/dist/es/components/dialog/dialog.mjs +46 -61
  83. package/dist/es/components/dialog/dialog.vue.d.ts +1 -3
  84. package/dist/es/components/dialog/index.css +31 -32
  85. package/dist/es/components/dialog-camera-upload/dialog-camera-upload.mjs +12 -12
  86. package/dist/es/components/dialog-map-point/dialog-map-point.mjs +5 -5
  87. package/dist/es/components/dialog-upload-images/dialog-upload-images.mjs +14 -13
  88. package/dist/es/components/drag-verify/drag-verify.mjs +14 -14
  89. package/dist/es/components/drag-verify/index.css +11 -11
  90. package/dist/es/components/drawer/drawer.mjs +14 -14
  91. package/dist/es/components/drawer/index.css +16 -15
  92. package/dist/es/components/easy-pagination/easy-pagination.mjs +4 -4
  93. package/dist/es/components/el-icon/el-icon.mjs +2 -2
  94. package/dist/es/components/explorer/docs/data.d.ts +13 -0
  95. package/dist/es/components/explorer/explorer.d.ts +12 -0
  96. package/dist/es/components/explorer/explorer.mjs +64 -0
  97. package/dist/es/components/explorer/explorer.vue.d.ts +183 -0
  98. package/dist/es/components/explorer/explorer2.mjs +6 -0
  99. package/dist/es/components/explorer/index.css +14 -0
  100. package/dist/es/components/explorer/index.d.ts +4 -0
  101. package/dist/es/components/explorer/index.mjs +6 -0
  102. package/dist/es/components/explorer-column-table/explorer-column-table.d.ts +23 -0
  103. package/dist/es/components/explorer-column-table/explorer-column-table.mjs +2948 -0
  104. package/dist/es/components/explorer-column-table/explorer-column-table.vue.d.ts +1486 -0
  105. package/dist/es/components/explorer-column-table/index.css +49 -0
  106. package/dist/es/components/explorer-column-table/index.d.ts +4 -0
  107. package/dist/es/components/explorer-column-table/index.mjs +6 -0
  108. package/dist/es/components/explorer-filter/explorer-filter.d.ts +12 -0
  109. package/dist/es/components/explorer-filter/explorer-filter.mjs +81 -0
  110. package/dist/es/components/explorer-filter/explorer-filter.vue.d.ts +14 -0
  111. package/dist/es/components/explorer-filter/index.css +7 -0
  112. package/dist/es/components/explorer-filter/index.d.ts +4 -0
  113. package/dist/es/components/explorer-filter/index.mjs +6 -0
  114. package/dist/es/components/explorer-footer/explorer-footer.d.ts +5 -0
  115. package/dist/es/components/explorer-footer/explorer-footer.mjs +92 -0
  116. package/dist/es/components/explorer-footer/explorer-footer.vue.d.ts +21 -0
  117. package/dist/es/components/explorer-footer/index.css +7 -0
  118. package/dist/es/components/explorer-footer/index.d.ts +4 -0
  119. package/dist/es/components/explorer-footer/index.mjs +6 -0
  120. package/dist/es/components/explorer-list/explorer-list.d.ts +23 -0
  121. package/dist/es/components/explorer-list/explorer-list.mjs +157 -0
  122. package/dist/es/components/explorer-list/explorer-list.vue.d.ts +38 -0
  123. package/dist/es/components/explorer-list/index.css +47 -0
  124. package/dist/es/components/explorer-list/index.d.ts +4 -0
  125. package/dist/es/components/explorer-list/index.mjs +6 -0
  126. package/dist/es/components/explorer-panel/explorer-panel.d.ts +14 -0
  127. package/dist/es/components/explorer-panel/explorer-panel.mjs +77 -0
  128. package/dist/es/components/explorer-panel/explorer-panel.vue.d.ts +253 -0
  129. package/dist/es/components/explorer-panel/explorer-panel2.mjs +6 -0
  130. package/dist/es/components/explorer-panel/index.css +12 -0
  131. package/dist/es/components/explorer-panel/index.d.ts +4 -0
  132. package/dist/es/components/explorer-panel/index.mjs +6 -0
  133. package/dist/es/components/explorer-query/explorer-query.d.ts +11 -0
  134. package/dist/es/components/explorer-query/explorer-query.mjs +2376 -0
  135. package/dist/es/components/explorer-query/explorer-query.vue.d.ts +396 -0
  136. package/dist/es/components/explorer-query/index.css +36 -0
  137. package/dist/es/components/explorer-query/index.d.ts +4 -0
  138. package/dist/es/components/explorer-query/index.mjs +6 -0
  139. package/dist/es/components/explorer-table/explorer-table.d.ts +11 -0
  140. package/dist/es/components/explorer-table/explorer-table.mjs +116 -0
  141. package/dist/es/components/explorer-table/explorer-table.vue.d.ts +25 -0
  142. package/dist/es/components/explorer-table/index.css +18 -0
  143. package/dist/es/components/explorer-table/index.d.ts +4 -0
  144. package/dist/es/components/explorer-table/index.mjs +6 -0
  145. package/dist/es/components/explorer-tools/components/column-setter.vue.d.ts +3028 -0
  146. package/dist/es/components/explorer-tools/explorer-tools.d.ts +35 -0
  147. package/dist/es/components/explorer-tools/explorer-tools.mjs +585 -0
  148. package/dist/es/components/explorer-tools/explorer-tools.vue.d.ts +43 -0
  149. package/dist/es/components/explorer-tools/index.css +60 -0
  150. package/dist/es/components/explorer-tools/index.d.ts +4 -0
  151. package/dist/es/components/explorer-tools/index.mjs +6 -0
  152. package/dist/es/components/explorer-tree/explorer-tree.d.ts +22 -0
  153. package/dist/es/components/explorer-tree/explorer-tree.mjs +174 -0
  154. package/dist/es/components/explorer-tree/explorer-tree.vue.d.ts +2055 -0
  155. package/dist/es/components/explorer-tree/index.css +55 -0
  156. package/dist/es/components/explorer-tree/index.d.ts +4 -0
  157. package/dist/es/components/explorer-tree/index.mjs +6 -0
  158. package/dist/es/components/icon/icon2.mjs +2 -2
  159. package/dist/es/components/icon-picker/components/collections.vue.d.ts +242 -196
  160. package/dist/es/components/icon-picker/icon-picker.mjs +38 -921
  161. package/dist/es/components/icon-picker/index.css +31 -29
  162. package/dist/es/components/iconify-icon/iconify-icon.mjs +2 -2
  163. package/dist/es/components/image/image.mjs +5 -5
  164. package/dist/es/components/image/image.vue.d.ts +7 -7
  165. package/dist/es/components/input/index.css +4 -5
  166. package/dist/es/components/input/input.mjs +7 -7
  167. package/dist/es/components/input/input.vue.d.ts +3 -3
  168. package/dist/es/components/input-number/input-number.mjs +5 -5
  169. package/dist/es/components/pca-picker/components/c.vue.d.ts +3 -3
  170. package/dist/es/components/pca-picker/index.css +4 -4
  171. package/dist/es/components/pca-picker/pca-picker.mjs +21 -209
  172. package/dist/es/components/pca-picker/pca-picker.vue.d.ts +10 -10
  173. package/dist/es/components/screenfull/screenfull.mjs +4 -4
  174. package/dist/es/components/scrollbar/index.css +6 -5
  175. package/dist/es/components/scrollbar/scrollbar.d.ts +2 -0
  176. package/dist/es/components/scrollbar/scrollbar.mjs +17 -12
  177. package/dist/es/components/scrollbar/scrollbar.vue.d.ts +156 -134
  178. package/dist/es/components/select/select.mjs +7 -7
  179. package/dist/es/components/single-player/index.css +11 -11
  180. package/dist/es/components/single-player/single-player.mjs +20 -19
  181. package/dist/es/components/splitter/index.d.ts +4 -0
  182. package/dist/es/components/splitter/index.mjs +6 -0
  183. package/dist/es/components/splitter/splitter.d.ts +4 -0
  184. package/dist/es/components/splitter/splitter.mjs +28 -0
  185. package/dist/es/components/{dual-pane/dual-pane.vue.d.ts → splitter/splitter.vue.d.ts} +3 -5
  186. package/dist/es/components/splitter-panel/index.css +5 -0
  187. package/dist/es/components/splitter-panel/index.d.ts +4 -0
  188. package/dist/es/components/splitter-panel/index.mjs +6 -0
  189. package/dist/es/components/splitter-panel/splitter-panel.d.ts +3 -0
  190. package/dist/es/components/splitter-panel/splitter-panel.mjs +49 -0
  191. package/dist/es/components/splitter-panel/splitter-panel.vue.d.ts +20 -0
  192. package/dist/es/components/svg-icon/svg-icon.mjs +2 -2
  193. package/dist/es/components/switch/switch.mjs +2 -2
  194. package/dist/es/components/sync-scroll-container/sync-scroll-container.mjs +2 -2
  195. package/dist/es/components/tags/tags.mjs +12 -11
  196. package/dist/es/components/text-ellipsis/text-ellipsis.mjs +4 -4
  197. package/dist/es/components/text-ellipsis/text-ellipsis.vue.d.ts +1 -1
  198. package/dist/es/components/thousand-input/thousand-input.mjs +3 -3
  199. package/dist/es/components/thousand-input/thousand-input.vue.d.ts +8 -8
  200. package/dist/es/components/tinymce/index.css +1 -1
  201. package/dist/es/components/tinymce/tinymce.d.ts +1 -0
  202. package/dist/es/components/tinymce/tinymce.mjs +20 -11
  203. package/dist/es/components/tinymce/tinymce.vue.d.ts +1 -0
  204. package/dist/es/components/tree-picker/popover-cascader.css +1 -1
  205. package/dist/es/components/tree-picker/tree-picker.mjs +11 -10
  206. package/dist/es/components/tree-picker/tree-picker.vue.d.ts +10 -10
  207. package/dist/es/components/upload-file/upload-file.mjs +2 -2
  208. package/dist/es/index.d.ts +14 -1
  209. package/dist/es/index.mjs +69 -39
  210. package/dist/es/use/usePersistentModel/index.d.ts +4 -0
  211. package/dist/es/use/usePersistentModel/index.mjs +19 -0
  212. package/dist/global.d.ts +14 -1
  213. package/dist/index.css +450 -123
  214. package/package.json +4 -1
  215. package/dist/es/chunk/DVNTpOBR.mjs +0 -4
  216. package/dist/es/components/dual-pane/dual-pane.d.ts +0 -8
  217. package/dist/es/components/dual-pane/index.css +0 -8
  218. package/dist/es/components/dual-pane/index.d.ts +0 -4
  219. package/dist/es/components/dual-pane/index.mjs +0 -6
@@ -0,0 +1,35 @@
1
+ import { IColumnConfig } from '../explorer-column-table/explorer-column-table';
2
+ export interface IExplorerToolsProps {
3
+ tools?: ('search' | 'refresh' | 'fullscreen' | 'setter' | 'layout')[];
4
+ searchPlaceholder?: string;
5
+ layout?: 'card' | 'list';
6
+ create?: boolean;
7
+ createText?: string;
8
+ fullscreenTarget?: 'panel' | 'page';
9
+ throttle?: number;
10
+ toolsKey?: string;
11
+ columnSetterSize?: 'small' | 'default' | 'large';
12
+ columnToStorage?: boolean;
13
+ columnResetVisible?: boolean;
14
+ }
15
+ export interface IExplorerToolsEmits {
16
+ (e: 'refresh'): void;
17
+ (e: 'fullscreen', status: boolean): void;
18
+ (e: 'search', value: string): void;
19
+ (e: 'layout', value: 'card' | 'list'): void;
20
+ (e: 'create'): void;
21
+ (e: 'configConfirm', config: IColumnConfig[]): void;
22
+ (e: 'columnReset'): void;
23
+ }
24
+ export interface IColumnSetterProps {
25
+ data?: IColumnConfig[];
26
+ size?: 'small' | 'default' | 'large';
27
+ columnToStorage?: boolean;
28
+ toolsKey?: string;
29
+ resetVisible?: boolean;
30
+ }
31
+ export interface IColumnSetterEmits {
32
+ (e: 'update:data', data: IColumnConfig[]): void;
33
+ (e: 'configConfirm', data: IColumnConfig[]): void;
34
+ (e: 'reset'): void;
35
+ }
@@ -0,0 +1,585 @@
1
+ import './index.css'
2
+ import { i as isString, b as buildProps, d as definePropType, u as useNamespace, a as debugWarn, j as isObject } from '../../chunk/By7FMB3I.mjs';
3
+ import { E as ElRadioGroup, a as ElRadioButton } from '../../chunk/BL8WhaLp.mjs';
4
+ import '../choice/choice.mjs';
5
+ import { defineComponent, ref, reactive, computed, watch, createElementBlock, createCommentVNode, openBlock, unref, normalizeClass, createElementVNode, normalizeStyle, Fragment, renderList, renderSlot, createTextVNode, toDisplayString, useTemplateRef, useCssModule, onBeforeMount, createBlock, createSlots, withCtx, createVNode, isRef, nextTick, withKeys } from 'vue';
6
+ import { Search } from '@element-plus/icons-vue';
7
+ import usePersistentModel from '../../use/usePersistentModel/index.mjs';
8
+ import { C as Component$1 } from '../button/button.mjs';
9
+ import { i as injectExplorerPanelState } from '../explorer-panel/explorer-panel2.mjs';
10
+ import { i as injectExplorerState } from '../explorer/explorer2.mjs';
11
+ import { C as Component$4 } from '../iconify-icon/iconify-icon.mjs';
12
+ import { C as Component$3 } from '../input/input.mjs';
13
+ import '../../chunk/BfjuZmry.mjs';
14
+ /* empty css */
15
+ import { E as ElDivider } from '../../chunk/DNsAO9iB.mjs';
16
+ import { E as ElText } from '../../chunk/DTbnchOm.mjs';
17
+ import { i as index } from '../../chunk/D9iEroQw.mjs';
18
+ import { C as Component$2 } from '../explorer-column-table/explorer-column-table.mjs';
19
+ import { useActiveElement, useResizeObserver, useVModel, useThrottleFn } from '@vueuse/core';
20
+ import { E as ElPopover } from '../../chunk/DQK0ezHm.mjs';
21
+ import { u as useSizeProp } from '../../chunk/CPCieLBG.mjs';
22
+ import { u as useAriaProps } from '../../chunk/DCS0eqqM.mjs';
23
+ import { C as CHANGE_EVENT, U as UPDATE_MODEL_EVENT } from '../../chunk/Ct6q2FXg.mjs';
24
+ import { b as isNumber, d as isBoolean } from '../../chunk/DViraU6I.mjs';
25
+ import { _ as _export_sfc, w as withInstall } from '../../chunk/dN0VcQc2.mjs';
26
+ import { u as useId } from '../../chunk/Co77DVCw.mjs';
27
+ import { c as useFormSize, a as useFormDisabled, u as useFormItem, b as useFormItemInputId } from '../../chunk/BvNFaD5d.mjs';
28
+ import { _ as _export_sfc$1 } from '../../chunk/pcqpp-6-.mjs';
29
+
30
+ const defaultProps = {
31
+ label: "label",
32
+ value: "value",
33
+ disabled: "disabled"
34
+ };
35
+ const segmentedProps = buildProps({
36
+ direction: {
37
+ type: definePropType(String),
38
+ default: "horizontal"
39
+ },
40
+ options: {
41
+ type: definePropType(Array),
42
+ default: () => []
43
+ },
44
+ modelValue: {
45
+ type: [String, Number, Boolean],
46
+ default: void 0
47
+ },
48
+ props: {
49
+ type: definePropType(Object),
50
+ default: () => defaultProps
51
+ },
52
+ block: Boolean,
53
+ size: useSizeProp,
54
+ disabled: {
55
+ type: Boolean,
56
+ default: void 0
57
+ },
58
+ validateEvent: {
59
+ type: Boolean,
60
+ default: true
61
+ },
62
+ id: String,
63
+ name: String,
64
+ ...useAriaProps(["ariaLabel"])
65
+ });
66
+ const segmentedEmits = {
67
+ [UPDATE_MODEL_EVENT]: (val) => isString(val) || isNumber(val) || isBoolean(val),
68
+ [CHANGE_EVENT]: (val) => isString(val) || isNumber(val) || isBoolean(val)
69
+ };
70
+
71
+ const _hoisted_1 = ["id", "aria-label", "aria-labelledby"];
72
+ const _hoisted_2 = ["name", "disabled", "checked", "onChange"];
73
+ const _sfc_main$2 = defineComponent({
74
+ ...{
75
+ name: "ElSegmented"
76
+ },
77
+ __name: "segmented",
78
+ props: segmentedProps,
79
+ emits: segmentedEmits,
80
+ setup(__props, { emit: __emit }) {
81
+ const props = __props;
82
+ const emit = __emit;
83
+ const ns = useNamespace("segmented");
84
+ const segmentedId = useId();
85
+ const segmentedSize = useFormSize();
86
+ const _disabled = useFormDisabled();
87
+ const { formItem } = useFormItem();
88
+ const { inputId, isLabeledByFormItem } = useFormItemInputId(props, {
89
+ formItemContext: formItem
90
+ });
91
+ const segmentedRef = ref(null);
92
+ const activeElement = useActiveElement();
93
+ const state = reactive({
94
+ isInit: false,
95
+ width: 0,
96
+ height: 0,
97
+ translateX: 0,
98
+ translateY: 0,
99
+ focusVisible: false
100
+ });
101
+ const handleChange = (evt, item) => {
102
+ const value = getValue(item);
103
+ emit(UPDATE_MODEL_EVENT, value);
104
+ emit(CHANGE_EVENT, value);
105
+ evt.target.checked = value === props.modelValue;
106
+ };
107
+ const aliasProps = computed(() => ({ ...defaultProps, ...props.props }));
108
+ const intoAny = (item) => item;
109
+ const getValue = (item) => {
110
+ return isObject(item) ? item[aliasProps.value.value] : item;
111
+ };
112
+ const getLabel = (item) => {
113
+ return isObject(item) ? item[aliasProps.value.label] : item;
114
+ };
115
+ const getDisabled = (item) => {
116
+ return !!(_disabled.value || (isObject(item) ? item[aliasProps.value.disabled] : false));
117
+ };
118
+ const getSelected = (item) => {
119
+ return props.modelValue === getValue(item);
120
+ };
121
+ const getOption = (value) => {
122
+ return props.options.find((item) => getValue(item) === value);
123
+ };
124
+ const getItemCls = (item) => {
125
+ return [
126
+ ns.e("item"),
127
+ ns.is("selected", getSelected(item)),
128
+ ns.is("disabled", getDisabled(item))
129
+ ];
130
+ };
131
+ const updateSelect = () => {
132
+ if (!segmentedRef.value)
133
+ return;
134
+ const selectedItem = segmentedRef.value.querySelector(
135
+ ".is-selected"
136
+ );
137
+ const selectedItemInput = segmentedRef.value.querySelector(
138
+ ".is-selected input"
139
+ );
140
+ if (!selectedItem || !selectedItemInput) {
141
+ state.width = 0;
142
+ state.height = 0;
143
+ state.translateX = 0;
144
+ state.translateY = 0;
145
+ state.focusVisible = false;
146
+ return;
147
+ }
148
+ state.isInit = true;
149
+ if (props.direction === "vertical") {
150
+ state.height = selectedItem.offsetHeight;
151
+ state.translateY = selectedItem.offsetTop;
152
+ } else {
153
+ state.width = selectedItem.offsetWidth;
154
+ state.translateX = selectedItem.offsetLeft;
155
+ }
156
+ try {
157
+ state.focusVisible = selectedItemInput.matches(":focus-visible");
158
+ } catch (e) {
159
+ }
160
+ };
161
+ const segmentedCls = computed(() => [
162
+ ns.b(),
163
+ ns.m(segmentedSize.value),
164
+ ns.is("block", props.block)
165
+ ]);
166
+ const selectedStyle = computed(() => ({
167
+ width: props.direction === "vertical" ? "100%" : `${state.width}px`,
168
+ height: props.direction === "vertical" ? `${state.height}px` : "100%",
169
+ transform: props.direction === "vertical" ? `translateY(${state.translateY}px)` : `translateX(${state.translateX}px)`,
170
+ display: state.isInit ? "block" : "none"
171
+ }));
172
+ const selectedCls = computed(() => [
173
+ ns.e("item-selected"),
174
+ ns.is("disabled", getDisabled(getOption(props.modelValue))),
175
+ ns.is("focus-visible", state.focusVisible)
176
+ ]);
177
+ const name = computed(() => {
178
+ return props.name || segmentedId.value;
179
+ });
180
+ useResizeObserver(segmentedRef, updateSelect);
181
+ watch(activeElement, updateSelect);
182
+ watch(
183
+ () => props.modelValue,
184
+ () => {
185
+ var _a;
186
+ updateSelect();
187
+ if (props.validateEvent) {
188
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
189
+ }
190
+ },
191
+ {
192
+ flush: "post"
193
+ }
194
+ );
195
+ return (_ctx, _cache) => {
196
+ return _ctx.options.length ? (openBlock(), createElementBlock("div", {
197
+ key: 0,
198
+ id: unref(inputId),
199
+ ref_key: "segmentedRef",
200
+ ref: segmentedRef,
201
+ class: normalizeClass(segmentedCls.value),
202
+ role: "radiogroup",
203
+ "aria-label": !unref(isLabeledByFormItem) ? _ctx.ariaLabel || "segmented" : void 0,
204
+ "aria-labelledby": unref(isLabeledByFormItem) ? unref(formItem).labelId : void 0
205
+ }, [
206
+ createElementVNode(
207
+ "div",
208
+ {
209
+ class: normalizeClass([unref(ns).e("group"), unref(ns).m(_ctx.direction)])
210
+ },
211
+ [
212
+ createElementVNode(
213
+ "div",
214
+ {
215
+ style: normalizeStyle(selectedStyle.value),
216
+ class: normalizeClass(selectedCls.value)
217
+ },
218
+ null,
219
+ 6
220
+ ),
221
+ (openBlock(true), createElementBlock(
222
+ Fragment,
223
+ null,
224
+ renderList(_ctx.options, (item, index) => {
225
+ return openBlock(), createElementBlock(
226
+ "label",
227
+ {
228
+ key: index,
229
+ class: normalizeClass(getItemCls(item))
230
+ },
231
+ [
232
+ createElementVNode("input", {
233
+ class: normalizeClass(unref(ns).e("item-input")),
234
+ type: "radio",
235
+ name: name.value,
236
+ disabled: getDisabled(item),
237
+ checked: getSelected(item),
238
+ onChange: ($event) => handleChange($event, item)
239
+ }, null, 42, _hoisted_2),
240
+ createElementVNode(
241
+ "div",
242
+ {
243
+ class: normalizeClass(unref(ns).e("item-label"))
244
+ },
245
+ [
246
+ renderSlot(_ctx.$slots, "default", {
247
+ item: intoAny(item)
248
+ }, () => [
249
+ createTextVNode(
250
+ toDisplayString(getLabel(item)),
251
+ 1
252
+ )
253
+ ])
254
+ ],
255
+ 2
256
+ )
257
+ ],
258
+ 2
259
+ );
260
+ }),
261
+ 128
262
+ ))
263
+ ],
264
+ 2
265
+ )
266
+ ], 10, _hoisted_1)) : createCommentVNode("v-if", true);
267
+ };
268
+ }
269
+ });
270
+ var Segmented = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/segmented/src/segmented.vue"]]);
271
+
272
+ const ElSegmented = withInstall(Segmented);
273
+
274
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
275
+ __name: "column-setter",
276
+ props: {
277
+ data: { default: () => [] },
278
+ size: {},
279
+ columnToStorage: { type: Boolean },
280
+ toolsKey: {},
281
+ resetVisible: { type: Boolean }
282
+ },
283
+ emits: ["update:data", "configConfirm", "reset"],
284
+ setup(__props, { emit: __emit }) {
285
+ const props = __props;
286
+ const emits = __emit;
287
+ const { key } = injectExplorerState();
288
+ const panelState = injectExplorerPanelState();
289
+ const myData = useVModel(props, "data", emits);
290
+ const columnTableRef = useTemplateRef("columnTableRef");
291
+ const $style = useCssModule();
292
+ const columnStorageKey = props.toolsKey ? `${key}-${props.toolsKey}-column-config` : `${key}-column-config`;
293
+ const modeOptions = [
294
+ { label: "简单设置", value: "easy" },
295
+ { label: "完整设置", value: "full" }
296
+ ];
297
+ const mode = ref("easy");
298
+ const isFullMode = computed(() => mode.value === "full");
299
+ const popoverWidth = computed(() => isFullMode.value ? "800px" : "270px");
300
+ const isInit = ref(false);
301
+ function onHide() {
302
+ emits("configConfirm", myData.value);
303
+ if (!props.columnToStorage) {
304
+ return;
305
+ }
306
+ index.set(columnStorageKey, myData.value);
307
+ }
308
+ function loadConfig() {
309
+ if (props.columnToStorage) {
310
+ const columnConfig = index.get(columnStorageKey);
311
+ if (Array.isArray(columnConfig) && columnConfig.length) {
312
+ myData.value = columnConfig;
313
+ }
314
+ } else {
315
+ index.remove(columnStorageKey);
316
+ }
317
+ }
318
+ async function handleBefore() {
319
+ isInit.value = true;
320
+ loadConfig();
321
+ await nextTick();
322
+ columnTableRef.value?.init();
323
+ }
324
+ onBeforeMount(() => {
325
+ loadConfig();
326
+ panelState.actions.saveColumnConfig = onHide;
327
+ });
328
+ return (_ctx, _cache) => {
329
+ const _component_ElText = ElText;
330
+ const _component_ElSegmented = ElSegmented;
331
+ const _component_ElDivider = ElDivider;
332
+ const _component_ElPopover = ElPopover;
333
+ return openBlock(), createBlock(_component_ElPopover, {
334
+ placement: "bottom-end",
335
+ trigger: "click",
336
+ width: unref(popoverWidth),
337
+ teleported: false,
338
+ "show-arrow": false,
339
+ onHide,
340
+ onBeforeEnter: handleBefore
341
+ }, createSlots({
342
+ reference: withCtx(() => [
343
+ renderSlot(_ctx.$slots, "default")
344
+ ]),
345
+ _: 2
346
+ }, [
347
+ unref(isInit) ? {
348
+ name: "default",
349
+ fn: withCtx(() => [
350
+ createElementVNode("div", {
351
+ class: normalizeClass(unref($style).header)
352
+ }, [
353
+ createVNode(_component_ElText, { size: "large" }, {
354
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [
355
+ createTextVNode("列设置", -1)
356
+ ])]),
357
+ _: 1
358
+ }),
359
+ createElementVNode("div", {
360
+ class: normalizeClass(unref($style)["mode-wrapper"])
361
+ }, [
362
+ unref(isFullMode) && __props.resetVisible ? (openBlock(), createBlock(Component$1, {
363
+ key: 0,
364
+ class: normalizeClass(unref($style).reset),
365
+ icon: { name: "RefreshLeft" },
366
+ onClick: _cache[0] || (_cache[0] = ($event) => emits("reset"))
367
+ }, {
368
+ default: withCtx(() => [..._cache[4] || (_cache[4] = [
369
+ createTextVNode("重置", -1)
370
+ ])]),
371
+ _: 1
372
+ }, 8, ["class"])) : createCommentVNode("", true),
373
+ createVNode(_component_ElSegmented, {
374
+ modelValue: unref(mode),
375
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(mode) ? mode.value = $event : null),
376
+ options: modeOptions,
377
+ class: normalizeClass(unref($style).segmented)
378
+ }, null, 8, ["modelValue", "class"])
379
+ ], 2)
380
+ ], 2),
381
+ createVNode(_component_ElDivider, {
382
+ class: normalizeClass(unref($style).divider)
383
+ }, null, 8, ["class"]),
384
+ createVNode(Component$2, {
385
+ ref_key: "columnTableRef",
386
+ ref: columnTableRef,
387
+ data: unref(myData),
388
+ "onUpdate:data": _cache[2] || (_cache[2] = ($event) => isRef(myData) ? myData.value = $event : null),
389
+ size: __props.size,
390
+ mode: unref(mode),
391
+ height: 320
392
+ }, null, 8, ["data", "size", "mode"])
393
+ ]),
394
+ key: "0"
395
+ } : void 0
396
+ ]), 1032, ["width"]);
397
+ };
398
+ }
399
+ });
400
+
401
+ /* unplugin-vue-components disabled */const header = "_header_971vy_1";
402
+ const segmented = "_segmented_971vy_13";
403
+ const reset = "_reset_971vy_17";
404
+ const divider = "_divider_971vy_21";
405
+ const style0$1 = {
406
+ header: header,
407
+ "mode-wrapper": "_mode-wrapper_971vy_7",
408
+ segmented: segmented,
409
+ reset: reset,
410
+ divider: divider
411
+ };
412
+
413
+ const cssModules$1 = {
414
+ "$style": style0$1
415
+ };
416
+ const ColumnSetter = /* @__PURE__ */ _export_sfc$1(_sfc_main$1, [["__cssModules", cssModules$1]]);
417
+
418
+ const _sfc_main = /* @__PURE__ */ defineComponent({
419
+ __name: "explorer-tools",
420
+ props: {
421
+ tools: { default: () => ["refresh", "fullscreen", "setter"] },
422
+ searchPlaceholder: { default: "请输入搜索内容" },
423
+ layout: { default: "list" },
424
+ create: { type: Boolean },
425
+ createText: { default: "新增" },
426
+ fullscreenTarget: { default: "page" },
427
+ throttle: { default: 800 },
428
+ toolsKey: {},
429
+ columnSetterSize: { default: "small" },
430
+ columnToStorage: { type: Boolean },
431
+ columnResetVisible: { type: Boolean, default: true }
432
+ },
433
+ emits: ["refresh", "fullscreen", "search", "layout", "create", "configConfirm", "columnReset"],
434
+ setup(__props, { emit: __emit }) {
435
+ const props = __props;
436
+ const emits = __emit;
437
+ const { key, fullscreenTarget: pageTarget } = injectExplorerState();
438
+ const { fullscreenTarget: panelTarget, columnConfig } = injectExplorerPanelState();
439
+ const $style = useCssModule();
440
+ const layoutStorageKey = props.toolsKey ? `${key}-${props.toolsKey}-layout` : `${key}-layout`;
441
+ const myLayout = usePersistentModel("layout", layoutStorageKey, props.layout);
442
+ const keyword = ref("");
443
+ const handleSearch = useThrottleFn(() => {
444
+ emits("search", keyword.value);
445
+ }, props.throttle);
446
+ const isFullScreen = ref(false);
447
+ function toggleFullScreen() {
448
+ const target = props.fullscreenTarget === "page" ? pageTarget.value : panelTarget.value;
449
+ if (target) {
450
+ isFullScreen.value = !isFullScreen.value;
451
+ isFullScreen.value ? target.classList.add($style.fullscreen) : target.classList.remove($style.fullscreen);
452
+ emits("fullscreen", isFullScreen.value);
453
+ }
454
+ }
455
+ return (_ctx, _cache) => {
456
+ const _component_ElRadioButton = ElRadioButton;
457
+ const _component_ElRadioGroup = ElRadioGroup;
458
+ return openBlock(), createElementBlock("div", {
459
+ class: normalizeClass(unref($style)["explorer-tools"])
460
+ }, [
461
+ createElementVNode("div", {
462
+ class: normalizeClass(unref($style).buttons)
463
+ }, [
464
+ __props.create ? (openBlock(), createBlock(Component$1, {
465
+ key: 0,
466
+ type: "primary",
467
+ onClick: _cache[0] || (_cache[0] = ($event) => emits("create"))
468
+ }, {
469
+ default: withCtx(() => [
470
+ createTextVNode(toDisplayString(__props.createText), 1)
471
+ ]),
472
+ _: 1
473
+ })) : createCommentVNode("", true),
474
+ renderSlot(_ctx.$slots, "default")
475
+ ], 2),
476
+ Array.isArray(__props.tools) && __props.tools.length > 0 ? (openBlock(), createElementBlock("div", {
477
+ key: 0,
478
+ class: normalizeClass(unref($style).tools)
479
+ }, [
480
+ __props.tools.includes("search") ? (openBlock(), createBlock(Component$3, {
481
+ key: 0,
482
+ modelValue: unref(keyword),
483
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(keyword) ? keyword.value = $event : null),
484
+ placeholder: __props.searchPlaceholder,
485
+ clearable: "",
486
+ "prefix-icon": unref(Search),
487
+ width: "180px",
488
+ onKeydown: withKeys(unref(handleSearch), ["enter"]),
489
+ onClear: unref(handleSearch)
490
+ }, null, 8, ["modelValue", "placeholder", "prefix-icon", "onKeydown", "onClear"])) : createCommentVNode("", true),
491
+ __props.tools.includes("layout") ? (openBlock(), createBlock(_component_ElRadioGroup, {
492
+ key: 1,
493
+ modelValue: unref(myLayout),
494
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(myLayout) ? myLayout.value = $event : null),
495
+ class: normalizeClass(unref($style).layout),
496
+ onChange: _cache[3] || (_cache[3] = ($event) => emits("layout", unref(myLayout)))
497
+ }, {
498
+ default: withCtx(() => [
499
+ createVNode(_component_ElRadioButton, {
500
+ value: "card",
501
+ title: "卡片视图"
502
+ }, {
503
+ default: withCtx(() => [
504
+ createVNode(Component$4, { name: "lucide:layout-grid" })
505
+ ]),
506
+ _: 1
507
+ }),
508
+ createVNode(_component_ElRadioButton, {
509
+ value: "list",
510
+ title: "列表视图"
511
+ }, {
512
+ default: withCtx(() => [
513
+ createVNode(Component$4, { name: "lucide:table-of-contents" })
514
+ ]),
515
+ _: 1
516
+ })
517
+ ]),
518
+ _: 1
519
+ }, 8, ["modelValue", "class"])) : createCommentVNode("", true),
520
+ __props.tools.includes("refresh") ? (openBlock(), createBlock(Component$1, {
521
+ key: 2,
522
+ title: "刷新",
523
+ throttle: __props.throttle,
524
+ circle: "",
525
+ icon: { name: "Refresh", type: "el" },
526
+ onClick: _cache[4] || (_cache[4] = ($event) => emits("refresh"))
527
+ }, null, 8, ["throttle"])) : createCommentVNode("", true),
528
+ __props.tools.includes("fullscreen") ? (openBlock(), createBlock(Component$1, {
529
+ key: 3,
530
+ title: "全屏",
531
+ type: unref(isFullScreen) ? "primary" : "default",
532
+ circle: "",
533
+ icon: { name: "FullScreen", type: "el" },
534
+ onClick: toggleFullScreen
535
+ }, null, 8, ["type"])) : createCommentVNode("", true),
536
+ __props.tools.includes("setter") ? (openBlock(), createBlock(ColumnSetter, {
537
+ key: 4,
538
+ data: unref(columnConfig),
539
+ "onUpdate:data": _cache[5] || (_cache[5] = ($event) => isRef(columnConfig) ? columnConfig.value = $event : null),
540
+ "tools-key": __props.toolsKey,
541
+ size: __props.columnSetterSize,
542
+ "column-to-storage": __props.columnToStorage,
543
+ "reset-visible": __props.columnResetVisible,
544
+ onConfigConfirm: _cache[6] || (_cache[6] = (val) => emits("configConfirm", val)),
545
+ onReset: _cache[7] || (_cache[7] = ($event) => emits("columnReset"))
546
+ }, {
547
+ default: withCtx(() => [
548
+ createVNode(Component$1, {
549
+ title: "设置",
550
+ circle: "",
551
+ icon: { name: "Setting", type: "el" },
552
+ throttle: __props.throttle
553
+ }, null, 8, ["throttle"])
554
+ ]),
555
+ _: 1
556
+ }, 8, ["data", "tools-key", "size", "column-to-storage", "reset-visible"])) : createCommentVNode("", true)
557
+ ], 2)) : createCommentVNode("", true)
558
+ ], 2);
559
+ };
560
+ }
561
+ });
562
+
563
+ /* unplugin-vue-components disabled */const buttons = "_buttons_1hb33_10";
564
+ const tools = "_tools_1hb33_19";
565
+ const layout = "_layout_1hb33_30";
566
+ const fullscreen = "_fullscreen_1hb33_35";
567
+ const style0 = {
568
+ "explorer-tools": "_explorer-tools_1hb33_1",
569
+ buttons: buttons,
570
+ tools: tools,
571
+ layout: layout,
572
+ fullscreen: fullscreen
573
+ };
574
+
575
+ const cssModules = {
576
+ "$style": style0
577
+ };
578
+ const Component = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules]]);
579
+
580
+ const __vite_glob_0_27 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
581
+ __proto__: null,
582
+ default: Component
583
+ }, Symbol.toStringTag, { value: 'Module' }));
584
+
585
+ export { Component as C, __vite_glob_0_27 as _ };
@@ -0,0 +1,43 @@
1
+ import { IExplorerToolsProps } from './explorer-tools';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: HTMLDivElement;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<IExplorerToolsProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
12
+ search: (value: string) => any;
13
+ fullscreen: (status: boolean) => any;
14
+ refresh: () => any;
15
+ layout: (value: "list" | "card") => any;
16
+ create: () => any;
17
+ configConfirm: (config: import('../explorer-column-table/explorer-column-table').IColumnConfig[]) => any;
18
+ columnReset: () => any;
19
+ }, string, import('vue').PublicProps, Readonly<IExplorerToolsProps> & Readonly<{
20
+ onSearch?: ((value: string) => any) | undefined;
21
+ onFullscreen?: ((status: boolean) => any) | undefined;
22
+ onRefresh?: (() => any) | undefined;
23
+ onLayout?: ((value: "list" | "card") => any) | undefined;
24
+ onCreate?: (() => any) | undefined;
25
+ onConfigConfirm?: ((config: import('../explorer-column-table/explorer-column-table').IColumnConfig[]) => any) | undefined;
26
+ onColumnReset?: (() => any) | undefined;
27
+ }>, {
28
+ throttle: number;
29
+ layout: "card" | "list";
30
+ fullscreenTarget: "panel" | "page";
31
+ tools: ("search" | "refresh" | "fullscreen" | "setter" | "layout")[];
32
+ searchPlaceholder: string;
33
+ createText: string;
34
+ columnSetterSize: "small" | "default" | "large";
35
+ columnResetVisible: boolean;
36
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
37
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
38
+ export default _default;
39
+ type __VLS_WithTemplateSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };