@pisell/private-materials 3.4.17 → 3.4.19

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 (177) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +7 -7
  11. package/es/components/appointmentBooking/components/Content/index.d.ts +0 -1
  12. package/es/components/appointmentBooking/components/Content/index.js +1 -1
  13. package/es/components/appointmentBooking/components/Content/index.less +3 -3
  14. package/es/components/appointmentBooking/components/Services/index.js +2 -2
  15. package/es/components/appointmentBooking/components/Voucher/index.d.ts +0 -1
  16. package/es/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +0 -1
  17. package/es/components/appointmentBooking/index.js +8 -2
  18. package/es/components/booking/addons/index.js +12 -8
  19. package/es/components/booking/components/footer/index.js +19 -9
  20. package/es/components/booking/components/voucher/index.d.ts +0 -1
  21. package/es/components/booking/info2/service/addService/index.d.ts +0 -1
  22. package/es/components/booking/info2/service/addTimeModal/index.js +0 -1
  23. package/es/components/eftposPay/amount.d.ts +1 -1
  24. package/es/components/eftposPay/device.d.ts +1 -1
  25. package/es/components/eftposPay/hooks.d.ts +2 -2
  26. package/es/components/eftposPay/store/index.d.ts +5 -5
  27. package/es/components/eventBooking/components/progressBar/index.js +20 -0
  28. package/es/components/eventBooking/index.js +8 -1
  29. package/es/components/pay/toC/PaymentMethods/GooglePay/index.js +20 -7
  30. package/es/components/pay/toC/PaymentMethods/WalletPass/List/index.d.ts +1 -0
  31. package/es/components/pay/toC/PaymentMethods/WalletPass/List/index.js +12 -2
  32. package/es/components/pay/toC/PaymentMethods/WalletPass/index.js +31 -24
  33. package/es/components/pay/toC/utils.d.ts +1 -1
  34. package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +0 -1
  35. package/es/components/ticketBooking/components/addServiceVariant/addService.js +3 -3
  36. package/es/components/ticketBooking/index.d.ts +0 -1
  37. package/es/components/wallet/Detail/index.js +2 -2
  38. package/es/components/wallet/components/WalletCard.js +3 -2
  39. package/es/hooks/useWindowSize.js +8 -1
  40. package/es/plus/productSelect/CategoryTabs/CategorySkeleton.d.ts +10 -0
  41. package/es/plus/productSelect/CategoryTabs/CategorySkeleton.js +29 -0
  42. package/es/plus/productSelect/CategoryTabs/CategorySkeleton.less +30 -0
  43. package/es/plus/productSelect/CategoryTabs/index.d.ts +18 -0
  44. package/es/plus/productSelect/CategoryTabs/index.js +171 -0
  45. package/es/plus/productSelect/ProductCard/ProductCardSkeleton.d.ts +10 -0
  46. package/es/plus/productSelect/ProductCard/ProductCardSkeleton.js +37 -0
  47. package/es/plus/productSelect/ProductCard/ProductCardSkeleton.less +81 -0
  48. package/es/plus/productSelect/ProductCard/index.d.ts +45 -0
  49. package/es/plus/productSelect/ProductCard/index.js +170 -0
  50. package/es/plus/productSelect/ProductCard/index.less +253 -0
  51. package/es/plus/productSelect/ProductList/gridComponents.d.ts +44 -0
  52. package/es/plus/productSelect/ProductList/gridComponents.js +149 -0
  53. package/es/plus/productSelect/ProductList/index.d.ts +22 -0
  54. package/es/plus/productSelect/ProductList/index.js +72 -0
  55. package/es/plus/productSelect/ProductList/index.less +0 -0
  56. package/es/plus/productSelect/components/IntersectionObserver.d.ts +42 -0
  57. package/es/plus/productSelect/components/IntersectionObserver.js +276 -0
  58. package/es/plus/productSelect/components/TabsStructure/TabsStructure.d.ts +30 -0
  59. package/es/plus/productSelect/components/TabsStructure/TabsStructure.js +357 -0
  60. package/es/plus/productSelect/components/TabsStructure/TabsStructure.less +224 -0
  61. package/es/plus/productSelect/components/TabsStructure/hooks.d.ts +22 -0
  62. package/es/plus/productSelect/components/TabsStructure/hooks.js +243 -0
  63. package/es/plus/productSelect/components/TabsStructure/index.d.ts +5 -0
  64. package/es/plus/productSelect/components/TabsStructure/index.js +13 -0
  65. package/es/plus/productSelect/components/TabsStructure/styles.d.ts +47 -0
  66. package/es/plus/productSelect/components/TabsStructure/styles.js +87 -0
  67. package/es/plus/productSelect/components/TabsStructure/types.d.ts +105 -0
  68. package/es/plus/productSelect/components/TabsStructure/types.js +1 -0
  69. package/es/plus/productSelect/components/TabsStructure/utils.d.ts +12 -0
  70. package/es/plus/productSelect/components/TabsStructure/utils.js +56 -0
  71. package/es/plus/productSelect/components/pisellPriceText/index.d.ts +12 -0
  72. package/es/plus/productSelect/components/pisellPriceText/index.js +44 -0
  73. package/es/plus/productSelect/components/pisellPriceText/index.less +4 -0
  74. package/es/plus/productSelect/hooks/useToken.d.ts +18 -0
  75. package/es/plus/productSelect/hooks/useToken.js +34 -0
  76. package/es/plus/productSelect/index.d.ts +31 -0
  77. package/es/plus/productSelect/index.js +270 -0
  78. package/es/plus/productSelect/index.less +56 -0
  79. package/es/plus/productSelect/locales.d.ts +18 -0
  80. package/es/plus/productSelect/locales.js +17 -0
  81. package/es/plus/productSelect/theme/token.d.ts +17 -0
  82. package/es/plus/productSelect/theme/token.js +19 -0
  83. package/es/plus/productSelect/utils.d.ts +39 -0
  84. package/es/plus/productSelect/utils.js +162 -0
  85. package/es/plus/saasCreateOrganization/components/Header.d.ts +1 -0
  86. package/es/plus/saasCreateOrganization/index.d.ts +1 -0
  87. package/es/plus/saasRegister/components/EntryEmail.d.ts +1 -0
  88. package/es/plus/saasRegister/components/EntryInfo.d.ts +1 -0
  89. package/es/plus/saasRegister/components/GoLogin.d.ts +1 -0
  90. package/es/plus/saasRegister/components/Header.d.ts +1 -0
  91. package/es/plus/saasRegister/components/VerifyError.d.ts +1 -0
  92. package/es/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
  93. package/es/plus/saasRegister/components/VertifyEmail.d.ts +1 -0
  94. package/lib/components/appointmentBooking/components/Content/index.d.ts +0 -1
  95. package/lib/components/appointmentBooking/components/Content/index.js +1 -1
  96. package/lib/components/appointmentBooking/components/Content/index.less +3 -3
  97. package/lib/components/appointmentBooking/components/Services/index.js +2 -2
  98. package/lib/components/appointmentBooking/components/Voucher/index.d.ts +0 -1
  99. package/lib/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +0 -1
  100. package/lib/components/appointmentBooking/index.js +6 -1
  101. package/lib/components/booking/addons/index.js +1 -11
  102. package/lib/components/booking/components/footer/index.js +15 -8
  103. package/lib/components/booking/components/voucher/index.d.ts +0 -1
  104. package/lib/components/booking/info2/service/addService/index.d.ts +0 -1
  105. package/lib/components/booking/info2/service/addTimeModal/index.js +0 -1
  106. package/lib/components/eftposPay/amount.d.ts +1 -1
  107. package/lib/components/eftposPay/device.d.ts +1 -1
  108. package/lib/components/eftposPay/hooks.d.ts +2 -2
  109. package/lib/components/eftposPay/store/index.d.ts +5 -5
  110. package/lib/components/eventBooking/components/progressBar/index.js +18 -0
  111. package/lib/components/eventBooking/index.js +6 -1
  112. package/lib/components/pay/toC/PaymentMethods/GooglePay/index.js +11 -7
  113. package/lib/components/pay/toC/PaymentMethods/WalletPass/List/index.d.ts +1 -0
  114. package/lib/components/pay/toC/PaymentMethods/WalletPass/List/index.js +9 -2
  115. package/lib/components/pay/toC/PaymentMethods/WalletPass/index.js +6 -2
  116. package/lib/components/pay/toC/utils.d.ts +1 -1
  117. package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +0 -1
  118. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +3 -3
  119. package/lib/components/ticketBooking/index.d.ts +0 -1
  120. package/lib/components/wallet/Detail/index.js +3 -3
  121. package/lib/components/wallet/components/WalletCard.js +1 -1
  122. package/lib/hooks/useWindowSize.js +6 -1
  123. package/lib/plus/productSelect/CategoryTabs/CategorySkeleton.d.ts +10 -0
  124. package/lib/plus/productSelect/CategoryTabs/CategorySkeleton.js +62 -0
  125. package/lib/plus/productSelect/CategoryTabs/CategorySkeleton.less +30 -0
  126. package/lib/plus/productSelect/CategoryTabs/index.d.ts +18 -0
  127. package/lib/plus/productSelect/CategoryTabs/index.js +183 -0
  128. package/lib/plus/productSelect/ProductCard/ProductCardSkeleton.d.ts +10 -0
  129. package/lib/plus/productSelect/ProductCard/ProductCardSkeleton.js +58 -0
  130. package/lib/plus/productSelect/ProductCard/ProductCardSkeleton.less +81 -0
  131. package/lib/plus/productSelect/ProductCard/index.d.ts +45 -0
  132. package/lib/plus/productSelect/ProductCard/index.js +184 -0
  133. package/lib/plus/productSelect/ProductCard/index.less +253 -0
  134. package/lib/plus/productSelect/ProductList/gridComponents.d.ts +44 -0
  135. package/lib/plus/productSelect/ProductList/gridComponents.js +148 -0
  136. package/lib/plus/productSelect/ProductList/index.d.ts +22 -0
  137. package/lib/plus/productSelect/ProductList/index.js +86 -0
  138. package/lib/plus/productSelect/ProductList/index.less +0 -0
  139. package/lib/plus/productSelect/components/IntersectionObserver.d.ts +42 -0
  140. package/lib/plus/productSelect/components/IntersectionObserver.js +269 -0
  141. package/lib/plus/productSelect/components/TabsStructure/TabsStructure.d.ts +30 -0
  142. package/lib/plus/productSelect/components/TabsStructure/TabsStructure.js +393 -0
  143. package/lib/plus/productSelect/components/TabsStructure/TabsStructure.less +224 -0
  144. package/lib/plus/productSelect/components/TabsStructure/hooks.d.ts +22 -0
  145. package/lib/plus/productSelect/components/TabsStructure/hooks.js +209 -0
  146. package/lib/plus/productSelect/components/TabsStructure/index.d.ts +5 -0
  147. package/lib/plus/productSelect/components/TabsStructure/index.js +92 -0
  148. package/lib/plus/productSelect/components/TabsStructure/styles.d.ts +47 -0
  149. package/lib/plus/productSelect/components/TabsStructure/styles.js +122 -0
  150. package/lib/plus/productSelect/components/TabsStructure/types.d.ts +105 -0
  151. package/lib/plus/productSelect/components/TabsStructure/types.js +17 -0
  152. package/lib/plus/productSelect/components/TabsStructure/utils.d.ts +12 -0
  153. package/lib/plus/productSelect/components/TabsStructure/utils.js +72 -0
  154. package/lib/plus/productSelect/components/pisellPriceText/index.d.ts +12 -0
  155. package/lib/plus/productSelect/components/pisellPriceText/index.js +73 -0
  156. package/lib/plus/productSelect/components/pisellPriceText/index.less +4 -0
  157. package/lib/plus/productSelect/hooks/useToken.d.ts +18 -0
  158. package/lib/plus/productSelect/hooks/useToken.js +50 -0
  159. package/lib/plus/productSelect/index.d.ts +31 -0
  160. package/lib/plus/productSelect/index.js +299 -0
  161. package/lib/plus/productSelect/index.less +56 -0
  162. package/lib/plus/productSelect/locales.d.ts +18 -0
  163. package/lib/plus/productSelect/locales.js +41 -0
  164. package/lib/plus/productSelect/theme/token.d.ts +17 -0
  165. package/lib/plus/productSelect/theme/token.js +47 -0
  166. package/lib/plus/productSelect/utils.d.ts +39 -0
  167. package/lib/plus/productSelect/utils.js +138 -0
  168. package/lib/plus/saasCreateOrganization/components/Header.d.ts +1 -0
  169. package/lib/plus/saasCreateOrganization/index.d.ts +1 -0
  170. package/lib/plus/saasRegister/components/EntryEmail.d.ts +1 -0
  171. package/lib/plus/saasRegister/components/EntryInfo.d.ts +1 -0
  172. package/lib/plus/saasRegister/components/GoLogin.d.ts +1 -0
  173. package/lib/plus/saasRegister/components/Header.d.ts +1 -0
  174. package/lib/plus/saasRegister/components/VerifyError.d.ts +1 -0
  175. package/lib/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
  176. package/lib/plus/saasRegister/components/VertifyEmail.d.ts +1 -0
  177. package/package.json +4 -4
@@ -41,30 +41,34 @@ var import_payGroup = require("../../payGroup");
41
41
  var import_useEngineContext = __toESM(require("../../../../../hooks/useEngineContext"));
42
42
  var import_utils2 = require("../../utils");
43
43
  var GooglePay = (props, ref) => {
44
- var _a;
44
+ var _a, _b;
45
45
  const { state } = (0, import_react.useContext)(import_model.Context);
46
46
  const [open, setOpen] = (0, import_react.useState)(false);
47
47
  const context = (0, import_useEngineContext.default)();
48
48
  const { config } = ((_a = context.appHelper) == null ? void 0 : _a.constants) || {};
49
+ const { interaction } = (_b = context.appHelper) == null ? void 0 : _b.utils;
49
50
  const init = async ({ payGroup }) => {
50
- var _a2, _b, _c, _d, _e, _f, _g;
51
- setOpen(true);
51
+ var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k;
52
52
  const utils = context.appHelper.utils || {};
53
- const dvaStore = (_b = (_a2 = utils == null ? void 0 : utils.getStore) == null ? void 0 : _a2.call(utils)) == null ? void 0 : _b.getState();
53
+ const dvaStore = (_b2 = (_a2 = utils == null ? void 0 : utils.getStore) == null ? void 0 : _a2.call(utils)) == null ? void 0 : _b2.getState();
54
54
  const values = (0, import_payGroup.getPayGroupParamsFromStorage)(payGroup.order_id);
55
+ if (((_d = (_c = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _c.isAppEnv) == null ? void 0 : _d.call(_c)) && ((_f = (_e = interaction == null ? void 0 : interaction.utils) == null ? void 0 : _e.isAndroid_ios) == null ? void 0 : _f.call(_e)) === "android") {
56
+ return (0, import_utils2.clientPayment)({ order_id: payGroup.order_id, type: "google_pay", values, interaction });
57
+ }
58
+ setOpen(true);
55
59
  if (!values) {
56
60
  setOpen(false);
57
61
  return;
58
62
  }
59
63
  try {
60
- const locale = ((_c = dvaStore.core) == null ? void 0 : _c.translateLocale) || "en";
61
- const shopId = (_f = (_e = (_d = dvaStore.core) == null ? void 0 : _d.core) == null ? void 0 : _e.shop) == null ? void 0 : _f.id;
64
+ const locale = ((_g = dvaStore.core) == null ? void 0 : _g.translateLocale) || "en";
65
+ const shopId = (_j = (_i = (_h = dvaStore.core) == null ? void 0 : _h.core) == null ? void 0 : _i.shop) == null ? void 0 : _j.id;
62
66
  const currentURL = window.location.href;
63
67
  const linkElement = document.createElement("a");
64
68
  linkElement.href = currentURL;
65
69
  const shop_domain = linkElement.hostname;
66
70
  const _href = `${config.pay}${(0, import_utils2.formatFranchiseeRoute)(
67
- `/google-pay?order_id=${(_g = state.payGroup) == null ? void 0 : _g.order_id}&shop_id=${shopId}&locale=${locale}&shop_domain=${shop_domain}&total_amount=${values.amount}&payment_group_id=${values.payment_group_id}`,
71
+ `/google-pay?order_id=${(_k = state.payGroup) == null ? void 0 : _k.order_id}&shop_id=${shopId}&locale=${locale}&shop_domain=${shop_domain}&total_amount=${values.amount}&payment_group_id=${values.payment_group_id}`,
68
72
  state.history
69
73
  )}`;
70
74
  window.location.href = _href;
@@ -10,6 +10,7 @@ export interface WalletPassListProps {
10
10
  walletSetting: {
11
11
  name: string;
12
12
  };
13
+ onChangeDebounce?: boolean;
13
14
  }
14
15
  export declare type WalletPassListRef = {
15
16
  init: (params: MachineCodeListParams, formatList?: (val: WalletPassDataType[]) => WalletPassDataType[]) => void;
@@ -41,7 +41,7 @@ var import_utils2 = require("../utils");
41
41
  var import_index = require("./index.less");
42
42
  var WalletPassList = (0, import_react.forwardRef)(
43
43
  (props, ref) => {
44
- const { title, onChange, data: propsData, value, walletSetting } = props;
44
+ const { title, onChange, data: propsData, value, walletSetting, onLoadingChange, loading: propsLoading, onChangeDebounce } = props;
45
45
  const [data, setData] = (0, import_react.useState)(
46
46
  propsData || []
47
47
  );
@@ -51,6 +51,9 @@ var WalletPassList = (0, import_react.forwardRef)(
51
51
  setData(propsData);
52
52
  }
53
53
  }, [propsData]);
54
+ (0, import_react.useEffect)(() => {
55
+ setLoading(!!propsLoading);
56
+ }, [propsLoading]);
54
57
  const getList = async (params, formatList) => {
55
58
  setLoading(true);
56
59
  try {
@@ -70,6 +73,9 @@ var WalletPassList = (0, import_react.forwardRef)(
70
73
  (0, import_react.useImperativeHandle)(ref, () => ({
71
74
  init
72
75
  }));
76
+ (0, import_react.useEffect)(() => {
77
+ onLoadingChange == null ? void 0 : onLoadingChange(loading);
78
+ }, [loading]);
73
79
  const { availableList, disabledList } = (0, import_react.useMemo)(() => {
74
80
  const _disabledList = [];
75
81
  const _availableList = [];
@@ -111,7 +117,8 @@ var WalletPassList = (0, import_react.forwardRef)(
111
117
  value,
112
118
  onChange: handleChange,
113
119
  showEmpty: data.length === 0,
114
- empty
120
+ empty,
121
+ onChangeDebounce
115
122
  }
116
123
  ), !!disabledList.length && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-walletPass-list-disabled" }, import_utils.locales.getText("tocPay.text.walletPassDisabled")), /* @__PURE__ */ import_react.default.createElement(
117
124
  import_materials.PisellCardList,
@@ -48,6 +48,7 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
48
48
  var _a;
49
49
  const { onWalletPassChange, walletPass, walletSetting } = props;
50
50
  const [currentWalletPass, setCurrentWalletPass] = (0, import_react.useState)(walletPass);
51
+ const [loading, setLoading] = (0, import_react.useState)(false);
51
52
  const [open, setOpen] = (0, import_react.useState)(false);
52
53
  const [searchOpen, setSearchOpen] = (0, import_react.useState)(false);
53
54
  const [addList, setAddList] = (0, import_react.useState)([]);
@@ -281,7 +282,9 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
281
282
  data: otherCustomerWalletPassList,
282
283
  title: import_utils.locales.getText("tocPay.text.couponCodesAdded"),
283
284
  onChange: handleOtherChange,
284
- value: selectValue
285
+ value: selectValue,
286
+ loading,
287
+ onChangeDebounce: true
285
288
  }
286
289
  ), /* @__PURE__ */ import_react.default.createElement(
287
290
  import_List.default,
@@ -290,7 +293,8 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
290
293
  title: walletSetting.name,
291
294
  onChange: handleCurrentChange,
292
295
  ref: listRef,
293
- value: selectValue
296
+ value: selectValue,
297
+ onLoadingChange: setLoading
294
298
  }
295
299
  ))
296
300
  ), /* @__PURE__ */ import_react.default.createElement(
@@ -51,7 +51,7 @@ export declare const formatFranchiseeRoute: (url: string, history?: any) => stri
51
51
  export declare const getAvailableMaxAmount: (data: WalletPassDataType) => string;
52
52
  export declare const clientPayment: (params: {
53
53
  order_id: number;
54
- type: "aliPay" | "wxPay";
54
+ type: "aliPay" | "wxPay" | 'google_pay';
55
55
  values: any;
56
56
  interaction?: any;
57
57
  }) => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  interface AddServiceProps {
4
3
  onEdit?: any;
@@ -42,7 +42,7 @@ var import_utils4 = require("../../../booking/info/service2/utils");
42
42
  var import_utils5 = require("../../../booking/info/utils");
43
43
  var import_serve = require("../../../booking/info/service/serve");
44
44
  var import_serviceManager = require("../../../booking/info/service/serviceManager");
45
- var import_productSelect = __toESM(require("../../../productSelect"));
45
+ var import_productSelect = __toESM(require("../../../../plus/productSelect"));
46
46
  var import_index = require("./index.less");
47
47
  var import_utils6 = require("../../utils");
48
48
  var import_notAvailable = __toESM(require("../notAvailable"));
@@ -477,8 +477,8 @@ var AddSerivce = (props) => {
477
477
  isTitle: 1,
478
478
  isSubtitle: 1,
479
479
  isPrice: 1,
480
- isOriginPrice: 1,
481
- isStock: 1
480
+ isOriginPrice: 0,
481
+ isStock: 0
482
482
  }
483
483
  }
484
484
  ), /* @__PURE__ */ import_react.default.createElement(import_notAvailable.default, { ref: notAvailableRef }));
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  interface TicketBookingProps {
4
3
  productExtensionType: string[];
@@ -50,7 +50,7 @@ var { Text } = import_materials2.Typography;
50
50
  import_dayjs.default.extend(import_timezone.default);
51
51
  import_dayjs.default.extend(import_utc.default);
52
52
  var Detail = (0, import_react.forwardRef)((props, ref) => {
53
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
54
54
  const {
55
55
  detail = {},
56
56
  buttonGroupList = [[]],
@@ -545,7 +545,7 @@ var Detail = (0, import_react.forwardRef)((props, ref) => {
545
545
  className: `wallet-detail${platform === "h5" ? " wallet-detail-h5" : " wallet-detail-pc"} ${className || ""}`,
546
546
  ref: detailWrapperRef
547
547
  },
548
- (platform === "h5" || showWalletBar) && /* @__PURE__ */ import_react.default.createElement("div", { className: "wallet-detail-header" }, /* @__PURE__ */ import_react.default.createElement(import_components.WalletBar, { setup: "detail", onBack: handleBack })),
548
+ (platform === "h5" || showWalletBar) && !((_l = (_k = (_j = utils == null ? void 0 : utils.interaction) == null ? void 0 : _j.utils) == null ? void 0 : _k.isAppEnv) == null ? void 0 : _l.call(_k)) && /* @__PURE__ */ import_react.default.createElement("div", { className: "wallet-detail-header" }, /* @__PURE__ */ import_react.default.createElement(import_components.WalletBar, { setup: "detail", onBack: handleBack })),
549
549
  /* @__PURE__ */ import_react.default.createElement(
550
550
  "div",
551
551
  {
@@ -632,7 +632,7 @@ var Detail = (0, import_react.forwardRef)((props, ref) => {
632
632
  step: "detail",
633
633
  addWalletLoading,
634
634
  onAppleWalletClick: tag === "gift_card" ? addWalletCard : void 0,
635
- onRechargeClick: tag === "gift_card" && ((_j = detail == null ? void 0 : detail.machinecode_config) == null ? void 0 : _j.hide_recharge) === 0 ? handleRecharge : void 0,
635
+ onRechargeClick: tag === "gift_card" && ((_m = detail == null ? void 0 : detail.machinecode_config) == null ? void 0 : _m.hide_recharge) === 0 ? handleRecharge : void 0,
636
636
  platform,
637
637
  isIOS: (0, import_utils.isIos)()
638
638
  }
@@ -73,7 +73,7 @@ var WalletCard = ({
73
73
  disabled: isDisabled,
74
74
  showDisabledReason: isDisabled,
75
75
  disabledReason,
76
- propStyle: { marginBottom: 16 },
76
+ style: { marginBottom: 16, width: "100%" },
77
77
  showBalanceSymbol: !["point_card", "good_pass"].includes(tag),
78
78
  active: isActive,
79
79
  name: product_title,
@@ -30,7 +30,12 @@ var useWindowSize = (options = {}) => {
30
30
  (0, import_react.useEffect)(() => {
31
31
  let timeoutId;
32
32
  const setRealVH = () => {
33
- const vh = window.innerHeight * 0.01;
33
+ let height = window.innerHeight;
34
+ const urlParams = new URLSearchParams(window.location.search);
35
+ if (urlParams.has("formTabbar")) {
36
+ height = height - 54;
37
+ }
38
+ const vh = height * 0.01;
34
39
  document.documentElement.style.setProperty("--vh", `${vh}px`);
35
40
  };
36
41
  const debouncedHandleResize = () => {
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import './CategorySkeleton.less';
3
+ interface CategorySkeletonProps {
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ tabCount?: number;
7
+ animated?: boolean;
8
+ }
9
+ declare const CategorySkeleton: React.FC<CategorySkeletonProps>;
10
+ export default CategorySkeleton;
@@ -0,0 +1,62 @@
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/plus/productSelect/CategoryTabs/CategorySkeleton.tsx
30
+ var CategorySkeleton_exports = {};
31
+ __export(CategorySkeleton_exports, {
32
+ default: () => CategorySkeleton_default
33
+ });
34
+ module.exports = __toCommonJS(CategorySkeleton_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_classnames = __toESM(require("classnames"));
37
+ var import_CategorySkeleton = require("./CategorySkeleton.less");
38
+ var CategorySkeleton = ({
39
+ className,
40
+ style,
41
+ tabCount = 5,
42
+ animated = true
43
+ }) => {
44
+ const containerClass = (0, import_classnames.default)(
45
+ "category-skeleton",
46
+ {
47
+ "category-skeleton--animated": animated
48
+ },
49
+ className
50
+ );
51
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: containerClass, style }, Array.from({ length: tabCount }, (_, index) => /* @__PURE__ */ import_react.default.createElement(
52
+ "div",
53
+ {
54
+ key: index,
55
+ className: "category-skeleton__tab",
56
+ style: {
57
+ width: `${Math.floor(Math.random() * 40) + 80}px`
58
+ }
59
+ }
60
+ )));
61
+ };
62
+ var CategorySkeleton_default = CategorySkeleton;
@@ -0,0 +1,30 @@
1
+ .category-skeleton {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 8px;
5
+ padding: 16px 12px;
6
+
7
+ &__tab {
8
+ height: 32px;
9
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
10
+ background-size: 200% 100%;
11
+ border-radius: 20px;
12
+ flex-shrink: 0;
13
+ height: 40px;
14
+ }
15
+
16
+ &--animated {
17
+ .category-skeleton__tab {
18
+ animation: skeleton-loading 1.5s ease-in-out infinite;
19
+ }
20
+ }
21
+ }
22
+
23
+ @keyframes skeleton-loading {
24
+ 0% {
25
+ background-position: 200% 0;
26
+ }
27
+ 100% {
28
+ background-position: -200% 0;
29
+ }
30
+ }
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import '../components/TabsStructure/TabsStructure.less';
3
+ import CategorySkeleton from './CategorySkeleton';
4
+ declare type TabItem = {
5
+ key: string;
6
+ label: React.ReactNode;
7
+ icon?: React.ReactNode;
8
+ };
9
+ interface IProps {
10
+ items: TabItem[];
11
+ activeKey: string;
12
+ onChange: (key: string) => void;
13
+ loading?: boolean;
14
+ skeleton?: React.ReactNode;
15
+ }
16
+ declare const CategoryTabs: React.ForwardRefExoticComponent<IProps & React.RefAttributes<unknown>>;
17
+ export default CategoryTabs;
18
+ export { CategorySkeleton };
@@ -0,0 +1,183 @@
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/plus/productSelect/CategoryTabs/index.tsx
30
+ var CategoryTabs_exports = {};
31
+ __export(CategoryTabs_exports, {
32
+ CategorySkeleton: () => import_CategorySkeleton.default,
33
+ default: () => CategoryTabs_default
34
+ });
35
+ module.exports = __toCommonJS(CategoryTabs_exports);
36
+ var import_react = __toESM(require("react"));
37
+ var import_IntersectionObserver = __toESM(require("../components/IntersectionObserver"));
38
+ var import_TabsStructure = require("../components/TabsStructure");
39
+ var import_TabsStructure2 = require("../components/TabsStructure/TabsStructure.less");
40
+ var import_CategorySkeleton = __toESM(require("./CategorySkeleton"));
41
+ var import__ = require("../index");
42
+ var CategoryTabs = (0, import_react.forwardRef)((props, ref) => {
43
+ const { items, activeKey, onChange, loading = false, skeleton } = props;
44
+ const railRef = (0, import_react.useRef)(null);
45
+ const [isAtStart, setIsAtStart] = (0, import_react.useState)(true);
46
+ const [isAtEnd, setIsAtEnd] = (0, import_react.useState)(false);
47
+ const [needsScrollButtons, setNeedsScrollButtons] = (0, import_react.useState)(false);
48
+ const scrollLeft = (0, import_react.useCallback)(() => {
49
+ if (!railRef.current) return;
50
+ const container = railRef.current;
51
+ const scrollAmount = container.clientWidth * 0.8;
52
+ const newPosition = Math.max(0, container.scrollLeft - scrollAmount);
53
+ container.scrollTo({ left: newPosition, behavior: "smooth" });
54
+ }, []);
55
+ const scrollRight = (0, import_react.useCallback)(() => {
56
+ if (!railRef.current) return;
57
+ const container = railRef.current;
58
+ const scrollAmount = container.clientWidth * 0.8;
59
+ const maxScroll = container.scrollWidth - container.clientWidth;
60
+ const newPosition = Math.min(
61
+ maxScroll,
62
+ container.scrollLeft + scrollAmount
63
+ );
64
+ container.scrollTo({ left: newPosition, behavior: "smooth" });
65
+ }, []);
66
+ (0, import_react.useEffect)(() => {
67
+ const updateScrollButtonsVisibility = () => {
68
+ if (railRef.current) {
69
+ const { scrollWidth, clientWidth } = railRef.current;
70
+ console.log("检测滚动按钮需求:", {
71
+ scrollWidth,
72
+ clientWidth,
73
+ needsScroll: scrollWidth > clientWidth
74
+ });
75
+ setNeedsScrollButtons(scrollWidth > clientWidth);
76
+ }
77
+ };
78
+ let resizeObserver = null;
79
+ const timer = setTimeout(() => {
80
+ const container = railRef.current;
81
+ if (!container) {
82
+ console.log("容器未找到,跳过滚动按钮检测");
83
+ return;
84
+ }
85
+ updateScrollButtonsVisibility();
86
+ resizeObserver = new ResizeObserver(updateScrollButtonsVisibility);
87
+ resizeObserver.observe(container);
88
+ }, 100);
89
+ return () => {
90
+ clearTimeout(timer);
91
+ if (resizeObserver) {
92
+ resizeObserver.disconnect();
93
+ }
94
+ };
95
+ }, [items]);
96
+ const { selectionIndicatorProps, listContainerProps } = (0, import_TabsStructure.useSelectionIndicator)(
97
+ railRef,
98
+ activeKey || ""
99
+ );
100
+ if (loading && skeleton) {
101
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, skeleton);
102
+ }
103
+ return /* @__PURE__ */ import_react.default.createElement(import_IntersectionObserver.default, null, items.length > 0 && /* @__PURE__ */ import_react.default.createElement("div", { className: `${import__.PREFIX}__tabs-wrapper` }, /* @__PURE__ */ import_react.default.createElement(
104
+ import_TabsStructure.TabsStructure,
105
+ {
106
+ variant: "pill",
107
+ backgroundVariant: "onPage",
108
+ selectedTab: activeKey
109
+ },
110
+ needsScrollButtons && /* @__PURE__ */ import_react.default.createElement(
111
+ import_TabsStructure.TabsStructure.ChevronButton,
112
+ {
113
+ direction: "prev",
114
+ disabled: isAtStart,
115
+ onClick: scrollLeft,
116
+ style: { marginRight: "8px" }
117
+ }
118
+ ),
119
+ /* @__PURE__ */ import_react.default.createElement(import_TabsStructure.TabsStructure.Rail, { ref: railRef }, /* @__PURE__ */ import_react.default.createElement(
120
+ import_IntersectionObserver.IntersectionTrigger,
121
+ {
122
+ onShow: () => {
123
+ console.log("is start");
124
+ setIsAtStart(true);
125
+ },
126
+ onHide: () => {
127
+ console.log("is start false");
128
+ setIsAtStart(false);
129
+ },
130
+ style: {
131
+ width: 1,
132
+ height: 1,
133
+ flexShrink: 0,
134
+ background: "rgba(0,0,0,0)"
135
+ },
136
+ className: "visibility-detector start-detector"
137
+ }
138
+ ), /* @__PURE__ */ import_react.default.createElement(import_TabsStructure.TabsStructure.SelectionIndicator, { ...selectionIndicatorProps }), /* @__PURE__ */ import_react.default.createElement(import_TabsStructure.TabsStructure.ListContainer, { ...listContainerProps }, items.map((item) => /* @__PURE__ */ import_react.default.createElement(
139
+ import_TabsStructure.TabsStructure.Item,
140
+ {
141
+ key: item.key,
142
+ tabId: item.key,
143
+ "aria-selected": activeKey === item.key,
144
+ onClick: () => onChange(item.key),
145
+ className: "tab-item"
146
+ },
147
+ item.label
148
+ ))), /* @__PURE__ */ import_react.default.createElement(
149
+ import_IntersectionObserver.IntersectionTrigger,
150
+ {
151
+ className: "visibility-detector end-detector",
152
+ onShow: () => {
153
+ console.log("is end");
154
+ setIsAtEnd(true);
155
+ },
156
+ onHide: () => {
157
+ console.log("is end false");
158
+ setIsAtEnd(false);
159
+ },
160
+ style: {
161
+ width: 1,
162
+ height: 1,
163
+ flexShrink: 0,
164
+ background: "rgba(0,0,0,0)"
165
+ }
166
+ }
167
+ )),
168
+ needsScrollButtons && /* @__PURE__ */ import_react.default.createElement(
169
+ import_TabsStructure.TabsStructure.ChevronButton,
170
+ {
171
+ direction: "next",
172
+ disabled: isAtEnd,
173
+ onClick: scrollRight,
174
+ style: { marginLeft: "8px" }
175
+ }
176
+ )
177
+ )));
178
+ });
179
+ var CategoryTabs_default = CategoryTabs;
180
+ // Annotate the CommonJS export names for ESM import in node:
181
+ 0 && (module.exports = {
182
+ CategorySkeleton
183
+ });
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface ProductCardSkeletonProps {
3
+ className?: string;
4
+ style?: React.CSSProperties;
5
+ isProductCover?: boolean;
6
+ item?: any;
7
+ index?: number;
8
+ }
9
+ declare const ProductCardSkeleton: React.FC<ProductCardSkeletonProps>;
10
+ export default ProductCardSkeleton;
@@ -0,0 +1,58 @@
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/plus/productSelect/ProductCard/ProductCardSkeleton.tsx
30
+ var ProductCardSkeleton_exports = {};
31
+ __export(ProductCardSkeleton_exports, {
32
+ default: () => ProductCardSkeleton_default
33
+ });
34
+ module.exports = __toCommonJS(ProductCardSkeleton_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_classnames = __toESM(require("classnames"));
37
+ var import_antd = require("antd");
38
+ var import__ = require("../index");
39
+ var ProductCardSkeleton = ({
40
+ className,
41
+ style,
42
+ isProductCover = true,
43
+ item
44
+ }) => {
45
+ if ((item == null ? void 0 : item.__typename) === "category") {
46
+ return /* @__PURE__ */ import_react.default.createElement(import_antd.Skeleton.Input, { active: true, size: "small", block: false });
47
+ }
48
+ return /* @__PURE__ */ import_react.default.createElement(
49
+ "div",
50
+ {
51
+ className: (0, import_classnames.default)(`${import__.PREFIX}__product-card`, className),
52
+ style
53
+ },
54
+ isProductCover && /* @__PURE__ */ import_react.default.createElement(import_antd.Skeleton.Image, { active: true, style: { width: 180, height: 126 } }),
55
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Skeleton, { active: true, paragraph: { rows: 2 } })
56
+ );
57
+ };
58
+ var ProductCardSkeleton_default = ProductCardSkeleton;