@dazhicheng/ui 1.5.202 → 1.5.204
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.
- package/dist/_virtual/___vite-browser-external.js +6 -0
- package/dist/_virtual/__vite-browser-external.js +4 -0
- package/dist/_virtual/_commonjs-dynamic-modules.js +6 -0
- package/dist/_virtual/_commonjsHelpers.js +24 -0
- package/dist/_virtual/aes.js +4 -0
- package/dist/_virtual/cipher-core.js +4 -0
- package/dist/_virtual/core.js +4 -0
- package/dist/_virtual/enc-base64.js +4 -0
- package/dist/_virtual/enc-utf8.js +4 -0
- package/dist/_virtual/evpkdf.js +4 -0
- package/dist/_virtual/hmac.js +4 -0
- package/dist/_virtual/md5.js +4 -0
- package/dist/_virtual/mode-ecb.js +4 -0
- package/dist/_virtual/pad-pkcs7.js +4 -0
- package/dist/_virtual/sha1.js +4 -0
- package/dist/components/tt-api-component/index.js +17 -4
- package/dist/components/tt-api-component/index.vue2.js +24 -13
- package/dist/components/tt-area/TtArea.vue3.js +24 -13
- package/dist/components/tt-button/index.js +18 -5
- package/dist/components/tt-button/index.vue2.js +27 -16
- package/dist/components/tt-checkbox/index.js +17 -4
- package/dist/components/tt-checkbox/index.vue.js +38 -28
- package/dist/components/tt-drawer/index.js +17 -7
- package/dist/components/tt-drawer/src/RenderDrawer.vue.js +48 -36
- package/dist/components/tt-drawer/src/components/DrawerFooter.vue.js +39 -26
- package/dist/components/tt-drawer/src/components/DrawerHeader.vue2.js +23 -10
- package/dist/components/tt-drawer/src/props.js +22 -9
- package/dist/components/tt-drawer/src/utils/drawer-api.js +42 -33
- package/dist/components/tt-empty/index.js +28 -18
- package/dist/components/tt-form/index.js +22 -14
- package/dist/components/tt-form/src/components/ExpandableArrow.vue2.js +23 -14
- package/dist/components/tt-form/src/components/FormActions.vue2.js +42 -32
- package/dist/components/tt-form/src/form/FormDescription.vue.js +19 -10
- package/dist/components/tt-form/src/form/FormItem.vue.js +18 -9
- package/dist/components/tt-form/src/form/FormLabel.vue.js +18 -9
- package/dist/components/tt-form/src/form/RenderContent.vue.js +25 -13
- package/dist/components/tt-form/src/form-render/FormField.vue2.js +62 -55
- package/dist/components/tt-form/src/form-render/FormLabel.vue2.js +36 -28
- package/dist/components/tt-form/src/form-render/array-register/FormArrayRegister.js +64 -56
- package/dist/components/tt-form/src/form-render/array-register/utils.js +18 -8
- package/dist/components/tt-form/src/form-render/dependencies.js +36 -24
- package/dist/components/tt-form/src/form-render/form.vue2.js +17 -7
- package/dist/components/tt-form/src/form-render/helper.js +29 -16
- package/dist/components/tt-form/src/form-render/rootWrapperClass.js +17 -7
- package/dist/components/tt-form/src/formApi.js +59 -48
- package/dist/components/tt-form/src/group-form/GroupForm.vue2.js +17 -4
- package/dist/components/tt-form/src/group-form/GroupSection.vue2.js +67 -57
- package/dist/components/tt-form/src/group-form/LazyFormField.vue.js +55 -46
- package/dist/components/tt-form/src/group-form/groupFormApi.js +21 -10
- package/dist/components/tt-form/src/hooks/useForwardPriorityValues.js +27 -17
- package/dist/components/tt-form/src/hooks/useSelectCollapse.js +32 -23
- package/dist/components/tt-form/src/index.vue2.js +53 -45
- package/dist/components/tt-form/src/useFormContext.js +74 -62
- package/dist/components/tt-form-item-error-tooltip/index.js +18 -5
- package/dist/components/tt-form-item-error-tooltip/index.vue.js +32 -21
- package/dist/components/tt-icon/index.js +20 -7
- package/dist/components/tt-image/index.js +19 -6
- package/dist/components/tt-image/src/components/ImageViewer.js +27 -17
- package/dist/components/tt-loading/index.js +16 -4
- package/dist/components/tt-loading/src/directive.js +34 -22
- package/dist/components/tt-log/index.js +17 -4
- package/dist/components/tt-log/index.vue.js +21 -8
- package/dist/components/tt-modal/index.js +16 -5
- package/dist/components/tt-modal/src/RenderModal.vue.js +163 -151
- package/dist/components/tt-modal/src/components/ModalFooter.vue2.js +38 -28
- package/dist/components/tt-modal/src/components/ModalHeader.vue2.js +24 -11
- package/dist/components/tt-modal/src/components/ModalWrapper.vue.js +36 -23
- package/dist/components/tt-modal/src/props.js +22 -9
- package/dist/components/tt-modal/src/utils/modal-api.js +39 -29
- package/dist/components/tt-modal-form/index.vue.js +44 -36
- package/dist/components/tt-nav-anchor/index.js +17 -4
- package/dist/components/tt-nav-anchor/src/TtNavAnchor.vue.js +69 -57
- package/dist/components/tt-panel-select/index.js +17 -4
- package/dist/components/tt-panel-select/src/hooks/usePanelData.js +51 -40
- package/dist/components/tt-panel-select/src/index.vue.js +35 -24
- package/dist/components/tt-select/index.js +17 -4
- package/dist/components/tt-select/src/Select.vue.js +79 -68
- package/dist/components/tt-select/src/components/SelectTable.vue.js +41 -30
- package/dist/components/tt-select/src/components/Table.vue.js +86 -76
- package/dist/components/tt-select/src/hooks/useDataSource.js +59 -49
- package/dist/components/tt-select/src/hooks/useSelect.js +46 -38
- package/dist/components/tt-select/src/hooks/useSelectTableEvent.js +123 -112
- package/dist/components/tt-table/index.js +19 -12
- package/dist/components/tt-table/src/Table.vue.js +82 -71
- package/dist/components/tt-table/src/TableForm.vue.js +77 -65
- package/dist/components/tt-table/src/components/TableAction.vue.js +49 -39
- package/dist/components/tt-table/src/components/TableButtons.js +73 -60
- package/dist/components/tt-table/src/components/TableColumnModal.vue2.js +14 -3
- package/dist/components/tt-table/src/components/TableToobalTools.vue.js +36 -25
- package/dist/components/tt-table/src/hooks/useColumns.js +72 -65
- package/dist/components/tt-table/src/hooks/useCustomColumns.js +43 -31
- package/dist/components/tt-table/src/hooks/useDataSource.js +50 -42
- package/dist/components/tt-table/src/hooks/usePagination.js +36 -25
- package/dist/components/tt-table/src/props.js +55 -42
- package/dist/components/tt-table/src/utils/table-api.js +33 -22
- package/dist/components/tt-table/src/utils/table-form-api.js +35 -24
- package/dist/components/tt-text/index.js +17 -4
- package/dist/components/tt-upload/index.js +19 -6
- package/dist/components/tt-upload/src/TtUpload.vue.js +77 -66
- package/dist/directives/disabled-tip/index.js +37 -26
- package/dist/hooks/useFormSchemasLink.js +90 -79
- package/dist/hooks/useScreenshotOss.js +49 -35
- package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +17 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js +64 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/cipher-core.js +545 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/core.js +508 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-base64.js +81 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js +10 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/evpkdf.js +71 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/hmac.js +84 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/md5.js +72 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js +22 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js +11 -0
- package/dist/node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/sha1.js +50 -0
- package/dist/node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js +1024 -0
- package/dist/node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.js +32 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/apply-style.js +11 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-node.js +92 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-pseudos.js +34 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/dataurl.js +52 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-images.js +43 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-resources.js +47 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-webfonts.js +122 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/index.js +30 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/mimes.js +24 -0
- package/dist/node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/util.js +106 -0
- package/dist/node_modules/.pnpm/is-plain-object@5.0.0/node_modules/is-plain-object/dist/is-plain-object.js +16 -0
- package/dist/node_modules/.pnpm/klona@2.0.6/node_modules/klona/full/index.js +21 -0
- package/dist/node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.js +2922 -0
- package/dist/node_modules/.pnpm/vue-types@5.1.3_vue@3.5.21_typescript@5.9.3_/node_modules/vue-types/shim/index.modern.js +93 -0
- package/dist/packages/hooks/src/propTypes.js +17 -0
- package/dist/packages/hooks/src/tools.js +6 -0
- package/dist/packages/hooks/src/useDebounce.js +32 -0
- package/dist/packages/hooks/src/useDesign.js +12 -0
- package/dist/packages/hooks/src/useElementScreenshot.js +136 -0
- package/dist/packages/hooks/src/useIsScroll.js +12 -0
- package/dist/packages/hooks/src/usePriorityValue.js +45 -0
- package/dist/packages/utils/src/calc.js +14 -0
- package/dist/packages/utils/src/check.js +10 -0
- package/dist/packages/utils/src/install.js +11 -0
- package/dist/packages/utils/src/is.js +64 -0
- package/dist/packages/utils/src/merge.js +13 -0
- package/dist/packages/utils/src/stateHandler.js +33 -0
- package/dist/packages/utils/src/string.js +6 -0
- package/dist/packages/utils/src/testid-helper.js +14 -0
- package/dist/packages/utils/src/tool.js +181 -0
- package/dist/plugins/default/renderCellContent.js +39 -28
- package/dist/plugins/vxeTable/switchStatus.js +37 -26
- package/package.json +3 -3
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
import { defineComponent as Y, useAttrs as Z, ref as $, useId as ee, getCurrentInstance as oe, reactive as te, computed as l, unref as o, toValue as r, watch as re, nextTick as se, onMounted as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { defineComponent as Y, useAttrs as Z, ref as $, useId as ee, getCurrentInstance as oe, reactive as te, computed as l, unref as o, toValue as r, watch as re, nextTick as se, onMounted as ie, createBlock as B, createCommentVNode as S, openBlock as w, mergeProps as V, createSlots as D, withCtx as n, withDirectives as ne, createVNode as T, createElementBlock as ae, normalizeClass as le, normalizeStyle as me, renderSlot as m, renderList as ce, normalizeProps as pe, guardReactiveProps as ue } from "vue";
|
|
2
|
+
import "../../../node_modules/.pnpm/vue-types@5.1.3_vue@3.5.21_typescript@5.9.3_/node_modules/vue-types/shim/index.modern.js";
|
|
3
|
+
import { useDesign as de } from "../../../packages/hooks/src/useDesign.js";
|
|
4
|
+
import { usePriorityValues as fe, getPriorityValues as he } from "../../../packages/hooks/src/usePriorityValue.js";
|
|
5
|
+
import "axios";
|
|
6
|
+
import { drawerProps as O, ElDrawer as ge } from "element-plus";
|
|
7
|
+
import { isNumber as ke } from "../../../packages/utils/src/is.js";
|
|
8
|
+
import "xe-utils";
|
|
9
|
+
import "dayjs";
|
|
10
|
+
import "dayjs/plugin/utc";
|
|
11
|
+
import "dayjs/plugin/timezone";
|
|
12
|
+
import "../../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js";
|
|
13
|
+
import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
|
|
14
|
+
import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
|
|
15
|
+
import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
|
|
16
|
+
import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
|
|
17
|
+
import { omit as we, pick as R } from "lodash-es";
|
|
5
18
|
import "../../tt-loading/index.js";
|
|
6
|
-
import { useStore as
|
|
7
|
-
import { drawerProps as R, ElDrawer as be } from "element-plus";
|
|
19
|
+
import { useStore as be } from "@tanstack/vue-store";
|
|
8
20
|
import Ce from "./components/DrawerFooter.vue.js";
|
|
9
21
|
/* empty css */
|
|
10
22
|
import ve from "./components/DrawerHeader.vue.js";
|
|
@@ -12,11 +24,11 @@ import { useDrawerResizable as Pe } from "./hooks/useResizable.js";
|
|
|
12
24
|
import { basicProps as ye } from "./props.js";
|
|
13
25
|
import { DrawerApi as $e } from "./utils/drawer-api.js";
|
|
14
26
|
import { vTtLoading as Be } from "../../tt-loading/src/directive.js";
|
|
15
|
-
const
|
|
27
|
+
const Ye = /* @__PURE__ */ Y({
|
|
16
28
|
name: "TtDrawer",
|
|
17
29
|
__name: "RenderDrawer",
|
|
18
30
|
props: {
|
|
19
|
-
...
|
|
31
|
+
...O,
|
|
20
32
|
...ye,
|
|
21
33
|
/** drawerApi */
|
|
22
34
|
drawerApi: {
|
|
@@ -27,9 +39,9 @@ const je = /* @__PURE__ */ Y({
|
|
|
27
39
|
emits: ["visible-change", "register", "update:visible"],
|
|
28
40
|
setup(x, { expose: F, emit: H }) {
|
|
29
41
|
var P;
|
|
30
|
-
const
|
|
31
|
-
let t =
|
|
32
|
-
t || (t = new $e(
|
|
42
|
+
const c = x, p = H, u = Z(), d = $(!1), b = ee(), f = $(null), { prefixCls: C } = de("drawer"), s = oe();
|
|
43
|
+
let t = c.drawerApi;
|
|
44
|
+
t || (t = new $e(c), t.useStore = (e) => be(t.store, e));
|
|
33
45
|
const a = te({
|
|
34
46
|
setDrawerProps: t.setState,
|
|
35
47
|
emitVisible: void 0
|
|
@@ -48,11 +60,11 @@ const je = /* @__PURE__ */ Y({
|
|
|
48
60
|
loading: U,
|
|
49
61
|
loadingText: q,
|
|
50
62
|
...G
|
|
51
|
-
} = fe(
|
|
52
|
-
const e = he(G),
|
|
63
|
+
} = fe(c, z), J = l(() => {
|
|
64
|
+
const e = he(G), i = we(u, ["onOk", "onClosed", "onClose", "onVisibleChange", "onReceiveSharedData"]);
|
|
53
65
|
return {
|
|
54
|
-
...
|
|
55
|
-
...
|
|
66
|
+
...R(e, Object.keys(O)),
|
|
67
|
+
...i,
|
|
56
68
|
modelValue: o(h),
|
|
57
69
|
class: `${C} ${o(e).class || ""}`,
|
|
58
70
|
modalClass: `${o(e).modalClass || o(e).class}`
|
|
@@ -69,7 +81,7 @@ const je = /* @__PURE__ */ Y({
|
|
|
69
81
|
showCancelBtn: r(_)
|
|
70
82
|
})), Q = l(() => {
|
|
71
83
|
const e = r(v);
|
|
72
|
-
return r(g) && e ? `${
|
|
84
|
+
return r(g) && e ? `${ke(e) ? e : Number.parseFloat(e)}px` : "0px";
|
|
73
85
|
}), W = l(() => ({
|
|
74
86
|
height: `calc(100% - ${o(Q)})`
|
|
75
87
|
}));
|
|
@@ -77,25 +89,25 @@ const je = /* @__PURE__ */ Y({
|
|
|
77
89
|
() => h.value,
|
|
78
90
|
(e) => {
|
|
79
91
|
se(() => {
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
|
|
92
|
+
var i;
|
|
93
|
+
p("update:visible", e), p("visible-change", e), s && ((i = a.emitVisible) == null || i.call(a, e, s == null ? void 0 : s.uid)), e ? d.value = e : (setTimeout(() => {
|
|
94
|
+
d.value = e;
|
|
83
95
|
}, 300), t.changeOkLoading(!1));
|
|
84
96
|
});
|
|
85
97
|
}
|
|
86
98
|
);
|
|
87
99
|
const [X] = Pe(b, h, t.setState);
|
|
88
|
-
return s &&
|
|
89
|
-
const e =
|
|
100
|
+
return s && p("register", a, s == null ? void 0 : s.uid), ie(() => {
|
|
101
|
+
const e = R(u, ["onOk", "onClosed", "onVisibleChange"]);
|
|
90
102
|
t.mount(f.value, {
|
|
91
103
|
...e,
|
|
92
104
|
// 兼容 BasicDrawer 组件的 onClose 事件
|
|
93
|
-
onClosed: e.onClosed ||
|
|
105
|
+
onClosed: e.onClosed || u.onClose
|
|
94
106
|
});
|
|
95
107
|
}), F({
|
|
96
108
|
drawerRef: f,
|
|
97
109
|
drawerApi: t
|
|
98
|
-
}), (e,
|
|
110
|
+
}), (e, i) => d.value ? (w(), B(o(ge), V({
|
|
99
111
|
key: 0,
|
|
100
112
|
id: o(b),
|
|
101
113
|
ref_key: "drawerRef",
|
|
@@ -104,12 +116,12 @@ const je = /* @__PURE__ */ Y({
|
|
|
104
116
|
"destroy-on-close": !0,
|
|
105
117
|
"before-close": o(t).onClosed
|
|
106
118
|
}), D({
|
|
107
|
-
default:
|
|
108
|
-
|
|
109
|
-
style:
|
|
119
|
+
default: n(() => [
|
|
120
|
+
ne((w(), ae("div", {
|
|
121
|
+
style: me(W.value),
|
|
110
122
|
class: le(`${o(C)}-content`)
|
|
111
123
|
}, [
|
|
112
|
-
|
|
124
|
+
m(e.$slots, "default")
|
|
113
125
|
], 6)), [
|
|
114
126
|
[o(Be), {
|
|
115
127
|
visible: o(U),
|
|
@@ -120,10 +132,10 @@ const je = /* @__PURE__ */ Y({
|
|
|
120
132
|
onClose: o(t).onClosed,
|
|
121
133
|
onFooterok: o(t).onOk
|
|
122
134
|
}), D({ _: 2 }, [
|
|
123
|
-
|
|
135
|
+
ce(Object.keys(e.$slots), (k) => ({
|
|
124
136
|
name: k,
|
|
125
|
-
fn:
|
|
126
|
-
|
|
137
|
+
fn: n((y) => [
|
|
138
|
+
m(e.$slots, k, pe(ue(y)))
|
|
127
139
|
])
|
|
128
140
|
}))
|
|
129
141
|
]), 1040, ["onClose", "onFooterok"])) : S("", !0),
|
|
@@ -133,16 +145,16 @@ const je = /* @__PURE__ */ Y({
|
|
|
133
145
|
}, [
|
|
134
146
|
e.$slots.header ? {
|
|
135
147
|
name: "header",
|
|
136
|
-
fn:
|
|
137
|
-
|
|
148
|
+
fn: n(() => [
|
|
149
|
+
m(e.$slots, "header")
|
|
138
150
|
]),
|
|
139
151
|
key: "1"
|
|
140
152
|
} : {
|
|
141
153
|
name: "header",
|
|
142
|
-
fn:
|
|
154
|
+
fn: n(() => [
|
|
143
155
|
T(ve, { title: o(M) }, {
|
|
144
|
-
titleToolbar:
|
|
145
|
-
|
|
156
|
+
titleToolbar: n(() => [
|
|
157
|
+
m(e.$slots, "titleToolbar")
|
|
146
158
|
]),
|
|
147
159
|
_: 3
|
|
148
160
|
}, 8, ["title"])
|
|
@@ -153,5 +165,5 @@ const je = /* @__PURE__ */ Y({
|
|
|
153
165
|
}
|
|
154
166
|
});
|
|
155
167
|
export {
|
|
156
|
-
|
|
168
|
+
Ye as default
|
|
157
169
|
};
|
|
@@ -1,56 +1,69 @@
|
|
|
1
|
-
import { defineComponent as v, inject as I, computed as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
1
|
+
import { defineComponent as v, inject as I, computed as e, toValue as D, createElementBlock as a, openBlock as o, normalizeStyle as P, normalizeClass as S, unref as n, renderSlot as r, Fragment as V, createBlock as l, createCommentVNode as m, withModifiers as p, withCtx as d, createTextVNode as c, toDisplayString as f, mergeProps as b } from "vue";
|
|
2
|
+
import "../../../../node_modules/.pnpm/vue-types@5.1.3_vue@3.5.21_typescript@5.9.3_/node_modules/vue-types/shim/index.modern.js";
|
|
3
|
+
import { useDesign as j } from "../../../../packages/hooks/src/useDesign.js";
|
|
4
|
+
import "axios";
|
|
5
|
+
import "element-plus";
|
|
6
|
+
import "dayjs";
|
|
7
|
+
import { generateTestId as u } from "../../../../packages/utils/src/testid-helper.js";
|
|
8
|
+
import "xe-utils";
|
|
9
|
+
import "dayjs/plugin/utc";
|
|
10
|
+
import "dayjs/plugin/timezone";
|
|
11
|
+
import "../../../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js";
|
|
12
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
|
|
13
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
|
|
14
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
|
|
15
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
|
|
16
|
+
import "lodash-es";
|
|
4
17
|
import { TtButton as k } from "../../../tt-button/index.js";
|
|
5
18
|
import { footerProps as x } from "../props.js";
|
|
6
|
-
const
|
|
19
|
+
const _ = /* @__PURE__ */ v({
|
|
7
20
|
name: "DrawerFooter",
|
|
8
21
|
__name: "DrawerFooter",
|
|
9
22
|
props: x,
|
|
10
23
|
emits: ["close"],
|
|
11
24
|
setup(g, { emit: C }) {
|
|
12
|
-
const
|
|
13
|
-
height: `${
|
|
25
|
+
const i = g, h = C, { prefixCls: w } = j("drawer-footer"), s = I("drawerIdContext", ""), B = e(() => u(s, "btn-confirm")), y = e(() => u(s, "btn-cancel")), F = e(() => ({
|
|
26
|
+
height: `${i.footerHeight}px`,
|
|
14
27
|
padding: "0 12px",
|
|
15
28
|
textAlign: "right"
|
|
16
|
-
})), T =
|
|
17
|
-
function $(
|
|
18
|
-
h("close",
|
|
29
|
+
})), T = e(() => D(i.okButtonProps) || {});
|
|
30
|
+
function $(t) {
|
|
31
|
+
h("close", t);
|
|
19
32
|
}
|
|
20
|
-
return (
|
|
33
|
+
return (t, z) => (o(), a("div", {
|
|
21
34
|
class: S([n(w), "w-full flex items-center justify-end"]),
|
|
22
35
|
style: P(F.value)
|
|
23
36
|
}, [
|
|
24
|
-
|
|
25
|
-
r(
|
|
26
|
-
|
|
37
|
+
t.$slots.footer ? r(t.$slots, "footer", { key: 1 }) : (o(), a(V, { key: 0 }, [
|
|
38
|
+
r(t.$slots, "insertFooter"),
|
|
39
|
+
t.showCancelBtn ? (o(), l(n(k), {
|
|
27
40
|
key: 0,
|
|
28
41
|
"data-testid": y.value,
|
|
29
|
-
onClick:
|
|
42
|
+
onClick: p($, ["stop"])
|
|
30
43
|
}, {
|
|
31
|
-
default:
|
|
32
|
-
|
|
44
|
+
default: d(() => [
|
|
45
|
+
c(f(t.cancelText), 1)
|
|
33
46
|
]),
|
|
34
47
|
_: 1
|
|
35
|
-
}, 8, ["data-testid"])) :
|
|
36
|
-
r(
|
|
37
|
-
|
|
48
|
+
}, 8, ["data-testid"])) : m("", !0),
|
|
49
|
+
r(t.$slots, "centerFooter"),
|
|
50
|
+
t.showOkBtn ? (o(), l(n(k), b({
|
|
38
51
|
key: 1,
|
|
39
|
-
loading:
|
|
52
|
+
loading: t.confirmLoading
|
|
40
53
|
}, T.value, {
|
|
41
54
|
"data-testid": B.value,
|
|
42
|
-
onClick:
|
|
55
|
+
onClick: p(t.$attrs.onFooterok, ["stop"])
|
|
43
56
|
}), {
|
|
44
|
-
default:
|
|
45
|
-
|
|
57
|
+
default: d(() => [
|
|
58
|
+
c(f(t.okText), 1)
|
|
46
59
|
]),
|
|
47
60
|
_: 1
|
|
48
|
-
}, 16, ["loading", "data-testid", "onClick"])) :
|
|
49
|
-
r(
|
|
61
|
+
}, 16, ["loading", "data-testid", "onClick"])) : m("", !0),
|
|
62
|
+
r(t.$slots, "appendFooter")
|
|
50
63
|
], 64))
|
|
51
64
|
], 6));
|
|
52
65
|
}
|
|
53
66
|
});
|
|
54
67
|
export {
|
|
55
|
-
|
|
68
|
+
_ as default
|
|
56
69
|
};
|
|
@@ -1,21 +1,34 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { propTypes as
|
|
3
|
-
|
|
1
|
+
import { defineComponent as o, createElementBlock as i, openBlock as p, normalizeClass as m, unref as n, createElementVNode as a, toDisplayString as s } from "vue";
|
|
2
|
+
import { propTypes as l } from "../../../../packages/hooks/src/propTypes.js";
|
|
3
|
+
import { useDesign as c } from "../../../../packages/hooks/src/useDesign.js";
|
|
4
|
+
import "axios";
|
|
5
|
+
import "element-plus";
|
|
6
|
+
import "dayjs";
|
|
7
|
+
import "xe-utils";
|
|
8
|
+
import "dayjs/plugin/utc";
|
|
9
|
+
import "dayjs/plugin/timezone";
|
|
10
|
+
import "../../../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js";
|
|
11
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
|
|
12
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
|
|
13
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
|
|
14
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
|
|
15
|
+
import "lodash-es";
|
|
16
|
+
const z = /* @__PURE__ */ o({
|
|
4
17
|
name: "DrawerHeader",
|
|
5
18
|
__name: "DrawerHeader",
|
|
6
19
|
props: {
|
|
7
20
|
/** 标题 */
|
|
8
|
-
title:
|
|
21
|
+
title: l.string
|
|
9
22
|
},
|
|
10
|
-
setup(
|
|
11
|
-
const { prefixCls:
|
|
12
|
-
return (t, d) => (
|
|
13
|
-
class:
|
|
23
|
+
setup(r) {
|
|
24
|
+
const { prefixCls: e } = c("drawer-header");
|
|
25
|
+
return (t, d) => (p(), i("div", {
|
|
26
|
+
class: m(n(e))
|
|
14
27
|
}, [
|
|
15
|
-
|
|
28
|
+
a("span", null, s(t.$slots.title ? "" : r.title), 1)
|
|
16
29
|
], 2));
|
|
17
30
|
}
|
|
18
31
|
});
|
|
19
32
|
export {
|
|
20
|
-
|
|
33
|
+
z as default
|
|
21
34
|
};
|
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import { propTypes as o } from "
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { propTypes as o } from "../../../packages/hooks/src/propTypes.js";
|
|
2
|
+
import "axios";
|
|
3
|
+
import "element-plus";
|
|
4
|
+
import "dayjs";
|
|
5
|
+
import "vue";
|
|
6
|
+
import "xe-utils";
|
|
7
|
+
import "dayjs/plugin/utc";
|
|
8
|
+
import "dayjs/plugin/timezone";
|
|
9
|
+
import "../../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js";
|
|
10
|
+
import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
|
|
11
|
+
import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
|
|
12
|
+
import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
|
|
13
|
+
import "../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
|
|
14
|
+
import "lodash-es";
|
|
15
|
+
import { GlobalConfig as t } from "../../../hooks/useSetup.js";
|
|
16
|
+
const e = {
|
|
4
17
|
/** 确定抽屉的loading */
|
|
5
18
|
confirmLoading: o.bool.def(!1),
|
|
6
19
|
/** 是否显示取消按钮 */
|
|
@@ -34,7 +47,7 @@ const t = {
|
|
|
34
47
|
},
|
|
35
48
|
height: o.string.def("56px"),
|
|
36
49
|
size: o.string.def("30%")
|
|
37
|
-
},
|
|
50
|
+
}, h = {
|
|
38
51
|
/** class */
|
|
39
52
|
class: o.string.def(""),
|
|
40
53
|
/** 标题 */
|
|
@@ -58,15 +71,15 @@ const t = {
|
|
|
58
71
|
/** 取消前是否显示确认弹窗 */
|
|
59
72
|
showConfirm: o.bool.def(!1),
|
|
60
73
|
/** 确认弹窗文本内容 */
|
|
61
|
-
confirmContent: o.string.def(
|
|
74
|
+
confirmContent: o.string.def(t.confirmContent || ""),
|
|
62
75
|
/** 是否显示modal */
|
|
63
76
|
modal: {
|
|
64
77
|
type: Boolean,
|
|
65
|
-
default: () =>
|
|
78
|
+
default: () => t.showMask
|
|
66
79
|
},
|
|
67
|
-
...
|
|
80
|
+
...e
|
|
68
81
|
};
|
|
69
82
|
export {
|
|
70
|
-
|
|
71
|
-
|
|
83
|
+
h as basicProps,
|
|
84
|
+
e as footerProps
|
|
72
85
|
};
|
|
@@ -1,31 +1,40 @@
|
|
|
1
1
|
var g = Object.defineProperty;
|
|
2
|
-
var C = (
|
|
3
|
-
var
|
|
4
|
-
import
|
|
5
|
-
import { ElMessageBox as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
2
|
+
var C = (i, t, e) => t in i ? g(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
|
|
3
|
+
var o = (i, t, e) => C(i, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
+
import "axios";
|
|
5
|
+
import { ElMessageBox as D } from "element-plus";
|
|
6
|
+
import { isElement as S, isFunction as u } from "../../../../packages/utils/src/is.js";
|
|
7
|
+
import { computed as b } from "vue";
|
|
8
|
+
import { bindMethods as v } from "../../../../packages/utils/src/tool.js";
|
|
9
|
+
import { mergeWithArrayOverride as d } from "../../../../packages/utils/src/merge.js";
|
|
10
|
+
import "../../../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js";
|
|
11
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
|
|
12
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
|
|
13
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
|
|
14
|
+
import "../../../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
|
|
15
|
+
import "lodash-es";
|
|
16
|
+
import { GlobalConfig as y } from "../../../../hooks/useSetup.js";
|
|
17
|
+
import { Store as k } from "@tanstack/vue-store";
|
|
18
|
+
import { useDebounceFn as x } from "@vueuse/core";
|
|
19
|
+
class W {
|
|
11
20
|
/** 构造函数,初始化抽屉的API接口和状态 */
|
|
12
21
|
constructor(t = {}) {
|
|
13
22
|
/** el-drawer 实例的引用 */
|
|
14
|
-
|
|
23
|
+
o(this, "drawerRef", null);
|
|
15
24
|
/** 共享数据对象,用于在组件间传递数据 */
|
|
16
|
-
|
|
25
|
+
o(this, "sharedData", {
|
|
17
26
|
payload: {}
|
|
18
27
|
});
|
|
19
28
|
/** 状态存储对象,使用Store管理抽屉的各种状态 */
|
|
20
|
-
|
|
29
|
+
o(this, "store");
|
|
21
30
|
/** 抽屉的API接口,用于处理外部事件 */
|
|
22
|
-
|
|
31
|
+
o(this, "api");
|
|
23
32
|
/** 抽屉的当前状态,使用Partial<TtDrawerProps>类型 */
|
|
24
|
-
|
|
33
|
+
o(this, "state");
|
|
25
34
|
/**
|
|
26
35
|
* 确认操作
|
|
27
36
|
*/
|
|
28
|
-
|
|
37
|
+
o(this, "onOk", x(async () => {
|
|
29
38
|
var t, e;
|
|
30
39
|
try {
|
|
31
40
|
this.setDrawerProps({ confirmLoading: !0 }), this.api.onOk && await ((e = (t = this.api).onOk) == null ? void 0 : e.call(t));
|
|
@@ -39,12 +48,12 @@ class E {
|
|
|
39
48
|
* 获取抽屉的可见状态
|
|
40
49
|
* @returns 抽屉的可见状态
|
|
41
50
|
*/
|
|
42
|
-
|
|
51
|
+
o(this, "getVisible", b(() => this.state.visible));
|
|
43
52
|
const {
|
|
44
53
|
connectedComponent: e,
|
|
45
54
|
onOk: s,
|
|
46
|
-
onClose:
|
|
47
|
-
onClosed:
|
|
55
|
+
onClose: r,
|
|
56
|
+
onClosed: a,
|
|
48
57
|
onVisibleChange: n,
|
|
49
58
|
onReceiveSharedData: l,
|
|
50
59
|
...c
|
|
@@ -70,21 +79,21 @@ class E {
|
|
|
70
79
|
destroyOnClose: !1,
|
|
71
80
|
closeFunc: void 0,
|
|
72
81
|
showConfirm: !1,
|
|
73
|
-
modal:
|
|
82
|
+
modal: y.showMask
|
|
74
83
|
};
|
|
75
|
-
this.store = new
|
|
84
|
+
this.store = new k(d(c, w), {
|
|
76
85
|
onUpdate: () => {
|
|
77
|
-
var
|
|
86
|
+
var m, p, f;
|
|
78
87
|
const h = this.store.state;
|
|
79
|
-
h.visible === ((
|
|
88
|
+
h.visible === ((m = this.state) == null ? void 0 : m.visible) ? this.state = h : (this.state = h, (f = (p = this.api).onVisibleChange) == null || f.call(p, h.visible || !1));
|
|
80
89
|
}
|
|
81
90
|
}), this.state = this.store.state, this.api = {
|
|
82
91
|
onOk: s,
|
|
83
|
-
onClose:
|
|
84
|
-
onClosed:
|
|
92
|
+
onClose: r,
|
|
93
|
+
onClosed: a,
|
|
85
94
|
onVisibleChange: n,
|
|
86
95
|
onReceiveSharedData: l
|
|
87
|
-
},
|
|
96
|
+
}, v(this);
|
|
88
97
|
}
|
|
89
98
|
/**
|
|
90
99
|
* 关闭抽屉
|
|
@@ -94,18 +103,18 @@ class E {
|
|
|
94
103
|
const t = document.querySelector('.viewer-container[aria-modal="true"]');
|
|
95
104
|
if (S(t))
|
|
96
105
|
return;
|
|
97
|
-
const { closeFunc: e, confirmContent: s } = this.state,
|
|
106
|
+
const { closeFunc: e, confirmContent: s } = this.state, r = async () => {
|
|
98
107
|
var n, l;
|
|
99
|
-
let
|
|
100
|
-
e &&
|
|
108
|
+
let a = !0;
|
|
109
|
+
e && u(e) && (a = await e()), this.setState((c) => ({ ...c, visible: !a })), (l = (n = this.api).onClosed) == null || l.call(n);
|
|
101
110
|
};
|
|
102
|
-
this.state.showConfirm ?
|
|
111
|
+
this.state.showConfirm ? D.confirm(s, "温馨提示", {
|
|
103
112
|
confirmButtonText: "确定",
|
|
104
113
|
cancelButtonText: "取消",
|
|
105
114
|
type: "warning"
|
|
106
115
|
}).then(() => {
|
|
107
|
-
|
|
108
|
-
}) :
|
|
116
|
+
r();
|
|
117
|
+
}) : r();
|
|
109
118
|
}
|
|
110
119
|
/**
|
|
111
120
|
* 挂载抽屉实例和API接口
|
|
@@ -136,7 +145,7 @@ class E {
|
|
|
136
145
|
* @returns 当前实例
|
|
137
146
|
*/
|
|
138
147
|
setState(t) {
|
|
139
|
-
return
|
|
148
|
+
return u(t) ? this.store.setState(t) : this.store.setState((e) => ({ ...e, ...t })), this;
|
|
140
149
|
}
|
|
141
150
|
/**
|
|
142
151
|
* 设置抽屉的属性
|
|
@@ -187,5 +196,5 @@ class E {
|
|
|
187
196
|
}
|
|
188
197
|
}
|
|
189
198
|
export {
|
|
190
|
-
|
|
199
|
+
W as DrawerApi
|
|
191
200
|
};
|
|
@@ -1,34 +1,44 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import { emptyProps as
|
|
1
|
+
import { defineComponent as n, ref as g, createVNode as i, mergeProps as f, renderSlot as c } from "vue";
|
|
2
|
+
import "axios";
|
|
3
|
+
import { emptyProps as u, ElEmpty as y, ElImage as E } from "element-plus";
|
|
4
|
+
import "dayjs";
|
|
5
|
+
import { withInstall as d } from "../../packages/utils/src/install.js";
|
|
6
|
+
import "xe-utils";
|
|
7
|
+
import "dayjs/plugin/utc";
|
|
8
|
+
import "dayjs/plugin/timezone";
|
|
9
|
+
import "../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js";
|
|
10
|
+
import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
|
|
11
|
+
import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
|
|
12
|
+
import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
|
|
13
|
+
import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
|
|
4
14
|
import { omit as l } from "lodash-es";
|
|
5
15
|
import I from "../../assets/img/empty_images/no_data.png.js";
|
|
6
|
-
const
|
|
16
|
+
const q = d(/* @__PURE__ */ n({
|
|
7
17
|
name: "TtEmpty",
|
|
8
|
-
props:
|
|
18
|
+
props: u,
|
|
9
19
|
slots: Object,
|
|
10
|
-
setup(
|
|
11
|
-
expose:
|
|
12
|
-
slots:
|
|
20
|
+
setup(t, {
|
|
21
|
+
expose: p,
|
|
22
|
+
slots: m
|
|
13
23
|
}) {
|
|
14
|
-
const
|
|
15
|
-
return
|
|
16
|
-
elemptyRef:
|
|
17
|
-
}), () =>
|
|
18
|
-
image: r ?
|
|
19
|
-
ref:
|
|
24
|
+
const a = l(m, ["image"]), e = g(), r = t.image || m.image;
|
|
25
|
+
return p({
|
|
26
|
+
elemptyRef: e
|
|
27
|
+
}), () => i(y, f(t, {
|
|
28
|
+
image: r ? t.image : "",
|
|
29
|
+
ref: e
|
|
20
30
|
}), {
|
|
21
31
|
image: () => {
|
|
22
32
|
var o;
|
|
23
|
-
return r ? (o =
|
|
33
|
+
return r ? (o = m.image) == null ? void 0 : o.call(m) : c(m, "image", {}, () => [i(E, {
|
|
24
34
|
src: I
|
|
25
35
|
}, null)]);
|
|
26
36
|
},
|
|
27
|
-
...
|
|
37
|
+
...a
|
|
28
38
|
});
|
|
29
39
|
}
|
|
30
40
|
}));
|
|
31
41
|
export {
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
q as TtEmpty,
|
|
43
|
+
q as default
|
|
34
44
|
};
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import { globalShareState as p } from "./src/shared/global-state.js";
|
|
1
|
+
import "axios";
|
|
2
|
+
import "element-plus";
|
|
3
|
+
import { isEmpty as o } from "../../packages/utils/src/is.js";
|
|
5
4
|
import "vue";
|
|
6
|
-
import "
|
|
5
|
+
import "xe-utils";
|
|
7
6
|
import "dayjs";
|
|
7
|
+
import "dayjs/plugin/utc";
|
|
8
8
|
import "dayjs/plugin/timezone";
|
|
9
|
+
import "../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js";
|
|
10
|
+
import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/aes.js";
|
|
11
|
+
import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/enc-utf8.js";
|
|
12
|
+
import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/mode-ecb.js";
|
|
13
|
+
import "../../node_modules/.pnpm/crypto-js@4.2.0/node_modules/crypto-js/pad-pkcs7.js";
|
|
9
14
|
import "lodash-es";
|
|
15
|
+
import { setupForm as i } from "./src/config.js";
|
|
16
|
+
import { COMPONENT_MAP as Z } from "./src/config.js";
|
|
17
|
+
import { globalShareState as p } from "./src/shared/global-state.js";
|
|
18
|
+
import "@tanstack/vue-store";
|
|
10
19
|
import "es-toolkit/compat";
|
|
11
20
|
import "vee-validate";
|
|
12
|
-
import * as
|
|
21
|
+
import * as E from "zod";
|
|
13
22
|
import "./src/shared/zod-defaults.js";
|
|
14
|
-
import "@
|
|
23
|
+
import "../../node_modules/.pnpm/vue-types@5.1.3_vue@3.5.21_typescript@5.9.3_/node_modules/vue-types/shim/index.modern.js";
|
|
15
24
|
import "@vueuse/core";
|
|
16
25
|
import "../tt-button/index.js";
|
|
17
26
|
import "../tt-icon/index.js";
|
|
@@ -19,7 +28,6 @@ import "../tt-icon/index.js";
|
|
|
19
28
|
/* empty css */
|
|
20
29
|
import "./src/components/Slot.js";
|
|
21
30
|
import "../tt-form-item-error-tooltip/index.js";
|
|
22
|
-
import "element-plus";
|
|
23
31
|
/* empty css */
|
|
24
32
|
import "./src/form/RenderContent.vue.js";
|
|
25
33
|
import "@vee-validate/zod";
|
|
@@ -30,7 +38,7 @@ import "./src/form-render/FormFieldContact.js";
|
|
|
30
38
|
import "../tt-nav-anchor/index.js";
|
|
31
39
|
/* empty css */
|
|
32
40
|
/* empty css */
|
|
33
|
-
function
|
|
41
|
+
function U(t, m) {
|
|
34
42
|
i({
|
|
35
43
|
config: {
|
|
36
44
|
// vue组件库默认都是 modelValue
|
|
@@ -48,12 +56,12 @@ function D(t, m) {
|
|
|
48
56
|
}
|
|
49
57
|
});
|
|
50
58
|
}
|
|
51
|
-
function
|
|
59
|
+
function W(t) {
|
|
52
60
|
p.setComponents({ ...t });
|
|
53
61
|
}
|
|
54
62
|
export {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
Z as COMPONENT_MAP,
|
|
64
|
+
W as addComponent,
|
|
65
|
+
U as setConfig,
|
|
66
|
+
E as z
|
|
59
67
|
};
|