@pisell/private-materials 6.5.13 → 6.5.14

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 (492) 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 +2 -2
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +7 -7
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +7 -7
  11. package/es/components/booking/addons/model.d.ts +10 -1
  12. package/es/components/booking/components/actionButtons/index.js +15 -9
  13. package/es/components/booking/components/footer/index.js +2 -2
  14. package/es/components/booking/components/voucher/index.js +23 -19
  15. package/es/components/booking/forms/footer.js +4 -13
  16. package/es/components/booking/forms/model.d.ts +10 -1
  17. package/es/components/booking/info/model.d.ts +10 -1
  18. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  19. package/es/components/booking/info/service2/utils.d.ts +1 -1
  20. package/es/components/booking/info2/cartClientCard/index.js +7 -3
  21. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  22. package/es/components/booking/model.d.ts +9 -1
  23. package/es/components/booking/notes/model.d.ts +10 -1
  24. package/es/components/booking/payments/model.d.ts +10 -1
  25. package/es/components/booking/utils.d.ts +2 -2
  26. package/es/components/checkout/PaymentModal.js +17 -12
  27. package/es/components/checkout/components/CashPaymentModule/index.js +9 -9
  28. package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
  29. package/es/components/checkout/hooks/useWalletPass.js +40 -22
  30. package/es/components/eftposPay/amount.d.ts +1 -1
  31. package/es/components/eftposPay/device.d.ts +1 -1
  32. package/es/components/eftposPay/hooks.d.ts +2 -2
  33. package/es/components/eftposPay/store/index.d.ts +5 -5
  34. package/es/components/list/List.d.ts +5 -0
  35. package/es/components/list/List.js +957 -0
  36. package/es/components/list/List.less +2 -0
  37. package/es/components/list/ResponsiveWrapper.d.ts +16 -0
  38. package/es/components/list/ResponsiveWrapper.js +130 -0
  39. package/es/components/list/TestResponsiveWrapper.d.ts +8 -0
  40. package/es/components/list/TestResponsiveWrapper.js +816 -0
  41. package/es/components/list/TestResponsiveWrapper.less +968 -0
  42. package/es/components/list/components/EmptyState/EmptyState.d.ts +20 -0
  43. package/es/components/list/components/EmptyState/EmptyState.js +75 -0
  44. package/es/components/list/components/EmptyState/EmptyState.less +121 -0
  45. package/es/components/list/components/EmptyState/index.d.ts +2 -0
  46. package/es/components/list/components/EmptyState/index.js +1 -0
  47. package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.d.ts +13 -0
  48. package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.js +39 -0
  49. package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.less +29 -0
  50. package/es/components/list/components/ListItemSkeleton/index.d.ts +2 -0
  51. package/es/components/list/components/ListItemSkeleton/index.js +2 -0
  52. package/es/components/list/components/Pagination/Pagination.d.ts +30 -0
  53. package/es/components/list/components/Pagination/Pagination.js +240 -0
  54. package/es/components/list/components/Pagination/Pagination.less +439 -0
  55. package/es/components/list/components/Pagination/index.d.ts +1 -0
  56. package/es/components/list/components/Pagination/index.js +1 -0
  57. package/es/components/list/components/ScrollLoader/ScrollLoader.d.ts +18 -0
  58. package/es/components/list/components/ScrollLoader/ScrollLoader.js +18 -0
  59. package/es/components/list/components/ScrollLoader/ScrollLoader.less +3 -0
  60. package/es/components/list/components/ScrollLoader/index.d.ts +2 -0
  61. package/es/components/list/components/ScrollLoader/index.js +1 -0
  62. package/es/components/list/components/Tab/Tab.d.ts +5 -0
  63. package/es/components/list/components/Tab/Tab.js +43 -0
  64. package/es/components/list/components/Tab/Tab.less +139 -0
  65. package/es/components/list/components/Tab/index.d.ts +2 -0
  66. package/es/components/list/components/Tab/index.js +1 -0
  67. package/es/components/list/components/Tab/types.d.ts +14 -0
  68. package/es/components/list/components/Tab/types.js +1 -0
  69. package/es/components/list/components/TabSkeleton/TabSkeleton.d.ts +11 -0
  70. package/es/components/list/components/TabSkeleton/TabSkeleton.js +28 -0
  71. package/es/components/list/components/TabSkeleton/TabSkeleton.less +38 -0
  72. package/es/components/list/components/TabSkeleton/index.d.ts +2 -0
  73. package/es/components/list/components/TabSkeleton/index.js +2 -0
  74. package/es/components/list/components/WaterfallList/WaterfallList.d.ts +33 -0
  75. package/es/components/list/components/WaterfallList/WaterfallList.js +191 -0
  76. package/es/components/list/components/WaterfallList/WaterfallList.less +201 -0
  77. package/es/components/list/components/WaterfallList/index.d.ts +2 -0
  78. package/es/components/list/components/WaterfallList/index.js +1 -0
  79. package/es/components/list/examples/GroupedListExample.d.ts +3 -0
  80. package/es/components/list/examples/GroupedListExample.js +207 -0
  81. package/es/components/list/hooks/index.d.ts +5 -0
  82. package/es/components/list/hooks/index.js +3 -0
  83. package/es/components/list/hooks/useDevice.d.ts +24 -0
  84. package/es/components/list/hooks/useDevice.js +102 -0
  85. package/es/components/list/hooks/useListState.d.ts +43 -0
  86. package/es/components/list/hooks/useListState.js +176 -0
  87. package/es/components/list/hooks/useWaterfall.d.ts +34 -0
  88. package/es/components/list/hooks/useWaterfall.js +161 -0
  89. package/es/components/list/index.d.ts +10 -0
  90. package/es/components/list/index.js +7 -0
  91. package/es/components/list/locales.d.ts +66 -0
  92. package/es/components/list/locales.js +107 -0
  93. package/es/components/list/styles/base.less +39 -0
  94. package/es/components/list/styles/content.less +415 -0
  95. package/es/components/list/styles/floatButton.less +107 -0
  96. package/es/components/list/styles/footer.less +49 -0
  97. package/es/components/list/styles/header.less +69 -0
  98. package/es/components/list/styles/responsive.less +166 -0
  99. package/es/components/list/types.d.ts +177 -0
  100. package/es/components/list/types.js +1 -0
  101. package/es/components/list/utils/getText.d.ts +53 -0
  102. package/es/components/list/utils/getText.js +150 -0
  103. package/es/components/list/utils/index.d.ts +4 -0
  104. package/es/components/list/utils/index.js +5 -0
  105. package/es/components/pay/toB/store/hooks.js +19 -5
  106. package/es/components/pay/toC/model.d.ts +9 -1
  107. package/es/components/schedules/model.d.ts +9 -1
  108. package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.d.ts +27 -0
  109. package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +143 -0
  110. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.d.ts +7 -0
  111. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.js +7 -0
  112. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.less +41 -0
  113. package/es/components/ticketBooking/components/ProductDisplayAdapter/types.d.ts +115 -0
  114. package/es/components/ticketBooking/components/ProductDisplayAdapter/types.js +273 -0
  115. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +50 -0
  116. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.js +130 -0
  117. package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +20 -0
  118. package/es/components/ticketBooking/components/addServiceVariant/addService.js +32 -10
  119. package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +2 -0
  120. package/es/components/ticketBooking/components/addServiceVariant/index.js +4 -2
  121. package/es/components/ticketBooking/components/menuBar/index.d.ts +5 -1
  122. package/es/components/ticketBooking/components/menuBar/index.js +40 -17
  123. package/es/components/ticketBooking/components/menuBar/index.less +27 -1
  124. package/es/components/ticketBooking/components/ticketBooking/index.d.ts +4 -0
  125. package/es/components/ticketBooking/components/ticketBooking/index.js +20 -10
  126. package/es/components/ticketBooking/components/timeBar/index.less +1 -0
  127. package/es/components/ticketBooking/context/IsActiveContext.d.ts +26 -0
  128. package/es/components/ticketBooking/context/IsActiveContext.js +37 -0
  129. package/es/components/ticketBooking/context/OsKeyContext.d.ts +26 -0
  130. package/es/components/ticketBooking/context/OsKeyContext.js +37 -0
  131. package/es/components/ticketBooking/context/index.d.ts +2 -0
  132. package/es/components/ticketBooking/context/index.js +2 -0
  133. package/es/components/ticketBooking/hooks/pisellos/bookingTicket.d.ts +5 -0
  134. package/es/components/ticketBooking/hooks/pisellos/bookingTicket.js +13 -1
  135. package/es/components/ticketBooking/hooks/pisellos/index.d.ts +1 -0
  136. package/es/components/ticketBooking/hooks/pisellos/index.js +2 -1
  137. package/es/components/ticketBooking/hooks/pisellos/useActiveExecute.d.ts +21 -0
  138. package/es/components/ticketBooking/hooks/pisellos/useActiveExecute.js +50 -0
  139. package/es/components/ticketBooking/hooks/pisellos/useCustomer.js +12 -4
  140. package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.js +5 -2
  141. package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.js +7 -2
  142. package/es/components/ticketBooking/hooks/pisellos/useShopDiscountModule.d.ts +6 -0
  143. package/es/components/ticketBooking/hooks/pisellos/useShopDiscountModule.js +17 -0
  144. package/es/components/ticketBooking/index.d.ts +6 -0
  145. package/es/components/ticketBooking/index.js +86 -12
  146. package/es/components/ticketBooking/utils/index.d.ts +28 -1
  147. package/es/components/ticketBooking/utils/index.js +40 -0
  148. package/es/components/wallet/Detail/model.d.ts +13 -1
  149. package/es/components/wallet/DiscountCard/model.d.ts +14 -1
  150. package/es/components/wallet/PointCard/model.d.ts +13 -1
  151. package/es/components/wallet/RechargeableCard/model.d.ts +29 -1
  152. package/es/components/wallet/Voucher/model.d.ts +13 -1
  153. package/es/components/wallet/model.d.ts +9 -1
  154. package/es/index.d.ts +2 -0
  155. package/es/index.js +3 -1
  156. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.d.ts +3 -0
  157. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.js +11 -0
  158. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.less +8 -0
  159. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.d.ts +3 -0
  160. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.js +11 -0
  161. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.less +17 -0
  162. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.d.ts +3 -0
  163. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.js +11 -0
  164. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.less +17 -0
  165. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.d.ts +3 -0
  166. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.js +11 -0
  167. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.less +17 -0
  168. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.d.ts +3 -0
  169. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.js +11 -0
  170. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.less +2 -0
  171. package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.d.ts +7 -0
  172. package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.js +100 -0
  173. package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.less +8 -0
  174. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +6 -0
  175. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.js +32 -0
  176. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.less +3 -0
  177. package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.d.ts +7 -0
  178. package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.js +239 -0
  179. package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.less +44 -0
  180. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +7 -0
  181. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.js +34 -0
  182. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.less +14 -0
  183. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.d.ts +3 -0
  184. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.js +33 -0
  185. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.less +30 -0
  186. package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.d.ts +4 -0
  187. package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +75 -0
  188. package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.less +46 -0
  189. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +7 -0
  190. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.js +39 -0
  191. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.less +9 -0
  192. package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.d.ts +6 -0
  193. package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.js +53 -0
  194. package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.less +31 -0
  195. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +6 -0
  196. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.js +31 -0
  197. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.less +3 -0
  198. package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.d.ts +6 -0
  199. package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.js +58 -0
  200. package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.less +11 -0
  201. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +7 -0
  202. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.js +85 -0
  203. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.less +24 -0
  204. package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.d.ts +6 -0
  205. package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.js +121 -0
  206. package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.less +57 -0
  207. package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.d.ts +6 -0
  208. package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.js +95 -0
  209. package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.less +18 -0
  210. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +6 -0
  211. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.js +31 -0
  212. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.less +3 -0
  213. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +6 -0
  214. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.js +47 -0
  215. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.less +3 -0
  216. package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.d.ts +6 -0
  217. package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.js +34 -0
  218. package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.less +13 -0
  219. package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.d.ts +6 -0
  220. package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.js +95 -0
  221. package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.less +18 -0
  222. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +6 -0
  223. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.js +31 -0
  224. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.less +3 -0
  225. package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.d.ts +6 -0
  226. package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.js +34 -0
  227. package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.less +13 -0
  228. package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.d.ts +6 -0
  229. package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.js +39 -0
  230. package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.less +22 -0
  231. package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.d.ts +3 -0
  232. package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.js +20 -0
  233. package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.less +20 -0
  234. package/es/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.d.ts +6 -0
  235. package/es/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.js +55 -0
  236. package/es/plus/productSelect/ProductCard/SkuCard/index.d.ts +8 -0
  237. package/es/plus/productSelect/ProductCard/SkuCard/index.js +38 -0
  238. package/es/plus/productSelect/ProductCard/SkuCard/locales.d.ts +42 -0
  239. package/es/plus/productSelect/ProductCard/SkuCard/locales.js +41 -0
  240. package/es/plus/productSelect/ProductCard/SkuCard/status.d.ts +162 -0
  241. package/es/plus/productSelect/ProductCard/SkuCard/status.js +481 -0
  242. package/es/plus/productSelect/ProductCard/SkuCard/type.d.ts +298 -0
  243. package/es/plus/productSelect/ProductCard/SkuCard/type.js +1 -0
  244. package/es/plus/productSelect/ProductCard/SkuCard/utils.d.ts +9 -0
  245. package/es/plus/productSelect/ProductCard/SkuCard/utils.js +21 -0
  246. package/es/plus/productSelect/components/pisellPriceText/index.d.ts +2 -0
  247. package/es/plus/productSelect/components/pisellPriceText/index.js +7 -5
  248. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +20 -10
  249. package/es/pro/priceKeyboard/components/cashKeyboard/index.less +1 -2
  250. package/lib/components/booking/addons/model.d.ts +10 -1
  251. package/lib/components/booking/components/actionButtons/index.js +22 -17
  252. package/lib/components/booking/components/footer/index.js +2 -2
  253. package/lib/components/booking/components/voucher/index.js +33 -40
  254. package/lib/components/booking/forms/footer.js +7 -13
  255. package/lib/components/booking/forms/model.d.ts +10 -1
  256. package/lib/components/booking/info/model.d.ts +10 -1
  257. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  258. package/lib/components/booking/info/service2/utils.d.ts +1 -1
  259. package/lib/components/booking/info2/cartClientCard/index.js +7 -3
  260. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  261. package/lib/components/booking/model.d.ts +9 -1
  262. package/lib/components/booking/notes/model.d.ts +10 -1
  263. package/lib/components/booking/payments/model.d.ts +10 -1
  264. package/lib/components/booking/utils.d.ts +2 -2
  265. package/lib/components/checkout/PaymentModal.js +15 -12
  266. package/lib/components/checkout/components/CashPaymentModule/index.js +0 -1
  267. package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
  268. package/lib/components/checkout/hooks/useWalletPass.js +61 -46
  269. package/lib/components/eftposPay/amount.d.ts +1 -1
  270. package/lib/components/eftposPay/device.d.ts +1 -1
  271. package/lib/components/eftposPay/hooks.d.ts +2 -2
  272. package/lib/components/eftposPay/store/index.d.ts +5 -5
  273. package/lib/components/list/List.d.ts +5 -0
  274. package/lib/components/list/List.js +771 -0
  275. package/lib/components/list/List.less +2 -0
  276. package/lib/components/list/ResponsiveWrapper.d.ts +16 -0
  277. package/lib/components/list/ResponsiveWrapper.js +145 -0
  278. package/lib/components/list/TestResponsiveWrapper.d.ts +8 -0
  279. package/lib/components/list/TestResponsiveWrapper.js +493 -0
  280. package/lib/components/list/TestResponsiveWrapper.less +968 -0
  281. package/lib/components/list/components/EmptyState/EmptyState.d.ts +20 -0
  282. package/lib/components/list/components/EmptyState/EmptyState.js +75 -0
  283. package/lib/components/list/components/EmptyState/EmptyState.less +121 -0
  284. package/lib/components/list/components/EmptyState/index.d.ts +2 -0
  285. package/lib/components/list/components/EmptyState/index.js +35 -0
  286. package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.d.ts +13 -0
  287. package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.js +75 -0
  288. package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.less +29 -0
  289. package/lib/components/list/components/ListItemSkeleton/index.d.ts +2 -0
  290. package/lib/components/list/components/ListItemSkeleton/index.js +41 -0
  291. package/lib/components/list/components/Pagination/Pagination.d.ts +30 -0
  292. package/lib/components/list/components/Pagination/Pagination.js +205 -0
  293. package/lib/components/list/components/Pagination/Pagination.less +439 -0
  294. package/lib/components/list/components/Pagination/index.d.ts +1 -0
  295. package/lib/components/list/components/Pagination/index.js +35 -0
  296. package/lib/components/list/components/ScrollLoader/ScrollLoader.d.ts +18 -0
  297. package/lib/components/list/components/ScrollLoader/ScrollLoader.js +37 -0
  298. package/lib/components/list/components/ScrollLoader/ScrollLoader.less +3 -0
  299. package/lib/components/list/components/ScrollLoader/index.d.ts +2 -0
  300. package/lib/components/list/components/ScrollLoader/index.js +35 -0
  301. package/lib/components/list/components/Tab/Tab.d.ts +5 -0
  302. package/lib/components/list/components/Tab/Tab.js +72 -0
  303. package/lib/components/list/components/Tab/Tab.less +139 -0
  304. package/lib/components/list/components/Tab/index.d.ts +2 -0
  305. package/lib/components/list/components/Tab/index.js +35 -0
  306. package/lib/components/list/components/Tab/types.d.ts +14 -0
  307. package/lib/components/list/components/Tab/types.js +17 -0
  308. package/lib/components/list/components/TabSkeleton/TabSkeleton.d.ts +11 -0
  309. package/lib/components/list/components/TabSkeleton/TabSkeleton.js +61 -0
  310. package/lib/components/list/components/TabSkeleton/TabSkeleton.less +38 -0
  311. package/lib/components/list/components/TabSkeleton/index.d.ts +2 -0
  312. package/lib/components/list/components/TabSkeleton/index.js +41 -0
  313. package/lib/components/list/components/WaterfallList/WaterfallList.d.ts +33 -0
  314. package/lib/components/list/components/WaterfallList/WaterfallList.js +178 -0
  315. package/lib/components/list/components/WaterfallList/WaterfallList.less +201 -0
  316. package/lib/components/list/components/WaterfallList/index.d.ts +2 -0
  317. package/lib/components/list/components/WaterfallList/index.js +35 -0
  318. package/lib/components/list/examples/GroupedListExample.d.ts +3 -0
  319. package/lib/components/list/examples/GroupedListExample.js +210 -0
  320. package/lib/components/list/hooks/index.d.ts +5 -0
  321. package/lib/components/list/hooks/index.js +47 -0
  322. package/lib/components/list/hooks/useDevice.d.ts +24 -0
  323. package/lib/components/list/hooks/useDevice.js +96 -0
  324. package/lib/components/list/hooks/useListState.d.ts +43 -0
  325. package/lib/components/list/hooks/useListState.js +149 -0
  326. package/lib/components/list/hooks/useWaterfall.d.ts +34 -0
  327. package/lib/components/list/hooks/useWaterfall.js +124 -0
  328. package/lib/components/list/index.d.ts +10 -0
  329. package/lib/components/list/index.js +60 -0
  330. package/lib/components/list/locales.d.ts +66 -0
  331. package/lib/components/list/locales.js +113 -0
  332. package/lib/components/list/styles/base.less +39 -0
  333. package/lib/components/list/styles/content.less +415 -0
  334. package/lib/components/list/styles/floatButton.less +107 -0
  335. package/lib/components/list/styles/footer.less +49 -0
  336. package/lib/components/list/styles/header.less +69 -0
  337. package/lib/components/list/styles/responsive.less +166 -0
  338. package/lib/components/list/types.d.ts +177 -0
  339. package/lib/components/list/types.js +17 -0
  340. package/lib/components/list/utils/getText.d.ts +53 -0
  341. package/lib/components/list/utils/getText.js +95 -0
  342. package/lib/components/list/utils/index.d.ts +4 -0
  343. package/lib/components/list/utils/index.js +43 -0
  344. package/lib/components/pay/toB/store/hooks.js +16 -8
  345. package/lib/components/pay/toC/model.d.ts +9 -1
  346. package/lib/components/schedules/model.d.ts +9 -1
  347. package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.d.ts +27 -0
  348. package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +165 -0
  349. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.d.ts +7 -0
  350. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.js +45 -0
  351. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.less +41 -0
  352. package/lib/components/ticketBooking/components/ProductDisplayAdapter/types.d.ts +115 -0
  353. package/lib/components/ticketBooking/components/ProductDisplayAdapter/types.js +247 -0
  354. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +50 -0
  355. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.js +100 -0
  356. package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +20 -0
  357. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +36 -10
  358. package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +2 -0
  359. package/lib/components/ticketBooking/components/addServiceVariant/index.js +3 -2
  360. package/lib/components/ticketBooking/components/menuBar/index.d.ts +5 -1
  361. package/lib/components/ticketBooking/components/menuBar/index.js +24 -18
  362. package/lib/components/ticketBooking/components/menuBar/index.less +27 -1
  363. package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +4 -0
  364. package/lib/components/ticketBooking/components/ticketBooking/index.js +14 -9
  365. package/lib/components/ticketBooking/components/timeBar/index.less +1 -0
  366. package/lib/components/ticketBooking/context/IsActiveContext.d.ts +26 -0
  367. package/lib/components/ticketBooking/context/IsActiveContext.js +56 -0
  368. package/lib/components/ticketBooking/context/OsKeyContext.d.ts +26 -0
  369. package/lib/components/ticketBooking/context/OsKeyContext.js +56 -0
  370. package/lib/components/ticketBooking/context/index.d.ts +2 -0
  371. package/lib/components/ticketBooking/context/index.js +44 -0
  372. package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.d.ts +5 -0
  373. package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.js +5 -1
  374. package/lib/components/ticketBooking/hooks/pisellos/index.d.ts +1 -0
  375. package/lib/components/ticketBooking/hooks/pisellos/index.js +3 -1
  376. package/lib/components/ticketBooking/hooks/pisellos/useActiveExecute.d.ts +21 -0
  377. package/lib/components/ticketBooking/hooks/pisellos/useActiveExecute.js +47 -0
  378. package/lib/components/ticketBooking/hooks/pisellos/useCustomer.js +17 -10
  379. package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.js +4 -2
  380. package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.js +6 -2
  381. package/lib/components/ticketBooking/hooks/pisellos/useShopDiscountModule.d.ts +6 -0
  382. package/lib/components/ticketBooking/hooks/pisellos/useShopDiscountModule.js +37 -0
  383. package/lib/components/ticketBooking/index.d.ts +6 -0
  384. package/lib/components/ticketBooking/index.js +69 -7
  385. package/lib/components/ticketBooking/utils/index.d.ts +28 -1
  386. package/lib/components/ticketBooking/utils/index.js +45 -2
  387. package/lib/components/wallet/Detail/model.d.ts +13 -1
  388. package/lib/components/wallet/DiscountCard/model.d.ts +14 -1
  389. package/lib/components/wallet/PointCard/model.d.ts +13 -1
  390. package/lib/components/wallet/RechargeableCard/model.d.ts +29 -1
  391. package/lib/components/wallet/Voucher/model.d.ts +13 -1
  392. package/lib/components/wallet/model.d.ts +9 -1
  393. package/lib/index.d.ts +2 -0
  394. package/lib/index.js +6 -0
  395. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.d.ts +3 -0
  396. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.js +42 -0
  397. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.less +8 -0
  398. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.d.ts +3 -0
  399. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.js +42 -0
  400. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.less +17 -0
  401. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.d.ts +3 -0
  402. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.js +42 -0
  403. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.less +17 -0
  404. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.d.ts +3 -0
  405. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.js +42 -0
  406. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.less +17 -0
  407. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.d.ts +3 -0
  408. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.js +42 -0
  409. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.less +2 -0
  410. package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.d.ts +7 -0
  411. package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.js +129 -0
  412. package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.less +8 -0
  413. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +6 -0
  414. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.js +52 -0
  415. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.less +3 -0
  416. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.d.ts +7 -0
  417. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.js +178 -0
  418. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.less +44 -0
  419. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +7 -0
  420. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.js +52 -0
  421. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.less +14 -0
  422. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.d.ts +3 -0
  423. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.js +63 -0
  424. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.less +30 -0
  425. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.d.ts +4 -0
  426. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +131 -0
  427. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.less +46 -0
  428. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +7 -0
  429. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.js +62 -0
  430. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.less +9 -0
  431. package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.d.ts +6 -0
  432. package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.js +78 -0
  433. package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.less +31 -0
  434. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +6 -0
  435. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.js +51 -0
  436. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.less +3 -0
  437. package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.d.ts +6 -0
  438. package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.js +94 -0
  439. package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.less +11 -0
  440. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +7 -0
  441. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.js +115 -0
  442. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.less +24 -0
  443. package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.d.ts +6 -0
  444. package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.js +139 -0
  445. package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.less +57 -0
  446. package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.d.ts +6 -0
  447. package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.js +97 -0
  448. package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.less +18 -0
  449. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +6 -0
  450. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.js +51 -0
  451. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.less +3 -0
  452. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +6 -0
  453. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.js +58 -0
  454. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.less +3 -0
  455. package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.d.ts +6 -0
  456. package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.js +56 -0
  457. package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.less +13 -0
  458. package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.d.ts +6 -0
  459. package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.js +97 -0
  460. package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.less +18 -0
  461. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +6 -0
  462. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.js +51 -0
  463. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.less +3 -0
  464. package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.d.ts +6 -0
  465. package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.js +56 -0
  466. package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.less +13 -0
  467. package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.d.ts +6 -0
  468. package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.js +58 -0
  469. package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.less +22 -0
  470. package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.d.ts +3 -0
  471. package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.js +49 -0
  472. package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.less +20 -0
  473. package/lib/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.d.ts +6 -0
  474. package/lib/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.js +83 -0
  475. package/lib/plus/productSelect/ProductCard/SkuCard/index.d.ts +8 -0
  476. package/lib/plus/productSelect/ProductCard/SkuCard/index.js +68 -0
  477. package/lib/plus/productSelect/ProductCard/SkuCard/locales.d.ts +42 -0
  478. package/lib/plus/productSelect/ProductCard/SkuCard/locales.js +65 -0
  479. package/lib/plus/productSelect/ProductCard/SkuCard/status.d.ts +162 -0
  480. package/lib/plus/productSelect/ProductCard/SkuCard/status.js +501 -0
  481. package/lib/plus/productSelect/ProductCard/SkuCard/type.d.ts +298 -0
  482. package/lib/plus/productSelect/ProductCard/SkuCard/type.js +17 -0
  483. package/lib/plus/productSelect/ProductCard/SkuCard/utils.d.ts +9 -0
  484. package/lib/plus/productSelect/ProductCard/SkuCard/utils.js +37 -0
  485. package/lib/plus/productSelect/components/pisellPriceText/index.d.ts +2 -0
  486. package/lib/plus/productSelect/components/pisellPriceText/index.js +6 -5
  487. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +61 -27
  488. package/lib/pro/priceKeyboard/components/cashKeyboard/index.less +1 -2
  489. package/lowcode/sku-card/meta.ts +1812 -0
  490. package/lowcode/sku-card/snippets.ts +372 -0
  491. package/lowcode/sku-list/meta.ts +410 -0
  492. package/package.json +1 -1
@@ -0,0 +1,121 @@
1
+ import React, { useMemo } from 'react';
2
+ import { locales } from '@pisell/utils';
3
+ import PisellPriceText from "../../../../components/pisellPriceText";
4
+ import { PREFIX } from "../../status";
5
+ import "./index.less";
6
+ var Price = function Price(_ref) {
7
+ var props = _ref.props;
8
+ var dataSource = props.dataSource,
9
+ skuTextConfig = props.skuTextConfig;
10
+ var _ref2 = (skuTextConfig === null || skuTextConfig === void 0 ? void 0 : skuTextConfig.skuPriceConfig) || {},
11
+ isOpen = _ref2.isOpen,
12
+ isOriginPrice = _ref2.isOriginPrice,
13
+ isPrice = _ref2.isPrice,
14
+ isTaxPrice = _ref2.isTaxPrice,
15
+ originPriceFontSize = _ref2.originPriceFontSize,
16
+ originPriceFontWeight = _ref2.originPriceFontWeight,
17
+ originPriceColor = _ref2.originPriceColor,
18
+ priceFontSize = _ref2.priceFontSize,
19
+ priceFontWeight = _ref2.priceFontWeight,
20
+ priceColor = _ref2.priceColor,
21
+ isCustomText = _ref2.isCustomText,
22
+ customTextType = _ref2.customTextType,
23
+ customTextValue = _ref2.customTextValue,
24
+ customTextMinValue = _ref2.customTextMinValue,
25
+ customTextMaxValue = _ref2.customTextMaxValue,
26
+ isShowZeroPrice = _ref2.isShowZeroPrice,
27
+ isShowFreePrice = _ref2.isShowFreePrice,
28
+ isMiniPrice = _ref2.isMiniPrice;
29
+
30
+ // 不开启
31
+ if (!isOpen) return null;
32
+
33
+ // 自定义文本
34
+ // if (customText) return customText;
35
+
36
+ var isShowPrice = useMemo(function () {
37
+ if (!isPrice) return false;
38
+
39
+ // 0元不显示
40
+ if (Number(dataSource === null || dataSource === void 0 ? void 0 : dataSource.price) === 0 && !isShowZeroPrice) return false;
41
+ return true;
42
+ }, [isPrice, isShowZeroPrice, dataSource === null || dataSource === void 0 ? void 0 : dataSource.price]);
43
+
44
+ /**
45
+ * @title: 价格文本
46
+ * @description:
47
+ * @param {*} useMemo
48
+ * @return {*}
49
+ * @Author: WangHan
50
+ * @Date: 2025-09-18 16:23
51
+ */
52
+ var priceText = useMemo(function () {
53
+ if (!isShowPrice) return null;
54
+
55
+ // 免费
56
+ if (Number(dataSource === null || dataSource === void 0 ? void 0 : dataSource.price) === 0 && isShowFreePrice) {
57
+ return locales.getText('pisell2.sku-card.free');
58
+ }
59
+
60
+ // 自定义文本
61
+ if (isCustomText) {
62
+ // 从起点
63
+ if (customTextType === 'from') {
64
+ return /*#__PURE__*/React.createElement(PisellPriceText, {
65
+ value: customTextValue || 0,
66
+ isMini: true
67
+ });
68
+ }
69
+
70
+ // 终点
71
+ if (customTextType === 'end') {
72
+ return /*#__PURE__*/React.createElement(PisellPriceText, {
73
+ value: customTextValue || 0,
74
+ isMini: true,
75
+ customPrefixText: locales.getText('pisell2.sku-card.max'),
76
+ customSuffixText: locales.getText('pisell2.sku-card.max')
77
+ });
78
+ }
79
+
80
+ // 区间
81
+ if (customTextType === 'range') {
82
+ return /*#__PURE__*/React.createElement("div", {
83
+ className: "".concat(PREFIX, "__card-price-range")
84
+ }, /*#__PURE__*/React.createElement(PisellPriceText, {
85
+ value: customTextMinValue || 0
86
+ }), "~", /*#__PURE__*/React.createElement(PisellPriceText, {
87
+ value: customTextMaxValue || 0
88
+ }));
89
+ }
90
+ }
91
+ return /*#__PURE__*/React.createElement(PisellPriceText, {
92
+ value: (dataSource === null || dataSource === void 0 ? void 0 : dataSource.price) || 0
93
+ });
94
+ }, [isShowPrice, dataSource === null || dataSource === void 0 ? void 0 : dataSource.price, isShowFreePrice, isCustomText, customTextType, customTextValue, customTextMinValue, customTextMaxValue]);
95
+ return /*#__PURE__*/React.createElement("div", {
96
+ className: "".concat(PREFIX, "__card-price-wrap")
97
+ }, isShowPrice ? /*#__PURE__*/React.createElement("div", {
98
+ className: "".concat(PREFIX, "__card-price"),
99
+ style: {
100
+ fontSize: priceFontSize,
101
+ fontWeight: priceFontWeight,
102
+ color: priceColor
103
+ }
104
+ }, priceText) : null, isTaxPrice && parseFloat(String((dataSource === null || dataSource === void 0 ? void 0 : dataSource.tax_fee) || 0)) > 0 ? /*#__PURE__*/React.createElement("div", {
105
+ className: "".concat(PREFIX, "__card-tax-price")
106
+ }, "(".concat(locales.getText('pisell2.sku-card.gst'), " : "), /*#__PURE__*/React.createElement(PisellPriceText, {
107
+ value: (dataSource === null || dataSource === void 0 ? void 0 : dataSource.tax_fee) || 0,
108
+ isMini: isMiniPrice
109
+ }), ")") : null, isOriginPrice && parseFloat(String((dataSource === null || dataSource === void 0 ? void 0 : dataSource.original_price) || 0)) ? /*#__PURE__*/React.createElement("div", {
110
+ className: "".concat(PREFIX, "__card-original-price"),
111
+ style: {
112
+ fontSize: originPriceFontSize,
113
+ fontWeight: originPriceFontWeight,
114
+ color: originPriceColor
115
+ }
116
+ }, /*#__PURE__*/React.createElement(PisellPriceText, {
117
+ value: (dataSource === null || dataSource === void 0 ? void 0 : dataSource.original_price) || 0,
118
+ isMini: isMiniPrice
119
+ })) : null);
120
+ };
121
+ export default Price;
@@ -0,0 +1,57 @@
1
+ .pisell-product-sku__card-price-wrap {
2
+ display: flex;
3
+ align-items: center;
4
+ flex-wrap: wrap;
5
+ gap: unset;
6
+ gap: 4px;
7
+
8
+ .pisell-product-sku__card-price {
9
+ color: var(--ps-color-text, #1b1b1b);
10
+ font-size: 18px;
11
+ font-style: normal;
12
+ font-weight: 600;
13
+ line-height: 28px;
14
+ overflow: hidden;
15
+ }
16
+
17
+ .pisell-product-sku__card-price-range {
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+
22
+ .pisell-product-sku__card-original-price {
23
+ color: var(--ps-color-text-secondary, #4e4e4e);
24
+ font-size: 16px;
25
+ font-style: normal;
26
+ font-weight: 400;
27
+ line-height: 24px;
28
+ position: relative;
29
+ overflow: hidden;
30
+
31
+ &::before {
32
+ content: '';
33
+ display: block;
34
+ position: absolute;
35
+ top: 50%;
36
+ left: 0;
37
+ width: 100%;
38
+ height: 1px;
39
+ background-color: #4e4e4e;
40
+ transform: translateY(-50%);
41
+ }
42
+
43
+ > span {
44
+ vertical-align: middle;
45
+ }
46
+ }
47
+
48
+ .pisell-product-sku__card-tax-price {
49
+ display: flex;
50
+ align-items: center;
51
+ color: #667085;
52
+ font-size: 16px;
53
+ font-weight: 400;
54
+ line-height: 24px;
55
+ word-wrap: break-word;
56
+ }
57
+ }
@@ -0,0 +1,6 @@
1
+ import { ProductCardConfig } from '../../type';
2
+ import './index.less';
3
+ declare const Promotions: ({ props }: {
4
+ props: ProductCardConfig;
5
+ }) => JSX.Element | null;
6
+ export default Promotions;
@@ -0,0 +1,95 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ import React, { useCallback, useMemo } from 'react';
9
+ import { PisellTags } from '@pisell/materials';
10
+ import { PREFIX } from "../../status";
11
+ import "./index.less";
12
+ var Promotions = function Promotions(_ref) {
13
+ var props = _ref.props;
14
+ var dataSource = props.dataSource,
15
+ skuTextConfig = props.skuTextConfig;
16
+ var _ref2 = (skuTextConfig === null || skuTextConfig === void 0 ? void 0 : skuTextConfig.skuPromotionsConfig) || {},
17
+ isOpen = _ref2.isOpen,
18
+ marginX = _ref2.marginX,
19
+ isShowAll = _ref2.isShowAll,
20
+ maxCount = _ref2.maxCount,
21
+ lists = _ref2.lists;
22
+ if (!isOpen) return null;
23
+ var listsData = useMemo(function () {
24
+ var _dataSource$promotion;
25
+ var _lists = dataSource !== null && dataSource !== void 0 && (_dataSource$promotion = dataSource.promotions) !== null && _dataSource$promotion !== void 0 && _dataSource$promotion.length ? dataSource === null || dataSource === void 0 ? void 0 : dataSource.promotions : lists;
26
+ return _lists || [];
27
+ }, [dataSource === null || dataSource === void 0 ? void 0 : dataSource.promotions, lists]);
28
+
29
+ /**
30
+ * @title: 文本样式
31
+ * @description:
32
+ * @param {*} useCallback
33
+ * @return {*}
34
+ * @Author: WangHan
35
+ * @Date: 2025-09-10 11:27
36
+ */
37
+ var textStyle = useCallback(function (tag) {
38
+ return {
39
+ fontSize: tag.fontSize,
40
+ fontWeight: tag.fontWeight,
41
+ color: tag.color
42
+ };
43
+ }, []);
44
+
45
+ /**
46
+ * @title: 促销信息样式
47
+ * @description:
48
+ * @param {*} useCallback
49
+ * @return {*}
50
+ * @Author: WangHan
51
+ * @Date: 2025-09-10 11:27
52
+ */
53
+ var tagStyle = useCallback(function (tag) {
54
+ return {
55
+ background: tag.background,
56
+ padding: "".concat(tag.paddingY, "px ").concat(tag.paddingX, "px"),
57
+ borderRadius: tag.radius,
58
+ border: tag.isBorder ? "".concat(tag.borderWidth, "px solid ").concat(tag.borderColor) : 'none',
59
+ margin: 0,
60
+ lineHeight: '18px'
61
+ };
62
+ }, [marginX]);
63
+
64
+ /**
65
+ * @title: 处理促销信息数据
66
+ * @description:
67
+ * @param {*} useMemo
68
+ * @return {*}
69
+ * @Author: WangHan
70
+ * @Date: 2025-09-11 10:59
71
+ */
72
+ var listsResult = useMemo(function () {
73
+ if (isShowAll) {
74
+ return listsData;
75
+ }
76
+ return listsData.slice(0, maxCount);
77
+ }, [listsData, isShowAll, maxCount]);
78
+ if (listsData.length === 0) return null;
79
+ return /*#__PURE__*/React.createElement("div", {
80
+ className: "".concat(PREFIX, "__card-promotions"),
81
+ style: {
82
+ gap: "".concat(marginX, "px")
83
+ }
84
+ }, listsResult.map(function (tag, tagIndex) {
85
+ return /*#__PURE__*/React.createElement(PisellTags, _extends({
86
+ key: tagIndex,
87
+ style: _objectSpread({}, tagStyle(tag))
88
+ }, tag.props), /*#__PURE__*/React.createElement("span", {
89
+ style: textStyle(tag)
90
+ }, tag === null || tag === void 0 ? void 0 : tag.title));
91
+ }), (listsData === null || listsData === void 0 ? void 0 : listsData.length) > listsResult.length && /*#__PURE__*/React.createElement("div", {
92
+ className: "".concat(PREFIX, "__card-tags-remaining")
93
+ }, "+", (listsData === null || listsData === void 0 ? void 0 : listsData.length) - listsResult.length));
94
+ };
95
+ export default Promotions;
@@ -0,0 +1,18 @@
1
+ .pisell-product-sku__card-promotions {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ align-items: center;
5
+ overflow: hidden;
6
+ max-width: 100%;
7
+ min-width: 0;
8
+ flex-shrink: 1;
9
+
10
+ &-remaining {
11
+ color: #b42318;
12
+ font-size: 12px;
13
+ font-weight: 500;
14
+ line-height: 18px;
15
+ word-wrap: break-word;
16
+ margin-left: 4px;
17
+ }
18
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ProductCardConfig } from '../../type';
3
+ declare const Resource: ({ props }: {
4
+ props: ProductCardConfig;
5
+ }) => string | number | true | React.ReactFragment | JSX.Element | null;
6
+ export default Resource;
@@ -0,0 +1,31 @@
1
+ import React, { useMemo } from 'react';
2
+ import { PREFIX } from "../../status";
3
+ var Resource = function Resource(_ref) {
4
+ var props = _ref.props;
5
+ var dataSource = props.dataSource,
6
+ skuTextConfig = props.skuTextConfig;
7
+ var _ref2 = (skuTextConfig === null || skuTextConfig === void 0 ? void 0 : skuTextConfig.skuResourceConfig) || {},
8
+ isOpen = _ref2.isOpen,
9
+ fontSize = _ref2.fontSize,
10
+ fontWeight = _ref2.fontWeight,
11
+ color = _ref2.color,
12
+ customText = _ref2.customText;
13
+
14
+ // 不开启
15
+ if (!isOpen) return null;
16
+
17
+ // 自定义文本
18
+ if (customText) return customText;
19
+ var finalStyle = useMemo(function () {
20
+ return {
21
+ fontSize: fontSize,
22
+ fontWeight: fontWeight,
23
+ color: color
24
+ };
25
+ }, [fontSize, fontWeight, color]);
26
+ return dataSource !== null && dataSource !== void 0 && dataSource.resources ? /*#__PURE__*/React.createElement("div", {
27
+ className: "".concat(PREFIX, "__card-resource"),
28
+ style: finalStyle
29
+ }, dataSource === null || dataSource === void 0 ? void 0 : dataSource.resources) : null;
30
+ };
31
+ export default Resource;
@@ -0,0 +1,3 @@
1
+ .pisell-product-sku__card-resource {
2
+ line-height: 20px;
3
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ProductCardConfig } from '../../type';
3
+ declare const Stock: ({ props }: {
4
+ props: ProductCardConfig;
5
+ }) => string | number | true | React.ReactFragment | JSX.Element | null;
6
+ export default Stock;
@@ -0,0 +1,47 @@
1
+ import React, { useMemo } from 'react';
2
+ import { locales } from '@pisell/utils';
3
+ import { PREFIX } from "../../status";
4
+ var Stock = function Stock(_ref) {
5
+ var props = _ref.props;
6
+ var dataSource = props.dataSource,
7
+ skuTextConfig = props.skuTextConfig;
8
+ var _ref2 = (skuTextConfig === null || skuTextConfig === void 0 ? void 0 : skuTextConfig.skuStockConfig) || {},
9
+ isOpen = _ref2.isOpen,
10
+ fontSize = _ref2.fontSize,
11
+ fontWeight = _ref2.fontWeight,
12
+ color = _ref2.color,
13
+ customText = _ref2.customText;
14
+
15
+ // 不开启
16
+ if (!isOpen) return null;
17
+
18
+ // 自定义文本
19
+ if (customText) return customText;
20
+ var finalStyle = useMemo(function () {
21
+ return {
22
+ fontSize: fontSize,
23
+ fontWeight: fontWeight,
24
+ color: color
25
+ };
26
+ }, [fontSize, fontWeight, color]);
27
+
28
+ /**
29
+ * @title: 库存文本
30
+ * @description:
31
+ * @param {*} useMemo
32
+ * @return {*}
33
+ * @Author: WangHan
34
+ * @Date: 2025-09-08 15:31
35
+ */
36
+ var stockText = useMemo(function () {
37
+ if ((dataSource === null || dataSource === void 0 ? void 0 : dataSource.is_track) === 0) {
38
+ return null;
39
+ }
40
+ return "".concat(locales.getText('pisell2.sku-card.stock'), ": ").concat(dataSource === null || dataSource === void 0 ? void 0 : dataSource.stock_quantity);
41
+ }, [dataSource === null || dataSource === void 0 ? void 0 : dataSource.stock_quantity, dataSource === null || dataSource === void 0 ? void 0 : dataSource.is_track]);
42
+ return !!(dataSource !== null && dataSource !== void 0 && dataSource.is_track) ? /*#__PURE__*/React.createElement("div", {
43
+ className: "".concat(PREFIX, "__card-stock"),
44
+ style: finalStyle
45
+ }, stockText) : null;
46
+ };
47
+ export default Stock;
@@ -0,0 +1,3 @@
1
+ .pisell-product-sku__card-stock {
2
+ line-height: 20px;
3
+ }
@@ -0,0 +1,6 @@
1
+ import { ProductCardConfig } from '../../type';
2
+ import './index.less';
3
+ declare const SubTitle: ({ props }: {
4
+ props: ProductCardConfig;
5
+ }) => JSX.Element | null;
6
+ export default SubTitle;
@@ -0,0 +1,34 @@
1
+ import React, { useMemo } from 'react';
2
+ import useEngineContext from "../../../../../../hooks/useEngineContext";
3
+ import { PREFIX } from "../../status";
4
+ import "./index.less";
5
+ var SubTitle = function SubTitle(_ref) {
6
+ var _engineContext$appHel2;
7
+ var props = _ref.props;
8
+ var dataSource = props.dataSource,
9
+ skuTextConfig = props.skuTextConfig;
10
+ var engineContext = useEngineContext();
11
+ var _engineContext$appHel = (_engineContext$appHel2 = engineContext.appHelper) === null || _engineContext$appHel2 === void 0 ? void 0 : _engineContext$appHel2.utils,
12
+ translation = _engineContext$appHel.translation;
13
+ var _ref2 = (skuTextConfig === null || skuTextConfig === void 0 ? void 0 : skuTextConfig.skuSubtitleConfig) || {},
14
+ isOpen = _ref2.isOpen,
15
+ value = _ref2.value,
16
+ fontSize = _ref2.fontSize,
17
+ fontWeight = _ref2.fontWeight,
18
+ color = _ref2.color,
19
+ ellipsisCount = _ref2.ellipsisCount;
20
+ if (!isOpen) return null;
21
+ var finalStyle = useMemo(function () {
22
+ return {
23
+ fontSize: fontSize,
24
+ fontWeight: fontWeight,
25
+ color: color,
26
+ lineClamp: ellipsisCount
27
+ };
28
+ }, [fontSize, fontWeight, color, ellipsisCount]);
29
+ return /*#__PURE__*/React.createElement("div", {
30
+ className: "".concat(PREFIX, "__card-subtitle"),
31
+ style: finalStyle
32
+ }, translation(value || (dataSource === null || dataSource === void 0 ? void 0 : dataSource.subtitle)));
33
+ };
34
+ export default SubTitle;
@@ -0,0 +1,13 @@
1
+ .pisell-product-sku__card-subtitle {
2
+ color: var(--ps-color-text, #1b1b1b);
3
+ font-size: 16px;
4
+ font-style: normal;
5
+ font-weight: 500;
6
+ line-height: 24px;
7
+ display: -webkit-box;
8
+ line-clamp: 2;
9
+ -webkit-line-clamp: 2;
10
+ -webkit-box-orient: vertical;
11
+ overflow: hidden;
12
+ text-overflow: ellipsis;
13
+ }
@@ -0,0 +1,6 @@
1
+ import { ProductCardConfig } from '../../type';
2
+ import './index.less';
3
+ declare const Tags: ({ props }: {
4
+ props: ProductCardConfig;
5
+ }) => JSX.Element | null;
6
+ export default Tags;
@@ -0,0 +1,95 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ import React, { useCallback, useMemo } from 'react';
9
+ import { PisellTags } from '@pisell/materials';
10
+ import { PREFIX } from "../../status";
11
+ import "./index.less";
12
+ var Tags = function Tags(_ref) {
13
+ var props = _ref.props;
14
+ var dataSource = props.dataSource,
15
+ skuTextConfig = props.skuTextConfig;
16
+ var _ref2 = (skuTextConfig === null || skuTextConfig === void 0 ? void 0 : skuTextConfig.skuTagsConfig) || {},
17
+ isOpen = _ref2.isOpen,
18
+ marginX = _ref2.marginX,
19
+ isShowAll = _ref2.isShowAll,
20
+ maxCount = _ref2.maxCount,
21
+ lists = _ref2.lists;
22
+ if (!isOpen) return null;
23
+ var listsData = useMemo(function () {
24
+ var _dataSource$tags;
25
+ var _lists = dataSource !== null && dataSource !== void 0 && (_dataSource$tags = dataSource.tags) !== null && _dataSource$tags !== void 0 && _dataSource$tags.length ? dataSource === null || dataSource === void 0 ? void 0 : dataSource.tags : lists;
26
+ return _lists || [];
27
+ }, [dataSource === null || dataSource === void 0 ? void 0 : dataSource.tags, lists]);
28
+
29
+ /**
30
+ * @title: 文本样式
31
+ * @description:
32
+ * @param {*} useCallback
33
+ * @return {*}
34
+ * @Author: WangHan
35
+ * @Date: 2025-09-10 11:27
36
+ */
37
+ var textStyle = useCallback(function (tag) {
38
+ return {
39
+ fontSize: tag.fontSize,
40
+ fontWeight: tag.fontWeight,
41
+ color: tag.color
42
+ };
43
+ }, []);
44
+
45
+ /**
46
+ * @title: 标签样式
47
+ * @description:
48
+ * @param {*} useCallback
49
+ * @return {*}
50
+ * @Author: WangHan
51
+ * @Date: 2025-09-10 11:27
52
+ */
53
+ var tagStyle = useCallback(function (tag) {
54
+ return {
55
+ background: tag.background,
56
+ padding: "".concat(tag.paddingY, "px ").concat(tag.paddingX, "px"),
57
+ borderRadius: tag.radius,
58
+ border: tag.isBorder ? "".concat(tag.borderWidth, "px solid ").concat(tag.borderColor) : 'none',
59
+ margin: 0,
60
+ lineHeight: '18px'
61
+ };
62
+ }, [marginX]);
63
+
64
+ /**
65
+ * @title: 处理标签数据
66
+ * @description:
67
+ * @param {*} useMemo
68
+ * @return {*}
69
+ * @Author: WangHan
70
+ * @Date: 2025-09-11 10:59
71
+ */
72
+ var listsResult = useMemo(function () {
73
+ if (isShowAll) {
74
+ return listsData;
75
+ }
76
+ return listsData.slice(0, maxCount);
77
+ }, [listsData, isShowAll, maxCount]);
78
+ if (listsData.length === 0) return null;
79
+ return /*#__PURE__*/React.createElement("div", {
80
+ className: "".concat(PREFIX, "__card-tags"),
81
+ style: {
82
+ gap: "".concat(marginX, "px")
83
+ }
84
+ }, listsResult.map(function (tag, tagIndex) {
85
+ return /*#__PURE__*/React.createElement(PisellTags, _extends({
86
+ key: tagIndex,
87
+ style: _objectSpread({}, tagStyle(tag))
88
+ }, tag.props), /*#__PURE__*/React.createElement("span", {
89
+ style: textStyle(tag)
90
+ }, tag === null || tag === void 0 ? void 0 : tag.title));
91
+ }), (listsData === null || listsData === void 0 ? void 0 : listsData.length) > listsResult.length && /*#__PURE__*/React.createElement("div", {
92
+ className: "".concat(PREFIX, "__card-tags-remaining")
93
+ }, "+", (listsData === null || listsData === void 0 ? void 0 : listsData.length) - listsResult.length));
94
+ };
95
+ export default Tags;
@@ -0,0 +1,18 @@
1
+ .pisell-product-sku__card-tags {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ align-items: center;
5
+ overflow: hidden;
6
+ max-width: 100%;
7
+ min-width: 0;
8
+ flex-shrink: 1;
9
+
10
+ &-remaining {
11
+ color: #b42318;
12
+ font-size: 12px;
13
+ font-weight: 500;
14
+ line-height: 18px;
15
+ word-wrap: break-word;
16
+ margin-left: 4px;
17
+ }
18
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { ProductCardConfig } from '../../type';
3
+ declare const Time: ({ props }: {
4
+ props: ProductCardConfig;
5
+ }) => string | number | true | React.ReactFragment | JSX.Element | null;
6
+ export default Time;
@@ -0,0 +1,31 @@
1
+ import React, { useMemo } from 'react';
2
+ import { PREFIX } from "../../status";
3
+ var Time = function Time(_ref) {
4
+ var props = _ref.props;
5
+ var dataSource = props.dataSource,
6
+ skuTextConfig = props.skuTextConfig;
7
+ var _ref2 = (skuTextConfig === null || skuTextConfig === void 0 ? void 0 : skuTextConfig.skuTimeConfig) || {},
8
+ isOpen = _ref2.isOpen,
9
+ fontSize = _ref2.fontSize,
10
+ fontWeight = _ref2.fontWeight,
11
+ color = _ref2.color,
12
+ customText = _ref2.customText;
13
+
14
+ // 不开启
15
+ if (!isOpen) return null;
16
+
17
+ // 自定义文本
18
+ if (customText) return customText;
19
+ var finalStyle = useMemo(function () {
20
+ return {
21
+ fontSize: fontSize,
22
+ fontWeight: fontWeight,
23
+ color: color
24
+ };
25
+ }, [fontSize, fontWeight, color]);
26
+ return dataSource !== null && dataSource !== void 0 && dataSource.time ? /*#__PURE__*/React.createElement("div", {
27
+ className: "".concat(PREFIX, "__card-time"),
28
+ style: finalStyle
29
+ }, dataSource === null || dataSource === void 0 ? void 0 : dataSource.time) : null;
30
+ };
31
+ export default Time;
@@ -0,0 +1,3 @@
1
+ .pisell-product-sku__card-time {
2
+ line-height: 20px;
3
+ }
@@ -0,0 +1,6 @@
1
+ import { ProductCardConfig } from '../../type';
2
+ import './index.less';
3
+ declare const Title: ({ props }: {
4
+ props: ProductCardConfig;
5
+ }) => JSX.Element | null;
6
+ export default Title;