@pisell/materials 2.2.32 → 2.2.34
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +5 -5
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +17 -17
- package/es/components/iconfont/index.js +1 -1
- package/es/components/pisellInformationEntry/Input/index.js +9 -3
- package/es/components/pisellInformationEntry/constants.d.ts +10 -0
- package/es/components/pisellInformationEntry/constants.js +10 -0
- package/es/components/pisellInformationEntry/hooks/useTerminalPeripherals.d.ts +8 -0
- package/es/components/pisellInformationEntry/hooks/useTerminalPeripherals.js +54 -0
- package/es/components/pisellInformationEntry/index.js +21 -4
- package/es/components/pisellInformationEntry/index.less +1 -1
- package/es/components/pisellLoading/index.d.ts +2 -0
- package/es/components/pisellLoading/index.js +3 -1
- package/es/components/pisellStatisticList/index.less +2 -1
- package/es/components/pisellWalletPassCard/index.d.ts +2 -0
- package/es/components/pisellWalletPassCard/index.js +16 -4
- package/es/components/pisellWalletPassCard/index.less +4 -0
- package/es/components/select-time/RightPanel/index.d.ts +2 -2
- package/es/components/select-time/RightPanel/index.js +7 -7
- package/es/components/virtual-keyboard/Keyboard/index.d.ts +1 -0
- package/es/components/virtual-keyboard/Keyboard/index.js +10 -2
- package/es/locales/en-US.d.ts +2 -0
- package/es/locales/en-US.js +3 -1
- package/es/locales/zh-CN.d.ts +2 -0
- package/es/locales/zh-CN.js +3 -1
- package/es/locales/zh-TW.d.ts +2 -0
- package/es/locales/zh-TW.js +3 -1
- package/lib/components/iconfont/index.js +1 -1
- package/lib/components/pisellInformationEntry/Input/index.js +9 -1
- package/lib/components/pisellInformationEntry/constants.d.ts +10 -0
- package/lib/components/pisellInformationEntry/constants.js +12 -0
- package/lib/components/pisellInformationEntry/hooks/useTerminalPeripherals.d.ts +8 -0
- package/lib/components/pisellInformationEntry/hooks/useTerminalPeripherals.js +83 -0
- package/lib/components/pisellInformationEntry/index.js +18 -2
- package/lib/components/pisellInformationEntry/index.less +1 -1
- package/lib/components/pisellLoading/index.d.ts +2 -0
- package/lib/components/pisellLoading/index.js +2 -1
- package/lib/components/pisellStatisticList/index.less +2 -1
- package/lib/components/pisellWalletPassCard/index.d.ts +2 -0
- package/lib/components/pisellWalletPassCard/index.js +8 -4
- package/lib/components/pisellWalletPassCard/index.less +4 -0
- package/lib/components/select-time/RightPanel/index.d.ts +2 -2
- package/lib/components/virtual-keyboard/Keyboard/index.d.ts +1 -0
- package/lib/components/virtual-keyboard/Keyboard/index.js +15 -2
- package/lib/locales/en-US.d.ts +2 -0
- package/lib/locales/en-US.js +3 -1
- package/lib/locales/zh-CN.d.ts +2 -0
- package/lib/locales/zh-CN.js +3 -1
- package/lib/locales/zh-TW.d.ts +2 -0
- package/lib/locales/zh-TW.js +3 -1
- package/lowcode/pisell-card-list/meta.ts +60 -24
- package/lowcode/pisell-information-entry/meta.ts +22 -7
- package/lowcode/pisell-loading/meta.ts +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/components/pisellInformationEntry/hooks/useTerminalPeripherals.ts
|
|
30
|
+
var useTerminalPeripherals_exports = {};
|
|
31
|
+
__export(useTerminalPeripherals_exports, {
|
|
32
|
+
default: () => useTerminalPeripherals_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(useTerminalPeripherals_exports);
|
|
35
|
+
var import_react = require("react");
|
|
36
|
+
var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
|
|
37
|
+
var useTerminalPeripherals = (onChange) => {
|
|
38
|
+
var _a;
|
|
39
|
+
const context = (0, import_useEngineContext.default)();
|
|
40
|
+
const { interaction } = ((_a = context.appHelper) == null ? void 0 : _a.utils) || {};
|
|
41
|
+
const [peripheralsStatus, setPeripheralsStatus] = (0, import_react.useState)({
|
|
42
|
+
scanner: "none",
|
|
43
|
+
nfc: "none"
|
|
44
|
+
});
|
|
45
|
+
(0, import_react.useEffect)(() => {
|
|
46
|
+
var _a2, _b, _c, _d, _e, _f;
|
|
47
|
+
(_b = (_a2 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _a2.mountFunction) == null ? void 0 : _b.call(
|
|
48
|
+
_a2,
|
|
49
|
+
"global",
|
|
50
|
+
"peripheralsResult",
|
|
51
|
+
(strVal) => {
|
|
52
|
+
try {
|
|
53
|
+
const val = JSON.parse(strVal);
|
|
54
|
+
onChange == null ? void 0 : onChange(val.value);
|
|
55
|
+
} catch (err) {
|
|
56
|
+
console.error(err);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
(_d = (_c = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _c.postMessageToApp) == null ? void 0 : _d.call(_c, {
|
|
61
|
+
module: "global",
|
|
62
|
+
key: "get_peripherals_status",
|
|
63
|
+
data: {}
|
|
64
|
+
});
|
|
65
|
+
(_f = (_e = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _e.mountFunction) == null ? void 0 : _f.call(
|
|
66
|
+
_e,
|
|
67
|
+
"global",
|
|
68
|
+
"peripheralsStatus",
|
|
69
|
+
(strPeripherals) => {
|
|
70
|
+
try {
|
|
71
|
+
const peripherals = JSON.parse(strPeripherals);
|
|
72
|
+
setPeripheralsStatus(peripherals);
|
|
73
|
+
} catch (err) {
|
|
74
|
+
console.error(err);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}, []);
|
|
79
|
+
return {
|
|
80
|
+
peripheralsStatus
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
var useTerminalPeripherals_default = useTerminalPeripherals;
|
|
@@ -42,6 +42,7 @@ var import_Scan = __toESM(require("./Scan"));
|
|
|
42
42
|
var import_button = __toESM(require("../button"));
|
|
43
43
|
var import_Input = __toESM(require("./Input"));
|
|
44
44
|
var import_utils = require("./utils");
|
|
45
|
+
var import_useTerminalPeripherals = __toESM(require("./hooks/useTerminalPeripherals"));
|
|
45
46
|
var import_index = require("./index.less");
|
|
46
47
|
var CardButton = (props) => {
|
|
47
48
|
const { icon, children, ...others } = props;
|
|
@@ -60,6 +61,7 @@ var PisellInformationEntry = (props) => {
|
|
|
60
61
|
const [currentType, setCurrentType] = (0, import_react.useState)(
|
|
61
62
|
null
|
|
62
63
|
);
|
|
64
|
+
const { peripheralsStatus } = (0, import_useTerminalPeripherals.default)(onChange);
|
|
63
65
|
const [availableEntryModes, setAvailableEntryModes] = (0, import_react.useState)(entryModes);
|
|
64
66
|
(0, import_react.useEffect)(() => {
|
|
65
67
|
document.body.id = "body";
|
|
@@ -70,13 +72,22 @@ var PisellInformationEntry = (props) => {
|
|
|
70
72
|
if (!await (0, import_utils.hasCamera)()) {
|
|
71
73
|
available = entryModes.filter((item) => item.type !== "scanCode");
|
|
72
74
|
}
|
|
75
|
+
available = available.filter((item) => {
|
|
76
|
+
if (item.type === "scanner") {
|
|
77
|
+
return peripheralsStatus.scanner !== "none";
|
|
78
|
+
}
|
|
79
|
+
if (item.type === "nfc") {
|
|
80
|
+
return peripheralsStatus.nfc !== "none";
|
|
81
|
+
}
|
|
82
|
+
return true;
|
|
83
|
+
});
|
|
73
84
|
if (available.length === 1) {
|
|
74
85
|
setCurrentType(available[0].type);
|
|
75
86
|
}
|
|
76
87
|
setAvailableEntryModes(available);
|
|
77
88
|
};
|
|
78
89
|
getEntryModes();
|
|
79
|
-
}, [entryModes]);
|
|
90
|
+
}, [entryModes, peripheralsStatus]);
|
|
80
91
|
const handleChange = (val) => {
|
|
81
92
|
onChange == null ? void 0 : onChange(val);
|
|
82
93
|
};
|
|
@@ -139,6 +150,11 @@ var PisellInformationEntry = (props) => {
|
|
|
139
150
|
}
|
|
140
151
|
))), isShowEntryModes && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-information-entry-modes" }, availableEntryModes.map((item) => {
|
|
141
152
|
const detail = import_constants.entryModeTextIcon[item.type];
|
|
153
|
+
let icon = detail.icon;
|
|
154
|
+
if (["scanner", "nfc"].includes(item.type)) {
|
|
155
|
+
const disconnect = import_constants.entryModeErrorTextIcon[item.type];
|
|
156
|
+
icon = peripheralsStatus[item.type] === "connected" ? detail.icon : disconnect.icon;
|
|
157
|
+
}
|
|
142
158
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
143
159
|
CardButton,
|
|
144
160
|
{
|
|
@@ -146,7 +162,7 @@ var PisellInformationEntry = (props) => {
|
|
|
146
162
|
icon: /* @__PURE__ */ import_react.default.createElement(
|
|
147
163
|
import_iconfont.default,
|
|
148
164
|
{
|
|
149
|
-
type:
|
|
165
|
+
type: icon,
|
|
150
166
|
className: "pisell-card-button-icon"
|
|
151
167
|
}
|
|
152
168
|
),
|
|
@@ -13,6 +13,8 @@ export interface PisellLoadingProps extends SpinProps {
|
|
|
13
13
|
mask?: boolean | MaskType;
|
|
14
14
|
/** 是否全屏 */
|
|
15
15
|
fullscreen?: boolean;
|
|
16
|
+
/** 延迟显示加载效果的时间(防止闪烁) */
|
|
17
|
+
delay?: number;
|
|
16
18
|
}
|
|
17
19
|
declare const PisellLoading: (props: PisellLoadingProps) => React.JSX.Element;
|
|
18
20
|
export default PisellLoading;
|
|
@@ -39,7 +39,7 @@ var import_useCssVariables = __toESM(require("../../hooks/useCssVariables"));
|
|
|
39
39
|
var import_utils = require("../../utils");
|
|
40
40
|
var import_index = require("./index.less");
|
|
41
41
|
var PisellLoading = (props) => {
|
|
42
|
-
const { children, fullscreen, mask, loading } = props;
|
|
42
|
+
const { children, fullscreen, mask, loading, delay } = props;
|
|
43
43
|
const ref = (0, import_react.useRef)(null);
|
|
44
44
|
const {
|
|
45
45
|
backgroundColor = "#fff",
|
|
@@ -60,6 +60,7 @@ var PisellLoading = (props) => {
|
|
|
60
60
|
import_antd.Spin,
|
|
61
61
|
{
|
|
62
62
|
fullscreen,
|
|
63
|
+
delay,
|
|
63
64
|
spinning: loading,
|
|
64
65
|
indicator: /* @__PURE__ */ import_react.default.createElement(import_iconfont.default, { type: "pisell2-loader2", style: { fontSize: 40 }, spin: true })
|
|
65
66
|
},
|
|
@@ -31,10 +31,11 @@
|
|
|
31
31
|
}
|
|
32
32
|
.pisell-lowcode-statistic-list-item-children-label {
|
|
33
33
|
color: var(--Base-White, #fff);
|
|
34
|
-
font-size:
|
|
34
|
+
font-size: 14px;
|
|
35
35
|
font-weight: 400;
|
|
36
36
|
line-height: 18px; /* 150% */
|
|
37
37
|
margin-right: 4px;
|
|
38
|
+
opacity: 0.7;
|
|
38
39
|
}
|
|
39
40
|
.pisell-lowcode-statistic-list-item-children-value {
|
|
40
41
|
color: var(--Base-White, #fff);
|
|
@@ -64,13 +64,17 @@ var PisellWalletPassCard = (props) => {
|
|
|
64
64
|
showStoreName = true,
|
|
65
65
|
showValidDate = true,
|
|
66
66
|
showQrCode = true,
|
|
67
|
-
showBalanceSymbol = true
|
|
67
|
+
showBalanceSymbol = true,
|
|
68
|
+
showDisabledReason = true,
|
|
69
|
+
showDiscount = false,
|
|
70
|
+
discount
|
|
68
71
|
} = props;
|
|
69
72
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
70
73
|
"div",
|
|
71
74
|
{
|
|
72
75
|
className: (0, import_classnames.default)("pisell-wallet-pass-card", {
|
|
73
|
-
"pisell-card-disabled": disabled
|
|
76
|
+
"pisell-card-disabled": disabled,
|
|
77
|
+
"pisell-card-disabled-hide-disabled-reason": disabled && !showDisabledReason
|
|
74
78
|
}),
|
|
75
79
|
style: showCover ? {
|
|
76
80
|
backgroundImage: `url('${cover || "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAAAAAAAAAAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAF8A+gDASIAAhEBAxEB/8QAGQABAQEBAQEAAAAAAAAAAAAAAAQDAgEJ/8QAQhABAAIBAgMEBgYIBgICAwEAAAECAwQRBSExEhNBUSIyYXGBkRQjJEJSwTNTYqGxstHhBhVDY3KiJYJkczQ1klT/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQP/xAAZEQEBAAMBAAAAAAAAAAAAAAAAARExQSH/2gAMAwEAAhEDEQA/APvQA0ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA87Ub7PQAAAAAAAAAAAAAAAAAAAAAAA7URymdveAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMxHOXnamfVgHrybRHTmdnf1p3exERygHnpT7Dsx483oAAAAAAAAAAAAAAAAAAAAAAAAA87MeHJ6A89KPaRaJ68npMRPKQB52dvVnY7Ux60A9CJiecAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOJyTbljjf2+CyZHczEc5ebzPqx8ZeRj59q87y6S4HkVjrPN6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPJrHWOR2pj1o+L0AiYnnA5nHz7VJ2n2EZOzyyRt7fBR0AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPLXivLrPlDzt2vyx9PGXtaVr7/OQedi1+eSeX4YdREVjaI2AAAAAAAAAAJmI6zt73M5a9KxM+4HQ53y26REHdb+teZB7N6R1tDzvaz6sTPuh7GOkdKw9Bz28k9Mfzk2yz4xHudAOexeeuSfkd1v1vb5ugHPdV8ZmfidzT2ugHPdY/wAP7zuae10A57qvhMx8Tutul7fN0A57F46ZJ+RtljxiXQDntZI649/dJ3tY9aJj3w6AeRek9LQ9eTSk9avO629W8wDoczOWvhFiMtelomPeDoImJ6TuAAAAAAAExExtIA5mlqc8c7/sva3i3LpPlL15akW9k+Eg9HPbtTlk6eEugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc3yRT0Yje3hEA9vetI3tLiIyZZ3vExG/Kvi9pjnft5J3t/B2oRERyiOQCAAAAAAAOL5q1nsx6U+UHYy5Od7dmPKqj2+WlOUzz8oeRbNfpWKx4TLqmOlI9Gr1BzGKs87TMuoiI6RsAAAAAAAAAAAAAAAAAAAAABMRPWN/eAOZxR1rM1n2PO1mpPOsWjzjq7Ac0y0vyieflLp5fHS8elVz2MuPnS3ajysDscVzVmezaJrPlLsAAAAAACYieUxycTF8fOkbx41dgPKXreN6zyeuL4537eOdp/dL2mSLejPK3jCjoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxfJM27rFznxnwgC+Se13eON5nr7HuPHFN5md5nrJjxxjjaOcz1nzdAAAAAAADy1q0ibWnaPa4i+TN6kTWvnPWQdXy1py6z4RDnsZMnO87R5Q7pjrT1Y5z4z1eg8rStI2rXZ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPLVreNrRu47GTHH1dt4j7stAHNMtbztG8T5S6c2x1vHpRz8Jjq5m98Men6VY8fGAaDyt63rFq233egAAAAOcmOL7TE7THSXQDimSe12MkbW8PKXbnJjjJG08pjpPk5pkmtu6y8p8J8waAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzy5LTbusXreM+QGTJa1u6xdfGfJ3jx1x17NfjPm8x464q9mvxnzdKACAAAAA4yZorPYpHat+GHNsl809jBO0R1v/AEd48VMUbVjn4zPio5phm1u8z27Vo6R4Q0BM5AAAAAAACZiI3mdvOZAGc6im+2OJtPlWD7Tk6RFI9+8rgaOLajDXreN/KObz6NW3PLkm3vl3XHSnqUiPdB4OO/mfUw2n3xsdrVW6UrX3y0AZ93qJ654j3VPo9p657z57S0EyM/o2OfWtaffY+i4fGs/NoLmjP6Lg/V/vk+i4fCs/NoGaM/o2OPVtaPdY+j2jpnvHlvLQTNGfd6iPVzxPsmp2tVXrStvdLQXIz+kTX9JhtHtiN3tdRhtyjJG/lLt5bHS/r0iffB4PRn9GrHPHe1fdPI+04/w3j5SDQZ11NN+zkiaz5WhpExMbxO8exAAAAAAAABnfDNZnJgnafGPCXuPNFrdi8TW3jWXbnJiplja0c/CfJR0MoyXw27Gad4npePzapfAAAAAeZMdctezaPdPk9AZ48lq27rNPP7tvNo5yY65a9m3wnyc48lot3WX1vCfNRoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4zZYw07UxvM8oiPGQMuWazFMcb3npHk9xYq4q7RHPxnzc4MVqb5Mk73t1ny9jQAAAAAHOTJTFXt3nlAPbWrSO1adojxZbX1M7zMxTflHjYrjvqLRkzxtXf0aT+bYxgeVrFY7NY2iOkPQAAAAAB5fJTHHavaIj2g9eXyUxxve0Qy73Pn/Q17FZ+/b8odY9NjpPbtve34rKPO9y5P0OPaPxWexp4tO+a829/RoIPK1rWNqxEe56AAAAAAAAAAAAAAAAAAAPJrFo2tET7HE6eKz2sN5pP7mgDPvs2Plmx7x+KrvHkpljfHaJes8mnpee1WZraPGoNBj3ufB+mrFq/jr+cNaZKZK9rHaJgHoAAAAAPLVi0TW0bxPWGe19Nzje1PGPGrUB5W1bxFqzvHhL1jfHfTz3mCJmu/pU/OGmPJTLSL0neJMDoAAABxlxRlrtvtMc6zHg7AcYss23x5I2tHX2+12zz4pvtfHO169J/J7hy1zU36THK0T4So7AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeWtWlZtadoiGWGtst/pOSNvwRPhBbfU5exG3YpPP2z5NlABAAAB5e9cdZvedogHmXJXFSb3nlDPFivlv3+eP+NPIx0tntGfLG0R6lZ8Pa2UAEAAAAAc5MtMVe1edoZxXNqeeSJpT8O/OfeD2+om9u701e1P4vCHtNNHa7zNbt29sco90O60pSvZx1iI8Ih6oAIAAAAAAAAAAAAAAAAAAAAAAAAAADK+mjtd5ht2LeyOUtQGVdRNLRj1NOzM9LR0lq8tWt47N6xMT1iYZdjLpuePe1PGnjHuXwbDnHlplr2qW383SAAAAAxyY74bznwRv+Onm2AeY8lMtO3Sd4l6xyUtgtOfDG8ffr5+1rjvXJSL0nlKj0BAAAZZqWxX+k4o35enXzhqE8HlbVvWLVneJjk9YR9ly9npjvPo+yW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLU5bRtgxevfpPlHjLTJkripOS88ohlpcdp7Woyx6V+nsjyUaYsdcVIpXwdAgAAAAWmKx2rTtEQwx9rVX768TGOPUrPj7Xl5nWZJxVn6uk+nMfenyURERG0RtEdIXQAIAAAADLPqYxz3dK9rJPSsPMue85Po+nje3jbwq6waemCvKd7T61p8VHmLT27Xe57Ra89PKPc1BAAAAAAABlfWYa27FN728qRuYyNS0xWJm07bdZlh9tzfhxR85exosUz2ss2yT+3Kj2+t09Z7MWm0+VY3efSNRf9FpLbed52a1pSkbUpEe6HoMezrrdcmOvujd7Gnyz6+qvPujZqIMvodJ9bLknz3sfQ9P+GZ/9pagMvoWm/Vf9pPoWn8KzHutLUBl9DpHq5Lx7rPJ0+WPU1d/jG7YBj2ddX1cmO3vjZ59I1FP0mkmY86Tu3FyMa63T2na1+zPlaNm1Zi0RNZ336TDy1KXja9In3xuytosW/axWtjn9mTwbDH7bh/Dlj2cpe01mG09i+9LeV+RgagIAAAAAAM8uC0273Bbs39vSfe8w6iMkzjyV7N461lqzz6eueN99rR6to6wDQY4s963+j6jlbblbws2AAAAAYZO1pb99SN8c+vXbpPm3JiJjaY3iesA8rat6xas7xPSXrCkzo8sY7T9XafQmfuz5NygAAADnJjrlxzS3SXGmy2mZwZp9Onj5x5tWOqx2jbU4o9On748lno2HmPJXLSMlJ5THJ6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz1ObucU2rG9pnasecg4v8AatRGKPUxzvb2z5N3GnwxgxRTfeetp85dlAAAABjqb3taNLhn0rR6U+UO8+auDHN5jeela+cvNNhnHWbZOd7c7Suh3jx1xUjHSOURyeggAAAAMM2a+W/0fTTzj1r/AIXufLfJf6Np7bW+/b8MO8OGmCnYpHL+IGHDTBSKUj3zPWXYAAAAAAzzanHhns87WnpWvUGjG+ribTTT0nJb2dI+LyMGbUc9Vbs18MdfzbUpTHXsUrERHhEKMfo2XPtOqyzMfgryhrjx48VezjpEeyIdCZAAAAAAAAAAAAAAAABzfHjyx2b0ifZPg6AYfRsuHnpcvL8F+cOq6usW7vUVnHbw36T8Wry9KXrNb1iY8pXY9GHcZtPz0tu1Xxx2n+DvFqceaex0vHWk9UGgAAAAAOM2Gmek0vHumOsM8Oa+K/0fUzzn1b/ibuM2GmenYvHL+CjsYYMt8d/o2one33LfihugAAAA5yY6ZaTjvG8Sz02S9LTpc3rVj0Z84bM9VhnLWLY52vXnWVGg40+aM+PtxG0xytHlLtAAAABhT7LqO66UyTvT2T5N2eow99imkTzjnWfKTTZpzY97R6UTtaJ8yjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPj+06ucvWmLlT2z4y71mW2LDtT1rz2aR7ZdYMVcGGuKvhHzkHYAAABMxEbzO0R1kYau9slq6PHPO/O0x4VJM0eYd9XnnU2j0KTtjjz9qh5SlcdIpSOURyelAAAABjqc962jT6fnktH/APMebrU54wY94je0ztSvnLzTYJxVm+Sd7253n8lHWDBTT4+xXr960+MuwQAAAACZisbzMREdZlzky48NJvkttEeMsIpl109vNE0xeFPG3tkHts+bU2nHpOVY9bJP5NMGmx4I3rG9p9a89Zd1rWsdmsbRHSIegAAAAAAAAAAAAAAAAAAAAAAAAM8+lx6iPSja0dLRPOGgCeuoy6a0Y9XzrPKuWI/j5KImJjeJ38ph5atbx2bViYnwlPNMuhnt4azbFM86eNfcbFI5x5aZqRkx23ifF0AAAADPUYMeop3d94nrWY6xLnTZ7zM6fUbRkr4/ijzbMtVp5zVi+OdslOdJ/IGoz02eM9N5ja1Z2tXyloAAAACfPE6XP9Kr6l9oyR5e1RExMbxO/k8vSuSk0vETExtMSx0l7Y7W0eSedPUmfGqjcBAAAT5PsuqrljlTL6N48p8JUOM+GufDbFbxjlPlJB2MtHmtlw7ZPXpPZv72oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9Xn+j6e2Tx22r7zozp9o1s5J51xcq+/xUM9Jh7jBXHPrdbT5z4tFoAIAAPMmSuKk5LTtERvLHRY7TE6nLHpZJ390eEOdRP0nU10cT6NfSy/lCldQAEAAB5e9cdZveYiIjeXqbNM6zU/Rq/o8c75JjxnyB1pqWz5fpmWPDbHXyjzbkRERtEbeQAAAAA5z5seDH3mSf7vM+bHp8U5ck8o8PNjgwZc+T6Xq459ceOelY/qo9xYcmotGo1UdJ3pj8vf7VAIAAAAAAAzz6rBp+WS/OelY6yz7zX6n9HjjDWfvXjefkDe16UjtXtER5zLG2vwb9nFFsk+VKlNBi37ea1stvO8/k2rWtY7NaxER4RC+DHvdfk9TT0pHhN7f0O41l4+s1nZ9lKfm3DIwnQRaPT1OW3vuf5dpfGtp99pbhmjD/LdF+p/7T/U/wAu0vhW0e68twzRhGgrX1NTlj3XO41lPU1m/svRuGRh3uvx+vp6Xjxmlv6leIYd+zmrbHP7cN3lq1tHZtWJifCYArat43paJjziXrC+gxTPawWtit50nb9znvNfpp+tpGakdbU5W+SCkZ4NXg1HLHfnHWs9YaAAAAAAAny4Mmnt3+kjx3vj8/d7W2DNjz4+8xz/AGdJtRhy4Mn0vSxz/wBTH+KP6qKRxhzY9RijLjnlPh5O0AAAAGGprbBkjWYq9I2yVjxjzbUvXJWL0neJ5w9TYd9HqPo1v0eSZnHPlPjCikBAAAYa3HaKxqcUenj57eceMNw0OceSuWkZKTvFo3dJtNP0bU30k+rb0sX5wpKAAAAJ7x9H1kZfu5fRt/y8FDPV4e/09scddt6z5SaTN9I09ck9dtre+OoNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE+b7RraYOtccdu/v8ABRa0VrNrTtEc5lPw+s2pbVXjnltM/DwUUAIAADnLkrhxWy36Vjd0m1f2jPTRR037WT3QDrQY7VxTmyevlntW/KG4AAAAAx1mecGLbHG97csce11pdPGnwxjid562nzllp/tepnVzzpX0cXt85UgAAAAPL3rjrN7zEREbzL1Lb/yGfu4n6nHPpftW8gMFMmsyxq80TFK/oqT/ABlURERG0Rt5C25ABAAABjqNZGO3c4azfLPSseHvBplzY8FO8y3isR5sO81es5YY7rHP37R6U+6PB1h0czfv9XfvL+EeFfdDdRlg0eHT+lSu9p63tzmWoIAAAAAAAAAAAAAAMs+kwajneu1o6XrO0wz7zV6P9NE5sf46x6Ue+PFSLkc4s2PPTvMV4tE+TpPl0Uxec+kt3d/GPC3vh1p9ZGW3c5qTjyx1pPj7vNBsAAAAACbPS+jyzq8MTNLfpaR/GFFL1yVi9JiYmN4l6lr/AOPz93/o5J9H9ifIFQAAADPVaeupwzjnlPWsx4S0AZaTPOfF9ZG16T2bx7WqbUfZNTGsifRvtXL+UqVoAIAAMNfitbHGfHHp4p7Vfb5w1xZa58dctJ5Wjd0m0f2fPk0czyj0sfuleCkBAAATYfs+uvg22rkjt19/ipT8QrNaV1VI9LFaJ98eKwUDytotWLVneJjeHqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfiV7Rp4w09bLaKR8W9KVx0jHWOVY2hNb6/ila/dw03/8Aaf7KlABAAAmYiJmfBNoPrpvrZjnkt6O/4Ye8TyXjTdzj9bLaKV29vVvix1w464qdK1iIB6AAAAw1+W0Urpsc+nlnsx7I8ZbpdJtqtXk1s861nsYvd4ysFGLHXDjripHKsbQ6BAAABznzU0+K2bJPKsbgx1ma02jRYJ2vkjnMfdjzbYcVMGOMWOPRiGOgw3is6vPH1mXnPsjwhQoAIAAAJs+ovqcs6PSW22/S5Y+7HlHtAzarLmzTpNHztEfWZJ6V/u10+mx6au1N5mfWvPWZe4MGLT4+6xUiIjr7fe7AAAAAAAAAAAAAAAAAAAAAZ6jTY9TXs333j1bR1iWgCbDqsmHLXSazrPqZI6W/upcZ8GLUY5xZaRMT09nuYYM+TTZo0ervvv8Aosk/e9k+1dioBAAAc5cVM+OcWSOVo5ugE+izXra2jzz6ePpP4q+ahPr8N5iuqwR9ZineI848YbYM1NRirmxzytG6joBAABzlx1zY7YrxytG0sdBltaltNln08U9m2/jHhKhLq/surprY5Vt6GX3eEqKgEAABNxD6nsa2In6u3pRH4Z6qXOTHXLjtiv0tExKzY6iYmN4mJjblsJ+G5LW0/dZJ9LFaaW+ChL4AADy9K5KTjtHK0TEvQE/DbzOCcNp9LFaaT8FCav1HFJr0rnpvHvj+ylaACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATMRG8ztEdZGHEcvc6LJeOsxtHvnkDnhkdumTVTvvlyTMb+UcoUuNNi7jT0w8vRrET73ZQAAB5a0VrNrTtERvIJ5+0cTiPu4KeX3p/spTcLibYbam0c8t5tz8vBStABAABhxHNbBppjH695itIjzlpp8NdPgrhr0rG27C32nicU61wV3n/lPT9ypQAQAAEub7ZrY03+ni2tf228IbarUV0untnt92OUT5+DnQ6ecGCJyevf0sk+2VGwCAAADLWaqNLi7W295nalfOQcavUZJvGj0s7Zbc5tt6kebXT6fFpcUYsVeUdZnrPtcaLTTp6TfLPayX55Le1soAIAAAEzERvM7RHWZAeWtWkdq9oiI6zKe2vtmvOHQYoyTHW8z6Mf1K8O7ye812actvCvSsfBdBbieG1pppsd81v2K8vm834rm8MeGPb6Ux+Smta0rFaViIjpEQ9Mib6Bmv8Ap+IZZ9lPRI4TpPv9u3/K8qRMib/KOH//AOfn/wA5/qTwnSfc7df+N5Ui5om+gZqfoOIZY/5+lBvxXD4Ys0b/APGf6KQyJq8TxVtFNTjvitv9+vKfiopat4i1LRMT0mOZalL1mt6RMT1iYT24d3dpyaHNOK0/djnWfgeCkTU19sN4xa/H3dpn0ckerPx8FMTExvE7xPSUxQAAAAcajT4tVinFlrynpMdY9rsBPo9RkjJOi1U/WVjlb8ceahjrNNOopF8duzkpO+O3te6PUxq8Xa22tWdr18pWjUBAAASYfsWtnTzyx5fSx+UW8YVsddp51GnmKevSe1jn2wsGwz0morqtPXNHjHOPKWiAAA41GGuowXw2+9G2/lLsBhw/NbNpojJ69J7N/fDdLWfo3E5pO0Vz13j/AJQqWgAgAAm//H4n+znp/wBo/spTcUi1cFdTWOeK8W+HioraLVi1Z3iY3hR6AgAAm4nvjpj1URzxZImfdPKVLjU4u/098X4qzEOOHZe+0WO+/Ps7T8OS8GwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk4j9bm0+l/Hl7Ux7I5q0sfW8YmfDFh2+Mz/AEWCoBAAATcVyzj0V619a+1Kx7/7bqUms+u4hptP4Vmclvh0WCnDjjDirirHKtYh0CAAA8veuOk5LTtFY3mXqbi17RpO5pPpZbxSvxIPOE0tOntqbx6Wa83n3eCp5SlcdIx1jaKxtEPS+gAADy9646Te07RWN5kEuo+1cRx6WPVwx28nv8IVpeFUtbDbV5I9LPabe6PCFS0AEAACZiI3mdojrMo9JE67UzxC8T3dZmuCJ/fLriV75Jrw/DO1svrTH3a+MqceOmKkY8ddq1jaIXUHoCAAADPU6nHpcU5cs+6I6zPkD3UajDpcc5c9+zX+PsTRh1HEpi+q3x4Z51xRPO3vdafSZM+SNZr4jt/6ePwp/dUuhzjx48VIx46RWI6REOgQAAAAAAAAAAeXx0y0nHkrE1mOcSkth1PDZm+kicmH72KZ3mvuWC5HGn1OHVY4y4b9qPH2S7S6jSZMGSdZoIjtz6+Pwv8A3babU49Vi73HPvrPWJ8pKNAEAABHq4nQ6mOIUj0LejniP3Ssc5MdMtJx5KxMWjaYnyWDqJiYiYmJ3jwEvDb3wzfh+a29sXqTPjXwVJQAAABJp/snEMml+5ljvMfv8YVpeK0tXDXV0je2C8W+HjCml65KRes7xaN4Wj0BAABLxalo08anH62G8Xj3eKml65KRes7xaN4L0rkpOO0crRtKfhN7Tpe4vPpYbTSfgvBSAgAA5zY65sVsV+lqzEsOFZJyaKlbetj3pMeWylJo57rX6jT+FpjJX49V4KwEAABLw6O6zajS/hy9qvunmqST9VxiJ8MuHb4xP9FFYCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl4d9Zn1Oo/Fm7MT7IjZTe0UrN56RG8puDRP8Al9L263mbT8ZOCoAAABLp/reKZ8s9Mda0j+MqknCJnJhyaif9XNa3w6KKwEAABJn+v4rhw+GKk3t755QrSaCZy63VaiekXilfhHNRWAgAAJeLXtOnjTUn0s14pHu8VSS0/SOMVp1rgxbz/wAp/ssFVKVx0ilY2isbQ9BAAAJmIiZmYiNue4l4tkvGnjTYp2vntFK+zzkno84dE6jJk4heP0k7Y/ZWFbnFjrhx1xY+UViIh0tABAABzlyUw47Zcltq1jeZlNpMV9ZmjiOpjaI/Q4/CI8/e5yz/AJjrfotZ3w4Z3y/tW8IWrqAAgAAAAAAAAAAAAAAJNXivo808R01ZmJ/T036x5+9WGcDnFkpmxxlx2ia2jeJh0iwzPDdb9GtP1Oad8X7NvGFpgAAAAScRrOnvj4jSOeOdr+2sq4mJjeJiY25bOctK5cdsV43raNphPwnNedPOlyz6eG00nf2dJXgqAQAAeXpXJSaWjeLRtKbhN7Rp50159LDeaT7vBUkr9n4xNekZ8W//ALR/ZYKwEAABJg+p4rmxdIy0i8e+OUq0mv3xa3TamOk3mlvjHIFYAAACXUfVcUwZY/1KWpP8YVJOLz3eHHqI/wBPNW0z7N1grAQAAEvEfq8+m1H4cvZmfZKpLxmJnh97160mLR8JggqHlLVvWL16WjeHoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMeJXjHoM1p/VzHz5PdDTu9Hip5Y4/gx43M/5bekdbWrEfOFURFYiseELwegIAAONVk7rTZMu/OtJn9zLhWPuuHYa+dN/nzc8ZvNOG5ZjrMRHzmIUYqRixVxx0rWIXg6AQAAeXtFKTe3SI3lNwWkxw+uS3XJabW+MuuKZO64fmv+xMfPk00mPutLix/hxxH7l4NAEAABJwr622o1c/6maYif2Y5Q31WXudNky7+rSZj5M+FYu54dirttvXefjzXgoAQAAEcfaeMTPWunx/8Aa39lkzFYmZnaIjnKTg0TfT31do55strc/LfaFFYCAAAw4jqp0ulm9I3vb0ccR42no3Rz9s4tFetNNXef+U/2WDbQ6WNJpoxb72nne0+Np6y2BAAAAAAAAAAAAAAAAAABlrtLGs01sO+1utLeUx0lzw7VTqtNF7xtes9nJHlaG6OPsfFtulNTXf8A9oUWAIAACSdtNxiJ6V1GPb/2r/ZWk4xvTT11dY3nBkrb4eKwVhExMbxPWBAAAR8V+qtp9X07vNET7p6rE/FcXe8Oy18qdqPhz/JZsUDjS5O/02PLvvNqRM/J2gAAJeM1mdBbJWN5x2i1fhKpnq8fe6XLj29akxG/uWbHdLRekXr0mN4esOGZO94fhv8AsRHy5N0AABPxXH3vDs1f2Jn5c/yUPMtO8x2xz96sxJBzpb97pceTfftY4nf4O03Br9vhuKZ6xEx8p2UlAABlrqd5o8tPPHO3yavJiLRNZ6T1Blw7J3ugw3/24/dybJOCWmeHUrPWkzX96svgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj4xO+PBj/HqaRt81iPinPU6Sn+/vt7oWLwAEAAEfGZidPjxfrM9K7fFYj4r6WfSU/wDkxPyWLwAEAAEnG530UYv1mWtf3q0fF/SyaXF56ms/LdYvAAQAAS8bvNOG5IjraYrHxmFNKxSkUjpEbQk4x6UafF+LVU39yxeAAgAAw4nm7jh+bJ+xMR8eX5u9Hi7jS48W23ZpET70/G976amD9bnpX9+/5LF4ACAADzJeuLHbLedorEzPuS8GpadJ9JyRtfNab2+PQ41ktTh2StPWvtSvxlTixxixVxV6VrER8Dg6AAAAAAAAAAAAAAAAAAAAScZpb6H9JpHp4LRePh1VucuOMuK2K3S1Zifis2PceSuXHXJSd4tETE+x6l4Lktfh2Ot+tN6zHunZUl8AABlrMUZ9JkxfipMNQ6MOGZu/4fhyfsbT8OTdHwT0NNk0/wCqz2rEfH+6xbsAEB5esXpNLdJjaXoCXgl5vw6kT1pM1n4TKpHwf0Y1GKfuaq+0exYt2ACAACTgk7aLuv1eS1f3q0fCfRyarH5am0x8Vi3YAIAAI+DTtp8mL9XqL1/esR8K9HPq6f8AyJn5wsW7ABAABJwiYimfHH3NTeFaPhno6rV03/19/nCxaACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPiE78S0cft3n9yxFrp/wDL6Gvn3n8q1QAQAAR8Q2niOjrP47T8oWI9dt/m2irP+5/KsUAEAAEfEOfENHT/AHLT8oWItdP/AJbRV85yfyrVABAABHxHnrtHT/dmflCxHrtv820VZj9Z/KsUAEAAEfE/S1ejx+ebtfKFiLXTvxbQ1nfnOSflVaoAIAAI+K+nl0uH8WoiZj3LEevnfiuip5zkn5VWLwAEAAAAAAAAAAAAAAAAAAAAEfCfQy6rBH3dRMxHslYi0E7cU1tPCJxz86rVoAIAAI+Gehq9Zj8O+i3zhYi0M/8AltdXynHPzqtWgAgAAj4dHZ12sp/uxPzhYi0O3+ba2seHd/yrVoAIAAI+H8uIayn+5WfnCxFoZ/8ALa2seHd/yytWgAgAAj4ftHEdZWPx1n5wsR6Lb/NtbEeHd/yysWgAgAAj0HLiWtr+3Sf3LEWh/wD2+urHh3f8srVoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAItdy4xoZ/wDt/lWouI8uJ6G37d4+cLVABAABFruXGNDM/wC7/KtRcR5cT0Nv27x+5aoAIAAItfy4voZnzyfyrUXEuXEdFf8A3LR84WqACAACLX8uL6Gfbk/lhai4n6Ov0WTyy2j5wtUAEAAEWvnbi+hn25I/6rUPFN66zRZd+UZ+z84XKACAACLX+jxbQ28N8kb++q1DxjamXSZ56V1MRPulcoAIAAAAAAAAAAAAAAAAAAAAItB6XFddbznHHyqtQ8H9PLq8/hbUzET7IXLQAQAARaDnxbXWjzxx/wBVqLhfpazWZf8Af7PyhatABAABFoefF9db244/6rUXDOev1t48csR8oWrQAQAARaHnxfXT4b44/wCq1Fw30uJa2/nkrHyhatABAABFoZ34vrp/+r+Vai4dz4lrbft0j5QtWgAgAAi0PPi+un/6v5VqLh3Pieut+3SP3LVoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuKxtqtHk8tRt84WoeOT2cenyx9zV0mVy8ABAABFxb0dRo8nlqYj5wtQ8ensabFm/V6mlv3rl4ACAACLjHo5NJl8tVWPnutRf4gmacP7+P8ASy0t+/8AutXgAIAAIuNT2K6bN+DVUmfdzWo/8QVtPCstqxzpMWj4TCvHeMmOuSvS1YmF4PQEAAEXHd6aXHqN9u61FLzPx2/Nan4vh7/hmfHEc+7mY98c/wAnegzRqNFizx97HEz79l4NQEAAEnHcdsnDMlqR6WPa9fZtP9N1OHJXNirmr0tWJj4vcmOuXHbFeN62iYn3Sj4FltbRTpsnr6fJbHb4dDgtAAAAAAAAAAAAAAAAAAAAc5slcOK2a3SlZmfg6Rcey2jRRpcc+nnyRjp8ZJ6PeBYrY+GY7X9bJve0+e8/02WOceOuLHXFSNorWIiPY6L6AAAMdfn+jaLLn39THMx79jow4FvfS5NTMfpc97xPx2/Jan4Ri7jhmDHMc+7iZ988/wA1BdgAADzJeMdLZLdKxMyCPgu141Ob8Wrvt7uS1F/h+tq8KxWv1vvafjMrVuwAQAARcH9LJq8nnqrR8tlqH/D89vh/f/rct7fv2/Jct2ACAACLhHpZ9Zk89TMfJah4DPb0uXN+s1N7b/FctABAABDwn0tVrL//ACJj5QuQ8Cnt49Rm227ervMSuWgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/wARRP8AlWS9etLVtHwmF1Zi1YtE8pjkm4zWLcK1ET+qmWmitNtFhtPWcVZn5LwagIAAI+P45ycIzxXrWsW+UxKrDkjLirlj71Ynkz4hWL6DPW3ScVv4S54TabcMwTb9VEfuXgoAQAATcZxd9wvPSP1cz8uf5NNDl7/RYc2+/axVn9zTJWt8dqWjlMTEo/8AD1ptwbBNp8Jj/tK8FoCAADPWYfpGky4Ijft47RHv2Y8Ezd/wrBfyx9mfhy/JUg4D6OLUYa+rj1d61jyheC8BAAAmItExMbxMc4QcBmcelyaG0+lp81qfDfeJ/evQaee7/wAQajHTlGTBW9o9sTsvBeAgAAILT9A43Fp5Y9XXaZ8IvH9YXov8QUi3C75d5i2KYvS0eExKwWjjTZLZtNjy262pEzt7naAAAAAAAAAAAAAAAAAAAgrP0/jk233x6Om0e29v7LNTkth02TLXrWkzG/uS8Ax1pwymXnNsszfJaeszMqLQEAABDx+05NNj0NZ56jNWnw33mVyDUfWf4gwUvzjHgtese2Z2WC+IiI2iIiNuWwCAAAl41mjBwrPffrSaxt5zy/NUh4/zw6fFPq5NXSto845/0WbFWjw/R9JiwbbdjHWJ98Q0BAAAZa7L3OizZd9uzjtMfJqi/wAQ2tTg+eaz4RHzmIWbGnBsXc8LwU8e7ifnzUvMdYpjrSvSIiIep0AAHObJGLFbJP3azO7pPxa004ZqLVnn3Nv4EGfAKTj4RhiZ6xMz8ZmVjHh9YpoMFaxyjFX+ENigAA8tMVrNp6RHN6y10zXRZrRPOMVtvkCb/DsT/lOO9ut5taf/AOpXJeDRFeFaeI/VwqW7ABAAAAAAAAAAAAAAAAAAB//Z"}')`
|
|
@@ -93,9 +97,9 @@ var PisellWalletPassCard = (props) => {
|
|
|
93
97
|
value: balance,
|
|
94
98
|
showCurrencySymbol: showBalanceSymbol
|
|
95
99
|
}
|
|
96
|
-
))),
|
|
100
|
+
)), showDiscount && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-card-amount-item" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-card-amount-item-label" }, (0, import_locales.getText)("pisell-discount-card-title")), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-card-amount-item-value" }, discount, "% ", (0, import_locales.getText)("pisell-discount-card-unit")))),
|
|
97
101
|
/* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-card-code-wrap" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-card-code" }, showCode && /* @__PURE__ */ import_react.default.createElement("div", null, code), showValidDate && /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-wallet-pass-card-valid-to"), " ", validDate)), showQrCode && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-card-qr-code" }, /* @__PURE__ */ import_react.default.createElement(import_qrcode.default, { value: qrCode, preview: true, size: 60 }))),
|
|
98
|
-
(disabled || disabledReason) && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-card-warn-message" }, /* @__PURE__ */ import_react.default.createElement(import_iconfont.default, { className: "pisell-card-icon", type: "pisell2-alert-circle" }), /* @__PURE__ */ import_react.default.createElement("span", null, disabledReason))
|
|
102
|
+
(disabled || disabledReason) && showDisabledReason && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-card-warn-message" }, /* @__PURE__ */ import_react.default.createElement(import_iconfont.default, { className: "pisell-card-icon", type: "pisell2-alert-circle" }), /* @__PURE__ */ import_react.default.createElement("span", null, disabledReason))
|
|
99
103
|
);
|
|
100
104
|
};
|
|
101
105
|
var pisellWalletPassCard_default = PisellWalletPassCard;
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
border-radius: 12px;
|
|
9
9
|
background-size: cover;
|
|
10
10
|
height: 190px;
|
|
11
|
+
background-position: center center;
|
|
11
12
|
.pisell-card-name-wrap {
|
|
12
13
|
display: flex;
|
|
13
14
|
justify-content: space-between;
|
|
@@ -97,4 +98,7 @@
|
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
}
|
|
101
|
+
}
|
|
102
|
+
.pisell-card-disabled-hide-disabled-reason {
|
|
103
|
+
height: 165px !important;
|
|
100
104
|
}
|
|
@@ -15,6 +15,7 @@ export interface KeyboardProps {
|
|
|
15
15
|
onChange?: (value?: ItemValue) => void;
|
|
16
16
|
items?: Item[];
|
|
17
17
|
rightItems?: Item[];
|
|
18
|
+
keydown?: boolean;
|
|
18
19
|
}
|
|
19
20
|
declare const _default: React.MemoExoticComponent<(props: KeyboardProps) => React.JSX.Element>;
|
|
20
21
|
export default _default;
|
|
@@ -37,18 +37,31 @@ var import_antd = require("antd");
|
|
|
37
37
|
var import_index = require("./index.less");
|
|
38
38
|
var import_classnames = __toESM(require("classnames"));
|
|
39
39
|
var import_ahooks = require("ahooks");
|
|
40
|
-
var list = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "ok"];
|
|
40
|
+
var list = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "+", "ok"];
|
|
41
41
|
var defaultArr = [];
|
|
42
42
|
var Keyboard = (props) => {
|
|
43
|
-
const {
|
|
43
|
+
const {
|
|
44
|
+
items = defaultArr,
|
|
45
|
+
className,
|
|
46
|
+
style,
|
|
47
|
+
onChange,
|
|
48
|
+
rightItems,
|
|
49
|
+
keydown = true
|
|
50
|
+
} = props;
|
|
44
51
|
const contentRef = (0, import_react.useRef)(null);
|
|
45
52
|
const size = (0, import_ahooks.useSize)(contentRef);
|
|
46
53
|
(0, import_ahooks.useEventListener)("keydown", (ev) => {
|
|
47
54
|
console.log("ev", ev);
|
|
55
|
+
if (!keydown) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
48
58
|
let key = ev.key;
|
|
49
59
|
if (key === "Enter") {
|
|
50
60
|
key = "ok";
|
|
51
61
|
}
|
|
62
|
+
if (key === "keydown") {
|
|
63
|
+
key = "+";
|
|
64
|
+
}
|
|
52
65
|
if (list.includes(key)) {
|
|
53
66
|
onChange == null ? void 0 : onChange(key);
|
|
54
67
|
}
|
package/lib/locales/en-US.d.ts
CHANGED
|
@@ -112,5 +112,7 @@ declare const _default: {
|
|
|
112
112
|
'pisell-adjust-price-discount-percentage': string;
|
|
113
113
|
'pisell-adjust-price-total-after-discount': string;
|
|
114
114
|
'pisell-adjust-price-discount-can-be-maximum': string;
|
|
115
|
+
'pisell-discount-card-title': string;
|
|
116
|
+
'pisell-discount-card-unit': string;
|
|
115
117
|
};
|
|
116
118
|
export default _default;
|
package/lib/locales/en-US.js
CHANGED
|
@@ -143,5 +143,7 @@ var en_US_default = {
|
|
|
143
143
|
"pisell-adjust-price-discount-amount": "Amount",
|
|
144
144
|
"pisell-adjust-price-discount-percentage": "Percentage",
|
|
145
145
|
"pisell-adjust-price-total-after-discount": "Total after discount: ",
|
|
146
|
-
"pisell-adjust-price-discount-can-be-maximum": "Discount can be maximum"
|
|
146
|
+
"pisell-adjust-price-discount-can-be-maximum": "Discount can be maximum",
|
|
147
|
+
"pisell-discount-card-title": "Discount",
|
|
148
|
+
"pisell-discount-card-unit": "off"
|
|
147
149
|
};
|
package/lib/locales/zh-CN.d.ts
CHANGED
|
@@ -112,5 +112,7 @@ declare const _default: {
|
|
|
112
112
|
'pisell-adjust-price-discount-percentage': string;
|
|
113
113
|
'pisell-adjust-price-total-after-discount': string;
|
|
114
114
|
'pisell-adjust-price-discount-can-be-maximum': string;
|
|
115
|
+
'pisell-discount-card-title': string;
|
|
116
|
+
'pisell-discount-card-unit': string;
|
|
115
117
|
};
|
|
116
118
|
export default _default;
|
package/lib/locales/zh-CN.js
CHANGED
|
@@ -143,5 +143,7 @@ var zh_CN_default = {
|
|
|
143
143
|
"pisell-adjust-price-discount-amount": "金额",
|
|
144
144
|
"pisell-adjust-price-discount-percentage": "百分比",
|
|
145
145
|
"pisell-adjust-price-total-after-discount": "打折后总价",
|
|
146
|
-
"pisell-adjust-price-discount-can-be-maximum": "折扣最高可达"
|
|
146
|
+
"pisell-adjust-price-discount-can-be-maximum": "折扣最高可达",
|
|
147
|
+
"pisell-discount-card-title": "折扣",
|
|
148
|
+
"pisell-discount-card-unit": "折扣"
|
|
147
149
|
};
|
package/lib/locales/zh-TW.d.ts
CHANGED
|
@@ -112,5 +112,7 @@ declare const _default: {
|
|
|
112
112
|
'pisell-adjust-price-discount-percentage': string;
|
|
113
113
|
'pisell-adjust-price-total-after-discount': string;
|
|
114
114
|
'pisell-adjust-price-discount-can-be-maximum': string;
|
|
115
|
+
'pisell-discount-card-title': string;
|
|
116
|
+
'pisell-discount-card-unit': string;
|
|
115
117
|
};
|
|
116
118
|
export default _default;
|
package/lib/locales/zh-TW.js
CHANGED
|
@@ -143,5 +143,7 @@ var zh_TW_default = {
|
|
|
143
143
|
"pisell-adjust-price-discount-amount": "金額",
|
|
144
144
|
"pisell-adjust-price-discount-percentage": "百分比",
|
|
145
145
|
"pisell-adjust-price-total-after-discount": "打折后總價",
|
|
146
|
-
"pisell-adjust-price-discount-can-be-maximum": "折扣最高可達"
|
|
146
|
+
"pisell-adjust-price-discount-can-be-maximum": "折扣最高可達",
|
|
147
|
+
"pisell-discount-card-title": "折扣",
|
|
148
|
+
"pisell-discount-card-unit": "折扣"
|
|
147
149
|
};
|
|
@@ -18,64 +18,76 @@ export default {
|
|
|
18
18
|
},
|
|
19
19
|
props: [
|
|
20
20
|
{
|
|
21
|
-
name:
|
|
21
|
+
name: 'platform',
|
|
22
22
|
title: {
|
|
23
|
-
label:
|
|
23
|
+
label: '平台',
|
|
24
24
|
},
|
|
25
|
-
propType: { type:
|
|
25
|
+
propType: { type: 'oneOf', value: ['h5', 'pc', 'ipad'] },
|
|
26
26
|
setter: [
|
|
27
27
|
{
|
|
28
|
-
componentName:
|
|
28
|
+
componentName: 'RadioGroupSetter',
|
|
29
29
|
props: {
|
|
30
30
|
options: [
|
|
31
31
|
{
|
|
32
|
-
title:
|
|
33
|
-
value:
|
|
32
|
+
title: 'h5',
|
|
33
|
+
value: 'h5',
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
|
-
title:
|
|
37
|
-
value:
|
|
36
|
+
title: 'pc',
|
|
37
|
+
value: 'pc',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
|
-
title:
|
|
41
|
-
value:
|
|
40
|
+
title: 'ipad',
|
|
41
|
+
value: 'ipad',
|
|
42
42
|
},
|
|
43
43
|
],
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
|
-
|
|
46
|
+
'VariableSetter',
|
|
47
47
|
],
|
|
48
|
-
defaultValue:
|
|
48
|
+
defaultValue: 'pc',
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
|
-
name:
|
|
51
|
+
name: 'mode',
|
|
52
52
|
title: {
|
|
53
|
-
label:
|
|
53
|
+
label: '选择类型',
|
|
54
54
|
},
|
|
55
|
-
propType: { type:
|
|
55
|
+
propType: { type: 'oneOf', value: ['multiple', 'single', null] },
|
|
56
56
|
setter: [
|
|
57
57
|
{
|
|
58
|
-
componentName:
|
|
58
|
+
componentName: 'RadioGroupSetter',
|
|
59
59
|
props: {
|
|
60
60
|
options: [
|
|
61
61
|
{
|
|
62
|
-
title:
|
|
62
|
+
title: '不选',
|
|
63
63
|
value: null,
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
|
-
title:
|
|
67
|
-
value:
|
|
66
|
+
title: '单选',
|
|
67
|
+
value: 'single',
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
|
-
title:
|
|
71
|
-
value:
|
|
70
|
+
title: '多选',
|
|
71
|
+
value: 'multiple',
|
|
72
72
|
},
|
|
73
73
|
],
|
|
74
74
|
},
|
|
75
75
|
},
|
|
76
|
-
|
|
76
|
+
'VariableSetter',
|
|
77
77
|
],
|
|
78
|
-
defaultValue:
|
|
78
|
+
defaultValue: 'single',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'data',
|
|
82
|
+
title: { label: '当前list数据', tip: '当前list数据' },
|
|
83
|
+
setter: ['JsonSetter', 'VariableSetter'],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: 'hasMore',
|
|
87
|
+
title: { label: '是否有更多数据', tip: '是否有更多数据' },
|
|
88
|
+
propType: 'bool',
|
|
89
|
+
setter: 'BoolSetter',
|
|
90
|
+
defaultValue: false,
|
|
79
91
|
},
|
|
80
92
|
{
|
|
81
93
|
name: 'showName',
|
|
@@ -140,6 +152,30 @@ export default {
|
|
|
140
152
|
setter: 'BoolSetter',
|
|
141
153
|
defaultValue: true,
|
|
142
154
|
},
|
|
155
|
+
{
|
|
156
|
+
name: 'showEmpty',
|
|
157
|
+
title: { label: '是否展示空占位', tip: '是否展示空占位' },
|
|
158
|
+
propType: 'bool',
|
|
159
|
+
setter: 'BoolSetter',
|
|
160
|
+
defaultValue: false,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: 'value',
|
|
164
|
+
title: { label: '当前选中值', tip: '当前选中值' },
|
|
165
|
+
propType: 'number',
|
|
166
|
+
setter: 'NumberSetter',
|
|
167
|
+
},
|
|
143
168
|
],
|
|
144
|
-
configure: {
|
|
169
|
+
configure: {
|
|
170
|
+
supports: {
|
|
171
|
+
style: true,
|
|
172
|
+
events: [
|
|
173
|
+
{
|
|
174
|
+
name: 'onChange',
|
|
175
|
+
template:
|
|
176
|
+
"onChange(event,${extParams}){\n// 选择变化时的回调\nconsole.log('onChange',event);}",
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
},
|
|
145
181
|
};
|
|
@@ -63,11 +63,14 @@ export default {
|
|
|
63
63
|
setter: [
|
|
64
64
|
{
|
|
65
65
|
componentName: 'SelectSetter',
|
|
66
|
-
mode:
|
|
66
|
+
mode: 'single',
|
|
67
67
|
props: (target) => {
|
|
68
68
|
// console.log(target,'targettarget',target.parent.parent.parent.getPropValue("entryModes"));
|
|
69
|
-
const typeValues = target.parent.parent.parent
|
|
70
|
-
|
|
69
|
+
const typeValues = target.parent.parent.parent
|
|
70
|
+
.getPropValue('entryModes')
|
|
71
|
+
.filter(Boolean)
|
|
72
|
+
.map((item) => item?.type);
|
|
73
|
+
console.log(typeValues, 'typeValues');
|
|
71
74
|
return {
|
|
72
75
|
options: [
|
|
73
76
|
{
|
|
@@ -107,9 +110,9 @@ export default {
|
|
|
107
110
|
},
|
|
108
111
|
},
|
|
109
112
|
initialValue: {
|
|
110
|
-
type:
|
|
111
|
-
name:
|
|
112
|
-
}
|
|
113
|
+
type: '',
|
|
114
|
+
name: '',
|
|
115
|
+
},
|
|
113
116
|
},
|
|
114
117
|
},
|
|
115
118
|
},
|
|
@@ -127,5 +130,17 @@ export default {
|
|
|
127
130
|
setter: ['PisellI18nSetter', 'SlotSetter'],
|
|
128
131
|
},
|
|
129
132
|
],
|
|
130
|
-
|
|
133
|
+
|
|
134
|
+
configure: {
|
|
135
|
+
supports: {
|
|
136
|
+
style: true,
|
|
137
|
+
events: [
|
|
138
|
+
{
|
|
139
|
+
name: 'onChange',
|
|
140
|
+
template:
|
|
141
|
+
"onChange(event,${extParams}){\n// 输入框内容变化时的回调\nconsole.log('onChange',event);}",
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
},
|
|
131
146
|
};
|