@pisell/private-materials 6.3.3 → 6.3.5

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 (441) 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/render/default/view.css +1 -1
  7. package/build/lowcode/render/default/view.js +7 -7
  8. package/build/lowcode/view.css +1 -1
  9. package/build/lowcode/view.js +7 -7
  10. package/es/businessModel/SalesModel/index.d.ts +1 -0
  11. package/es/components/Sales/Summary/utils.d.ts +1 -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/Header/index.d.ts +1 -0
  15. package/es/components/appointmentBooking/components/Services/index.js +2 -2
  16. package/es/components/appointmentBooking/index.js +8 -2
  17. package/es/components/booking/addons/model.d.ts +1 -10
  18. package/es/components/booking/components/TabProduct/index.d.ts +1 -0
  19. package/es/components/booking/components/TabProduct/productItem/index.d.ts +1 -0
  20. package/es/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
  21. package/es/components/booking/components/TabProduct/tabs/index.js +5 -1
  22. package/es/components/booking/components/browserSelect/index.js +1 -1
  23. package/es/components/booking/components/collapsibleList/utils.d.ts +1 -0
  24. package/es/components/booking/components/emptyBooking/index.d.ts +1 -0
  25. package/es/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
  26. package/es/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  27. package/es/components/booking/components/reloadResourceModal/index.d.ts +1 -0
  28. package/es/components/booking/deposit/index.d.ts +1 -0
  29. package/es/components/booking/forms/model.d.ts +1 -10
  30. package/es/components/booking/forms/model.js +5 -5
  31. package/es/components/booking/forms/single/index.d.ts +1 -0
  32. package/es/components/booking/forms/table/index.d.ts +1 -0
  33. package/es/components/booking/info/addServiceVariant/index.d.ts +1 -0
  34. package/es/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
  35. package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  36. package/es/components/booking/info/date/index.d.ts +1 -0
  37. package/es/components/booking/info/header/index.d.ts +1 -0
  38. package/es/components/booking/info/index.d.ts +1 -0
  39. package/es/components/booking/info/model.d.ts +1 -10
  40. package/es/components/booking/info/notes/index.d.ts +1 -0
  41. package/es/components/booking/info/service/actions/index.d.ts +1 -0
  42. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  43. package/es/components/booking/info/service/like/index.d.ts +1 -0
  44. package/es/components/booking/info/service/like/index.js +1 -1
  45. package/es/components/booking/info/service/serviceList/index.d.ts +1 -0
  46. package/es/components/booking/info/service2/Lists.d.ts +1 -0
  47. package/es/components/booking/info/service2/utils.d.ts +1 -1
  48. package/es/components/booking/info/utils.js +1 -1
  49. package/es/components/booking/info2/service/actions/index.d.ts +1 -0
  50. package/es/components/booking/info2/service/addService/index.d.ts +1 -0
  51. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  52. package/es/components/booking/info2/service/addTimeModal/index.js +0 -1
  53. package/es/components/booking/info2/service/serviceList/index.d.ts +1 -0
  54. package/es/components/booking/materiels/contacts/index.d.ts +1 -0
  55. package/es/components/booking/materiels/duration/index.d.ts +1 -0
  56. package/es/components/booking/materiels/holder/index.d.ts +1 -0
  57. package/es/components/booking/materiels/startTime/index.d.ts +1 -0
  58. package/es/components/booking/model.d.ts +1 -9
  59. package/es/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
  60. package/es/components/booking/notes/NoteBlock/NoteItem/index.js +1 -1
  61. package/es/components/booking/notes/NoteBlock/index.d.ts +1 -0
  62. package/es/components/booking/notes/NoteBlock/index.js +11 -11
  63. package/es/components/booking/notes/model.d.ts +1 -10
  64. package/es/components/booking/notes/model.js +5 -5
  65. package/es/components/booking/payments/model.d.ts +1 -10
  66. package/es/components/booking/payments/model.js +5 -5
  67. package/es/components/booking/utils.d.ts +2 -2
  68. package/es/components/eftpos/deviceList/index.d.ts +1 -0
  69. package/es/components/eftpos/form/index.d.ts +1 -0
  70. package/es/components/eftpos/group/index.d.ts +1 -0
  71. package/es/components/eftpos/hooks.d.ts +1 -0
  72. package/es/components/eftpos/icon/apiKey.d.ts +1 -0
  73. package/es/components/eftpos/icon/device.d.ts +1 -0
  74. package/es/components/eftpos/index.d.ts +1 -0
  75. package/es/components/eftpos/pos.d.ts +1 -0
  76. package/es/components/eftpos/receipt/index.d.ts +1 -0
  77. package/es/components/eftpos/surcharge/index.d.ts +1 -0
  78. package/es/components/eftposPay/amount.d.ts +2 -1
  79. package/es/components/eftposPay/app.d.ts +1 -0
  80. package/es/components/eftposPay/component/alert/warn.d.ts +1 -0
  81. package/es/components/eftposPay/component/fail/network.d.ts +1 -0
  82. package/es/components/eftposPay/component/header/titlebar.d.ts +1 -0
  83. package/es/components/eftposPay/component/manual/index.d.ts +1 -0
  84. package/es/components/eftposPay/component/signature/index.d.ts +1 -0
  85. package/es/components/eftposPay/component/step/index.d.ts +1 -0
  86. package/es/components/eftposPay/component/step/step.d.ts +1 -0
  87. package/es/components/eftposPay/device.d.ts +2 -1
  88. package/es/components/eftposPay/hooks.d.ts +2 -2
  89. package/es/components/eftposPay/payo/config.d.ts +1 -0
  90. package/es/components/eftposPay/store/index.d.ts +4 -4
  91. package/es/components/eftposPay/tip.d.ts +1 -0
  92. package/es/components/eftposPay/tyro/hooks.d.ts +1 -0
  93. package/es/components/eftposPay/windcave/receiptAction.d.ts +1 -0
  94. package/es/components/eftposPay/windcave/windcave.d.ts +1 -0
  95. package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +1 -0
  96. package/es/components/eventBooking/components/Provider/Content/index.d.ts +1 -0
  97. package/es/components/eventBooking/components/Provider/Header/index.d.ts +1 -0
  98. package/es/components/eventBooking/components/Provider/SelectHolderModal.d.ts +1 -0
  99. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
  100. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  101. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  102. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
  103. package/es/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +1 -0
  104. package/es/components/eventBooking/components/bookingDetailModal/components/Schedule.d.ts +1 -0
  105. package/es/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
  106. package/es/components/eventBooking/index.d.ts +1 -0
  107. package/es/components/eventBooking/index.js +8 -1
  108. package/es/components/listComponent/index.js +5 -5
  109. package/es/components/login/index.d.ts +1 -0
  110. package/es/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  111. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +1 -0
  112. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  113. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  114. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +1 -0
  115. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +1 -0
  116. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +1 -0
  117. package/es/components/pay/toC/model.d.ts +1 -9
  118. package/es/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
  119. package/es/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
  120. package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +1 -0
  121. package/es/components/pisellSelectCustomerModal/RightPanel/Add/index.d.ts +1 -0
  122. package/es/components/pisellSelectCustomerModal/RightPanel/index.d.ts +1 -0
  123. package/es/components/productExtension/card/index.js +3 -3
  124. package/es/components/productExtension/fields/Actor/CutOffTime/index.js +1 -1
  125. package/es/components/productExtension/fields/Actor/index.d.ts +1 -0
  126. package/es/components/productExtension/fields/Forms/index.d.ts +1 -0
  127. package/es/components/productExtension/fields/Forms/index.js +12 -12
  128. package/es/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +1 -0
  129. package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
  130. package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.js +1 -1
  131. package/es/components/productExtension/fields/SelectProducts/index.d.ts +1 -0
  132. package/es/components/productExtension/fields/SelectProducts/server.js +2 -2
  133. package/es/components/productExtension/fields/SelectResourcesTable/index.d.ts +1 -0
  134. package/es/components/productExtension/fields/SelectResourcesTable/server.js +2 -2
  135. package/es/components/productExtension/index.d.ts +1 -0
  136. package/es/components/productExtension/server.js +2 -2
  137. package/es/components/ruleSetting/ruleBorder/index.d.ts +1 -0
  138. package/es/components/ruleSetting/ruleBorder/index.js +1 -1
  139. package/es/components/schedules/calendar/calendarItem.d.ts +1 -0
  140. package/es/components/schedules/calendar/index.d.ts +1 -0
  141. package/es/components/schedules/calendar/index.js +4 -4
  142. package/es/components/schedules/calendar/serve.js +2 -2
  143. package/es/components/schedules/components/CurrentDay/index.d.ts +1 -0
  144. package/es/components/schedules/components/CurrentDay/index.js +5 -5
  145. package/es/components/schedules/components/CurrentDay/serve.js +2 -2
  146. package/es/components/schedules/components/DropdownSort/index.js +1 -1
  147. package/es/components/schedules/components/ResourceList/index.js +1 -1
  148. package/es/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
  149. package/es/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  150. package/es/components/schedules/components/ScheduleList/index.d.ts +1 -0
  151. package/es/components/schedules/components/Search/index.js +5 -5
  152. package/es/components/schedules/model.d.ts +1 -9
  153. package/es/components/schedules/model.js +5 -5
  154. package/es/components/schedules/openHours/index.js +1 -1
  155. package/es/components/schedules/openHours/serve.js +2 -2
  156. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
  157. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.js +1 -1
  158. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
  159. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.js +5 -5
  160. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  161. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  162. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.js +4 -4
  163. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
  164. package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
  165. package/es/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
  166. package/es/components/schedules/products/ProductDetailDrawer/index.js +3 -3
  167. package/es/components/schedules/products/index.d.ts +1 -0
  168. package/es/components/schedules/products/list/ProductItem/index.d.ts +1 -0
  169. package/es/components/schedules/products/list/index.d.ts +1 -0
  170. package/es/components/schedules/products/serve.js +2 -2
  171. package/es/components/schedules/products/utils.js +5 -5
  172. package/es/components/schedules/resources/detail/detailContent.js +2 -2
  173. package/es/components/schedules/resources/detail/index.js +10 -10
  174. package/es/components/schedules/resources/index.d.ts +1 -0
  175. package/es/components/schedules/resources/list/index.d.ts +1 -0
  176. package/es/components/schedules/resources/list/index.js +2 -2
  177. package/es/components/schedules/resources/relationProduct/index.d.ts +1 -0
  178. package/es/components/schedules/resources/relationProduct/index.js +1 -1
  179. package/es/components/schedules/resources/serve.js +2 -2
  180. package/es/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
  181. package/es/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
  182. package/es/components/schedules/schedules/ScheduleDetailDrawer/index.js +9 -9
  183. package/es/components/schedules/schedules/index.d.ts +1 -0
  184. package/es/components/schedules/utils.js +4 -4
  185. package/es/components/selectModal/index.js +2 -2
  186. package/es/components/shoppingCart/components/Empty/index.d.ts +1 -0
  187. package/es/components/shoppingCart/components/Render/index.d.ts +1 -0
  188. package/es/components/shoppingCart/index.d.ts +1 -0
  189. package/es/components/taxSelect/index.d.ts +1 -0
  190. package/es/components/ticketBooking/components/addServiceVariant/addService.js +2 -2
  191. package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +1 -0
  192. package/es/components/ticketBooking/components/ticketBooking/index.js +3 -0
  193. package/es/components/wallet/Detail/model.d.ts +1 -13
  194. package/es/components/wallet/DiscountCard/model.d.ts +1 -14
  195. package/es/components/wallet/PointCard/model.d.ts +1 -13
  196. package/es/components/wallet/RechargeableCard/model.d.ts +1 -29
  197. package/es/components/wallet/Voucher/model.d.ts +1 -13
  198. package/es/components/wallet/hooks/useWalletCard.d.ts +1 -0
  199. package/es/components/wallet/model.d.ts +1 -9
  200. package/es/hooks/useComponents.js +1 -1
  201. package/es/hooks/useWindowSize.js +8 -1
  202. package/es/plus/productSelect/CategoryTabs/CategorySkeleton.d.ts +10 -0
  203. package/es/plus/productSelect/CategoryTabs/CategorySkeleton.js +29 -0
  204. package/es/plus/productSelect/CategoryTabs/CategorySkeleton.less +30 -0
  205. package/es/plus/productSelect/CategoryTabs/index.d.ts +18 -0
  206. package/es/plus/productSelect/CategoryTabs/index.js +171 -0
  207. package/es/plus/productSelect/ProductCard/ProductCardSkeleton.d.ts +10 -0
  208. package/es/plus/productSelect/ProductCard/ProductCardSkeleton.js +37 -0
  209. package/es/plus/productSelect/ProductCard/ProductCardSkeleton.less +81 -0
  210. package/es/plus/productSelect/ProductCard/index.d.ts +45 -0
  211. package/es/plus/productSelect/ProductCard/index.js +170 -0
  212. package/es/plus/productSelect/ProductCard/index.less +270 -0
  213. package/es/plus/productSelect/ProductList/gridComponents.d.ts +44 -0
  214. package/es/plus/productSelect/ProductList/gridComponents.js +149 -0
  215. package/es/plus/productSelect/ProductList/index.d.ts +22 -0
  216. package/es/plus/productSelect/ProductList/index.js +72 -0
  217. package/es/plus/productSelect/ProductList/index.less +0 -0
  218. package/es/plus/productSelect/components/IntersectionObserver.d.ts +42 -0
  219. package/es/plus/productSelect/components/IntersectionObserver.js +276 -0
  220. package/es/plus/productSelect/components/TabsStructure/TabsStructure.d.ts +30 -0
  221. package/es/plus/productSelect/components/TabsStructure/TabsStructure.js +357 -0
  222. package/es/plus/productSelect/components/TabsStructure/TabsStructure.less +224 -0
  223. package/es/plus/productSelect/components/TabsStructure/hooks.d.ts +22 -0
  224. package/es/plus/productSelect/components/TabsStructure/hooks.js +243 -0
  225. package/es/plus/productSelect/components/TabsStructure/index.d.ts +5 -0
  226. package/es/plus/productSelect/components/TabsStructure/index.js +13 -0
  227. package/es/plus/productSelect/components/TabsStructure/styles.d.ts +47 -0
  228. package/es/plus/productSelect/components/TabsStructure/styles.js +87 -0
  229. package/es/plus/productSelect/components/TabsStructure/types.d.ts +105 -0
  230. package/es/plus/productSelect/components/TabsStructure/types.js +1 -0
  231. package/es/plus/productSelect/components/TabsStructure/utils.d.ts +12 -0
  232. package/es/plus/productSelect/components/TabsStructure/utils.js +56 -0
  233. package/es/plus/productSelect/components/pisellPriceText/index.d.ts +11 -0
  234. package/es/plus/productSelect/components/pisellPriceText/index.js +43 -0
  235. package/es/plus/productSelect/hooks/useToken.d.ts +18 -0
  236. package/es/plus/productSelect/hooks/useToken.js +34 -0
  237. package/es/plus/productSelect/index.d.ts +31 -0
  238. package/es/plus/productSelect/index.js +270 -0
  239. package/es/plus/productSelect/index.less +56 -0
  240. package/es/plus/productSelect/locales.d.ts +18 -0
  241. package/es/plus/productSelect/locales.js +17 -0
  242. package/es/plus/productSelect/theme/token.d.ts +17 -0
  243. package/es/plus/productSelect/theme/token.js +19 -0
  244. package/es/plus/productSelect/utils.d.ts +39 -0
  245. package/es/plus/productSelect/utils.js +162 -0
  246. package/lib/businessModel/SalesModel/index.d.ts +1 -0
  247. package/lib/components/Sales/Summary/utils.d.ts +1 -1
  248. package/lib/components/appointmentBooking/components/Content/index.js +1 -1
  249. package/lib/components/appointmentBooking/components/Content/index.less +3 -3
  250. package/lib/components/appointmentBooking/components/Header/index.d.ts +1 -0
  251. package/lib/components/appointmentBooking/components/Services/index.js +2 -2
  252. package/lib/components/appointmentBooking/index.js +6 -1
  253. package/lib/components/booking/addons/model.d.ts +1 -10
  254. package/lib/components/booking/components/TabProduct/index.d.ts +1 -0
  255. package/lib/components/booking/components/TabProduct/productItem/index.d.ts +1 -0
  256. package/lib/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
  257. package/lib/components/booking/components/collapsibleList/utils.d.ts +1 -0
  258. package/lib/components/booking/components/emptyBooking/index.d.ts +1 -0
  259. package/lib/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
  260. package/lib/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  261. package/lib/components/booking/components/reloadResourceModal/index.d.ts +1 -0
  262. package/lib/components/booking/deposit/index.d.ts +1 -0
  263. package/lib/components/booking/forms/model.d.ts +1 -10
  264. package/lib/components/booking/forms/single/index.d.ts +1 -0
  265. package/lib/components/booking/forms/table/index.d.ts +1 -0
  266. package/lib/components/booking/info/addServiceVariant/index.d.ts +1 -0
  267. package/lib/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
  268. package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  269. package/lib/components/booking/info/date/index.d.ts +1 -0
  270. package/lib/components/booking/info/header/index.d.ts +1 -0
  271. package/lib/components/booking/info/index.d.ts +1 -0
  272. package/lib/components/booking/info/model.d.ts +1 -10
  273. package/lib/components/booking/info/notes/index.d.ts +1 -0
  274. package/lib/components/booking/info/service/actions/index.d.ts +1 -0
  275. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  276. package/lib/components/booking/info/service/like/index.d.ts +1 -0
  277. package/lib/components/booking/info/service/serviceList/index.d.ts +1 -0
  278. package/lib/components/booking/info/service2/Lists.d.ts +1 -0
  279. package/lib/components/booking/info/service2/utils.d.ts +1 -1
  280. package/lib/components/booking/info/utils.js +2 -1
  281. package/lib/components/booking/info2/service/actions/index.d.ts +1 -0
  282. package/lib/components/booking/info2/service/addService/index.d.ts +1 -0
  283. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  284. package/lib/components/booking/info2/service/addTimeModal/index.js +0 -1
  285. package/lib/components/booking/info2/service/serviceList/index.d.ts +1 -0
  286. package/lib/components/booking/materiels/contacts/index.d.ts +1 -0
  287. package/lib/components/booking/materiels/duration/index.d.ts +1 -0
  288. package/lib/components/booking/materiels/holder/index.d.ts +1 -0
  289. package/lib/components/booking/materiels/startTime/index.d.ts +1 -0
  290. package/lib/components/booking/model.d.ts +1 -9
  291. package/lib/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
  292. package/lib/components/booking/notes/NoteBlock/index.d.ts +1 -0
  293. package/lib/components/booking/notes/model.d.ts +1 -10
  294. package/lib/components/booking/payments/model.d.ts +1 -10
  295. package/lib/components/booking/utils.d.ts +2 -2
  296. package/lib/components/eftpos/deviceList/index.d.ts +1 -0
  297. package/lib/components/eftpos/form/index.d.ts +1 -0
  298. package/lib/components/eftpos/group/index.d.ts +1 -0
  299. package/lib/components/eftpos/hooks.d.ts +1 -0
  300. package/lib/components/eftpos/icon/apiKey.d.ts +1 -0
  301. package/lib/components/eftpos/icon/device.d.ts +1 -0
  302. package/lib/components/eftpos/index.d.ts +1 -0
  303. package/lib/components/eftpos/pos.d.ts +1 -0
  304. package/lib/components/eftpos/receipt/index.d.ts +1 -0
  305. package/lib/components/eftpos/surcharge/index.d.ts +1 -0
  306. package/lib/components/eftposPay/amount.d.ts +2 -1
  307. package/lib/components/eftposPay/app.d.ts +1 -0
  308. package/lib/components/eftposPay/component/alert/warn.d.ts +1 -0
  309. package/lib/components/eftposPay/component/fail/network.d.ts +1 -0
  310. package/lib/components/eftposPay/component/header/titlebar.d.ts +1 -0
  311. package/lib/components/eftposPay/component/manual/index.d.ts +1 -0
  312. package/lib/components/eftposPay/component/signature/index.d.ts +1 -0
  313. package/lib/components/eftposPay/component/step/index.d.ts +1 -0
  314. package/lib/components/eftposPay/component/step/step.d.ts +1 -0
  315. package/lib/components/eftposPay/device.d.ts +2 -1
  316. package/lib/components/eftposPay/hooks.d.ts +2 -2
  317. package/lib/components/eftposPay/payo/config.d.ts +1 -0
  318. package/lib/components/eftposPay/store/index.d.ts +4 -4
  319. package/lib/components/eftposPay/tip.d.ts +1 -0
  320. package/lib/components/eftposPay/tyro/hooks.d.ts +1 -0
  321. package/lib/components/eftposPay/windcave/receiptAction.d.ts +1 -0
  322. package/lib/components/eftposPay/windcave/windcave.d.ts +1 -0
  323. package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +1 -0
  324. package/lib/components/eventBooking/components/Provider/Content/index.d.ts +1 -0
  325. package/lib/components/eventBooking/components/Provider/Header/index.d.ts +1 -0
  326. package/lib/components/eventBooking/components/Provider/SelectHolderModal.d.ts +1 -0
  327. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
  328. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  329. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  330. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
  331. package/lib/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +1 -0
  332. package/lib/components/eventBooking/components/bookingDetailModal/components/Schedule.d.ts +1 -0
  333. package/lib/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
  334. package/lib/components/eventBooking/index.d.ts +1 -0
  335. package/lib/components/eventBooking/index.js +6 -1
  336. package/lib/components/login/index.d.ts +1 -0
  337. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  338. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +1 -0
  339. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  340. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  341. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +1 -0
  342. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +1 -0
  343. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +1 -0
  344. package/lib/components/pay/toC/model.d.ts +1 -9
  345. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
  346. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
  347. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +1 -0
  348. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/index.d.ts +1 -0
  349. package/lib/components/pisellSelectCustomerModal/RightPanel/index.d.ts +1 -0
  350. package/lib/components/productExtension/fields/Actor/index.d.ts +1 -0
  351. package/lib/components/productExtension/fields/Forms/index.d.ts +1 -0
  352. package/lib/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +1 -0
  353. package/lib/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
  354. package/lib/components/productExtension/fields/SelectProducts/index.d.ts +1 -0
  355. package/lib/components/productExtension/fields/SelectResourcesTable/index.d.ts +1 -0
  356. package/lib/components/productExtension/index.d.ts +1 -0
  357. package/lib/components/ruleSetting/ruleBorder/index.d.ts +1 -0
  358. package/lib/components/schedules/calendar/calendarItem.d.ts +1 -0
  359. package/lib/components/schedules/calendar/index.d.ts +1 -0
  360. package/lib/components/schedules/components/CurrentDay/index.d.ts +1 -0
  361. package/lib/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
  362. package/lib/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  363. package/lib/components/schedules/components/ScheduleList/index.d.ts +1 -0
  364. package/lib/components/schedules/model.d.ts +1 -9
  365. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
  366. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
  367. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  368. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  369. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
  370. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
  371. package/lib/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
  372. package/lib/components/schedules/products/index.d.ts +1 -0
  373. package/lib/components/schedules/products/list/ProductItem/index.d.ts +1 -0
  374. package/lib/components/schedules/products/list/index.d.ts +1 -0
  375. package/lib/components/schedules/resources/index.d.ts +1 -0
  376. package/lib/components/schedules/resources/list/index.d.ts +1 -0
  377. package/lib/components/schedules/resources/relationProduct/index.d.ts +1 -0
  378. package/lib/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
  379. package/lib/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
  380. package/lib/components/schedules/schedules/index.d.ts +1 -0
  381. package/lib/components/schedules/utils.js +1 -1
  382. package/lib/components/shoppingCart/components/Empty/index.d.ts +1 -0
  383. package/lib/components/shoppingCart/components/Render/index.d.ts +1 -0
  384. package/lib/components/shoppingCart/index.d.ts +1 -0
  385. package/lib/components/taxSelect/index.d.ts +1 -0
  386. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +2 -2
  387. package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +1 -0
  388. package/lib/components/ticketBooking/components/ticketBooking/index.js +3 -0
  389. package/lib/components/wallet/Detail/model.d.ts +1 -13
  390. package/lib/components/wallet/DiscountCard/model.d.ts +1 -14
  391. package/lib/components/wallet/PointCard/model.d.ts +1 -13
  392. package/lib/components/wallet/RechargeableCard/model.d.ts +1 -29
  393. package/lib/components/wallet/Voucher/model.d.ts +1 -13
  394. package/lib/components/wallet/hooks/useWalletCard.d.ts +1 -0
  395. package/lib/components/wallet/model.d.ts +1 -9
  396. package/lib/hooks/useWindowSize.js +6 -1
  397. package/lib/plus/productSelect/CategoryTabs/CategorySkeleton.d.ts +10 -0
  398. package/lib/plus/productSelect/CategoryTabs/CategorySkeleton.js +62 -0
  399. package/lib/plus/productSelect/CategoryTabs/CategorySkeleton.less +30 -0
  400. package/lib/plus/productSelect/CategoryTabs/index.d.ts +18 -0
  401. package/lib/plus/productSelect/CategoryTabs/index.js +183 -0
  402. package/lib/plus/productSelect/ProductCard/ProductCardSkeleton.d.ts +10 -0
  403. package/lib/plus/productSelect/ProductCard/ProductCardSkeleton.js +58 -0
  404. package/lib/plus/productSelect/ProductCard/ProductCardSkeleton.less +81 -0
  405. package/lib/plus/productSelect/ProductCard/index.d.ts +45 -0
  406. package/lib/plus/productSelect/ProductCard/index.js +184 -0
  407. package/lib/plus/productSelect/ProductCard/index.less +270 -0
  408. package/lib/plus/productSelect/ProductList/gridComponents.d.ts +44 -0
  409. package/lib/plus/productSelect/ProductList/gridComponents.js +148 -0
  410. package/lib/plus/productSelect/ProductList/index.d.ts +22 -0
  411. package/lib/plus/productSelect/ProductList/index.js +86 -0
  412. package/lib/plus/productSelect/ProductList/index.less +0 -0
  413. package/lib/plus/productSelect/components/IntersectionObserver.d.ts +42 -0
  414. package/lib/plus/productSelect/components/IntersectionObserver.js +269 -0
  415. package/lib/plus/productSelect/components/TabsStructure/TabsStructure.d.ts +30 -0
  416. package/lib/plus/productSelect/components/TabsStructure/TabsStructure.js +393 -0
  417. package/lib/plus/productSelect/components/TabsStructure/TabsStructure.less +224 -0
  418. package/lib/plus/productSelect/components/TabsStructure/hooks.d.ts +22 -0
  419. package/lib/plus/productSelect/components/TabsStructure/hooks.js +209 -0
  420. package/lib/plus/productSelect/components/TabsStructure/index.d.ts +5 -0
  421. package/lib/plus/productSelect/components/TabsStructure/index.js +92 -0
  422. package/lib/plus/productSelect/components/TabsStructure/styles.d.ts +47 -0
  423. package/lib/plus/productSelect/components/TabsStructure/styles.js +122 -0
  424. package/lib/plus/productSelect/components/TabsStructure/types.d.ts +105 -0
  425. package/lib/plus/productSelect/components/TabsStructure/types.js +17 -0
  426. package/lib/plus/productSelect/components/TabsStructure/utils.d.ts +12 -0
  427. package/lib/plus/productSelect/components/TabsStructure/utils.js +72 -0
  428. package/lib/plus/productSelect/components/pisellPriceText/index.d.ts +11 -0
  429. package/lib/plus/productSelect/components/pisellPriceText/index.js +72 -0
  430. package/lib/plus/productSelect/hooks/useToken.d.ts +18 -0
  431. package/lib/plus/productSelect/hooks/useToken.js +50 -0
  432. package/lib/plus/productSelect/index.d.ts +31 -0
  433. package/lib/plus/productSelect/index.js +299 -0
  434. package/lib/plus/productSelect/index.less +56 -0
  435. package/lib/plus/productSelect/locales.d.ts +18 -0
  436. package/lib/plus/productSelect/locales.js +41 -0
  437. package/lib/plus/productSelect/theme/token.d.ts +17 -0
  438. package/lib/plus/productSelect/theme/token.js +47 -0
  439. package/lib/plus/productSelect/utils.d.ts +39 -0
  440. package/lib/plus/productSelect/utils.js +138 -0
  441. package/package.json +2 -2
@@ -0,0 +1,170 @@
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 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ 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); }
7
+ import React, { memo } from 'react';
8
+ import classNames from 'classnames';
9
+ import { locales, image as imageAli } from '@pisell/utils';
10
+ import Decimal from 'decimal.js';
11
+ import { IntersectionTrigger } from "../components/IntersectionObserver";
12
+ import PisellPriceText from "../components/pisellPriceText";
13
+ import ProductCardSkeleton from "./ProductCardSkeleton";
14
+ import "./index.less";
15
+ import { PREFIX } from "../index";
16
+
17
+ // 产品卡片配置接口
18
+
19
+ // 产品卡片属性接口
20
+
21
+ // 默认配置
22
+ var defaultConfig = {
23
+ isProductCover: 1,
24
+ imgWidth: '180px',
25
+ imgHeight: '126px',
26
+ radius: 8,
27
+ isTitle: 1,
28
+ isSubtitle: 0,
29
+ showSpec: true,
30
+ isTag: 0,
31
+ isPrice: 0,
32
+ isOriginPrice: 0,
33
+ showZeroPrice: false,
34
+ showMarketingTag: true,
35
+ showRemark: true,
36
+ isStock: 0
37
+ };
38
+
39
+ // 产品卡片组件
40
+ export var ProductCard = /*#__PURE__*/memo(function (_ref) {
41
+ var item = _ref.item,
42
+ index = _ref.index,
43
+ context = _ref.context,
44
+ onSelect = _ref.onSelect,
45
+ isSelected = _ref.isSelected,
46
+ className = _ref.className,
47
+ _ref$decorateConfig = _ref.decorateConfig,
48
+ decorateConfig = _ref$decorateConfig === void 0 ? {} : _ref$decorateConfig;
49
+ var finalConfig = _objectSpread(_objectSpread({}, defaultConfig), decorateConfig);
50
+ var imgHeight = finalConfig.imgHeight,
51
+ imgWidth = finalConfig.imgWidth,
52
+ isOriginPrice = finalConfig.isOriginPrice,
53
+ isPrice = finalConfig.isPrice,
54
+ isProductCover = finalConfig.isProductCover,
55
+ isStock = finalConfig.isStock,
56
+ isSubtitle = finalConfig.isSubtitle,
57
+ isTitle = finalConfig.isTitle,
58
+ radius = finalConfig.radius,
59
+ showZeroPrice = finalConfig.showZeroPrice;
60
+ var __typename = item.__typename;
61
+
62
+ // 如果是分类,显示分类样式
63
+ if (__typename === 'category') {
64
+ return /*#__PURE__*/React.createElement("div", {
65
+ className: classNames("".concat(PREFIX, "__product-category"), className),
66
+ "data-index": index,
67
+ "data-item-index": index
68
+ }, /*#__PURE__*/React.createElement("div", {
69
+ className: "category-title"
70
+ }, item.name));
71
+ }
72
+
73
+ // 获取库存文本
74
+ var getStockText = function getStockText(item) {
75
+ if (item.is_track === 0) {
76
+ return false;
77
+ }
78
+ return "".concat(locales.getText('pisell2.product-select.stock'), "\uFF1A").concat(item.stock_quantity);
79
+ };
80
+ var getTextCover = function getTextCover(title) {
81
+ if (!title) return '';
82
+ var cleanTitle = title.trim();
83
+ if (cleanTitle.length === 0) return '';
84
+ return cleanTitle.substring(0, 2).toUpperCase();
85
+ };
86
+
87
+ // 渲染价格
88
+ var renderPrice = function renderPrice(item) {
89
+ var _price = item.price,
90
+ _original_price = item.original_price,
91
+ is_bundle = item.is_bundle,
92
+ minimum_markup_price = item.minimum_markup_price;
93
+ var price = _price;
94
+ var original_price = _original_price;
95
+ if (is_bundle) {
96
+ price = new Decimal(price).plus(new Decimal(minimum_markup_price)).toFixed(2);
97
+ original_price = new Decimal(original_price).plus(new Decimal(minimum_markup_price)).toFixed(2);
98
+ }
99
+ if (!showZeroPrice && !parseFloat(price)) return null;
100
+ return !!isPrice || !!isOriginPrice ? /*#__PURE__*/React.createElement("div", {
101
+ className: "price-info"
102
+ }, isPrice ? /*#__PURE__*/React.createElement("div", {
103
+ className: "price"
104
+ }, /*#__PURE__*/React.createElement(PisellPriceText, {
105
+ value: price,
106
+ isMini: is_bundle
107
+ })) : null, !!isOriginPrice && parseFloat(original_price) ? /*#__PURE__*/React.createElement("div", {
108
+ className: "original-price"
109
+ }, /*#__PURE__*/React.createElement(PisellPriceText, {
110
+ value: original_price,
111
+ isMini: is_bundle
112
+ })) : null) : null;
113
+ };
114
+
115
+ // 产品卡片内容
116
+ var cardContent = /*#__PURE__*/React.createElement("div", {
117
+ className: classNames("".concat(PREFIX, "__product-card"), className, {
118
+ selected: isSelected
119
+ }),
120
+ onClick: function onClick() {
121
+ onSelect === null || onSelect === void 0 || onSelect(item);
122
+ },
123
+ "data-index": index,
124
+ "data-item-index": index
125
+ }, isProductCover ? /*#__PURE__*/React.createElement("div", {
126
+ className: "card-left",
127
+ style: {
128
+ width: imgWidth || 'auto',
129
+ height: imgHeight || 'auto'
130
+ }
131
+ }, item.cover ? /*#__PURE__*/React.createElement("img", {
132
+ loading: "lazy",
133
+ src: imageAli.ali(item.cover, 360),
134
+ alt: item.title,
135
+ style: {
136
+ borderRadius: radius
137
+ }
138
+ }) : /*#__PURE__*/React.createElement("div", {
139
+ className: "text-cover",
140
+ style: {
141
+ borderRadius: radius
142
+ }
143
+ }, getTextCover(item.title))) : null, /*#__PURE__*/React.createElement("div", {
144
+ className: "card-right"
145
+ }, !!isTitle ? /*#__PURE__*/React.createElement("div", {
146
+ className: "title"
147
+ }, item.title) : null, !!isSubtitle && item.subtitle ? /*#__PURE__*/React.createElement("div", {
148
+ className: "subtitle"
149
+ }, item.subtitle) : null, !!isStock && !!item.is_track ? /*#__PURE__*/React.createElement("div", {
150
+ className: "stock"
151
+ }, getStockText(item)) : null, renderPrice(item)));
152
+ if (context) {
153
+ return /*#__PURE__*/React.createElement(IntersectionTrigger, {
154
+ onShow: function onShow() {
155
+ return context.onItemIntersectionIn(item);
156
+ }
157
+ // onHide={() => context.onItemIntersectionOut(item)}
158
+ }, cardContent);
159
+ }
160
+ return cardContent;
161
+ });
162
+ ProductCard.displayName = 'ProductCard';
163
+
164
+ // 默认的ItemContent组件(保持向后兼容)
165
+ export var DefaultItemContent = /*#__PURE__*/memo(function (props) {
166
+ return /*#__PURE__*/React.createElement(ProductCard, props);
167
+ });
168
+ DefaultItemContent.displayName = 'DefaultItemContent';
169
+ export default ProductCard;
170
+ export { ProductCardSkeleton };
@@ -0,0 +1,270 @@
1
+ .pisell-product-select {
2
+ &__product-category {
3
+ padding: 4px 0;
4
+
5
+ &[data-index='0'] {
6
+ padding-top: 0px;
7
+ }
8
+ .category-title {
9
+ color: var(--ps-category-text-color, #000);
10
+ font-size: 18px;
11
+ font-style: normal;
12
+ font-weight: 600;
13
+ line-height: 24px;
14
+ }
15
+ }
16
+
17
+ &__product-card {
18
+ user-select: none;
19
+ cursor: pointer;
20
+ border-radius: 12px;
21
+ background: var(--ps-card-bg, #fff);
22
+ box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1),
23
+ 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
24
+ padding: 8px;
25
+ display: flex;
26
+ gap: 20px;
27
+ position: relative;
28
+ overflow: hidden;
29
+ min-height: 142px;
30
+ height: 100%;
31
+ align-items: center;
32
+ box-sizing: border-box;
33
+
34
+ // 只在非触摸设备上启用hover效果
35
+ @media (hover: hover) {
36
+ &:hover {
37
+ background: var(--ps-card-hover-bg, #eaecf0);
38
+ }
39
+ }
40
+
41
+ &.selected {
42
+ background: var(--ps-card-selected-bg, #8157d5);
43
+
44
+ .card-right {
45
+ .title,
46
+ .subtitle,
47
+ .price {
48
+ color: var(--ps-card-selected-text-color, #ffffff);
49
+ }
50
+
51
+ .spec-item,
52
+ .original-price,
53
+ .stock {
54
+ color: var(
55
+ --ps-card-selected-secondary-text-color,
56
+ rgba(255, 255, 255, 0.7)
57
+ );
58
+ }
59
+ }
60
+ }
61
+
62
+ .marketing-tags-wrapper {
63
+ position: absolute;
64
+ top: 0;
65
+ left: 0;
66
+ pointer-events: none;
67
+ user-select: none;
68
+ z-index: 1;
69
+
70
+ .marketing-tags {
71
+ display: flex;
72
+ flex-direction: column;
73
+ row-gap: 6px;
74
+ }
75
+
76
+ .marketing-tag-item {
77
+ display: flex;
78
+ padding: 6px 10px;
79
+ justify-content: center;
80
+ align-items: center;
81
+ gap: 10px;
82
+ border-radius: 0 12px 12px 0;
83
+ background: var(--Error-100, #fee4e2);
84
+ color: var(--Error-700, #b42318);
85
+ text-align: center;
86
+ font-size: 14px;
87
+ font-style: normal;
88
+ font-weight: 500;
89
+ line-height: 20px;
90
+
91
+ &:nth-of-type(1) {
92
+ border-radius: 0 0 12px 0;
93
+ }
94
+ }
95
+ }
96
+
97
+ .card-left {
98
+ flex-shrink: 0;
99
+
100
+ img {
101
+ border-radius: 8px;
102
+ background: lightgray 50% / cover no-repeat;
103
+ width: 100%;
104
+ height: 100%;
105
+ object-fit: cover;
106
+ }
107
+
108
+ .text-cover {
109
+ width: 100%;
110
+ height: 100%;
111
+ display: flex;
112
+ align-items: center;
113
+ justify-content: center;
114
+ background: #dedede;
115
+ color: #6c6c6c;
116
+ font-size: 60px;
117
+ font-weight: 600;
118
+ text-align: center;
119
+ line-height: 1;
120
+ letter-spacing: 1px;
121
+ border-radius: 8px;
122
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
123
+ }
124
+ }
125
+
126
+ .card-right {
127
+ display: flex;
128
+ flex-direction: column;
129
+ row-gap: 8px;
130
+ min-height: 92px;
131
+ overflow: hidden;
132
+ flex: 1;
133
+
134
+ .title {
135
+ color: var(--ps-color-text, #1b1b1b);
136
+ font-size: 18px;
137
+ font-style: normal;
138
+ font-weight: 600;
139
+ line-height: 28px;
140
+ display: -webkit-box;
141
+ -webkit-line-clamp: 2;
142
+ -webkit-box-orient: vertical;
143
+ overflow: hidden;
144
+ text-overflow: ellipsis;
145
+ }
146
+
147
+ .subtitle {
148
+ color: var(--ps-color-text, #1b1b1b);
149
+ font-size: 16px;
150
+ font-style: normal;
151
+ font-weight: 500;
152
+ line-height: 24px;
153
+ display: -webkit-box;
154
+ -webkit-line-clamp: 2;
155
+ -webkit-box-orient: vertical;
156
+ overflow: hidden;
157
+ text-overflow: ellipsis;
158
+ }
159
+
160
+ .stock,
161
+ .specs {
162
+ overflow: hidden;
163
+ color: var(--ps-color-text-secondary, #4e4e4e);
164
+ text-overflow: ellipsis;
165
+ font-size: 14px;
166
+ font-style: normal;
167
+ font-weight: 500;
168
+ line-height: 20px;
169
+
170
+ .spec-item {
171
+ margin-top: 8px;
172
+
173
+ &:nth-of-type(1) {
174
+ margin-top: 0;
175
+ }
176
+ }
177
+ }
178
+
179
+ .tags {
180
+ display: flex;
181
+ gap: 8px;
182
+ flex-wrap: wrap;
183
+
184
+ .tag-item {
185
+ display: flex;
186
+ padding: 4px 12px;
187
+ align-items: center;
188
+ border-radius: 16px;
189
+ border: 1px solid var(--Error-200, #fecdca);
190
+ background: var(--Error-50, #fef3f2);
191
+ mix-blend-mode: multiply;
192
+ color: var(--Error-700, #b42318);
193
+ text-align: center;
194
+ font-size: 14px;
195
+ font-style: normal;
196
+ font-weight: 500;
197
+ line-height: 20px;
198
+ }
199
+ }
200
+
201
+ .price-info {
202
+ display: flex;
203
+ align-items: center;
204
+ gap: 8px;
205
+ }
206
+
207
+ .price {
208
+ color: var(--ps-color-text, #1b1b1b);
209
+ font-size: 18px;
210
+ font-style: normal;
211
+ font-weight: 600;
212
+ line-height: 28px;
213
+ }
214
+
215
+ .original-price {
216
+ color: var(--ps-color-text-secondary, #4e4e4e);
217
+ font-size: 16px;
218
+ font-style: normal;
219
+ font-weight: 400;
220
+ line-height: 24px;
221
+ position: relative;
222
+
223
+ &::before {
224
+ content: '';
225
+ display: block;
226
+ position: absolute;
227
+ top: 50%;
228
+ left: 0;
229
+ width: 100%;
230
+ height: 1px;
231
+ background-color: #4e4e4e;
232
+ transform: translateY(-50%);
233
+ }
234
+
235
+ > span {
236
+ vertical-align: middle;
237
+ }
238
+ }
239
+
240
+ .remark {
241
+ color: var(--Warning-600, #dc6803);
242
+ font-size: 14px;
243
+ font-style: normal;
244
+ font-weight: 600;
245
+ line-height: 20px;
246
+ }
247
+ }
248
+ }
249
+
250
+ // 网格布局中的产品卡片样式调整
251
+ .product-grid-wrapper {
252
+ .pisell-product-select__product-card {
253
+ min-width: unset;
254
+ width: 100%;
255
+ }
256
+ }
257
+
258
+ // 列表布局中的产品卡片样式调整
259
+ .product-list-wrapper {
260
+ .pisell-product-select__product-card {
261
+ min-width: 363px;
262
+ max-width: unset;
263
+ margin-top: 12px;
264
+
265
+ &:first-child {
266
+ margin-top: 0;
267
+ }
268
+ }
269
+ }
270
+ }
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ export interface GridConfig {
3
+ grid: boolean;
4
+ config: string;
5
+ }
6
+ export declare const parseGridConfig: (config: string) => number[];
7
+ export declare const createGridComponents: (layout?: GridConfig | null) => {
8
+ List: React.MemoExoticComponent<({ children, ...props }: any) => JSX.Element>;
9
+ Item: React.MemoExoticComponent<({ children, index, item, ...props }: any) => JSX.Element>;
10
+ };
11
+ export declare const GRID_LAYOUTS: {
12
+ readonly SINGLE_COLUMN: {
13
+ readonly grid: false;
14
+ readonly config: "12";
15
+ };
16
+ readonly TWO_COLUMNS: {
17
+ readonly grid: true;
18
+ readonly config: "12:12";
19
+ };
20
+ readonly THREE_COLUMNS: {
21
+ readonly grid: true;
22
+ readonly config: "8:8:8";
23
+ };
24
+ readonly FOUR_COLUMNS: {
25
+ readonly grid: true;
26
+ readonly config: "6:6:6:6";
27
+ };
28
+ readonly UNEQUAL_TWO: {
29
+ readonly grid: true;
30
+ readonly config: "8:16";
31
+ };
32
+ readonly UNEQUAL_THREE: {
33
+ readonly grid: true;
34
+ readonly config: "6:12:6";
35
+ };
36
+ };
37
+ export declare const createTwoColumnGrid: () => {
38
+ List: React.MemoExoticComponent<({ children, ...props }: any) => JSX.Element>;
39
+ Item: React.MemoExoticComponent<({ children, index, item, ...props }: any) => JSX.Element>;
40
+ };
41
+ export declare const createCustomGrid: (config: string) => {
42
+ List: React.MemoExoticComponent<({ children, ...props }: any) => JSX.Element>;
43
+ Item: React.MemoExoticComponent<({ children, index, item, ...props }: any) => JSX.Element>;
44
+ };
@@ -0,0 +1,149 @@
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
+ var _excluded = ["children"],
3
+ _excluded2 = ["children", "index", "item"];
4
+ 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; }
5
+ 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; }
6
+ 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; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
8
+ 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); }
9
+ 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); }
10
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
11
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
+ import React, { memo } from 'react';
13
+
14
+ // 网格配置类型定义
15
+
16
+ // 解析网格配置字符串
17
+ export var parseGridConfig = function parseGridConfig(config) {
18
+ return config.split(':').map(function (num) {
19
+ return parseInt(num, 10);
20
+ }).filter(function (num) {
21
+ return !isNaN(num);
22
+ });
23
+ };
24
+
25
+ // 计算网格列宽度
26
+ var calculateColumnWidth = function calculateColumnWidth(columns, index) {
27
+ var total = columns.reduce(function (sum, col) {
28
+ return sum + col;
29
+ }, 0);
30
+ var percentage = columns[index] / total * 100;
31
+ return "".concat(percentage, "%");
32
+ };
33
+
34
+ // 创建网格组件的工厂函数
35
+ export var createGridComponents = function createGridComponents(layout) {
36
+ // 兼容性处理:当传入空值时,默认为单列布局
37
+ if (!layout) {
38
+ layout = GRID_LAYOUTS.SINGLE_COLUMN;
39
+ }
40
+ var columns = parseGridConfig(layout.config);
41
+ var isGrid = layout.grid && columns.length > 1;
42
+
43
+ // 网格容器组件
44
+ var GridListComponent = /*#__PURE__*/memo(function (_ref) {
45
+ var children = _ref.children,
46
+ props = _objectWithoutProperties(_ref, _excluded);
47
+ if (!isGrid) {
48
+ return /*#__PURE__*/React.createElement("div", _extends({
49
+ className: "product-list-wrapper",
50
+ style: {
51
+ display: 'flex',
52
+ flexDirection: 'column',
53
+ gap: '12px'
54
+ }
55
+ }, props), children);
56
+ }
57
+ return /*#__PURE__*/React.createElement("div", _extends({
58
+ className: "product-grid-wrapper",
59
+ style: _objectSpread({
60
+ display: 'flex',
61
+ flexWrap: 'wrap',
62
+ gap: '12px'
63
+ }, props.style)
64
+ }, props), children);
65
+ });
66
+
67
+ // 网格项组件
68
+ var GridItemComponent = /*#__PURE__*/memo(function (_ref2) {
69
+ var children = _ref2.children,
70
+ index = _ref2.index,
71
+ item = _ref2.item,
72
+ props = _objectWithoutProperties(_ref2, _excluded2);
73
+ if (!isGrid) {
74
+ if (item && item.__typename === 'category') {
75
+ return /*#__PURE__*/React.createElement("div", _extends({
76
+ id: "ps_category_".concat(item.id)
77
+ }, props), children);
78
+ }
79
+ return /*#__PURE__*/React.createElement("div", props, children);
80
+ }
81
+
82
+ // 如果是category类型,占据整行
83
+ if (item && item.__typename === 'category') {
84
+ return /*#__PURE__*/React.createElement("div", _extends({
85
+ id: "ps_category_".concat(item.id),
86
+ style: _objectSpread({
87
+ width: '100%',
88
+ flexShrink: 0
89
+ }, props.style)
90
+ }, props), children);
91
+ }
92
+ var columnIndex = index % columns.length;
93
+ var width = calculateColumnWidth(columns, columnIndex);
94
+ return /*#__PURE__*/React.createElement("div", _extends({
95
+ style: _objectSpread({
96
+ width: "calc(".concat(width, " - ").concat((columns.length - 1) * 12 / columns.length, "px)"),
97
+ flexShrink: 0
98
+ }, props.style)
99
+ }, props), children);
100
+ });
101
+ GridListComponent.displayName = "GridListComponent_".concat(layout.config);
102
+ GridItemComponent.displayName = "GridItemComponent_".concat(layout.config);
103
+ return {
104
+ List: GridListComponent,
105
+ Item: GridItemComponent
106
+ };
107
+ };
108
+
109
+ // 预定义的常用网格配置
110
+ export var GRID_LAYOUTS = {
111
+ SINGLE_COLUMN: {
112
+ grid: false,
113
+ config: '12'
114
+ },
115
+ TWO_COLUMNS: {
116
+ grid: true,
117
+ config: '12:12'
118
+ },
119
+ THREE_COLUMNS: {
120
+ grid: true,
121
+ config: '8:8:8'
122
+ },
123
+ FOUR_COLUMNS: {
124
+ grid: true,
125
+ config: '6:6:6:6'
126
+ },
127
+ UNEQUAL_TWO: {
128
+ grid: true,
129
+ config: '8:16'
130
+ },
131
+ // 1:2 比例
132
+ UNEQUAL_THREE: {
133
+ grid: true,
134
+ config: '6:12:6'
135
+ } // 1:2:1 比例
136
+ };
137
+
138
+ // 便捷函数:创建常用网格组件
139
+ export var createTwoColumnGrid = function createTwoColumnGrid() {
140
+ return createGridComponents(GRID_LAYOUTS.TWO_COLUMNS);
141
+ };
142
+
143
+ // 自定义网格配置创建函数
144
+ export var createCustomGrid = function createCustomGrid(config) {
145
+ return createGridComponents({
146
+ grid: true,
147
+ config: config
148
+ });
149
+ };
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ interface IProps {
3
+ className?: string;
4
+ loading?: boolean;
5
+ data: any[];
6
+ context: {
7
+ onItemIntersectionIn: (item: any) => void;
8
+ onItemIntersectionOut: (item: any) => void;
9
+ };
10
+ customScrollParent?: Element | null;
11
+ components?: {
12
+ List?: React.ComponentType<any>;
13
+ Item?: React.ComponentType<any>;
14
+ [key: string]: React.ComponentType<any> | undefined;
15
+ };
16
+ itemContent?: (index: number, data: any, context: any) => React.ReactNode;
17
+ itemSkeleton?: React.ReactNode;
18
+ [key: string]: any;
19
+ }
20
+ declare const ProductList: React.ForwardRefExoticComponent<Omit<IProps, "ref"> & React.RefAttributes<any>>;
21
+ export default ProductList;
22
+ export { createGridComponents, createTwoColumnGrid, createCustomGrid, GRID_LAYOUTS, type GridConfig, } from './gridComponents';