@pisell/private-materials 6.6.62 → 6.6.63
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 +8 -8
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +9 -9
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +9 -9
- package/es/components/booking/components/footer/amount.js +4 -3
- package/es/components/booking/components/footer/utils.js +10 -3
- package/es/components/booking/components/voucher/index.js +1 -1
- package/es/components/booking/info2/service/editService/index.js +76 -8
- package/es/components/booking/info2/service/editService/utils.d.ts +1 -0
- package/es/components/booking/info2/service/editService/utils.js +16 -0
- package/es/components/booking/payments/index.js +1 -1
- package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/es/components/eftpos/PairModal/hooks.d.ts +27 -0
- package/es/components/eftpos/PairModal/hooks.js +67 -0
- package/es/components/eftpos/PairModal/index.d.ts +11 -0
- package/es/components/eftpos/PairModal/index.js +246 -0
- package/es/components/eftpos/PairModal/index.less +70 -0
- package/es/components/eftpos/SettlementModal/Action.d.ts +7 -0
- package/es/components/eftpos/SettlementModal/Action.js +141 -0
- package/es/components/eftpos/SettlementModal/index.d.ts +7 -0
- package/es/components/eftpos/SettlementModal/index.js +135 -0
- package/es/components/eftpos/SettlementModal/index.less +33 -0
- package/es/components/eftpos/SettlementModal/serve.d.ts +8 -0
- package/es/components/eftpos/SettlementModal/serve.js +171 -0
- package/es/components/eftpos/SettlementModal/types.d.ts +138 -0
- package/es/components/eftpos/SettlementModal/types.js +35 -0
- package/es/components/eftpos/SettlementModal/utils.d.ts +18 -0
- package/es/components/eftpos/SettlementModal/utils.js +351 -0
- package/es/components/eftpos/assets/mx51SCI.svg +15 -0
- package/es/components/eftpos/const.d.ts +3 -1
- package/es/components/eftpos/const.js +2 -0
- package/es/components/eftpos/device.d.ts +3 -1
- package/es/components/eftpos/device.js +14 -3
- package/es/components/eftpos/hooks.d.ts +13 -0
- package/es/components/eftpos/hooks.js +35 -0
- package/es/components/eftpos/index.js +198 -24
- package/es/components/eftpos/index.less +32 -1
- package/es/components/eftpos/locales.d.ts +80 -0
- package/es/components/eftpos/locales.js +205 -25
- package/es/components/eftpos/table.js +47 -3
- package/es/components/eftposPay/aggregatePayment/hooks/useMicropay.d.ts +2 -2
- package/es/components/eftposPay/aggregatePayment/hooks/usePayment.d.ts +8 -0
- package/es/components/eftposPay/aggregatePayment/hooks/usePayment.js +145 -0
- package/es/components/eftposPay/aggregatePayment/index.d.ts +2 -1
- package/es/components/eftposPay/aggregatePayment/index.js +2 -1
- package/es/components/eftposPay/aggregatePayment/mock.d.ts +495 -0
- package/es/components/eftposPay/aggregatePayment/mock.js +567 -0
- package/es/components/eftposPay/aggregatePayment/service.js +1 -0
- package/es/components/eftposPay/aggregatePayment/types.d.ts +12 -12
- package/es/components/eftposPay/aggregatePayment/types.js +4 -8
- package/es/components/eftposPay/aggregatePayment/utils/payment.d.ts +13 -13
- package/es/components/eftposPay/aggregatePayment/utils/payment.js +231 -168
- package/es/components/eftposPay/amount.js +15 -1
- package/es/components/eftposPay/app.js +2 -3
- package/es/components/eftposPay/component/fail/failCustom.js +13 -4
- package/es/components/eftposPay/component/fail/index.js +12 -5
- package/es/components/eftposPay/component/fail/network.js +3 -0
- package/es/components/eftposPay/component/fail/unknow.js +8 -0
- package/es/components/eftposPay/component/manual/index.js +17 -3
- package/es/components/eftposPay/component/signature/index.js +3 -0
- package/es/components/eftposPay/const.d.ts +8 -3
- package/es/components/eftposPay/const.js +2 -0
- package/es/components/eftposPay/device.js +225 -38
- package/es/components/eftposPay/helper.d.ts +3 -0
- package/es/components/eftposPay/helper.js +2 -1
- package/es/components/eftposPay/hooks.d.ts +1 -1
- package/es/components/eftposPay/index.js +50 -13
- package/es/components/eftposPay/linkly/const.js +1 -1
- package/es/components/eftposPay/linkly/hooks/normal.js +21 -68
- package/es/components/eftposPay/linkly/hooks/useTimeQuery.js +20 -81
- package/es/components/eftposPay/linkly/index.js +11 -23
- package/es/components/eftposPay/locales.d.ts +15 -0
- package/es/components/eftposPay/locales.js +30 -15
- package/es/components/eftposPay/manufacturer.d.ts +1 -0
- package/es/components/eftposPay/manufacturer.js +4 -0
- package/es/components/eftposPay/mx51/Action.d.ts +6 -0
- package/es/components/eftposPay/mx51/Action.js +144 -0
- package/es/components/eftposPay/mx51/const.d.ts +5 -0
- package/es/components/eftposPay/mx51/const.js +69 -0
- package/es/components/eftposPay/mx51/index.d.ts +6 -0
- package/es/components/eftposPay/mx51/index.js +498 -0
- package/es/components/eftposPay/mx51/types.d.ts +142 -0
- package/es/components/eftposPay/mx51/types.js +35 -0
- package/es/components/eftposPay/mx51/utils.d.ts +10 -0
- package/es/components/eftposPay/mx51/utils.js +121 -0
- package/es/components/eftposPay/pay.js +21 -9
- package/es/components/eftposPay/payo/config.js +39 -5
- package/es/components/eftposPay/payo/const.js +1 -1
- package/es/components/eftposPay/payo/hooks.js +3 -12
- package/es/components/eftposPay/payo/payment.js +69 -136
- package/es/components/eftposPay/store/index.d.ts +4 -8
- package/es/components/eftposPay/tip.js +5 -0
- package/es/components/eftposPay/tyro/const.js +1 -1
- package/es/components/eftposPay/tyro/index.js +44 -11
- package/es/components/eftposPay/utils/payLog.d.ts +81 -0
- package/es/components/eftposPay/utils/payLog.js +458 -0
- package/es/components/eftposPay/windcave/const.js +1 -1
- package/es/components/eftposPay/windcave/receiptAction.js +5 -0
- package/es/components/eftposPay/windcave/windcave.js +37 -38
- package/lib/components/booking/components/footer/amount.js +3 -3
- package/lib/components/booking/components/footer/utils.js +12 -5
- package/lib/components/booking/components/voucher/index.js +1 -1
- package/lib/components/booking/info2/service/editService/index.js +56 -5
- package/lib/components/booking/info2/service/editService/utils.d.ts +1 -0
- package/lib/components/booking/info2/service/editService/utils.js +16 -0
- package/lib/components/booking/payments/index.js +1 -1
- package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/lib/components/eftpos/PairModal/hooks.d.ts +27 -0
- package/lib/components/eftpos/PairModal/hooks.js +70 -0
- package/lib/components/eftpos/PairModal/index.d.ts +11 -0
- package/lib/components/eftpos/PairModal/index.js +197 -0
- package/lib/components/eftpos/PairModal/index.less +70 -0
- package/lib/components/eftpos/SettlementModal/Action.d.ts +7 -0
- package/lib/components/eftpos/SettlementModal/Action.js +153 -0
- package/lib/components/eftpos/SettlementModal/index.d.ts +7 -0
- package/lib/components/eftpos/SettlementModal/index.js +170 -0
- package/lib/components/eftpos/SettlementModal/index.less +33 -0
- package/lib/components/eftpos/SettlementModal/serve.d.ts +8 -0
- package/lib/components/eftpos/SettlementModal/serve.js +45 -0
- package/lib/components/eftpos/SettlementModal/types.d.ts +138 -0
- package/lib/components/eftpos/SettlementModal/types.js +43 -0
- package/lib/components/eftpos/SettlementModal/utils.d.ts +18 -0
- package/lib/components/eftpos/SettlementModal/utils.js +248 -0
- package/lib/components/eftpos/assets/mx51SCI.svg +15 -0
- package/lib/components/eftpos/const.d.ts +3 -1
- package/lib/components/eftpos/const.js +2 -0
- package/lib/components/eftpos/device.d.ts +3 -1
- package/lib/components/eftpos/device.js +13 -3
- package/lib/components/eftpos/hooks.d.ts +13 -0
- package/lib/components/eftpos/hooks.js +30 -0
- package/lib/components/eftpos/index.js +121 -8
- package/lib/components/eftpos/index.less +32 -1
- package/lib/components/eftpos/locales.d.ts +80 -0
- package/lib/components/eftpos/locales.js +231 -21
- package/lib/components/eftpos/table.js +30 -2
- package/lib/components/eftposPay/aggregatePayment/hooks/useMicropay.d.ts +2 -2
- package/lib/components/eftposPay/aggregatePayment/hooks/usePayment.d.ts +8 -0
- package/lib/components/eftposPay/aggregatePayment/hooks/usePayment.js +171 -0
- package/lib/components/eftposPay/aggregatePayment/index.d.ts +2 -1
- package/lib/components/eftposPay/aggregatePayment/index.js +5 -2
- package/lib/components/eftposPay/aggregatePayment/mock.d.ts +495 -0
- package/lib/components/eftposPay/aggregatePayment/mock.js +679 -0
- package/lib/components/eftposPay/aggregatePayment/types.d.ts +12 -12
- package/lib/components/eftposPay/aggregatePayment/utils/payment.d.ts +13 -13
- package/lib/components/eftposPay/aggregatePayment/utils/payment.js +173 -123
- package/lib/components/eftposPay/amount.js +13 -1
- package/lib/components/eftposPay/app.js +4 -5
- package/lib/components/eftposPay/component/fail/failCustom.js +10 -2
- package/lib/components/eftposPay/component/fail/index.js +10 -2
- package/lib/components/eftposPay/component/fail/network.js +3 -0
- package/lib/components/eftposPay/component/fail/unknow.js +8 -0
- package/lib/components/eftposPay/component/manual/index.js +16 -2
- package/lib/components/eftposPay/component/signature/index.js +3 -0
- package/lib/components/eftposPay/const.d.ts +8 -3
- package/lib/components/eftposPay/const.js +2 -0
- package/lib/components/eftposPay/device.js +114 -25
- package/lib/components/eftposPay/helper.d.ts +3 -0
- package/lib/components/eftposPay/helper.js +2 -1
- package/lib/components/eftposPay/hooks.d.ts +1 -1
- package/lib/components/eftposPay/index.js +38 -13
- package/lib/components/eftposPay/linkly/const.js +1 -1
- package/lib/components/eftposPay/linkly/hooks/normal.js +22 -43
- package/lib/components/eftposPay/linkly/hooks/useTimeQuery.js +13 -65
- package/lib/components/eftposPay/linkly/index.js +8 -10
- package/lib/components/eftposPay/locales.d.ts +15 -0
- package/lib/components/eftposPay/locales.js +30 -15
- package/lib/components/eftposPay/manufacturer.d.ts +1 -0
- package/lib/components/eftposPay/manufacturer.js +6 -0
- package/lib/components/eftposPay/mx51/Action.d.ts +6 -0
- package/lib/components/eftposPay/mx51/Action.js +154 -0
- package/lib/components/eftposPay/mx51/const.d.ts +5 -0
- package/lib/components/eftposPay/mx51/const.js +85 -0
- package/lib/components/eftposPay/mx51/index.d.ts +6 -0
- package/lib/components/eftposPay/mx51/index.js +433 -0
- package/lib/components/eftposPay/mx51/types.d.ts +142 -0
- package/lib/components/eftposPay/mx51/types.js +43 -0
- package/lib/components/eftposPay/mx51/utils.d.ts +10 -0
- package/lib/components/eftposPay/mx51/utils.js +115 -0
- package/lib/components/eftposPay/pay.js +13 -3
- package/lib/components/eftposPay/payo/config.js +16 -8
- package/lib/components/eftposPay/payo/const.js +1 -1
- package/lib/components/eftposPay/payo/hooks.js +12 -10
- package/lib/components/eftposPay/payo/payment.js +31 -65
- package/lib/components/eftposPay/store/index.d.ts +4 -8
- package/lib/components/eftposPay/tip.js +5 -0
- package/lib/components/eftposPay/tyro/const.js +1 -1
- package/lib/components/eftposPay/tyro/index.js +21 -17
- package/lib/components/eftposPay/utils/payLog.d.ts +81 -0
- package/lib/components/eftposPay/utils/payLog.js +321 -0
- package/lib/components/eftposPay/windcave/const.js +1 -1
- package/lib/components/eftposPay/windcave/receiptAction.js +5 -0
- package/lib/components/eftposPay/windcave/windcave.js +27 -29
- package/package.json +2 -2
- package/es/components/eftposPay/utils/log/index.d.ts +0 -110
- package/es/components/eftposPay/utils/log/index.js +0 -371
- package/lib/components/eftposPay/utils/log/index.d.ts +0 -110
- package/lib/components/eftposPay/utils/log/index.js +0 -294
|
@@ -0,0 +1,197 @@
|
|
|
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/eftpos/PairModal/index.tsx
|
|
30
|
+
var PairModal_exports = {};
|
|
31
|
+
__export(PairModal_exports, {
|
|
32
|
+
default: () => PairModal_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(PairModal_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_materials = require("@pisell/materials");
|
|
37
|
+
var import_utils = require("@pisell/utils");
|
|
38
|
+
var import_hooks = require("./hooks");
|
|
39
|
+
var import_index = require("./index.less");
|
|
40
|
+
var PairModal = ({
|
|
41
|
+
visible,
|
|
42
|
+
data,
|
|
43
|
+
onCancel,
|
|
44
|
+
onCheck,
|
|
45
|
+
onConfirm
|
|
46
|
+
}) => {
|
|
47
|
+
const { pairResponse, type } = data || {};
|
|
48
|
+
const [cancelLoading, setCancelLoading] = (0, import_react.useState)(false);
|
|
49
|
+
const [okLoading, setOkLoading] = (0, import_react.useState)(false);
|
|
50
|
+
const [status, setStatus] = (0, import_react.useState)(
|
|
51
|
+
"pairing"
|
|
52
|
+
);
|
|
53
|
+
const checkPairRequest = (0, import_hooks.useCheckPairRequest)();
|
|
54
|
+
const unPairRequest = (0, import_hooks.useUnPairRequest)();
|
|
55
|
+
const textInfo = (0, import_react.useMemo)(() => {
|
|
56
|
+
return import_utils.locales.getText("page.eftpos.text.pair.modal.content.text-info")(
|
|
57
|
+
status
|
|
58
|
+
);
|
|
59
|
+
}, [status]);
|
|
60
|
+
const styleInfo = (0, import_react.useMemo)(() => {
|
|
61
|
+
switch (status) {
|
|
62
|
+
case "pairing":
|
|
63
|
+
return {
|
|
64
|
+
border: "1px solid #FEC84B",
|
|
65
|
+
backgroundColor: "#FFFCF5",
|
|
66
|
+
iconColor: "#DC6803",
|
|
67
|
+
color: "#B54708",
|
|
68
|
+
circle1Border: "2px solid rgba(220, 104, 3, 0.1)",
|
|
69
|
+
circle2Border: "2px solid rgba(220, 104, 3, 0.5)"
|
|
70
|
+
};
|
|
71
|
+
case "success":
|
|
72
|
+
return {
|
|
73
|
+
border: "1px solid #75E0A7",
|
|
74
|
+
backgroundColor: "#F6FEF9",
|
|
75
|
+
iconColor: "#079455",
|
|
76
|
+
color: "#067647",
|
|
77
|
+
circle1Border: "2px solid rgba(7, 148, 85, 0.1)",
|
|
78
|
+
circle2Border: "2px solid rgba(7, 148, 85, 0.5)"
|
|
79
|
+
};
|
|
80
|
+
case "failed":
|
|
81
|
+
return {
|
|
82
|
+
border: "1px solid #FDA29B",
|
|
83
|
+
backgroundColor: "#FFFBFA",
|
|
84
|
+
iconColor: "#D92D20",
|
|
85
|
+
color: "#B42318",
|
|
86
|
+
circle1Border: "2px solid rgba(217, 45, 32, 0.1)",
|
|
87
|
+
circle2Border: "2px solid rgba(217, 45, 32, 0.5)"
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}, [status]);
|
|
91
|
+
const _onCancel = async () => {
|
|
92
|
+
if (cancelLoading || okLoading) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
setCancelLoading(true);
|
|
97
|
+
await unPairRequest.run({
|
|
98
|
+
type,
|
|
99
|
+
pair_response: pairResponse
|
|
100
|
+
});
|
|
101
|
+
} catch (error) {
|
|
102
|
+
console.error("onCancel error =>", error);
|
|
103
|
+
} finally {
|
|
104
|
+
setCancelLoading(false);
|
|
105
|
+
}
|
|
106
|
+
onCancel == null ? void 0 : onCancel();
|
|
107
|
+
};
|
|
108
|
+
const _onCheck = async () => {
|
|
109
|
+
try {
|
|
110
|
+
setOkLoading(true);
|
|
111
|
+
const response = await checkPairRequest.run({
|
|
112
|
+
type,
|
|
113
|
+
pair_response: pairResponse
|
|
114
|
+
});
|
|
115
|
+
if ((response == null ? void 0 : response.code) == 200) {
|
|
116
|
+
setStatus("success");
|
|
117
|
+
} else {
|
|
118
|
+
setStatus("failed");
|
|
119
|
+
}
|
|
120
|
+
} catch (error) {
|
|
121
|
+
console.error("onCheck error =>", error);
|
|
122
|
+
setStatus("failed");
|
|
123
|
+
} finally {
|
|
124
|
+
setOkLoading(false);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
const _onOk = async () => {
|
|
128
|
+
if (cancelLoading || okLoading) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (status === "pairing" || status === "failed") {
|
|
132
|
+
await _onCheck();
|
|
133
|
+
onCheck == null ? void 0 : onCheck();
|
|
134
|
+
} else if (status === "success") {
|
|
135
|
+
onConfirm == null ? void 0 : onConfirm();
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
139
|
+
import_materials.PisellModal,
|
|
140
|
+
{
|
|
141
|
+
open: visible,
|
|
142
|
+
header: false,
|
|
143
|
+
maskClosable: false,
|
|
144
|
+
closable: false,
|
|
145
|
+
zIndex: 9999,
|
|
146
|
+
onCancel: _onCancel,
|
|
147
|
+
onOk: _onOk,
|
|
148
|
+
okText: textInfo.okButtonText,
|
|
149
|
+
cancelText: textInfo.cancenButtonText,
|
|
150
|
+
okButtonProps: {
|
|
151
|
+
loading: okLoading
|
|
152
|
+
},
|
|
153
|
+
cancelButtonProps: {
|
|
154
|
+
loading: cancelLoading
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content" }, /* @__PURE__ */ import_react.default.createElement(
|
|
158
|
+
"div",
|
|
159
|
+
{
|
|
160
|
+
className: "pisell-lowcode__pos-device-pair-modal-content-top",
|
|
161
|
+
style: {
|
|
162
|
+
border: styleInfo.border,
|
|
163
|
+
backgroundColor: styleInfo.backgroundColor,
|
|
164
|
+
color: styleInfo.color
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
/* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
168
|
+
"div",
|
|
169
|
+
{
|
|
170
|
+
className: "pisell-lowcode__pos-device-pair-modal-content-top-circle-1",
|
|
171
|
+
style: {
|
|
172
|
+
border: styleInfo.circle1Border
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
176
|
+
"div",
|
|
177
|
+
{
|
|
178
|
+
className: "pisell-lowcode__pos-device-pair-modal-content-top-circle-2",
|
|
179
|
+
style: {
|
|
180
|
+
border: styleInfo.circle2Border
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
184
|
+
import_materials.Icon,
|
|
185
|
+
{
|
|
186
|
+
type: "pisell2-alert-circle",
|
|
187
|
+
size: 20,
|
|
188
|
+
style: { color: styleInfo.iconColor, opacity: 1 }
|
|
189
|
+
}
|
|
190
|
+
)
|
|
191
|
+
)
|
|
192
|
+
)),
|
|
193
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-top-right" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-top-right-title" }, textInfo.title), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-top-right-description" }, textInfo.description))
|
|
194
|
+
), status !== "success" && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-code" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-code-title" }, textInfo.codeTitle), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__pos-device-pair-modal-content-code-value" }, (pairResponse == null ? void 0 : pairResponse.confirmation_code) || "-")))
|
|
195
|
+
);
|
|
196
|
+
};
|
|
197
|
+
var PairModal_default = PairModal;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
.pisell-lowcode__pos-device-pair-modal-content {
|
|
2
|
+
padding: 20px 0;
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
gap: 20px;
|
|
6
|
+
|
|
7
|
+
&-top {
|
|
8
|
+
padding: 16px;
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: row;
|
|
11
|
+
gap: 8px;
|
|
12
|
+
border-radius: 12px;
|
|
13
|
+
box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
|
|
14
|
+
|
|
15
|
+
&-circle-1 {
|
|
16
|
+
margin: -8px 0 0 -8px;
|
|
17
|
+
width: 36px;
|
|
18
|
+
height: 36px;
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
border-radius: 50%;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&-circle-2 {
|
|
26
|
+
width: 28px;
|
|
27
|
+
height: 28px;
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
border-radius: 50%;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&-right {
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
gap: 4px;
|
|
38
|
+
|
|
39
|
+
&-title {
|
|
40
|
+
font-size: 14px;
|
|
41
|
+
font-weight: 600;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&-description {
|
|
45
|
+
font-size: 14px;
|
|
46
|
+
font-weight: 400;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&-code {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
justify-content: center;
|
|
55
|
+
align-items: center;
|
|
56
|
+
gap: 8px;
|
|
57
|
+
|
|
58
|
+
&-title {
|
|
59
|
+
color: var(--Gray-700, #344054);
|
|
60
|
+
font-size: 14px;
|
|
61
|
+
font-weight: 600;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&-value {
|
|
65
|
+
color: var(--Gray-900, #101828);
|
|
66
|
+
font-size: 30px;
|
|
67
|
+
font-weight: 600;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
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/eftpos/SettlementModal/Action.tsx
|
|
30
|
+
var Action_exports = {};
|
|
31
|
+
__export(Action_exports, {
|
|
32
|
+
default: () => Action_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(Action_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_antd = require("antd");
|
|
37
|
+
var import_index = require("./index.less");
|
|
38
|
+
var Action = (props) => {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
const { data, showMessage = true } = props;
|
|
41
|
+
const [inputValues, setInputValues] = (0, import_react.useState)({});
|
|
42
|
+
const inputValuesRef = (0, import_react.useRef)(inputValues);
|
|
43
|
+
(0, import_react.useEffect)(() => {
|
|
44
|
+
var _a2;
|
|
45
|
+
if (!data) return;
|
|
46
|
+
const inputObj = {};
|
|
47
|
+
(_a2 = data == null ? void 0 : data.layouts) == null ? void 0 : _a2.forEach((item) => {
|
|
48
|
+
var _a3;
|
|
49
|
+
(_a3 = item == null ? void 0 : item.elements) == null ? void 0 : _a3.forEach((element) => {
|
|
50
|
+
if ((element == null ? void 0 : element.type) === "input" && (element == null ? void 0 : element.name)) {
|
|
51
|
+
inputObj[element == null ? void 0 : element.name] = inputValuesRef.current[element == null ? void 0 : element.name] || "";
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
setInputValues(inputObj);
|
|
56
|
+
}, [data]);
|
|
57
|
+
(0, import_react.useEffect)(() => {
|
|
58
|
+
inputValuesRef.current = inputValues;
|
|
59
|
+
}, [inputValues]);
|
|
60
|
+
const handleInputChange = (key, value) => {
|
|
61
|
+
setInputValues((prev) => ({ ...prev, [key]: value }));
|
|
62
|
+
};
|
|
63
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showMessage && (data == null ? void 0 : data.message) && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-eftpos-settlement-modal-step-item" }, data == null ? void 0 : data.message), ((_a = data == null ? void 0 : data.layouts) == null ? void 0 : _a.length) > 0 && ((_b = data == null ? void 0 : data.layouts) == null ? void 0 : _b.map((item, index) => {
|
|
64
|
+
var _a2;
|
|
65
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
66
|
+
"div",
|
|
67
|
+
{
|
|
68
|
+
key: index,
|
|
69
|
+
className: "pisell-eftpos-settlement-modal-step-item-btns",
|
|
70
|
+
style: {
|
|
71
|
+
marginTop: "20px",
|
|
72
|
+
width: "100%",
|
|
73
|
+
display: "flex",
|
|
74
|
+
justifyContent: "center"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
(_a2 = item == null ? void 0 : item.elements) == null ? void 0 : _a2.map((element) => {
|
|
78
|
+
const { key, label, type, text, name } = element;
|
|
79
|
+
if (type === "button") {
|
|
80
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
81
|
+
import_antd.Button,
|
|
82
|
+
{
|
|
83
|
+
key: key + label,
|
|
84
|
+
block: true,
|
|
85
|
+
className: "pisell-eftpos-settlement-modal-step-item-btn",
|
|
86
|
+
onClick: () => {
|
|
87
|
+
var _a3;
|
|
88
|
+
return (_a3 = props == null ? void 0 : props.onClick) == null ? void 0 : _a3.call(props, element, { inputValues });
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
element.label
|
|
92
|
+
);
|
|
93
|
+
} else if (type === "text") {
|
|
94
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
95
|
+
"div",
|
|
96
|
+
{
|
|
97
|
+
key: key + label,
|
|
98
|
+
className: "pisell-eftpos-settlement-modal-step-item-tip"
|
|
99
|
+
},
|
|
100
|
+
label ? `${label}: ` : "",
|
|
101
|
+
text || ""
|
|
102
|
+
);
|
|
103
|
+
} else if (type === "image") {
|
|
104
|
+
const { name: name2, data: data2, encoding } = (element == null ? void 0 : element.image) || {};
|
|
105
|
+
const imageUrl = data2 ? `data:${name2 || "image/png"};${encoding || "base64"},${data2}` : "";
|
|
106
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
107
|
+
"div",
|
|
108
|
+
{
|
|
109
|
+
style: {
|
|
110
|
+
width: "100%",
|
|
111
|
+
display: "flex",
|
|
112
|
+
justifyContent: "center"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
/* @__PURE__ */ import_react.default.createElement("img", { key: key + label, src: imageUrl, alt: label })
|
|
116
|
+
);
|
|
117
|
+
} else if (type === "input") {
|
|
118
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
119
|
+
"div",
|
|
120
|
+
{
|
|
121
|
+
style: {
|
|
122
|
+
width: "100%",
|
|
123
|
+
display: "flex",
|
|
124
|
+
alignItems: "center",
|
|
125
|
+
flexWrap: "wrap"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
/* @__PURE__ */ import_react.default.createElement("span", { style: { marginRight: "10px" } }, `${label ? `${label} ` : ""}`),
|
|
129
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
130
|
+
import_antd.Input,
|
|
131
|
+
{
|
|
132
|
+
key: key + label,
|
|
133
|
+
alt: label,
|
|
134
|
+
style: { flex: 1, minWidth: "200px" },
|
|
135
|
+
value: inputValues[name] || "",
|
|
136
|
+
onChange: (e) => handleInputChange(name, e.target.value)
|
|
137
|
+
}
|
|
138
|
+
)
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
})
|
|
143
|
+
);
|
|
144
|
+
})), (data == null ? void 0 : data.detailsText) && /* @__PURE__ */ import_react.default.createElement(
|
|
145
|
+
"div",
|
|
146
|
+
{
|
|
147
|
+
className: "pisell-eftpos-settlement-modal-step-item pisell-eftpos-settlement-modal-step-item-tip",
|
|
148
|
+
style: { marginTop: "24px" }
|
|
149
|
+
},
|
|
150
|
+
data == null ? void 0 : data.detailsText
|
|
151
|
+
));
|
|
152
|
+
};
|
|
153
|
+
var Action_default = Action;
|
|
@@ -0,0 +1,170 @@
|
|
|
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/eftpos/SettlementModal/index.tsx
|
|
30
|
+
var SettlementModal_exports = {};
|
|
31
|
+
__export(SettlementModal_exports, {
|
|
32
|
+
default: () => SettlementModal_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(SettlementModal_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_ahooks = require("ahooks");
|
|
37
|
+
var import_materials = require("@pisell/materials");
|
|
38
|
+
var import_index = require("./index.less");
|
|
39
|
+
var import_usePrefix = __toESM(require("../../../hooks/usePrefix"));
|
|
40
|
+
var import_Action = __toESM(require("./Action"));
|
|
41
|
+
var import_types = require("./types");
|
|
42
|
+
var import_utils = require("./utils");
|
|
43
|
+
var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
|
|
44
|
+
var SettlementModal = ({
|
|
45
|
+
open,
|
|
46
|
+
onClose,
|
|
47
|
+
data
|
|
48
|
+
}) => {
|
|
49
|
+
var _a;
|
|
50
|
+
const context = (0, import_useEngineContext.default)();
|
|
51
|
+
const prefix = (0, import_usePrefix.default)();
|
|
52
|
+
const { isTerminal, interaction } = ((_a = context == null ? void 0 : context.appHelper) == null ? void 0 : _a.utils) || {};
|
|
53
|
+
const [receiptModalShow, setReceiptModalShow] = (0, import_react.useState)(false);
|
|
54
|
+
const [receiptModalData, setReceiptModalData] = (0, import_react.useState)(null);
|
|
55
|
+
const [action, setAction] = (0, import_react.useState)(null);
|
|
56
|
+
const [status, setStatus] = (0, import_react.useState)(
|
|
57
|
+
import_types.ESettlementStatus.Processing
|
|
58
|
+
);
|
|
59
|
+
const runSettlementQuery = (0, import_ahooks.useMemoizedFn)(() => {
|
|
60
|
+
setAction(null);
|
|
61
|
+
setStatus(import_types.ESettlementStatus.Processing);
|
|
62
|
+
console.log("settlementQuery_start");
|
|
63
|
+
(0, import_utils.settlementQuery)(data, (status2, res) => {
|
|
64
|
+
console.log("settlementQuery_callback", status2, res);
|
|
65
|
+
const parsedData = (0, import_utils.parseMX51Params)(res == null ? void 0 : res.data, status2, res);
|
|
66
|
+
console.log("settlementQuery_parsedData", parsedData);
|
|
67
|
+
if (parsedData) {
|
|
68
|
+
setAction(parsedData);
|
|
69
|
+
}
|
|
70
|
+
setStatus(status2);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
const onCloseReceiptModal = () => {
|
|
74
|
+
setReceiptModalData(null);
|
|
75
|
+
setReceiptModalShow(false);
|
|
76
|
+
};
|
|
77
|
+
const onElementClick = (element) => {
|
|
78
|
+
var _a2, _b;
|
|
79
|
+
console.log("onElementClick", element);
|
|
80
|
+
switch (element.key) {
|
|
81
|
+
case import_types.EButtonKeyType.SettlementComplete:
|
|
82
|
+
onClose();
|
|
83
|
+
break;
|
|
84
|
+
case import_types.EButtonKeyType.RetrySettlement:
|
|
85
|
+
runSettlementQuery();
|
|
86
|
+
break;
|
|
87
|
+
case import_types.EButtonKeyType.PrintMerchantReceipt:
|
|
88
|
+
const _isTerminal = typeof isTerminal === "function" ? isTerminal() : false;
|
|
89
|
+
if (_isTerminal) {
|
|
90
|
+
const receipt = (element == null ? void 0 : element.receipt) ? Array.isArray(element == null ? void 0 : element.receipt) ? element == null ? void 0 : element.receipt : [element == null ? void 0 : element.receipt] : [];
|
|
91
|
+
(_b = (_a2 = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _a2.postMessageToApp) == null ? void 0 : _b.call(_a2, {
|
|
92
|
+
module: "pos",
|
|
93
|
+
key: "print",
|
|
94
|
+
data: receipt
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
setReceiptModalShow(true);
|
|
98
|
+
setReceiptModalData(element == null ? void 0 : element.receipt);
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
(0, import_react.useEffect)(() => {
|
|
104
|
+
if (open && data) {
|
|
105
|
+
runSettlementQuery();
|
|
106
|
+
}
|
|
107
|
+
}, [open, data, runSettlementQuery]);
|
|
108
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
109
|
+
import_materials.PisellModal,
|
|
110
|
+
{
|
|
111
|
+
open,
|
|
112
|
+
closable: false,
|
|
113
|
+
header: false,
|
|
114
|
+
footer: null,
|
|
115
|
+
width: 600
|
|
116
|
+
},
|
|
117
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-eftpos-settlement-modal" }, status === import_types.ESettlementStatus.Processing && /* @__PURE__ */ import_react.default.createElement(
|
|
118
|
+
"div",
|
|
119
|
+
{
|
|
120
|
+
style: {
|
|
121
|
+
backgroundImage: `url(${prefix}/loading.png)`,
|
|
122
|
+
marginBottom: "24px"
|
|
123
|
+
},
|
|
124
|
+
className: "pisell-lowcode__eft-pay-img pisell-lowcode__eft-pay-load"
|
|
125
|
+
}
|
|
126
|
+
), status === import_types.ESettlementStatus.Failed && /* @__PURE__ */ import_react.default.createElement(
|
|
127
|
+
"div",
|
|
128
|
+
{
|
|
129
|
+
style: {
|
|
130
|
+
backgroundImage: `url(${prefix}/warn.png)`,
|
|
131
|
+
marginBottom: "24px"
|
|
132
|
+
},
|
|
133
|
+
className: "pisell-lowcode__eft-pay-img pisell-lowcode__eft-pay-warn"
|
|
134
|
+
}
|
|
135
|
+
), /* @__PURE__ */ import_react.default.createElement(import_Action.default, { data: action, onClick: onElementClick })),
|
|
136
|
+
receiptModalShow ? /* @__PURE__ */ import_react.default.createElement(
|
|
137
|
+
import_materials.PisellModal,
|
|
138
|
+
{
|
|
139
|
+
open: receiptModalShow,
|
|
140
|
+
onCancel: onCloseReceiptModal,
|
|
141
|
+
maskClosable: true,
|
|
142
|
+
footer: null
|
|
143
|
+
},
|
|
144
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
145
|
+
"div",
|
|
146
|
+
{
|
|
147
|
+
style: {
|
|
148
|
+
padding: "16px",
|
|
149
|
+
display: "flex",
|
|
150
|
+
alignItems: "center",
|
|
151
|
+
justifyContent: "center"
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
155
|
+
"span",
|
|
156
|
+
{
|
|
157
|
+
style: {
|
|
158
|
+
display: "inline-block",
|
|
159
|
+
whiteSpace: "pre-wrap",
|
|
160
|
+
fontFamily: "monospace",
|
|
161
|
+
backgroundColor: "#fff"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
receiptModalData
|
|
165
|
+
)
|
|
166
|
+
)
|
|
167
|
+
) : null
|
|
168
|
+
);
|
|
169
|
+
};
|
|
170
|
+
var SettlementModal_default = SettlementModal;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
.pisell-eftpos-settlement-modal {
|
|
2
|
+
width: 100%;
|
|
3
|
+
min-height: 300px;
|
|
4
|
+
padding: 24px 0;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.pisell-eftpos-settlement-modal-step-item {
|
|
12
|
+
color: var(--gray-true-900, #141414);
|
|
13
|
+
font-size: 16px;
|
|
14
|
+
font-weight: 400;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.pisell-eftpos-settlement-modal-step-item-tip {
|
|
18
|
+
color: var(--gray-500, #667085);
|
|
19
|
+
font-size: 14px;
|
|
20
|
+
font-weight: 400;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.pisell-eftpos-settlement-modal-step-item-btns {
|
|
24
|
+
margin: 24px 0 0 0;
|
|
25
|
+
display: flex;
|
|
26
|
+
gap: 12px;
|
|
27
|
+
flex-shrink: 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.pisell-eftpos-settlement-modal-step-item-btn {
|
|
31
|
+
flex: 1;
|
|
32
|
+
height: 48px !important;
|
|
33
|
+
}
|