@dt-frames/ui 2.0.1 → 2.0.3

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 (220) hide show
  1. package/es/assets/data/icons/actions.d.ts +1 -0
  2. package/es/assets/data/icons/actions.ts +423 -0
  3. package/es/assets/data/icons/code.d.ts +1 -0
  4. package/es/assets/data/icons/code.ts +10 -0
  5. package/es/assets/data/icons/commuticate.d.ts +1 -0
  6. package/es/assets/data/icons/commuticate.ts +182 -0
  7. package/es/assets/data/icons/currency.d.ts +1 -0
  8. package/es/assets/data/icons/currency.ts +44 -0
  9. package/es/assets/data/icons/devices.d.ts +1 -0
  10. package/es/assets/data/icons/devices.ts +126 -0
  11. package/es/assets/data/icons/edit.d.ts +1 -0
  12. package/es/assets/data/icons/edit.ts +163 -0
  13. package/es/assets/data/icons/file.d.ts +1 -0
  14. package/es/assets/data/icons/file.ts +99 -0
  15. package/es/assets/data/icons/math.d.ts +1 -0
  16. package/es/assets/data/icons/math.ts +53 -0
  17. package/es/assets/data/icons/message.d.ts +1 -0
  18. package/es/assets/data/icons/message.ts +68 -0
  19. package/es/assets/data/icons/navigate.d.ts +1 -0
  20. package/es/assets/data/icons/navigate.ts +181 -0
  21. package/es/assets/data/icons/other.d.ts +1 -0
  22. package/es/assets/data/icons/other.ts +324 -0
  23. package/es/assets/data/index.d.ts +4 -0
  24. package/es/assets/data/index.ts +58 -0
  25. package/es/assets/icons/iconfont.css +7266 -0
  26. package/es/assets/icons/iconfont.eot +0 -0
  27. package/es/assets/icons/iconfont.svg +5445 -0
  28. package/es/assets/icons/iconfont.ttf +0 -0
  29. package/es/assets/icons/iconfont.woff +0 -0
  30. package/es/assets/icons/iconfont.woff2 +0 -0
  31. package/es/assets/imgs/header/avatar.png +0 -0
  32. package/es/assets/imgs/logo/logo.png +0 -0
  33. package/es/assets/imgs/table/empty.png +0 -0
  34. package/es/assets/locales/en.d.ts +101 -0
  35. package/es/assets/locales/en.ts +101 -0
  36. package/es/assets/locales/index.d.ts +2 -0
  37. package/es/assets/locales/index.ts +5 -0
  38. package/es/assets/locales/zh.d.ts +103 -0
  39. package/es/assets/locales/zh.ts +103 -0
  40. package/es/components/container/index.d.ts +94 -0
  41. package/es/components/container/index.js +290 -0
  42. package/es/components/container/index.less +64 -0
  43. package/es/components/container/src/components/bar.d.ts +14 -0
  44. package/es/components/container/src/components/scroll-bar.d.ts +70 -0
  45. package/es/components/container/src/hooks/scroll.d.ts +10 -0
  46. package/es/components/container/src/scroll-container.d.ts +76 -0
  47. package/es/components/container/src/slot-container.d.ts +20 -0
  48. package/es/components/container/src/types/scroll.type.d.ts +22 -0
  49. package/es/components/container/src/utils/scroll.d.ts +5 -0
  50. package/es/components/curd/index.d.ts +2 -0
  51. package/es/components/curd/index.js +3120 -0
  52. package/es/components/curd/src/components/Curd.d.ts +1246 -0
  53. package/es/components/curd/src/hooks/useCurd.d.ts +112 -0
  54. package/es/components/curd/src/props.d.ts +187 -0
  55. package/es/components/curd/src/types/curd.type.d.ts +19 -0
  56. package/es/components/drawer/index.d.ts +8039 -0
  57. package/es/components/drawer/index.js +838 -0
  58. package/es/components/drawer/index.less +10 -0
  59. package/es/components/drawer/src/components/DrawerFooter.d.ts +139 -0
  60. package/es/components/drawer/src/components/DrawerHeader.d.ts +11 -0
  61. package/es/components/drawer/src/hooks/useDrawer.d.ts +3 -0
  62. package/es/components/drawer/src/index.d.ts +8041 -0
  63. package/es/components/drawer/src/props.d.ts +64 -0
  64. package/es/components/drawer/src/types/index.type.d.ts +48 -0
  65. package/es/components/form/index.d.ts +3219 -0
  66. package/es/components/form/index.js +1896 -0
  67. package/es/components/form/index.less +141 -0
  68. package/es/components/form/src/components/FormButtons.d.ts +88 -0
  69. package/es/components/form/src/components/FormItem.d.ts +165 -0
  70. package/es/components/form/src/components/componentMap.d.ts +4 -0
  71. package/es/components/form/src/components/formIcon.d.ts +1231 -0
  72. package/es/components/form/src/components/formInputUseDialog.d.ts +911 -0
  73. package/es/components/form/src/components/index.d.ts +4 -0
  74. package/es/components/form/src/components/radioButton.d.ts +34 -0
  75. package/es/components/form/src/enums/index.d.ts +7 -0
  76. package/es/components/form/src/hooks/helper.d.ts +14 -0
  77. package/es/components/form/src/hooks/useForm.d.ts +6 -0
  78. package/es/components/form/src/hooks/useFormActions.d.ts +12 -0
  79. package/es/components/form/src/hooks/useFormEvent.d.ts +25 -0
  80. package/es/components/form/src/hooks/useFormValue.d.ts +3 -0
  81. package/es/components/form/src/hooks/useFormValues.d.ts +11 -0
  82. package/es/components/form/src/hooks/useLabelWidth.d.ts +22 -0
  83. package/es/components/form/src/index.d.ts +2965 -0
  84. package/es/components/form/src/props.d.ts +133 -0
  85. package/es/components/form/src/types/actions.type.d.ts +15 -0
  86. package/es/components/form/src/types/form.type.d.ts +70 -0
  87. package/es/components/icons/index.d.ts +497 -0
  88. package/es/components/icons/index.js +1969 -0
  89. package/es/components/icons/index.less +42 -0
  90. package/es/components/icons/src/pick-icon.d.ts +455 -0
  91. package/es/components/icons/src/svg-icon.d.ts +44 -0
  92. package/es/components/modal/index.d.ts +3 -0
  93. package/es/components/modal/index.js +1193 -0
  94. package/es/components/modal/index.less +54 -0
  95. package/es/components/modal/src/components/CloseIcon.d.ts +40 -0
  96. package/es/components/modal/src/components/Modal.d.ts +108 -0
  97. package/es/components/modal/src/components/ModalFooter.d.ts +139 -0
  98. package/es/components/modal/src/components/ModalWrap.d.ts +153 -0
  99. package/es/components/modal/src/hooks/useDrag.d.ts +7 -0
  100. package/es/components/modal/src/hooks/useFullScreen.d.ts +6 -0
  101. package/es/components/modal/src/hooks/useModal.d.ts +5 -0
  102. package/es/components/modal/src/index.d.ts +774 -0
  103. package/es/components/modal/src/props.d.ts +100 -0
  104. package/es/components/modal/src/types/modal.type.d.ts +17 -0
  105. package/es/components/source/hooks/useDownload.d.ts +8 -0
  106. package/es/components/source/hooks/useSource.d.ts +40 -0
  107. package/es/components/source/index.d.ts +2 -0
  108. package/es/components/source/index.js +332 -0
  109. package/es/components/source/types/source.type.d.ts +37 -0
  110. package/es/components/source/utils/index.d.ts +8 -0
  111. package/es/components/table/index.d.ts +3 -0
  112. package/es/components/table/index.js +3983 -0
  113. package/es/components/table/index.less +192 -0
  114. package/es/components/table/src/components/TableAction.d.ts +70 -0
  115. package/es/components/table/src/components/TableHeader.d.ts +1136 -0
  116. package/es/components/table/src/components/TableRender.d.ts +17 -0
  117. package/es/components/table/src/components/editTable/CellComponent.d.ts +22 -0
  118. package/es/components/table/src/components/editTable/EditTableCell.d.ts +93 -0
  119. package/es/components/table/src/components/editTable/componentMap.d.ts +4 -0
  120. package/es/components/table/src/components/editTable/index.d.ts +9 -0
  121. package/es/components/table/src/components/editTable/props.d.ts +27 -0
  122. package/es/components/table/src/components/tableSetting/Column.d.ts +69 -0
  123. package/es/components/table/src/components/tableSetting/Download.d.ts +922 -0
  124. package/es/components/table/src/components/tableSetting/DownloadCtrl.d.ts +888 -0
  125. package/es/components/table/src/components/tableSetting/Fullscreen.d.ts +22 -0
  126. package/es/components/table/src/components/tableSetting/index.d.ts +1030 -0
  127. package/es/components/table/src/hooks/useColumns.d.ts +14 -0
  128. package/es/components/table/src/hooks/useCustomRow.d.ts +20 -0
  129. package/es/components/table/src/hooks/useDataSource.d.ts +15 -0
  130. package/es/components/table/src/hooks/useHeader.d.ts +8 -0
  131. package/es/components/table/src/hooks/useHeaderCode.d.ts +3 -0
  132. package/es/components/table/src/hooks/useLoading.d.ts +6 -0
  133. package/es/components/table/src/hooks/usePagination.d.ts +7 -0
  134. package/es/components/table/src/hooks/useRow.d.ts +5 -0
  135. package/es/components/table/src/hooks/useRowSelection.d.ts +12 -0
  136. package/es/components/table/src/hooks/useTable.d.ts +9 -0
  137. package/es/components/table/src/hooks/useTableInstance.d.ts +16 -0
  138. package/es/components/table/src/hooks/useTableScroll.d.ts +13 -0
  139. package/es/components/table/src/index.d.ts +644 -0
  140. package/es/components/table/src/props.d.ts +185 -0
  141. package/es/components/table/src/types/actions.type.d.ts +21 -0
  142. package/es/components/table/src/types/header.type.d.ts +23 -0
  143. package/es/components/table/src/types/table.type.d.ts +98 -0
  144. package/es/directives/icon.d.ts +2 -0
  145. package/es/directives/index.d.ts +7 -0
  146. package/es/directives/index.js +2015 -0
  147. package/es/directives/permission.d.ts +2 -0
  148. package/es/global.d.ts +7 -0
  149. package/es/index.d.ts +1 -0
  150. package/es/index.js +4 -0
  151. package/es/theme/index.d.ts +10 -0
  152. package/es/theme/index.js +3255 -0
  153. package/es/theme/index.less +603 -0
  154. package/es/theme/src/components/content/index.d.ts +27 -0
  155. package/es/theme/src/components/feature/back-top.d.ts +5 -0
  156. package/es/theme/src/components/feature/index.d.ts +7 -0
  157. package/es/theme/src/components/footer/index.d.ts +31 -0
  158. package/es/theme/src/components/header/components/bread-crumb.d.ts +6 -0
  159. package/es/theme/src/components/header/components/fullscreen.d.ts +5 -0
  160. package/es/theme/src/components/header/components/index.d.ts +11 -0
  161. package/es/theme/src/components/header/components/lang-picker.d.ts +23 -0
  162. package/es/theme/src/components/header/components/logo.d.ts +35 -0
  163. package/es/theme/src/components/header/components/menu-filter.d.ts +22 -0
  164. package/es/theme/src/components/header/components/notify.d.ts +24 -0
  165. package/es/theme/src/components/header/components/setting-theme.d.ts +223 -0
  166. package/es/theme/src/components/header/components/size.d.ts +282 -0
  167. package/es/theme/src/components/header/components/theme-drawer/feature.d.ts +138 -0
  168. package/es/theme/src/components/header/components/theme-drawer/index.d.ts +3 -0
  169. package/es/theme/src/components/header/components/theme-drawer/menu-type.d.ts +16 -0
  170. package/es/theme/src/components/header/components/theme-drawer/select.d.ts +58 -0
  171. package/es/theme/src/components/header/components/theme-drawer/switch.d.ts +49 -0
  172. package/es/theme/src/components/header/components/trigger.d.ts +10 -0
  173. package/es/theme/src/components/header/components/user-info.d.ts +37 -0
  174. package/es/theme/src/components/header/helper/change-theme.d.ts +13 -0
  175. package/es/theme/src/components/header/helper/menu-tree.d.ts +3 -0
  176. package/es/theme/src/components/header/index.d.ts +699 -0
  177. package/es/theme/src/components/header/multiple-header.d.ts +785 -0
  178. package/es/theme/src/components/sider/components/basic-menu/basic-menu-item.d.ts +62 -0
  179. package/es/theme/src/components/sider/components/basic-menu/basic-menu.d.ts +207 -0
  180. package/es/theme/src/components/sider/components/basic-menu/basic-sub-menu-item.d.ts +127 -0
  181. package/es/theme/src/components/sider/components/basic-menu/menu-item-content.d.ts +26 -0
  182. package/es/theme/src/components/sider/components/drag-bar.d.ts +14 -0
  183. package/es/theme/src/components/sider/components/layout-menu.d.ts +22 -0
  184. package/es/theme/src/components/sider/components/props.d.ts +69 -0
  185. package/es/theme/src/components/sider/components/sider-trigger.d.ts +18 -0
  186. package/es/theme/src/components/sider/helper/sider.d.ts +12 -0
  187. package/es/theme/src/components/sider/helper/split-menu.d.ts +10 -0
  188. package/es/theme/src/components/sider/index.d.ts +70 -0
  189. package/es/theme/src/components/tabs/components/TabContent.d.ts +6 -0
  190. package/es/theme/src/components/tabs/components/TabRedo.d.ts +21 -0
  191. package/es/theme/src/components/tabs/components/index.d.ts +3 -0
  192. package/es/theme/src/components/tabs/hooks/useMultifyTabs.d.ts +7 -0
  193. package/es/theme/src/components/tabs/hooks/useTabDropdown.d.ts +6 -0
  194. package/es/theme/src/components/tabs/index.d.ts +63 -0
  195. package/es/theme/src/components/tabs/types/tabs.type.d.ts +7 -0
  196. package/es/theme/src/enums/index.d.ts +1 -0
  197. package/es/theme/src/enums/theme.enum.d.ts +33 -0
  198. package/es/theme/src/hooks/index.d.ts +6 -0
  199. package/es/theme/src/hooks/useDragLine.d.ts +2 -0
  200. package/es/theme/src/hooks/useHeader.d.ts +25 -0
  201. package/es/theme/src/hooks/useMenu.d.ts +27 -0
  202. package/es/theme/src/hooks/useMultifyTab.d.ts +7 -0
  203. package/es/theme/src/hooks/useOpenKeys.d.ts +7 -0
  204. package/es/theme/src/hooks/useTheme.d.ts +9 -0
  205. package/es/theme/src/index.d.ts +1643 -0
  206. package/es/theme/src/setting/theme.setting.d.ts +2 -0
  207. package/es/theme/src/stores/index.d.ts +3 -0
  208. package/es/theme/src/stores/routeReuse.store.d.ts +23 -0
  209. package/es/theme/src/stores/theme.store.d.ts +15 -0
  210. package/es/theme/src/types/index.d.ts +3 -0
  211. package/es/theme/src/types/menu.type.d.ts +15 -0
  212. package/es/theme/src/types/theme.type.d.ts +60 -0
  213. package/es/utils/withInstall.d.ts +4 -0
  214. package/index.d.ts +10 -0
  215. package/index.js +34 -0
  216. package/package.json +3 -6
  217. package/tailwind.config.cjs +11 -0
  218. package/tsconfig.json +41 -0
  219. package/tsconfig.node.json +9 -0
  220. package/vite.config.ts +51 -0
@@ -0,0 +1,838 @@
1
+ import { Button, FormItem, Col, Drawer } from "ant-design-vue/es";
2
+ import "ant-design-vue/es/drawer/style";
3
+ import { defineComponent, getCurrentInstance as getCurrentInstance$1, ref as ref$1, inject, computed, onUnmounted, h as h$1, provide, onMounted, nextTick as nextTick$1, unref, openBlock, createElementBlock, createElementVNode, normalizeClass, normalizeStyle, createBlock, resolveDynamicComponent, withCtx, renderSlot, createVNode, mergeProps, toDisplayString, watch, resolveDirective, normalizeProps, Fragment, renderList, withDirectives, createCommentVNode, createTextVNode, useAttrs, createSlots, guardReactiveProps, reactive, toRaw as toRaw$1 } from "vue";
4
+ import { off, on, useI18n, dispatchResize, isFunction, DtCache, CacheKey, deepMerge, isUnDef, useApp, isObject, error } from "@dt-frames/core";
5
+ import "ant-design-vue/es/col/style";
6
+ import "ant-design-vue/es/form/style";
7
+ import "ant-design-vue/es/button/style";
8
+ const isServer = typeof window === "undefined";
9
+ const BAR_MAP = {
10
+ vertical: {
11
+ offset: "offsetHeight",
12
+ scroll: "scrollTop",
13
+ scrollSize: "scrollHeight",
14
+ size: "height",
15
+ key: "vertical",
16
+ axis: "Y",
17
+ client: "clientY",
18
+ direction: "top"
19
+ },
20
+ horizontal: {
21
+ offset: "offsetWidth",
22
+ scroll: "scrollLeft",
23
+ scrollSize: "scrollWidth",
24
+ size: "width",
25
+ key: "horizontal",
26
+ axis: "X",
27
+ client: "clientX",
28
+ direction: "left"
29
+ }
30
+ };
31
+ function renderThumbStyle({ move, size, bar }) {
32
+ const style = {};
33
+ const translate = `translate${bar.axis}(${move}%)`;
34
+ style[bar.size] = size;
35
+ style.transform = translate;
36
+ style.msTransform = translate;
37
+ style.webkitTransform = translate;
38
+ return style;
39
+ }
40
+ function resizeHandler(entries) {
41
+ for (const entry of entries) {
42
+ const listeners = entry.target.__resizeListeners__ || [];
43
+ if (listeners.length) {
44
+ listeners.forEach((fn) => {
45
+ fn();
46
+ });
47
+ }
48
+ }
49
+ }
50
+ function addResizeListener(element, fn) {
51
+ if (isServer)
52
+ return;
53
+ if (!element.__resizeListeners__) {
54
+ element.__resizeListeners__ = [];
55
+ element.__ro__ = new ResizeObserver(resizeHandler);
56
+ element.__ro__.observe(element);
57
+ }
58
+ element.__resizeListeners__.push(fn);
59
+ }
60
+ function removeResizeListener(element, fn) {
61
+ if (!element || !element.__resizeListeners__)
62
+ return;
63
+ element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);
64
+ if (!element.__resizeListeners__.length) {
65
+ element.__ro__.disconnect();
66
+ }
67
+ }
68
+ const Bar = defineComponent({
69
+ name: "Bar",
70
+ props: {
71
+ vertical: Boolean,
72
+ size: String,
73
+ move: Number
74
+ },
75
+ setup(props) {
76
+ const instance = getCurrentInstance$1();
77
+ const thumb = ref$1();
78
+ const wrap = inject("scroll-bar-wrap", {});
79
+ const bar = computed(() => {
80
+ return BAR_MAP[props.vertical ? "vertical" : "horizontal"];
81
+ });
82
+ const barStore = ref$1({});
83
+ const cursorDown = ref$1();
84
+ const clickThumbHandler = (e) => {
85
+ if (e.ctrlKey || e.button === 2) {
86
+ return;
87
+ }
88
+ window.getSelection()?.removeAllRanges();
89
+ startDrag(e);
90
+ barStore.value[bar.value.axis] = e.currentTarget[bar.value.offset] - (e[bar.value.client] - e.currentTarget.getBoundingClientRect()[bar.value.direction]);
91
+ };
92
+ const clickTrackHandler = (e) => {
93
+ const offset = Math.abs(
94
+ e.target.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]
95
+ );
96
+ const thumbHalf = thumb.value[bar.value.offset] / 2;
97
+ const thumbPositionPercentage = (offset - thumbHalf) * 100 / instance?.vnode.el?.[bar.value.offset];
98
+ wrap.value[bar.value.scroll] = thumbPositionPercentage * wrap.value[bar.value.scrollSize] / 100;
99
+ };
100
+ const startDrag = (e) => {
101
+ e.stopImmediatePropagation();
102
+ cursorDown.value = true;
103
+ on(document, "mousemove", mouseMoveDocumentHandler);
104
+ on(document, "mouseup", mouseUpDocumentHandler);
105
+ document.onselectstart = () => false;
106
+ };
107
+ const mouseMoveDocumentHandler = (e) => {
108
+ if (cursorDown.value === false)
109
+ return;
110
+ const prevPage = barStore.value[bar.value.axis];
111
+ if (!prevPage)
112
+ return;
113
+ const offset = (instance?.vnode.el?.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]) * -1;
114
+ const thumbClickPosition = thumb.value[bar.value.offset] - prevPage;
115
+ const thumbPositionPercentage = (offset - thumbClickPosition) * 100 / instance?.vnode.el?.[bar.value.offset];
116
+ wrap.value[bar.value.scroll] = thumbPositionPercentage * wrap.value[bar.value.scrollSize] / 100;
117
+ };
118
+ function mouseUpDocumentHandler() {
119
+ cursorDown.value = false;
120
+ barStore.value[bar.value.axis] = 0;
121
+ off(document, "mousemove", mouseMoveDocumentHandler);
122
+ document.onselectstart = null;
123
+ }
124
+ onUnmounted(() => {
125
+ off(document, "mouseup", mouseUpDocumentHandler);
126
+ });
127
+ return () => h$1(
128
+ "div",
129
+ {
130
+ class: ["scrollbar__bar", "is-" + bar.value.key],
131
+ onMousedown: clickTrackHandler
132
+ },
133
+ h$1("div", {
134
+ ref: thumb,
135
+ class: "scrollbar__thumb",
136
+ onMousedown: clickThumbHandler,
137
+ style: renderThumbStyle({
138
+ size: props.size,
139
+ move: props.move,
140
+ bar: bar.value
141
+ })
142
+ })
143
+ );
144
+ }
145
+ });
146
+ const _hoisted_1$3 = { class: "scrollbar relative h-full overflow-hidden" };
147
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
148
+ __name: "scroll-bar",
149
+ props: {
150
+ wrapClass: {
151
+ type: [String, Array],
152
+ default: ""
153
+ },
154
+ wrapStyle: Array,
155
+ viewClass: {
156
+ type: [String, Array],
157
+ default: ""
158
+ },
159
+ viewStyle: {
160
+ type: [String, Array],
161
+ default: ""
162
+ },
163
+ noresize: Boolean,
164
+ tag: {
165
+ type: String,
166
+ default: "div"
167
+ }
168
+ },
169
+ setup(__props) {
170
+ const props = __props;
171
+ const sizeWidth = ref$1("0");
172
+ const sizeHeight = ref$1("0");
173
+ const moveX = ref$1(0);
174
+ const moveY = ref$1(0);
175
+ const wrap = ref$1();
176
+ const resize = ref$1();
177
+ provide("scroll-bar-wrap", wrap);
178
+ const style = computed(() => {
179
+ let rsStyle = {};
180
+ if (Array.isArray(props.wrapStyle)) {
181
+ props.wrapStyle.forEach((it) => {
182
+ if (it)
183
+ rsStyle = Object.assign({}, rsStyle, it);
184
+ });
185
+ }
186
+ return rsStyle;
187
+ });
188
+ const handleScroll = () => {
189
+ moveY.value = unref(wrap).scrollTop * 100 / unref(wrap).clientHeight;
190
+ moveX.value = unref(wrap).scrollLeft * 100 / unref(wrap).clientWidth;
191
+ };
192
+ const update = () => {
193
+ if (!unref(wrap))
194
+ return;
195
+ const heightPercentage = unref(wrap).clientHeight * 100 / unref(wrap).scrollHeight;
196
+ const widthPercentage = unref(wrap).clientWidth * 100 / unref(wrap).scrollWidth;
197
+ sizeHeight.value = heightPercentage < 100 ? heightPercentage + "%" : "";
198
+ sizeWidth.value = widthPercentage < 100 ? widthPercentage + "%" : "";
199
+ };
200
+ onMounted(() => {
201
+ nextTick$1(update);
202
+ if (!props.noresize) {
203
+ addResizeListener(unref(resize), update);
204
+ addResizeListener(unref(wrap), update);
205
+ addEventListener("resize", update);
206
+ }
207
+ });
208
+ onBeforeUnmount(() => {
209
+ if (!props.noresize) {
210
+ removeResizeListener(unref(resize), update);
211
+ removeResizeListener(unref(wrap), update);
212
+ removeEventListener("resize", update);
213
+ }
214
+ });
215
+ return (_ctx, _cache) => {
216
+ return openBlock(), createElementBlock("div", _hoisted_1$3, [
217
+ createElementVNode("div", {
218
+ ref_key: "wrap",
219
+ ref: wrap,
220
+ class: normalizeClass([[__props.wrapClass, "scrollbar__wrap--hidden-default"], "h-full overflow-auto"]),
221
+ style: normalizeStyle(unref(style)),
222
+ onScroll: handleScroll
223
+ }, [
224
+ (openBlock(), createBlock(resolveDynamicComponent(__props.tag), {
225
+ class: normalizeClass(["box-border", __props.viewClass]),
226
+ ref_key: "resize",
227
+ ref: resize,
228
+ style: normalizeStyle(__props.viewStyle)
229
+ }, {
230
+ default: withCtx(() => [
231
+ renderSlot(_ctx.$slots, "default")
232
+ ]),
233
+ _: 3
234
+ }, 8, ["class", "style"]))
235
+ ], 38),
236
+ createVNode(unref(Bar), {
237
+ move: moveX.value,
238
+ size: sizeWidth.value
239
+ }, null, 8, ["move", "size"]),
240
+ createVNode(unref(Bar), {
241
+ vertical: "",
242
+ move: moveY.value,
243
+ size: sizeHeight.value
244
+ }, null, 8, ["move", "size"])
245
+ ]);
246
+ };
247
+ }
248
+ });
249
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
250
+ __name: "scroll-container",
251
+ setup(__props) {
252
+ const scrollbarRef = ref(null);
253
+ return (_ctx, _cache) => {
254
+ return openBlock(), createBlock(_sfc_main$6, mergeProps({
255
+ ref_key: "scrollbarRef",
256
+ ref: scrollbarRef
257
+ }, _ctx.$attrs, { class: "w-full h-full" }), {
258
+ default: withCtx(() => [
259
+ renderSlot(_ctx.$slots, "default")
260
+ ]),
261
+ _: 3
262
+ }, 16);
263
+ };
264
+ }
265
+ });
266
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
267
+ __name: "slot-container",
268
+ props: {
269
+ template: {
270
+ type: Function
271
+ },
272
+ data: {
273
+ type: Object
274
+ }
275
+ },
276
+ setup(__props) {
277
+ const props = __props;
278
+ const Container = h("div", [props.template(props.data)]);
279
+ return (_ctx, _cache) => {
280
+ return openBlock(), createBlock(unref(Container));
281
+ };
282
+ }
283
+ });
284
+ const withInstall = (comp) => {
285
+ comp.install = (app) => {
286
+ app.component(comp.name, comp);
287
+ };
288
+ return comp;
289
+ };
290
+ const DtScrollContainer = withInstall(_sfc_main$5);
291
+ withInstall(_sfc_main$4);
292
+ const _hoisted_1$2 = { class: "flex h-full items-center" };
293
+ const _hoisted_2$1 = { class: "pr-12" };
294
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
295
+ __name: "DrawerHeader",
296
+ props: {
297
+ title: {
298
+ type: String
299
+ }
300
+ },
301
+ setup(__props) {
302
+ return (_ctx, _cache) => {
303
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
304
+ createElementVNode("span", null, toDisplayString(__props.title), 1),
305
+ createElementVNode("span", _hoisted_2$1, [
306
+ renderSlot(_ctx.$slots, "titleToolbar")
307
+ ])
308
+ ]);
309
+ };
310
+ }
311
+ });
312
+ const _hoisted_1$1 = {
313
+ key: 0,
314
+ className: "preIcon pr-1"
315
+ };
316
+ const _hoisted_2 = {
317
+ key: 0,
318
+ className: "preIcon pl-1"
319
+ };
320
+ const _hoisted_3 = { class: "text" };
321
+ const _hoisted_4 = /* @__PURE__ */ createElementVNode("i", { class: "text-2xl i ic:baseline-arrow-drop-down" }, null, -1);
322
+ const _hoisted_5 = [
323
+ _hoisted_4
324
+ ];
325
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
326
+ __name: "FormButtons",
327
+ props: {
328
+ mode: {
329
+ type: String,
330
+ default: "search"
331
+ },
332
+ show: {
333
+ type: Boolean,
334
+ default: true
335
+ },
336
+ showAdvancedButton: {
337
+ type: Boolean,
338
+ default: true
339
+ },
340
+ minShowColumn: {
341
+ type: Number,
342
+ default: 2
343
+ },
344
+ buttonList: {
345
+ type: [Array],
346
+ default: []
347
+ },
348
+ isAdvanced: {
349
+ type: Boolean,
350
+ default: true
351
+ }
352
+ },
353
+ emits: ["handle-method"],
354
+ setup(__props, { emit: emits }) {
355
+ const props = __props;
356
+ const { t } = useI18n();
357
+ const advancedRef = ref$1(props.isAdvanced);
358
+ let key = 0;
359
+ const showAdvanceRef = computed(() => {
360
+ return props.mode === "search" ? props.showAdvancedButton : false;
361
+ });
362
+ const colOpt = computed(() => {
363
+ let style = {
364
+ textAlign: "right"
365
+ };
366
+ if (props.mode === "dialog") {
367
+ Object.assign(style, {
368
+ display: "inline-block"
369
+ });
370
+ }
371
+ return { style };
372
+ });
373
+ const getAdvanceClass = computed(() => {
374
+ return [
375
+ "basic-arrow",
376
+ { "basic-arrow--active": !advancedRef.value }
377
+ ];
378
+ });
379
+ const toggleAdvanced = () => {
380
+ advancedRef.value = !advancedRef.value;
381
+ dispatchResize();
382
+ emits("handle-method", advancedRef.value);
383
+ };
384
+ function handleBtnClick(button) {
385
+ if (button.onClick && isFunction(button.onClick)) {
386
+ button.onClick();
387
+ } else {
388
+ emits("handle-method", button);
389
+ }
390
+ }
391
+ watch(() => props.isAdvanced, (v) => {
392
+ if (v) {
393
+ nextTick$1(() => toggleAdvanced());
394
+ }
395
+ }, {
396
+ immediate: true
397
+ });
398
+ watch(
399
+ () => props.buttonList,
400
+ (v) => key = new Date().getTime(),
401
+ {
402
+ immediate: true,
403
+ deep: true
404
+ }
405
+ );
406
+ return (_ctx, _cache) => {
407
+ const _component_AButton = Button;
408
+ const _component_AFormItem = FormItem;
409
+ const _component_ACol = Col;
410
+ const _directive_icon = resolveDirective("icon");
411
+ const _directive_auth = resolveDirective("auth");
412
+ return __props.show ? (openBlock(), createBlock(_component_ACol, normalizeProps(mergeProps({ key: 0 }, unref(colOpt))), {
413
+ default: withCtx(() => [
414
+ createVNode(_component_AFormItem, {
415
+ class: "dt-form-btns",
416
+ style: normalizeStyle({
417
+ "margin-bottom": __props.mode === "search" ? "16px" : "0px"
418
+ })
419
+ }, {
420
+ default: withCtx(() => [
421
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.buttonList, (button) => {
422
+ return openBlock(), createElementBlock(Fragment, null, [
423
+ (button.show === void 0 ? true : button.show) ? withDirectives((openBlock(), createBlock(_component_AButton, {
424
+ type: button.type,
425
+ class: normalizeClass(button.class),
426
+ loading: button.loading?.value,
427
+ disabled: button.disabled,
428
+ key: unref(key),
429
+ onClick: ($event) => handleBtnClick(button)
430
+ }, {
431
+ icon: withCtx(() => [
432
+ button.preIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$1, null, 512)), [
433
+ [_directive_icon, button.preIcon]
434
+ ]) : createCommentVNode("", true)
435
+ ]),
436
+ default: withCtx(() => [
437
+ createTextVNode(" " + toDisplayString(unref(t)(button.name)) + " ", 1),
438
+ button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2, null, 512)), [
439
+ [_directive_icon, button.postIcon]
440
+ ]) : createCommentVNode("", true)
441
+ ]),
442
+ _: 2
443
+ }, 1032, ["type", "class", "loading", "disabled", "onClick"])), [
444
+ [_directive_auth, button.auth]
445
+ ]) : createCommentVNode("", true)
446
+ ], 64);
447
+ }), 256)),
448
+ unref(showAdvanceRef) ? (openBlock(), createBlock(_component_AButton, {
449
+ key: 0,
450
+ type: "link",
451
+ class: "advanced",
452
+ onClick: toggleAdvanced
453
+ }, {
454
+ default: withCtx(() => [
455
+ createElementVNode("span", _hoisted_3, toDisplayString(advancedRef.value ? unref(t)("UI.ADVANCED") : unref(t)("UI.EXPAND")), 1),
456
+ createElementVNode("span", {
457
+ class: normalizeClass(unref(getAdvanceClass))
458
+ }, _hoisted_5, 2)
459
+ ]),
460
+ _: 1
461
+ })) : createCommentVNode("", true)
462
+ ]),
463
+ _: 1
464
+ }, 8, ["style"])
465
+ ]),
466
+ _: 1
467
+ }, 16)) : createCommentVNode("", true);
468
+ };
469
+ }
470
+ });
471
+ const _hoisted_1 = {
472
+ class: "flex items-center",
473
+ style: { gap: "10px" }
474
+ };
475
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
476
+ __name: "DrawerFooter",
477
+ props: {
478
+ buttons: Object,
479
+ showSave: { type: Boolean, default: true },
480
+ showCancel: { type: Boolean, default: true },
481
+ okText: { type: String },
482
+ cancelText: { type: String }
483
+ },
484
+ emits: [
485
+ "handleSave",
486
+ "handleCancel"
487
+ ],
488
+ setup(__props, { emit: emits }) {
489
+ const props = __props;
490
+ const { t } = useI18n("UI");
491
+ const buttonList = computed(() => {
492
+ if (props.buttons && props.buttons.length)
493
+ return props.buttons;
494
+ let buttonActions = [
495
+ { t: "\u4FDD\u5B58", name: props.okText || t("SAVE"), preIcon: "mdi:content-save", type: "primary", flag: "OK" },
496
+ { t: "\u5173\u95ED", name: props.cancelText || t("CLOSE"), preIcon: "mdi:close", flag: "CANCEL" }
497
+ ];
498
+ if (!props.showSave)
499
+ buttonActions = buttonActions.filter((btn) => btn.flag !== "OK");
500
+ if (!props.showCancel)
501
+ buttonActions = buttonActions.filter((btn) => btn.flag !== "CANCEL");
502
+ return buttonActions;
503
+ });
504
+ function handleMethod(item) {
505
+ switch (item.flag) {
506
+ case "OK":
507
+ emits("handleSave");
508
+ break;
509
+ case "CANCEL":
510
+ emits("handleCancel");
511
+ break;
512
+ }
513
+ }
514
+ return (_ctx, _cache) => {
515
+ return openBlock(), createElementBlock("div", _hoisted_1, [
516
+ renderSlot(_ctx.$slots, "appendFooter"),
517
+ createVNode(_sfc_main$2, {
518
+ mode: "dialog",
519
+ buttonList: unref(buttonList),
520
+ onHandleMethod: _cache[0] || (_cache[0] = ($event) => handleMethod($event))
521
+ }, null, 8, ["buttonList"])
522
+ ]);
523
+ };
524
+ }
525
+ });
526
+ const basicProps = {
527
+ t: {
528
+ type: String
529
+ },
530
+ title: {
531
+ type: String
532
+ },
533
+ visible: { type: Boolean },
534
+ loading: { type: Boolean },
535
+ loadingTip: { type: String, default: "\u52A0\u8F7D\u4E2D..." },
536
+ mask: { type: Boolean, default: true },
537
+ maskClosable: { type: Boolean, default: true },
538
+ keyboard: { type: Boolean, default: true },
539
+ maskStyle: Object,
540
+ closeFunc: {
541
+ type: [Function, Object],
542
+ default: null
543
+ },
544
+ destroyOnClose: { type: Boolean },
545
+ getContainer: {
546
+ type: [Object, String]
547
+ },
548
+ width: { type: [String, Number] },
549
+ showOkBtn: {
550
+ type: Boolean,
551
+ default: true
552
+ },
553
+ showCancelBtn: {
554
+ type: Boolean,
555
+ default: true
556
+ },
557
+ okText: {
558
+ type: String
559
+ },
560
+ cancelText: {
561
+ type: String
562
+ },
563
+ footer: {
564
+ type: Array
565
+ },
566
+ afterClose: Function
567
+ };
568
+ const _sfc_main = /* @__PURE__ */ defineComponent({
569
+ __name: "index",
570
+ props: basicProps,
571
+ emits: ["cancel", "save", "register", "visible-change"],
572
+ setup(__props, { emit: emits }) {
573
+ const props = __props;
574
+ const attrs = useAttrs();
575
+ const propsRef = ref$1(null);
576
+ const auths = DtCache.getLocal(CacheKey.AUTHS);
577
+ const visibleRef = ref$1(false);
578
+ const getMergeProps = computed(() => {
579
+ return deepMerge(toRaw(props), unref(propsRef));
580
+ });
581
+ const getshowFooter = computed(() => {
582
+ const { footer } = unref(getProps);
583
+ if (isUnDef(footer))
584
+ return true;
585
+ const filterFooterLen = footer.filter((it) => {
586
+ if (it.auth && auths.indexOf(it.auth) !== -1 || !it.auth)
587
+ return true;
588
+ return false;
589
+ }).length;
590
+ return !!filterFooterLen;
591
+ });
592
+ const getProps = computed(() => {
593
+ let opt = {
594
+ placement: "right",
595
+ ...unref(attrs),
596
+ ...unref(getMergeProps),
597
+ visible: unref(visibleRef),
598
+ bodyStyle: {
599
+ padding: 0
600
+ }
601
+ };
602
+ const { getContainer, width } = opt;
603
+ if (!getContainer) {
604
+ opt = {
605
+ ...opt,
606
+ getContainer: ".dt-layout-content",
607
+ style: {
608
+ position: "absolute"
609
+ },
610
+ width: width || "100%"
611
+ };
612
+ } else {
613
+ opt.width = width || "30%";
614
+ }
615
+ return opt;
616
+ });
617
+ const getScrollContentStyle = computed(() => {
618
+ return {
619
+ position: "relative",
620
+ height: `100%`
621
+ };
622
+ });
623
+ function handleSave() {
624
+ emits("save");
625
+ }
626
+ async function handleCancel(e = null) {
627
+ const { closeFunc } = unref(getProps);
628
+ if (closeFunc && isFunction(closeFunc)) {
629
+ const isClose = await closeFunc();
630
+ visibleRef.value = !isClose;
631
+ return;
632
+ }
633
+ const { afterClose } = unref(getProps);
634
+ if (afterClose && isFunction(afterClose)) {
635
+ afterClose();
636
+ }
637
+ visibleRef.value = false;
638
+ propsRef.value.visible = false;
639
+ emits("cancel", e);
640
+ }
641
+ function setDrawerProps(props2) {
642
+ propsRef.value = deepMerge(unref(propsRef) || {}, props2);
643
+ }
644
+ const drawerMethods = {
645
+ setDrawerProps
646
+ };
647
+ const instance = getCurrentInstance();
648
+ instance && emits("register", drawerMethods, instance.uid);
649
+ watch(
650
+ () => unref(propsRef).visible,
651
+ (v) => {
652
+ emits("visible-change", v);
653
+ visibleRef.value = v;
654
+ },
655
+ { immediate: false }
656
+ );
657
+ return (_ctx, _cache) => {
658
+ const _component_ADrawer = Drawer;
659
+ return openBlock(), createBlock(_component_ADrawer, mergeProps({
660
+ class: "dt-drawer",
661
+ onClose: handleCancel
662
+ }, unref(getProps), {
663
+ footerStyle: {
664
+ padding: unref(getshowFooter) ? "10px 16px" : "0"
665
+ }
666
+ }), createSlots({
667
+ default: withCtx(() => [
668
+ createVNode(unref(DtScrollContainer), {
669
+ style: normalizeStyle(unref(getScrollContentStyle))
670
+ }, {
671
+ default: withCtx(() => [
672
+ renderSlot(_ctx.$slots, "default")
673
+ ]),
674
+ _: 3
675
+ }, 8, ["style"])
676
+ ]),
677
+ _: 2
678
+ }, [
679
+ !_ctx.$slots.title ? {
680
+ name: "title",
681
+ fn: withCtx(() => [
682
+ createVNode(_sfc_main$3, {
683
+ title: unref(getProps).title
684
+ }, {
685
+ titleToolbar: withCtx(() => [
686
+ renderSlot(_ctx.$slots, "titleToolbar")
687
+ ]),
688
+ _: 3
689
+ }, 8, ["title"])
690
+ ]),
691
+ key: "0"
692
+ } : {
693
+ name: "title",
694
+ fn: withCtx(() => [
695
+ renderSlot(_ctx.$slots, "title")
696
+ ]),
697
+ key: "1"
698
+ },
699
+ unref(getshowFooter) ? {
700
+ name: "footer",
701
+ fn: withCtx(() => [
702
+ createVNode(_sfc_main$1, {
703
+ buttons: propsRef.value?.footer,
704
+ showSave: unref(getProps).showOkBtn,
705
+ showCancel: unref(getProps).showCancelBtn,
706
+ okText: unref(getProps).okText,
707
+ cancelText: unref(getProps).cancelText,
708
+ onHandleSave: handleSave,
709
+ onHandleCancel: handleCancel
710
+ }, createSlots({ _: 2 }, [
711
+ renderList(Object.keys(_ctx.$slots), (item) => {
712
+ return {
713
+ name: item,
714
+ fn: withCtx((data) => [
715
+ renderSlot(_ctx.$slots, item, normalizeProps(guardReactiveProps(data || {})))
716
+ ])
717
+ };
718
+ })
719
+ ]), 1032, ["buttons", "showSave", "showCancel", "okText", "cancelText"])
720
+ ]),
721
+ key: "2"
722
+ } : void 0
723
+ ]), 1040, ["footerStyle"]);
724
+ };
725
+ }
726
+ });
727
+ const orgDialogProp = reactive({});
728
+ const cbTransfer = reactive({});
729
+ const dataTransfer = reactive({});
730
+ function useDrawerOut() {
731
+ const drawer = ref$1(null);
732
+ const loaded = ref$1(false);
733
+ const uid = ref$1("");
734
+ const { isProd } = useApp();
735
+ function register(drawerMethods, uuid) {
736
+ if (!getCurrentInstance()) {
737
+ throw new Error("useDrawer\u53EA\u80FD\u5728setup()\u6216\u8005\u51FD\u6570\u4E2D\u4F7F\u7528");
738
+ }
739
+ uid.value = uuid;
740
+ onUnmounted(() => {
741
+ if (unref(isProd)) {
742
+ drawer.value = null;
743
+ loaded.value = false;
744
+ dataTransfer[unref(uid)] = null;
745
+ orgDialogProp[unref(uid)] = null;
746
+ cbTransfer[unref(uid)] = (res) => {
747
+ };
748
+ }
749
+ });
750
+ if (unref(loaded) && drawerMethods === unref(drawer))
751
+ return;
752
+ drawer.value = drawerMethods;
753
+ loaded.value = true;
754
+ }
755
+ const getInstance = () => {
756
+ const instance = unref(drawer);
757
+ if (!instance) {
758
+ error("useDrawerOut \u5B9E\u4F8B\u672A\u5B9A\u4E49");
759
+ }
760
+ return instance;
761
+ };
762
+ const methods = {
763
+ setDrawerProps: (props) => {
764
+ getInstance()?.setDrawerProps(props);
765
+ },
766
+ openDrawer: (params = null, afterClose) => {
767
+ const id = unref(uid);
768
+ dataTransfer[id] = isObject(params) ? { ...toRaw$1(params) } : params;
769
+ getInstance()?.setDrawerProps({
770
+ defaultFullscreen: false,
771
+ ...orgDialogProp[id],
772
+ visible: true
773
+ });
774
+ cbTransfer[id] = (res) => {
775
+ if (afterClose && isFunction(afterClose)) {
776
+ afterClose(res);
777
+ }
778
+ };
779
+ },
780
+ closeDrawer: () => {
781
+ getInstance()?.setDrawerProps({ visible: false });
782
+ }
783
+ };
784
+ return [register, methods];
785
+ }
786
+ function useDrawer(props, setModalData) {
787
+ const drawerInstanceRef = ref$1(null);
788
+ const currentInstance = getCurrentInstance();
789
+ const uidRef = ref$1("");
790
+ const { isProd } = useApp();
791
+ const getInstance = () => {
792
+ const instance = unref(drawerInstanceRef);
793
+ if (!instance) {
794
+ error("useDrawer \u5B9E\u4F8B\u672A\u5B9A\u4E49");
795
+ }
796
+ return instance;
797
+ };
798
+ function register(drawerInstance, uuid) {
799
+ if (unref(isProd)) {
800
+ drawerInstanceRef.value = null;
801
+ }
802
+ uidRef.value = uuid;
803
+ drawerInstanceRef.value = drawerInstance;
804
+ currentInstance?.emit("register", drawerInstance, uuid);
805
+ orgDialogProp[uuid] = toRaw$1(props);
806
+ drawerInstance.setDrawerProps(props);
807
+ }
808
+ watchEffect(() => {
809
+ const data = dataTransfer[unref(uidRef)];
810
+ if (!data)
811
+ return;
812
+ if (!setModalData || !isFunction(setModalData))
813
+ return;
814
+ nextTick(() => {
815
+ setModalData(data);
816
+ });
817
+ });
818
+ const methods = {
819
+ changeLoading: (loading = true) => {
820
+ getInstance()?.setDrawerProps({ loading });
821
+ },
822
+ closeDrawer: (rsp) => {
823
+ if (cbTransfer[unref(uidRef)])
824
+ cbTransfer[unref(uidRef)](rsp);
825
+ getInstance()?.setDrawerProps({ visible: false });
826
+ },
827
+ setDrawerProps: (props2) => {
828
+ getInstance()?.setDrawerProps(props2);
829
+ }
830
+ };
831
+ return [register, methods];
832
+ }
833
+ const DtDrawer = withInstall(_sfc_main);
834
+ export {
835
+ DtDrawer,
836
+ useDrawer,
837
+ useDrawerOut
838
+ };