@aplus-frontend/ui 0.1.16 → 0.1.18

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 (104) hide show
  1. package/es/index.mjs +60 -58
  2. package/es/src/ap-download/ap-download.vue.mjs +26 -26
  3. package/es/src/ap-form/ap-form-item-group/index.vue.mjs +26 -24
  4. package/es/src/ap-modal/index.d.ts +2 -2
  5. package/es/src/ap-modal/index.mjs +1 -1
  6. package/es/src/ap-modal/{type.d.ts → interface.d.ts} +3 -3
  7. package/es/src/ap-modal/utils/createModal.d.ts +1 -1
  8. package/es/src/ap-table/ap-table.vue.mjs +40 -40
  9. package/es/src/ap-table/interface.d.ts +2 -3
  10. package/es/src/ap-table/utils.d.ts +1 -1
  11. package/es/src/ap-table/utils.mjs +20 -20
  12. package/es/src/business/ap-batch-action/index.css +2 -0
  13. package/es/src/business/ap-batch-action-group/ApBatchActionGroup.vue.d.ts +13 -0
  14. package/es/src/business/ap-batch-action-group/ApBatchActionGroup.vue.mjs +4 -0
  15. package/es/src/business/ap-batch-action-group/ApBatchActionGroup.vue2.mjs +110 -0
  16. package/es/src/business/ap-batch-action-group/MenuItemGroup.vue.d.ts +17 -0
  17. package/es/src/business/ap-batch-action-group/MenuItemGroup.vue.mjs +4 -0
  18. package/es/src/business/ap-batch-action-group/MenuItemGroup.vue2.mjs +50 -0
  19. package/es/src/business/ap-batch-action-group/interface.d.ts +41 -0
  20. package/es/src/business/ap-batch-action-group/interface.mjs +1 -0
  21. package/es/src/business/ap-image/ApImage.vue.d.ts +65 -0
  22. package/es/src/business/ap-image/ApImage.vue.mjs +4 -0
  23. package/es/src/business/ap-image/ApImage.vue2.mjs +56 -0
  24. package/es/src/business/ap-image/hooks/useOss.d.ts +11 -0
  25. package/es/src/business/ap-image/hooks/useOss.mjs +37 -0
  26. package/es/src/business/ap-image/imgs/admin-fallback.jpg.mjs +4 -0
  27. package/es/src/business/ap-image/imgs/aplus-fallback.jpg.mjs +4 -0
  28. package/es/src/business/ap-label/ApLabel.d.ts +141 -0
  29. package/es/src/business/ap-label/ApLabel.mjs +49 -0
  30. package/es/src/business/ap-label/ApLabelGroup.mjs +11 -12
  31. package/es/src/business/ap-label/constans.d.ts +65 -1
  32. package/es/src/business/ap-label/constans.mjs +33 -2
  33. package/es/src/business/ap-label/index.d.ts +1 -1
  34. package/es/src/business/ap-label/interface.d.ts +2 -1
  35. package/es/src/business/index.d.ts +815 -164
  36. package/es/src/business/index.mjs +26 -20
  37. package/es/src/config-provider/constants.d.ts +1 -1
  38. package/es/src/editable-table/form-item.vue.mjs +47 -46
  39. package/es/src/editable-table/hooks/use-get-columns.d.ts +3 -2
  40. package/es/src/editable-table/hooks/use-get-columns.mjs +32 -32
  41. package/es/src/editable-table/index.vue.mjs +81 -80
  42. package/es/src/editable-table/interface.d.ts +7 -13
  43. package/es/src/editable-table/utils.d.ts +14 -2
  44. package/es/src/editable-table/utils.mjs +67 -58
  45. package/es/src/index.mjs +202 -200
  46. package/es/src/locale/lang/en.mjs +10 -7
  47. package/es/src/locale/lang/zh-cn.mjs +3 -0
  48. package/es/src/theme/ap-batch-action/ap-batch-action.css +2 -0
  49. package/lib/index.js +1 -1
  50. package/lib/src/ap-download/ap-download.vue.js +1 -1
  51. package/lib/src/ap-form/ap-form-item-group/index.vue.js +1 -1
  52. package/lib/src/ap-modal/index.d.ts +2 -2
  53. package/lib/src/ap-modal/index.js +1 -1
  54. package/lib/src/ap-modal/{type.d.ts → interface.d.ts} +3 -3
  55. package/lib/src/ap-modal/utils/createModal.d.ts +1 -1
  56. package/lib/src/ap-table/ap-table.vue.js +1 -1
  57. package/lib/src/ap-table/interface.d.ts +2 -3
  58. package/lib/src/ap-table/utils.d.ts +1 -1
  59. package/lib/src/ap-table/utils.js +1 -1
  60. package/lib/src/business/ap-batch-action/index.css +2 -0
  61. package/lib/src/business/ap-batch-action-group/ApBatchActionGroup.vue.d.ts +13 -0
  62. package/lib/src/business/ap-batch-action-group/ApBatchActionGroup.vue.js +1 -0
  63. package/lib/src/business/ap-batch-action-group/ApBatchActionGroup.vue2.js +1 -0
  64. package/lib/src/business/ap-batch-action-group/MenuItemGroup.vue.d.ts +17 -0
  65. package/lib/src/business/ap-batch-action-group/MenuItemGroup.vue.js +1 -0
  66. package/lib/src/business/ap-batch-action-group/MenuItemGroup.vue2.js +1 -0
  67. package/lib/src/business/ap-batch-action-group/interface.d.ts +41 -0
  68. package/lib/src/business/ap-batch-action-group/interface.js +1 -0
  69. package/lib/src/business/ap-image/ApImage.vue.d.ts +65 -0
  70. package/lib/src/business/{ap-label/ApLabel.vue.js → ap-image/ApImage.vue.js} +1 -1
  71. package/lib/src/business/ap-image/ApImage.vue2.js +1 -0
  72. package/lib/src/business/ap-image/hooks/useOss.d.ts +11 -0
  73. package/lib/src/business/ap-image/hooks/useOss.js +1 -0
  74. package/lib/src/business/ap-image/imgs/admin-fallback.jpg.js +1 -0
  75. package/lib/src/business/ap-image/imgs/aplus-fallback.jpg.js +1 -0
  76. package/lib/src/business/ap-label/ApLabel.d.ts +141 -0
  77. package/lib/src/business/ap-label/ApLabel.js +1 -0
  78. package/lib/src/business/ap-label/ApLabelGroup.js +1 -1
  79. package/lib/src/business/ap-label/constans.d.ts +65 -1
  80. package/lib/src/business/ap-label/constans.js +1 -1
  81. package/lib/src/business/ap-label/index.d.ts +1 -1
  82. package/lib/src/business/ap-label/interface.d.ts +2 -1
  83. package/lib/src/business/index.d.ts +815 -164
  84. package/lib/src/business/index.js +1 -1
  85. package/lib/src/config-provider/constants.d.ts +1 -1
  86. package/lib/src/editable-table/form-item.vue.js +1 -1
  87. package/lib/src/editable-table/hooks/use-get-columns.d.ts +3 -2
  88. package/lib/src/editable-table/hooks/use-get-columns.js +1 -1
  89. package/lib/src/editable-table/index.vue.js +1 -1
  90. package/lib/src/editable-table/interface.d.ts +7 -13
  91. package/lib/src/editable-table/utils.d.ts +14 -2
  92. package/lib/src/editable-table/utils.js +1 -1
  93. package/lib/src/index.js +1 -1
  94. package/lib/src/locale/lang/en.js +1 -1
  95. package/lib/src/locale/lang/zh-cn.js +1 -1
  96. package/lib/src/theme/ap-batch-action/ap-batch-action.css +2 -0
  97. package/package.json +3 -3
  98. package/es/src/business/ap-label/ApLabel.vue.d.ts +0 -56
  99. package/es/src/business/ap-label/ApLabel.vue.mjs +0 -4
  100. package/es/src/business/ap-label/ApLabel.vue2.mjs +0 -85
  101. package/lib/src/business/ap-label/ApLabel.vue.d.ts +0 -56
  102. package/lib/src/business/ap-label/ApLabel.vue2.js +0 -1
  103. /package/es/src/ap-modal/{type.mjs → interface.mjs} +0 -0
  104. /package/lib/src/ap-modal/{type.js → interface.js} +0 -0
@@ -67,12 +67,12 @@ export type ExtraProColumnType<T> = Omit<ColumnType<T>, 'children' | 'filters' |
67
67
  export type ApTableRowSelection<RecordType = any> = Omit<TableRowSelection<RecordType>, 'selectedRowKeys' | 'onChange' | 'onSelect' | 'onSelectAll' | 'onSelectInvert' | 'onSelectNone'> & {
68
68
  mode: 'internal';
69
69
  };
70
- type CommonFieldReturnType = ApFormItemProps & {
70
+ export type CommonFieldReturnType = ApFormItemProps & {
71
71
  field: Recordable;
72
72
  placeholder?: string;
73
73
  disabled?: boolean;
74
74
  };
75
- type FieldPropsType<ReturnType, RecordType, ExtraValueType, ValueType extends ApTableValueTypes, MergedValueType extends ExtraValueType | ValueType> = ReturnType | ((opt: Partial<{
75
+ export type FieldPropsType<ReturnType, RecordType, ExtraValueType, ValueType extends ApTableValueTypes, MergedValueType extends ExtraValueType | ValueType> = ReturnType | ((opt: Partial<{
76
76
  value: any;
77
77
  text: any;
78
78
  record: RecordType;
@@ -286,4 +286,3 @@ export type ApTableExpose<SearchParamsType = Recordable, RecordType = any> = {
286
286
  selectedRows: ComputedRef<RecordType[]>;
287
287
  };
288
288
  };
289
- export {};
@@ -71,7 +71,7 @@ export declare function getFieldProps<RecordType = any>(fieldProps: ApColumnType
71
71
  * @returns
72
72
  */
73
73
  export declare function getTableRenderType(item: ApColumnType<any, any>): "number" | "select" | "date" | "text" | "index" | "switch" | "status" | "checkbox" | "radio" | "password" | "action" | "dateRange" | "textArea";
74
- export declare function getTableCellRenderNode(renderType: keyof typeof apTableRenderItemMap, renderProps: any, extraRenderMap?: Record<string, ValueTypeRenderConfig>): any;
74
+ export declare function getTableCellRenderNode(renderType: keyof typeof apTableRenderItemMap, renderProps: any, record: any, extraRenderMap?: Record<string, ValueTypeRenderConfig>): any;
75
75
  /**
76
76
  * 获取查询表单最终渲染的节点
77
77
  * @param item
@@ -1,5 +1,5 @@
1
- import { isVNode as m, createVNode as c, mergeProps as i, cloneVNode as p } from "vue";
2
- import { isObject as s, isArray as l, isUndefined as d, isFunction as b, omit as T, isBoolean as y } from "lodash-unified";
1
+ import { isVNode as m, createVNode as i, mergeProps as l, cloneVNode as p } from "vue";
2
+ import { isObject as c, isArray as f, isUndefined as d, isFunction as b, omit as T, isBoolean as y } from "lodash-unified";
3
3
  import { apTableRenderItemMap as j, apTableFormItemMap as h } from "./constants.mjs";
4
4
  import { isType as g } from "@fruits-chain/utils";
5
5
  import "../ap-form/index.mjs";
@@ -9,8 +9,8 @@ function F(t) {
9
9
  }
10
10
  const O = (t, e, n) => {
11
11
  let r = {};
12
- return s(t) ? Object.keys(t).forEach((o) => {
13
- s(t[o]) ? r[o] = O(t[o], e[o], n) : r[o] = n(t[o], e);
12
+ return c(t) ? Object.keys(t).forEach((o) => {
13
+ c(t[o]) ? r[o] = O(t[o], e[o], n) : r[o] = n(t[o], e);
14
14
  }) : r = n(t, e), r;
15
15
  }, _ = (t, e) => {
16
16
  switch (t) {
@@ -24,7 +24,7 @@ const O = (t, e, n) => {
24
24
  }
25
25
  case "multiple":
26
26
  case "multipleNumber":
27
- return l(e) ? e : [e];
27
+ return f(e) ? e : [e];
28
28
  case "boolean":
29
29
  return e;
30
30
  case "object":
@@ -34,13 +34,13 @@ const O = (t, e, n) => {
34
34
  }
35
35
  };
36
36
  function C(t) {
37
- return l(t) ? t.join(".") : t;
37
+ return f(t) ? t.join(".") : t;
38
38
  }
39
39
  function N(t) {
40
40
  const e = Object.prototype.toString.call(t).match(/^\[object (.*)\]$/)[1].toLowerCase();
41
41
  return e === "string" && typeof t == "object" ? "object" : t === null ? "null" : t === void 0 ? "undefined" : e;
42
42
  }
43
- const S = (t) => N(t) === "map" ? t : new Map(Object.entries(t || {})), f = (t) => {
43
+ const S = (t) => N(t) === "map" ? t : new Map(Object.entries(t || {})), a = (t) => {
44
44
  const e = [], n = S(t);
45
45
  return n.forEach((r, o) => {
46
46
  const u = n.get(o) || n.get(`${o}`);
@@ -79,15 +79,15 @@ function q(t) {
79
79
  let e = t.valueType || "text";
80
80
  return t.valueEnum && (e = "status"), e;
81
81
  }
82
- function B(t, e, n) {
83
- var u;
84
- const r = j[t];
85
- if (r)
86
- return c(r, i(e, {
82
+ function B(t, e, n, r) {
83
+ var s;
84
+ const o = j[t];
85
+ if (o)
86
+ return i(o, l(e, {
87
87
  mode: "read"
88
88
  }), null);
89
- const o = n == null ? void 0 : n[t];
90
- return ((u = o == null ? void 0 : o.render) == null ? void 0 : u.call(o, e.value, e)) || e.value;
89
+ const u = r == null ? void 0 : r[t];
90
+ return ((s = u == null ? void 0 : u.render) == null ? void 0 : s.call(u, e.value, n, e)) || e.value;
91
91
  }
92
92
  function D(t, e) {
93
93
  if (t.customRenderFormItem)
@@ -106,7 +106,7 @@ function D(t, e) {
106
106
  return () => {
107
107
  var u;
108
108
  const o = (u = r == null ? void 0 : r.renderFormItem) == null ? void 0 : u.call(r, t.fieldProps.field);
109
- return o ? c(E, i(t.fieldProps, {
109
+ return o ? i(E, l(t.fieldProps, {
110
110
  span: t.span
111
111
  }), F(o) ? o : {
112
112
  default: () => [o]
@@ -114,28 +114,28 @@ function D(t, e) {
114
114
  };
115
115
  }
116
116
  function J(t, e) {
117
- const n = x(t.fieldProps, e), r = (n == null ? void 0 : n.field) || n || {}, o = t.valueType === "switch", u = t.valueType === "index", a = o ? {
117
+ const n = x(t.fieldProps, e), r = (n == null ? void 0 : n.field) || n || {}, o = t.valueType === "switch", u = t.valueType === "index", s = o ? {
118
118
  checked: e.value
119
119
  } : {
120
120
  value: u ? e.index + 1 : e.value
121
121
  };
122
122
  return t.valueEnum && (r.valueEnum = t.valueEnum), {
123
123
  ...T(r, ["request"]),
124
- ...a
124
+ ...s
125
125
  };
126
126
  }
127
127
  function L(t) {
128
128
  const e = {
129
129
  ...t
130
130
  };
131
- return y(t.filters) && t.filters && t.valueEnum && (e.filters = f(t.valueEnum)), e;
131
+ return y(t.filters) && t.filters && t.valueEnum && (e.filters = a(t.valueEnum)), e;
132
132
  }
133
133
  function U(t, e) {
134
134
  var r;
135
135
  const n = e || {};
136
136
  return t.valueEnum && !((r = n.field) != null && r.options) && (n.field = {
137
137
  ...n.field,
138
- options: f(t.valueEnum)
138
+ options: a(t.valueEnum)
139
139
  }), n;
140
140
  }
141
141
  function z(t) {
@@ -162,5 +162,5 @@ export {
162
162
  z as objectToString,
163
163
  _ as parseFieldValue,
164
164
  U as updateFormProps,
165
- f as valueEnumToArray
165
+ a as valueEnumToArray
166
166
  };
@@ -15,6 +15,8 @@
15
15
  .aplus-ap-batch-action .selected-desc-conut span {
16
16
  color: var(--ap-batch-action-color-active, #0070ff);
17
17
  font-weight: bold;
18
+ min-width: 10px;
19
+ display: inline-block;
18
20
  }
19
21
  .aplus-ap-batch-action .selected-desc-clean {
20
22
  margin-left: 8px;
@@ -0,0 +1,13 @@
1
+ import { ApBatchActionGroupProps } from './interface';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
3
+ declare const _default: DefineComponent<__VLS_TypePropsToOption<ApBatchActionGroupProps>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_TypePropsToOption<ApBatchActionGroupProps>>>, {}, {}>;
4
+ export default _default;
5
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
6
+ type __VLS_TypePropsToOption<T> = {
7
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
8
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
9
+ } : {
10
+ type: PropType<T[K]>;
11
+ required: true;
12
+ };
13
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./ApBatchActionGroup.vue2.mjs";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,110 @@
1
+ import { defineComponent as A, computed as n, openBlock as y, createBlock as h, unref as a, mergeProps as s, withCtx as u, createVNode as c, createElementVNode as C, normalizeStyle as D, toDisplayString as w, normalizeClass as N, createTextVNode as T, createCommentVNode as x } from "vue";
2
+ import { DropdownButton as R, Dropdown as V, Button as G } from "ant-design-vue";
3
+ import "./MenuItemGroup.vue.mjs";
4
+ import "../../config-provider/index.mjs";
5
+ import { DownOutlined as M } from "@ant-design/icons-vue";
6
+ import { usePermission as S } from "@aplus-frontend/hooks";
7
+ import { useNamespace as z } from "../../config-provider/hooks/use-namespace.mjs";
8
+ import { useLocale as F } from "../../config-provider/hooks/use-locale.mjs";
9
+ import { useGlobalConfig as O } from "../../config-provider/hooks/use-global-config.mjs";
10
+ import L from "./MenuItemGroup.vue2.mjs";
11
+ const W = /* @__PURE__ */ A({
12
+ __name: "ApBatchActionGroup",
13
+ props: {
14
+ selectedRows: {},
15
+ buttonProps: {},
16
+ menuList: {}
17
+ },
18
+ setup(P) {
19
+ const { b: i } = z("ap-batch-action-group"), { t: _ } = F(), e = P, B = O("uiMode"), { hasPermission: g } = S(), f = n(
20
+ () => {
21
+ var t;
22
+ return ((t = e == null ? void 0 : e.buttonProps) == null ? void 0 : t.dropdownType) || "default";
23
+ }
24
+ ), d = n(
25
+ () => {
26
+ var t;
27
+ return ((t = e == null ? void 0 : e.buttonProps) == null ? void 0 : t.type) || "borderLink";
28
+ }
29
+ ), p = n(
30
+ () => {
31
+ var t;
32
+ return ((t = e == null ? void 0 : e.buttonProps) == null ? void 0 : t.content) || _("ap.apApBatchActionGroup.batchOperation");
33
+ }
34
+ ), k = n(() => (e == null ? void 0 : e.selectedRows) || []), m = n(
35
+ () => {
36
+ var t;
37
+ return ((t = e == null ? void 0 : e.buttonProps) == null ? void 0 : t.disabled) ?? (Array.isArray(e.selectedRows) ? k.value.length === 0 : !1);
38
+ }
39
+ ), b = n(() => {
40
+ const t = {
41
+ aplus: "#0070FF",
42
+ admin: "#34b77c"
43
+ };
44
+ return d.value === "borderLink" ? m.value ? void 0 : t[B.value] || t.aplus : void 0;
45
+ }), r = n(() => {
46
+ var t;
47
+ return ((t = e == null ? void 0 : e.menuList) == null ? void 0 : t.filter((o) => {
48
+ let l = o == null ? void 0 : o.ifShow;
49
+ return !(o != null && o.ifShow) && (o != null && o.auth) && (l = () => g(o.auth)), (l == null ? void 0 : l()) ?? !0;
50
+ })) || [];
51
+ });
52
+ function v() {
53
+ return e != null && e.buttonProps ? {
54
+ ...e.buttonProps,
55
+ type: d.value === "borderLink" ? "default" : d.value
56
+ } : {};
57
+ }
58
+ return (t, o) => r.value.length && f.value === "dropdown" ? (y(), h(a(R), s({
59
+ key: 0,
60
+ class: [a(i)()]
61
+ }, {
62
+ ...v(),
63
+ disabled: m.value
64
+ }), {
65
+ overlay: u(() => [
66
+ c(L, s({
67
+ ...e
68
+ }, { menuList: r.value }), null, 16, ["menuList"])
69
+ ]),
70
+ default: u(() => [
71
+ C("span", {
72
+ style: D({
73
+ color: b.value
74
+ })
75
+ }, w(p.value), 5)
76
+ ]),
77
+ _: 1
78
+ }, 16, ["class"])) : r.value.length && f.value === "default" ? (y(), h(a(V), {
79
+ key: 1,
80
+ class: N([a(i)()]),
81
+ disabled: m.value
82
+ }, {
83
+ overlay: u(() => [
84
+ c(L, s({
85
+ ...e
86
+ }, { menuList: r.value }), null, 16, ["menuList"])
87
+ ]),
88
+ default: u(() => [
89
+ c(a(G), s({
90
+ ...t.$attrs,
91
+ ...v()
92
+ }, {
93
+ style: {
94
+ color: b.value
95
+ }
96
+ }), {
97
+ default: u(() => [
98
+ T(w(p.value) + " ", 1),
99
+ c(a(M))
100
+ ]),
101
+ _: 1
102
+ }, 16, ["style"])
103
+ ]),
104
+ _: 1
105
+ }, 8, ["class", "disabled"])) : x("", !0);
106
+ }
107
+ });
108
+ export {
109
+ W as default
110
+ };
@@ -0,0 +1,17 @@
1
+ import { ApBatchActionGroupMenuProps, ApBatchActionGroupProps } from './interface';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
3
+ declare const _default: DefineComponent<__VLS_TypePropsToOption<ApBatchActionGroupProps & {
4
+ menuList: ApBatchActionGroupMenuProps[];
5
+ }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_TypePropsToOption<ApBatchActionGroupProps & {
6
+ menuList: ApBatchActionGroupMenuProps[];
7
+ }>>>, {}, {}>;
8
+ export default _default;
9
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
10
+ type __VLS_TypePropsToOption<T> = {
11
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
12
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
13
+ } : {
14
+ type: PropType<T[K]>;
15
+ required: true;
16
+ };
17
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./MenuItemGroup.vue2.mjs";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,50 @@
1
+ import { defineComponent as _, ref as h, openBlock as s, createBlock as a, unref as u, withCtx as d, createElementBlock as v, Fragment as t, renderList as y, mergeProps as k, createElementVNode as w, withDirectives as g, createVNode as C, vShow as b, resolveDynamicComponent as L, h as M } from "vue";
2
+ import { LoadingOutlined as B } from "@ant-design/icons-vue";
3
+ import { Menu as R, MenuItem as x } from "ant-design-vue";
4
+ const D = { style: { display: "flex", "align-items": "center" } }, P = /* @__PURE__ */ _({
5
+ __name: "MenuItemGroup",
6
+ props: {
7
+ selectedRows: {},
8
+ buttonProps: {},
9
+ menuList: {}
10
+ },
11
+ setup(f) {
12
+ const o = f, r = h({});
13
+ async function p(e, c) {
14
+ var l;
15
+ const n = (e == null ? void 0 : e.id) || c;
16
+ r.value[n] = !0;
17
+ try {
18
+ await ((l = e == null ? void 0 : e.onClick) == null ? void 0 : l.call(e, { selectedRows: o == null ? void 0 : o.selectedRows }));
19
+ } finally {
20
+ r.value[n] = !1;
21
+ }
22
+ }
23
+ return (e, c) => (s(), a(u(R), null, {
24
+ default: d(() => [
25
+ (s(!0), v(t, null, y(o.menuList, (n, l) => (s(), a(u(x), k({
26
+ key: (n == null ? void 0 : n.id) || l,
27
+ ref_for: !0
28
+ }, {
29
+ ...n,
30
+ onClick: () => p(n, l),
31
+ disabled: r.value[(n == null ? void 0 : n.id) || l] ?? (n == null ? void 0 : n.disabled) ?? !1
32
+ }), {
33
+ default: d(() => [
34
+ w("div", D, [
35
+ g(C(u(B), { style: { "margin-right": "10px" } }, null, 512), [
36
+ [b, r.value[(n == null ? void 0 : n.id) || l]]
37
+ ]),
38
+ (s(), a(L(M(t, [n == null ? void 0 : n.content]))))
39
+ ])
40
+ ]),
41
+ _: 2
42
+ }, 1040))), 128))
43
+ ]),
44
+ _: 1
45
+ }));
46
+ }
47
+ });
48
+ export {
49
+ P as default
50
+ };
@@ -0,0 +1,41 @@
1
+ import { ButtonProps, MenuItemProps } from 'ant-design-vue';
2
+ import { DropdownButtonProps } from 'ant-design-vue/es/dropdown';
3
+ import { VNodeChild } from 'vue';
4
+ type ApBatchActionGroupButtonType = ButtonProps['type'] | 'borderLink';
5
+ type MixinButton<T> = Omit<T, 'type'> & {
6
+ type?: ApBatchActionGroupButtonType;
7
+ content?: string;
8
+ };
9
+ interface ApBatchActionGroupTypeProps {
10
+ default: MixinButton<ButtonProps>;
11
+ dropdown: MixinButton<DropdownButtonProps>;
12
+ }
13
+ export type ApBatchActionGroupPropsKeys = keyof ApBatchActionGroupTypeProps;
14
+ export type ApBatchActionGroupButtonProps<T extends ApBatchActionGroupPropsKeys = ApBatchActionGroupPropsKeys> = T extends ApBatchActionGroupPropsKeys ? {
15
+ dropdownType?: T;
16
+ } & ApBatchActionGroupTypeProps[T] : never;
17
+ export type ApBatchActionGroupMenuProps<RecordType = any> = Omit<MenuItemProps, 'title' | 'icon' | 'role' | 'originItemValue' | 'onClick'> & {
18
+ content?: VNodeChild;
19
+ onClick?: (item?: {
20
+ selectedRows?: RecordType[];
21
+ }) => Promise<any> | any;
22
+ auth?: string;
23
+ ifShow?: (item?: {
24
+ selectedRows?: RecordType[];
25
+ }) => boolean;
26
+ };
27
+ export type ApBatchActionGroupProps<RecordType = any> = {
28
+ /**
29
+ * 选中行的列表
30
+ */
31
+ selectedRows?: RecordType[];
32
+ /**
33
+ * 按钮配置
34
+ */
35
+ buttonProps?: ApBatchActionGroupButtonProps;
36
+ /**
37
+ * 下拉列表配置
38
+ */
39
+ menuList?: ApBatchActionGroupMenuProps<RecordType>[];
40
+ };
41
+ export {};
@@ -0,0 +1,65 @@
1
+ import { accessCreate } from '@aplus-frontend/oss';
2
+ import { PropType, DefineComponent, CSSProperties, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
3
+ import { MouseEventHandler } from 'ant-design-vue/es/_util/EventInterface';
4
+ import { VueTypeValidableDef } from '../../../node_modules/vue-types';
5
+ import { ImagePreviewType } from 'ant-design-vue/es/vc-image';
6
+ declare const _default: DefineComponent<{
7
+ path: StringConstructor;
8
+ getOssAccess: PropType<() => Promise<accessCreate>>;
9
+ onClick: {
10
+ type: PropType< MouseEventHandler>;
11
+ };
12
+ onError: {
13
+ type: PropType<OnErrorEventHandlerNonNull>;
14
+ };
15
+ prefixCls: StringConstructor;
16
+ placeholder: VueTypeValidableDef<any>;
17
+ preview: {
18
+ type: PropType<boolean | ImagePreviewType>;
19
+ default: boolean | ImagePreviewType;
20
+ };
21
+ rootClassName: StringConstructor;
22
+ wrapperClassName: StringConstructor;
23
+ fallback: StringConstructor;
24
+ previewPrefixCls: StringConstructor;
25
+ wrapperStyle: {
26
+ type: PropType< CSSProperties>;
27
+ default: CSSProperties;
28
+ };
29
+ previewMask: {
30
+ type: PropType<false | (() => any)>;
31
+ default: any;
32
+ };
33
+ }, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
34
+ path: StringConstructor;
35
+ getOssAccess: PropType<() => Promise<accessCreate>>;
36
+ onClick: {
37
+ type: PropType< MouseEventHandler>;
38
+ };
39
+ onError: {
40
+ type: PropType<OnErrorEventHandlerNonNull>;
41
+ };
42
+ prefixCls: StringConstructor;
43
+ placeholder: VueTypeValidableDef<any>;
44
+ preview: {
45
+ type: PropType<boolean | ImagePreviewType>;
46
+ default: boolean | ImagePreviewType;
47
+ };
48
+ rootClassName: StringConstructor;
49
+ wrapperClassName: StringConstructor;
50
+ fallback: StringConstructor;
51
+ previewPrefixCls: StringConstructor;
52
+ wrapperStyle: {
53
+ type: PropType< CSSProperties>;
54
+ default: CSSProperties;
55
+ };
56
+ previewMask: {
57
+ type: PropType<false | (() => any)>;
58
+ default: any;
59
+ };
60
+ }>>, {
61
+ preview: boolean | ImagePreviewType;
62
+ wrapperStyle: CSSProperties;
63
+ previewMask: false | (() => any);
64
+ }, {}>;
65
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import f from "./ApImage.vue2.mjs";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,56 @@
1
+ import { defineComponent as b, computed as s, ref as h, watchEffect as O, openBlock as _, createBlock as P, unref as w, normalizeProps as C, guardReactiveProps as F } from "vue";
2
+ import { Image as I } from "ant-design-vue";
3
+ import { injectLocaleToOss as M, getOssInstance as S, getSignatureUrl as U } from "./hooks/useOss.mjs";
4
+ import "../../config-provider/index.mjs";
5
+ import { imageProps as x } from "ant-design-vue/es/image";
6
+ import { omit as y } from "lodash-unified";
7
+ import B from "./imgs/admin-fallback.jpg.mjs";
8
+ import L from "./imgs/aplus-fallback.jpg.mjs";
9
+ import { useGlobalConfig as p } from "../../config-provider/hooks/use-global-config.mjs";
10
+ import { useLocale as j } from "../../config-provider/hooks/use-locale.mjs";
11
+ const K = /* @__PURE__ */ b({
12
+ __name: "ApImage",
13
+ props: {
14
+ ...y(x(), ["src"]),
15
+ path: String,
16
+ getOssAccess: Function
17
+ },
18
+ setup(u) {
19
+ const e = u, c = {
20
+ aplus: L,
21
+ admin: B
22
+ }, i = p("uiMode"), m = p("apUpload"), { t: f, lang: g } = j(), r = s(() => e.path), v = s(
23
+ () => {
24
+ var a;
25
+ return e.getOssAccess || ((a = m.value) == null ? void 0 : a.getOssAccess);
26
+ }
27
+ ), l = s(
28
+ () => c[i.value] || c.aplus
29
+ ), n = s(() => (e == null ? void 0 : e.fallback) || l.value), o = h(l.value);
30
+ M(f, g);
31
+ function d(a) {
32
+ const { path: t, getOssAccess: k, ...A } = a;
33
+ return A;
34
+ }
35
+ return O(async () => {
36
+ try {
37
+ if (r.value) {
38
+ const a = await S(v.value), t = await U({
39
+ oss: a,
40
+ fileName: r.value
41
+ });
42
+ t && (o.value = t);
43
+ }
44
+ } catch {
45
+ o.value = n.value;
46
+ }
47
+ }), (a, t) => (_(), P(w(I), C(F({
48
+ ...d(e),
49
+ fallback: n.value,
50
+ src: o.value
51
+ })), null, 16));
52
+ }
53
+ });
54
+ export {
55
+ K as default
56
+ };
@@ -0,0 +1,11 @@
1
+ import { accessCreate, Oss } from '@aplus-frontend/oss';
2
+ import { Translator } from '../../../config-provider';
3
+ import { Ref } from 'vue';
4
+ type GetOssAccess = () => Promise<accessCreate>;
5
+ export declare function injectLocaleToOss(tValue: Translator, langValue: Ref<string>): void;
6
+ export declare function getOssInstance(getOssAccess?: GetOssAccess): Promise<Oss>;
7
+ export declare function getSignatureUrl({ oss, fileName }: {
8
+ oss: Oss;
9
+ fileName: string;
10
+ }): Promise<string | undefined>;
11
+ export {};
@@ -0,0 +1,37 @@
1
+ import { createOssInstance as o } from "@aplus-frontend/oss";
2
+ let a, s;
3
+ function c(n, t) {
4
+ a = n, s = t;
5
+ }
6
+ const i = {
7
+ "zh-cn": "zh_CN",
8
+ en: "en_US"
9
+ };
10
+ function l() {
11
+ return i[s.value] ?? "zh_CN";
12
+ }
13
+ async function p(n) {
14
+ if (!n)
15
+ throw new Error(`${a("ap.apUpload.pleasePass")}getOssAccess`);
16
+ const t = o();
17
+ return await t.initOssClient({
18
+ getOssAccess: n,
19
+ locale: l(),
20
+ onFailure: (e) => {
21
+ throw new Error(
22
+ typeof (e == null ? void 0 : e.message) == "string" ? e.message : a("ap.apUpload.FailedToObtainOssTemporaryPermissions")
23
+ );
24
+ }
25
+ }), t;
26
+ }
27
+ function g({
28
+ oss: n,
29
+ fileName: t
30
+ }) {
31
+ return n.getSignatureUrl(t);
32
+ }
33
+ export {
34
+ p as getOssInstance,
35
+ g as getSignatureUrl,
36
+ c as injectLocaleToOss
37
+ };
@@ -0,0 +1,4 @@
1
+ const A = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAAHRyWFlaAAABZAAAABRnWFlaAAABeAAAABRiWFlaAAABjAAAABRyVFJDAAABoAAAAChnVFJDAAABoAAAAChiVFJDAAABoAAAACh3dHB0AAAByAAAABRjcHJ0AAAB3AAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAFgAAAAcAHMAUgBHAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z3BhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLW1sdWMAAAAAAAAAAQAAAAxlblVTAAAAIAAAABwARwBvAG8AZwBsAGUAIABJAG4AYwAuACAAMgAwADEANv/bAEMAAwICAwICAwMDAwQDAwQFCAUFBAQFCgcHBggMCgwMCwoLCw0OEhANDhEOCwsQFhARExQVFRUMDxcYFhQYEhQVFP/bAEMBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIBAAEAAMBIgACEQEDEQH/xAAbAAEAAwEBAQEAAAAAAAAAAAAAAwQFBgECCf/EADwQAQACAQEEBgcHBAICAwEAAAABAgMEBREhMRITFEFRUhUiMlNhcdEGByNCgaKxM5GhwUPwYnKCkuHx/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAIBAwT/xAAcEQEBAQADAQEBAAAAAAAAAAAAARECEkExIVH/2gAMAwEAAhEDEQA/AP0Z+7z7ufs391P2S0P2a+yextHsPY2jpFcem0eGuOLTERE5L9GI6V7bt9rzxtPGZmXSA9DzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm/vG+7zYP3rfYjbP2T+0uhx7Q2NtXTZNLnxXrE2rF6zXp0mYno3rv31tHGsxExxh0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzFY3zO6PGVLPtjS4eHTnJPhSN4Loxcn2hn/AI8MfO1kNtv6meVccfpP1VlTsdAOejbupjyT86pKfaHNHt4qW+W+DKbG6MvFt/Db+pS2OfhxhfwarDqY348lbfDv/szG6lAY0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB85MtMNJve0VrHOZB9TMRG+eEMzW7cx4ZmuGIy3835Y+rP2jta+rmaUmaYfDvn5qC5P6i3+JtTrM2rtvy3m3hHdH6IQUkAAAAe1tNZiYmYmOUw8AaWk25mxTEZfxaeP5m3ptXi1dOljtv8Y74ck+8Oa+nyRfHaa2jvhljZXXijs3addbXoW3VzR3ePyXnN0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeXvXHSbWmK1jjMy5raW0La7Lw3xir7Nf8AaztvXzkyTp6T6lfanxnwZS5PUW+ACkgAAAAAAAAAPa2mlotWZraOMTDo9mbSjWU6F5iM0c48fi5t94c19PlrkpO61eTLNbLjrxFpdRXV4KZa8p5x4Slc3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVto6rsmlteJ9eeFfmsuf27qOs1cY4n1cccvjP/AGGybWW5GbMzMzMzvmQHRzAAAAAAAAAAAAAAaOxNX1Gp6q0+pk4fKe50LjYmYmJid0w63SZ41Omx5I/NHH596OS+NSgJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8taK1m08IiN8uQzZJy5b3nnaZl1G0cnV6HNb/AMd39+DlV8UcgBSQAAAAAAAAAAAAABufZ/N0sOXHM+zPSj9f/wCMNo7Bv0dbNd/C1Jjcy/Gz66EBzdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFHbc7tn3+Mx/Lm3R7bjfs+3wmP5c4vj8Ry+gCkgAAAAAAAAAAAAAC5sid20cP6/xKmt7IjftHD85/iS/CfXTgOTqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq7Vp09n5o8I3/2ly7sMlIy470nlaJhyFqzS01nnE7l8UcngCkgAAAAAAAAAAAAAC/sOnS18T5azP8Ar/ag2fs9i/rZflWP+/2ZfjZ9bIDm6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm9s4Op11piPVv60f7dIo7Y0vaNJNojffH60bv8x/3wbL+svxzYDo5gAAAAAAAAAAAAADqdm6fs2ix1n2pjpT85YWytL2rWViY30r61nTJ5K4gCFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOa2roeyaiZrH4V+Nd0cI+Ck63VaeuqwWxX5T3x3OY1elvo8047x8p7ph0l1zsxCA1gAAAAAAAAAARE2mIiN8zwiIG3sbZs03ajLHHd6lf9luEmrmzNH2PTRE/1LcbfRbBydQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBrNHj1uKaXjdPdaOcJwHKavR5NHlml44d1u6UDr82CmoxzTJWLVnuliazYeTFM2wfiU8v5o+q5UWMse2rNZmJiYmOcS8UkAAAAAAIiZmIiN8yn02hzaud2OnDzTybuh2Ti0m69vxMsfmnlHyZbjZNVNl7I3bs2or/647R/mWyCLdXJgAxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHUaPDqv6uOLT48p/uzM32e5ziy/KLx/tsjdxma5rJsbV0mfw+lHjW0IJ0WorzwZP/rLrBvZnVyUaTPM8MOSf/hKSmzdVk5YLx/7Ru/l1IdjqwMOwM9/6lq44/vK/p9iafDETeJy28bcv7NAZtbkIrFY3RERHhADGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2fV7p6NOPjILFrRSN9piI+KOdVij82/5QoWtNp3zO+XisZrRrqcdvzx+vBJE743xxhlPvHltin1Z/TuZhrSEWHUVzR4W8ErGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPL3ilZtPKAQavN0K9GJ9af4Un1e85LTaecvlSQBrAAHtbTS0WjnDSxZIyUi0d7MT6TL1d+jPK38srYvAJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKesy9K3QjlHP5rGfL1WOZ7+5nTO+d8tjKAKSAAAAAA0NNl63Hx9qOEpWdgy9Vkie7vaMTExExxiU1UAGNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQavL0KdGOdv4BW1OXrcnCfVjhCIFoAAAAAAAAFzR5elXoTzjl8lN7S80tFo5wxrUHlLxkpFo5S9SoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtaKxMzyhmZck5bzaVjWZd/wCHHzlVVE0AawAAAAAAAAABZ0eXo26Ezwnl81xlcmjgy9bjie/lKaqJAGNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHzlyRipNpfSjqsvWZN0ezXg1iGZm0zM8Zl4CkgAAAAAAAAAAACXTZeqyRv9meEogGqINJl6dOjPOv8J0LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJmIiZnhEAh1OXqse6PanhCg+82WcuSbd3c+FJoA1gAAAAAAAAAAAAAD6x5Jx3i0dzSraLViY5Sy1rR5d0zSe/jDK2LYCVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtrM26OhE8Z5p8l4x0m09zNtab2m085bGV4ApIAAAAAAAAAAAAAAAA9iZiYmOcPAGlhyRlxxb+77UNLl6vJumfVlfSoAY0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHqMvVY5n808IBW1eXp36MTwj+VcFJAGsAAAAAAAAAAAAAAAAAAF/S5esx7p9qvNQfeHJOK8Wj9WVrSCJi0RMcYkSoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ+oy9bkme6OELGsy9GnQieM8/kpNjKAKSAAAAAAAAAAAAAAAAAAAAAAt6PNvjoTPHuWmXW00tFo5w0sd4yUi0d6aqPoBjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5e0UrNp5Q9VNZl3z0I5RxkFfJecl5tPe+QWgAAAAAAAAAAAAAAAAAAAAAAAAWNJm6F+jM+rP8AKuMa1RFp8vW4480cJSpUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy1609q0V+cvK5aXndW9bT8JB9AAAAAAAAAAAAAAAAAAAAAAAA+M2WMWOZ7+5mzO+d8ptTl63Juj2Y4QhVE0AawAAAAAAAAAAAAAAAAAAAAAAAAABJgy9Vkie6eEtFlLujy9KvQnnHL5JqosAMaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8veMdZtad1YjfMyD4z56abFOTJbo1hhavbebPvrj/Bp8Pan9VfaGttrc82nhSOFY8IVlyIte2va877TNp8Zne8BSVjT7Q1GmmOhkndH5bcYbuz9qY9bHRmOhliPZ7p+TmiJmsxMTumOMTDLNbLjshT2Zr+24PW3RlrwtHj8VxzdAAAAAAAAAAAAAAAAAABDqsvV06MT60prTFYmZ5QzcuScuSbT+jYyvgBSQAAAAAAAAAAAAAAAAAAAAAAAAAAAB9UvOO8WjnD5AalLxekWjlL1T0eXdboTynkuIWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjbutitI09Z9aeNvl4NPUZ66bDfJblWN/z+DlM+a2fLfJb2rTvVIm18ALQAAAAsbP1c6PU1vvnoTwtHjDqomJjfHGHGt3YWsjJhnBafWpxrv74TynquN8aoCFgAAAAAAAAAAAAAAPnLkjFSbSCvrMv5In5qj21ptaZnjMvFJAGsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTSwZetxxPfylmpdNl6rJx9meEsrY0AEqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV9dq40emtknjblWPGQZW3db1uSMFJ9WnG3zZT21ptaZmd8zO+ZeOs/HK/oAAAAAAk0+e2mzVyUnjWeXjHgjAdhiy1zY63rO+to3w+mJsHWRW1tPad0Txrv8e+G252Y6S6AMaAAAAAAAAAAAAKOry9O/Rj2a/ys6nL1WPhPrTyZ7YygCkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL2ky9OnRmfWj+E7NxZJxXi0NGtotWJjlKaqPQGNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHN7X1vatR0azvx4+EfGe+WvtbW9k00xWfxL8K/DxlzS+M9RyvgApIAAAAAAAD2l7Y7xaszW0cYmHV6TUxq9PTLHfHGPCe9ybR2LrI0+onHad1MnDj3T3Ms1suOhAc3QAAAAAAAAAAJndG+RW1mXo16Ec55gr58vW5Jnu5QjBaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa0eb8kz8lV7W01mJid0wxrUHziyRlpFo/V9JUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrRWJmZ3RHGZGXtzW9Vh6is+veOPwhv1l/GVtDVzrNTa/wCSOFY+CsDo5gAAAAAAAAAByAHT7M1fa9LWZnfevq2+fituY2Xq+yauszO6lvVt8vF08TExvjjDnZjpLoAxoAAAAAAADy94x1m08oZl7Te02nnKxrMvSt0I5Rz+asqJoA1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfS5erv0Z9my8ymhpsvW4+M+tHNNVEoDGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPnLlrgx2yXndWsb5cpqdRbVZ75bc7Ty8Iae3dbvmNPWeXG/+oY65EcqAKSAAAAAAAAAAAAOh2JrOv0/VWnffH/mO5zybSamdJqKZY7p4x4x3ss1suOsHlL1yUi1Zi1Z4xMPXN0AAAAAAEefL1WOZ754QkZ+oy9bk3x7McIbGVFzAUkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfeHJ1WSLd3e+AGrExMRMcYkVtHl6UdCe7ksoWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIdZqa6TT3yT3RwjxnuTOf21re0Z+qrPqY54/GWyay3GfkvbLe17Tvtad8y+QdHMAAAAAAAAAAAAAAABt7B1m+ttPaeMcafLvhruPxZLYclb1ndas74dZp89dThrkpPC0cvD4IsXKkASoAAB5a0UrMzwiAQ6vL0KdGOdv4UX1kvOS82nvfKkgDWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPa2mlotHOGnS8ZKRaOUstY0eXoW6E8rcvmyti6AlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByBU2nrOx6abRP4luFYcxzW9qaztmpma/wBOvCvx+Ko6SY526ANYAAAAAAAAAAAAAAAANTYWr6rNOG0+rfjX5/8Af4ZZEzExMTumC/pPx2Qr6DVxrNNW++OnytHhKw5OoAAqazLvnq4+crGbJGLHNu/uZ0zNpmZ4zLYyvAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkANHT5etxxPfHCUjP0+Xqsm+fZnhLQTVQAY0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ22tb2fT9XWfxMnD5R3tDJeMdLXtO6tY3zLldbqp1motknhE8IjwhUibUAC0AAAAAAAAAAAAAAAAAAAAL2yNX2XVRFp/Dv6s/Pun/AL4ukca6TY+s7TpYrafxMfCfjHdKeU9Vxvi8CHVZerpuj2pQtW1WXrMm6PZhCC0gAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXdJl6dOhPOv8KT6x3nHeLR3Ma0x5W0XrFo4xL1KgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEepz102C+W3KscvEGZt3W9Gsaes8Z43+XdDEfefNbPlvkt7Vp3vh0kxzt0AawAAAAAAAAAAAAAAAAAAAAWNBqp0eqpk/Lyt8lcB2PTia9Lf6u7fvZ2bJOXJNu7uVNn66b6Xs8zxrPCfh4LCMxe6ANYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtaPLunoT38ltlxMxMTHOGjhydbjie/vTVR9gMaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMLbmt63LGCs+rTjb5tXX6uNHprX525Vj4uWtabWmZnfMzvmVcZ6nlXgC0AAAAAAAAAAAAAAAAAAAAAAAAPrFknFkreOcS2aXjJSLV4xLEXdnZ90zjmefGGVsaADGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbTZeqycZ9WeaEYNUQ6XL1lN086pkrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUdr63smm6NZ/Evwj4eMgydr63tWp6NZ348fCPjPfKiDq5AAAAAAAAAAAAAAAAAAAAAAAAAABEzWYmOExxgAbODNGfHFo/WPCUjM0GfqsvRmfVt/LTSoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB94sk4rxaP1aUTFoiYnfEspb0eX/jn5wyti0AlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa0ViZmd0RxmXK7Q1c63U2vyrHCsfBrbc1vVYowVn1rx63whgr4z1HK+ACkgAAAAAAAAAAAAAAAAAAAAAAAAAAADW0mfr8Ub59aOEslNpM/UZomfZnhJSNcOYlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9raa2iY5w8AaeK8ZKRaO99KOky9Xfozyt/K8lQAxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+M2WuDFbJed1axvl9sbb+r9nT1n/yt/qGz9ZfxlanUW1We+W3O08vBGDo5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANPZ+frMXQmfWr/C0xcGWcOWt47ufybMTExExylNVHoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ02XrcfH2o4Sz0mDL1WSJ7u9lbGiHMSoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcprss5tZmvPHfaY/TlDq3H5Y3Zbx4TKuKOT5AWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa2ivN9NTf3cGS09nRu0/zmWVsWgGNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXtHk6WPo99U6lop3ZZjxhdTVQAY0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcxtXB1GuyR3WnpR+rp1DbGhnV4ItSN+SnGI8Y8Gy4yzXOByHRzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzp8fVYaV74jiz9Dp5y5OnMepX/MtRlbABjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFjRRvyzPhC6g0ePo45tPOydNVABjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZtLY8aiZyYN1cnfXusw82DJgv0clJpbwl17y9K5KzW9YtWe6Y3wqXE2OOHUW2VpLzO/DXj4TMPn0Po/c/un6t7M6uZHTeh9H7n90/U9D6P3P7p+p2h1rmR03ofR+5/dP1PQ+j9z+6fqdoda5kdN6H0fuf3T9T0Po/c/un6naHWuZHTeh9H7n90/U9D6P3P7p+p2h1rmR03ofR+5/dP1PQ+j9z+6fqdoda5kdN6H0fuf3T9T0Po/c/un6naHWuZHTeh9H7n90/U9D6P3P7p+p2h1rmR03ofR+5/dP1PQ+j9z+6fqdoda5kdN6H0fuf3T9T0Po/c/un6naHWuZHTeh9H7n90/U9D6P3P7p+p2h1rmR03ofR+5/dP1PQ+j9z+6fqdoda5kdN6H0fuf3T9UGTYmGONK748JmW9ozrWANudj1j/h/d/+vPRFfcz/AHn6mwysUbXoivuZ/vP1I2TWP+H/ACbDKxYjfK1p9BbJMTf1a/5lq00M4/ZxRX5Q+uzZPJLNbiGlK46xWsbojufSTs2TySdmyeSWNRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TySdmyeSQRiTs2TyS+q6TJbu3fOQQptPp5yzvnhWP8p8ejrXjeelPh3LDNbgAxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOb+7n7w9g/et9iNjfaz7Na7HtDY21dNj1WDLS0TasXrFuheImejeu/das8azExPGHSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5v7w/vG+zf3U/ZLXfaX7WbZ0ew9jaOk2yanWZq44tMRMxjp0pjpXtu3VpHG08IiZB//2Q==";
2
+ export {
3
+ A as default
4
+ };