pb-sxp-ui 1.0.2 → 1.0.3-alpha.2

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 (182) hide show
  1. package/dist/index.cjs +3624 -1460
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +143 -245
  4. package/dist/index.js +3625 -1461
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.cjs +3 -5
  7. package/dist/index.min.cjs.map +1 -1
  8. package/dist/index.min.js +3 -5
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/pb-ui.js +3624 -1460
  11. package/dist/pb-ui.js.map +1 -1
  12. package/dist/pb-ui.min.js +3 -5
  13. package/dist/pb-ui.min.js.map +1 -1
  14. package/es/core/components/SxpPageCore/index.d.ts +1 -0
  15. package/es/core/components/SxpPageCore/index.js +2 -2
  16. package/es/core/components/SxpPageRender/ExpandableText.d.ts +1 -0
  17. package/es/core/components/SxpPageRender/ExpandableText.js +17 -10
  18. package/es/core/components/SxpPageRender/Hashtag/index.d.ts +2 -1
  19. package/es/core/components/SxpPageRender/Hashtag/index.js +3 -3
  20. package/es/core/components/SxpPageRender/Modal/index.d.ts +2 -0
  21. package/es/core/components/SxpPageRender/Modal/index.js +7 -4
  22. package/es/core/components/SxpPageRender/Navbar.d.ts +1 -0
  23. package/es/core/components/SxpPageRender/Navbar.js +3 -2
  24. package/es/core/components/SxpPageRender/Nudge/index.d.ts +24 -0
  25. package/es/core/components/SxpPageRender/Nudge/index.js +13 -0
  26. package/es/core/components/SxpPageRender/PictureGroup/index.js +11 -7
  27. package/es/core/components/SxpPageRender/Popup/index.js +3 -3
  28. package/es/core/components/SxpPageRender/VideoWidget/index.js +30 -21
  29. package/es/core/components/SxpPageRender/WaterFall/List.d.ts +2 -1
  30. package/es/core/components/SxpPageRender/WaterFall/List.js +24 -14
  31. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.d.ts +2 -1
  32. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +17 -14
  33. package/es/core/components/SxpPageRender/WaterFall/index.d.ts +2 -1
  34. package/es/core/components/SxpPageRender/WaterFall/index.js +4 -3
  35. package/es/core/components/SxpPageRender/WaterFall/preview.json +1242 -0
  36. package/es/core/components/SxpPageRender/index.d.ts +22 -1
  37. package/es/core/components/SxpPageRender/index.js +22 -19
  38. package/es/core/components/SxpPageRender/typing.d.ts +1 -0
  39. package/es/core/components/SxpPageRender/useIconLink.d.ts +1 -1
  40. package/es/core/components/SxpPageRender/useIconLink.js +8 -3
  41. package/es/core/context/EditorContext.d.ts +5 -0
  42. package/es/core/context/EditorContext.js +21 -3
  43. package/es/core/context/EditorDataProvider.d.ts +3 -1
  44. package/es/core/context/EditorDataProvider.js +5 -2
  45. package/es/core/context/SxpDataSourceProvider.d.ts +2 -0
  46. package/es/core/context/SxpDataSourceProvider.js +8 -4
  47. package/es/core/create.d.ts +1 -1
  48. package/es/materials/sxp/HashTag/index.d.ts +14 -0
  49. package/es/materials/sxp/HashTag/index.js +6 -0
  50. package/es/materials/sxp/HashTag/material.d.ts +2 -0
  51. package/es/materials/sxp/HashTag/material.js +52 -0
  52. package/es/materials/sxp/HashTag/settingRender.d.ts +122 -0
  53. package/es/materials/sxp/HashTag/settingRender.js +153 -0
  54. package/es/materials/sxp/index.d.ts +1 -0
  55. package/es/materials/sxp/index.js +1 -0
  56. package/es/materials/sxp/popup/CommodityDetail/index.d.ts +20 -1
  57. package/es/materials/sxp/popup/CommodityDetail/index.js +44 -21
  58. package/es/materials/sxp/popup/CommodityDetail/material.js +36 -1
  59. package/es/materials/sxp/popup/CommodityDetail/settingRender.d.ts +134 -0
  60. package/es/materials/sxp/popup/CommodityDetail/settingRender.js +167 -0
  61. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +13 -1
  62. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +20 -17
  63. package/es/materials/sxp/popup/CommodityDetailDiroNew/material.js +46 -1
  64. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +134 -0
  65. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +171 -0
  66. package/es/materials/sxp/popup/index.d.ts +0 -1
  67. package/es/materials/sxp/popup/index.js +0 -1
  68. package/es/materials/sxp/template/Appoint/index.d.ts +2 -0
  69. package/es/materials/sxp/template/Appoint/index.js +4 -18
  70. package/es/materials/sxp/template/Appoint/material.js +22 -6
  71. package/es/materials/sxp/template/Commodity/index.d.ts +2 -0
  72. package/es/materials/sxp/template/Commodity/index.js +5 -22
  73. package/es/materials/sxp/template/Commodity/material.js +31 -6
  74. package/es/materials/sxp/template/CommodityDiro/index.d.ts +2 -0
  75. package/es/materials/sxp/template/CommodityDiro/index.js +5 -24
  76. package/es/materials/sxp/template/CommodityDiro/material.js +30 -5
  77. package/es/materials/sxp/template/CommodityDiroNew/index.d.ts +2 -0
  78. package/es/materials/sxp/template/CommodityDiroNew/index.js +5 -24
  79. package/es/materials/sxp/template/CommodityDiroNew/material.js +32 -6
  80. package/es/materials/sxp/template/Link/index.d.ts +2 -0
  81. package/es/materials/sxp/template/Link/index.js +4 -13
  82. package/es/materials/sxp/template/Link/material.js +22 -5
  83. package/es/materials/sxp/template/MultiCommodity/index.d.ts +2 -0
  84. package/es/materials/sxp/template/MultiCommodity/index.js +8 -24
  85. package/es/materials/sxp/template/MultiCommodity/material.js +30 -5
  86. package/es/materials/sxp/template/MultiCommodityDiro/index.d.ts +2 -0
  87. package/es/materials/sxp/template/MultiCommodityDiro/index.js +8 -27
  88. package/es/materials/sxp/template/MultiCommodityDiro/material.js +31 -6
  89. package/es/materials/sxp/template/MultiCommodityDiroNew/index.d.ts +2 -0
  90. package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +8 -25
  91. package/es/materials/sxp/template/MultiCommodityDiroNew/material.js +32 -6
  92. package/es/materials/sxp/template/components/EventProvider.d.ts +2 -1
  93. package/es/materials/sxp/template/components/EventProvider.js +5 -4
  94. package/es/materials/sxp/template/components/settingRender.d.ts +123 -0
  95. package/es/materials/sxp/template/components/settingRender.js +215 -0
  96. package/es/materials/sxp/template/components/typing.d.ts +6 -0
  97. package/es/materials/sxp/template/components/typing.js +1 -0
  98. package/lib/core/components/SxpPageCore/index.d.ts +1 -0
  99. package/lib/core/components/SxpPageCore/index.js +2 -2
  100. package/lib/core/components/SxpPageRender/ExpandableText.d.ts +1 -0
  101. package/lib/core/components/SxpPageRender/ExpandableText.js +17 -10
  102. package/lib/core/components/SxpPageRender/Hashtag/index.d.ts +2 -1
  103. package/lib/core/components/SxpPageRender/Hashtag/index.js +3 -3
  104. package/lib/core/components/SxpPageRender/Modal/index.d.ts +2 -0
  105. package/lib/core/components/SxpPageRender/Modal/index.js +7 -4
  106. package/lib/core/components/SxpPageRender/Navbar.d.ts +1 -0
  107. package/lib/core/components/SxpPageRender/Navbar.js +3 -2
  108. package/lib/core/components/SxpPageRender/Nudge/index.d.ts +24 -0
  109. package/lib/core/components/SxpPageRender/Nudge/index.js +16 -0
  110. package/lib/core/components/SxpPageRender/PictureGroup/index.js +10 -6
  111. package/lib/core/components/SxpPageRender/Popup/index.js +3 -3
  112. package/lib/core/components/SxpPageRender/VideoWidget/index.js +30 -21
  113. package/lib/core/components/SxpPageRender/WaterFall/List.d.ts +2 -1
  114. package/lib/core/components/SxpPageRender/WaterFall/List.js +23 -14
  115. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.d.ts +2 -1
  116. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +15 -13
  117. package/lib/core/components/SxpPageRender/WaterFall/index.d.ts +2 -1
  118. package/lib/core/components/SxpPageRender/WaterFall/index.js +4 -3
  119. package/lib/core/components/SxpPageRender/WaterFall/preview.json +1242 -0
  120. package/lib/core/components/SxpPageRender/index.d.ts +22 -1
  121. package/lib/core/components/SxpPageRender/index.js +22 -19
  122. package/lib/core/components/SxpPageRender/typing.d.ts +1 -0
  123. package/lib/core/components/SxpPageRender/useIconLink.d.ts +1 -1
  124. package/lib/core/components/SxpPageRender/useIconLink.js +8 -3
  125. package/lib/core/context/EditorContext.d.ts +5 -0
  126. package/lib/core/context/EditorContext.js +21 -3
  127. package/lib/core/context/EditorDataProvider.d.ts +3 -1
  128. package/lib/core/context/EditorDataProvider.js +4 -1
  129. package/lib/core/context/SxpDataSourceProvider.d.ts +2 -0
  130. package/lib/core/context/SxpDataSourceProvider.js +8 -4
  131. package/lib/core/create.d.ts +1 -1
  132. package/lib/materials/sxp/HashTag/index.d.ts +14 -0
  133. package/lib/materials/sxp/HashTag/index.js +9 -0
  134. package/lib/materials/sxp/HashTag/material.d.ts +2 -0
  135. package/lib/materials/sxp/HashTag/material.js +56 -0
  136. package/lib/materials/sxp/HashTag/settingRender.d.ts +122 -0
  137. package/lib/materials/sxp/HashTag/settingRender.js +155 -0
  138. package/lib/materials/sxp/index.d.ts +1 -0
  139. package/lib/materials/sxp/index.js +1 -0
  140. package/lib/materials/sxp/popup/CommodityDetail/index.d.ts +20 -1
  141. package/lib/materials/sxp/popup/CommodityDetail/index.js +43 -20
  142. package/lib/materials/sxp/popup/CommodityDetail/material.js +36 -1
  143. package/lib/materials/sxp/popup/CommodityDetail/settingRender.d.ts +134 -0
  144. package/lib/materials/sxp/popup/CommodityDetail/settingRender.js +169 -0
  145. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +13 -1
  146. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +20 -17
  147. package/lib/materials/sxp/popup/CommodityDetailDiroNew/material.js +46 -1
  148. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +134 -0
  149. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +173 -0
  150. package/lib/materials/sxp/popup/index.d.ts +0 -1
  151. package/lib/materials/sxp/popup/index.js +0 -1
  152. package/lib/materials/sxp/template/Appoint/index.d.ts +2 -0
  153. package/lib/materials/sxp/template/Appoint/index.js +4 -18
  154. package/lib/materials/sxp/template/Appoint/material.js +22 -6
  155. package/lib/materials/sxp/template/Commodity/index.d.ts +2 -0
  156. package/lib/materials/sxp/template/Commodity/index.js +5 -22
  157. package/lib/materials/sxp/template/Commodity/material.js +31 -6
  158. package/lib/materials/sxp/template/CommodityDiro/index.d.ts +2 -0
  159. package/lib/materials/sxp/template/CommodityDiro/index.js +5 -24
  160. package/lib/materials/sxp/template/CommodityDiro/material.js +30 -5
  161. package/lib/materials/sxp/template/CommodityDiroNew/index.d.ts +2 -0
  162. package/lib/materials/sxp/template/CommodityDiroNew/index.js +5 -24
  163. package/lib/materials/sxp/template/CommodityDiroNew/material.js +32 -6
  164. package/lib/materials/sxp/template/Link/index.d.ts +2 -0
  165. package/lib/materials/sxp/template/Link/index.js +4 -13
  166. package/lib/materials/sxp/template/Link/material.js +22 -5
  167. package/lib/materials/sxp/template/MultiCommodity/index.d.ts +2 -0
  168. package/lib/materials/sxp/template/MultiCommodity/index.js +7 -23
  169. package/lib/materials/sxp/template/MultiCommodity/material.js +30 -5
  170. package/lib/materials/sxp/template/MultiCommodityDiro/index.d.ts +2 -0
  171. package/lib/materials/sxp/template/MultiCommodityDiro/index.js +7 -26
  172. package/lib/materials/sxp/template/MultiCommodityDiro/material.js +31 -6
  173. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.d.ts +2 -0
  174. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +7 -24
  175. package/lib/materials/sxp/template/MultiCommodityDiroNew/material.js +32 -6
  176. package/lib/materials/sxp/template/components/EventProvider.d.ts +2 -1
  177. package/lib/materials/sxp/template/components/EventProvider.js +4 -3
  178. package/lib/materials/sxp/template/components/settingRender.d.ts +123 -0
  179. package/lib/materials/sxp/template/components/settingRender.js +217 -0
  180. package/lib/materials/sxp/template/components/typing.d.ts +6 -0
  181. package/lib/materials/sxp/template/components/typing.js +2 -0
  182. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { CSSProperties } from 'react';
2
2
  import { IEditorContext } from '../../../../core/context/EditorContext';
3
3
  import { RecItemType } from '../../../../core/components/SxpPageRender/typing';
4
4
  import './index.less';
@@ -17,6 +17,18 @@ export interface ICommodityDetailDiroNewProps {
17
17
  foldText?: string;
18
18
  unfoldText?: string;
19
19
  };
20
+ swiper: {
21
+ dotsAlign: 'left' | 'center';
22
+ delay: number;
23
+ };
24
+ commodityStyles?: {
25
+ title: CSSProperties;
26
+ collection: CSSProperties;
27
+ price: CSSProperties;
28
+ taxInfo: CSSProperties;
29
+ info: CSSProperties;
30
+ };
31
+ buttonStyle?: CSSProperties;
20
32
  }
21
33
  declare const _default: React.NamedExoticComponent<ICommodityDetailDiroNewProps>;
22
34
  export default _default;
@@ -11,8 +11,8 @@ const Modal_1 = tslib_1.__importDefault(require("../../../../core/components/Sxp
11
11
  const ExpandableText_1 = tslib_1.__importDefault(require("../../../../core/components/SxpPageRender/ExpandableText"));
12
12
  const useEventReport_1 = require("../../../../core/hooks/useEventReport");
13
13
  const CommodityDetailDiroNew = (_a) => {
14
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
15
- var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText } = _a, props = tslib_1.__rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText"]);
14
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
15
+ var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText, swiper, commodityStyles, buttonStyle } = _a, props = tslib_1.__rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText", "swiper", "commodityStyles", "buttonStyle"]);
16
16
  const [spread, setSpread] = (0, react_1.useState)(true);
17
17
  const { sxpParameter } = (0, hooks_1.useSxpDataSource)();
18
18
  const { popupDetailData, bffEventReport, isPreview, swiperRef, waterFallData } = (0, hooks_1.useSxpDataSource)();
@@ -81,14 +81,22 @@ const CommodityDetailDiroNew = (_a) => {
81
81
  }
82
82
  }
83
83
  };
84
+ const productInfoText = ({ isPost }) => {
85
+ return (react_1.default.createElement("div", { hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.info) || (product === null || product === void 0 ? void 0 : product.info) === '') },
86
+ react_1.default.createElement(ExpandableText_1.default, { isPost: isPost, onClick: () => setShowModal(true), className: 'pb-commondityDiroNew-info', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.info, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (product === null || product === void 0 ? void 0 : product.info) ||
87
+ `Unveiled at the Spring-Summer 2023 fashion show, the Dior Toujours bag is distinguished by a casual and practical design. Crafted in black calfskin with Macrocannage topstitching, it showcases a spacious interior compartment with a matching pouch to organize essentials. Its leather strap closure keeps items secure while the D of the CD Lock closure twists to adjust the sides and enhance the bag's silhouette. The leather handles can be adjusted using the small notches in order to be able to carry the large bag by hand or wear it over the shoulder. CD Lock and strap closures D.I.O.R. charms Removable interior pouch Adjustable leather handles Dust bag included
88
+ Made in Italy` })));
89
+ };
84
90
  return (react_1.default.createElement("div", { className: 'pb-commondityDiroNew' },
85
91
  react_1.default.createElement("div", Object.assign({ ref: scrollRef, className: (0, css_1.css)(Object.assign({}, style)) }, props),
86
92
  product && ((_f = product === null || product === void 0 ? void 0 : product.homePage) === null || _f === void 0 ? void 0 : _f.length) > 0 && (react_1.default.createElement(react_2.Swiper, { height: width, modules: [modules_1.Pagination, modules_1.Autoplay], pagination: {
87
93
  clickable: true,
88
94
  bulletActiveClass: 'commondityDiroNew-swipe-item-active-bullet',
89
- clickableClass: 'commondityDiroNew-swiper-clickable'
95
+ clickableClass: (swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign) === 'left'
96
+ ? 'commondityDiroNew-swiper-clickable-left'
97
+ : 'commondityDiroNew-swiper-clickable-center'
90
98
  }, loop: true, autoplay: {
91
- delay: 3000
99
+ delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
92
100
  } }, (_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.map((src) => {
93
101
  return (react_1.default.createElement(react_2.SwiperSlide, { key: src },
94
102
  react_1.default.createElement("div", { style: {
@@ -114,18 +122,13 @@ const CommodityDetailDiroNew = (_a) => {
114
122
  }), src: (_j = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _j !== void 0 ? _j : bottom_image, alt: '' }))),
115
123
  react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content' },
116
124
  react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content-top' },
117
- react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content-top-title' }, (_k = product === null || product === void 0 ? void 0 : product.title) !== null && _k !== void 0 ? _k : 'Large Dior Toujours Bag'),
118
- react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content-top-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.price) }, priceText)),
119
- react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content-collection', hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.collection) || (product === null || product === void 0 ? void 0 : product.collection) === '') }, (product === null || product === void 0 ? void 0 : product.collection) || 'Black Macrocannage Calfskin'),
120
- (!product || (product === null || product === void 0 ? void 0 : product.link)) && (react_1.default.createElement("button", { onClick: handleLink, className: 'pb-commondityDiroNew-btn' }, (_l = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _l !== void 0 ? _l : 'Shop now')),
121
- react_1.default.createElement("div", { hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.info) || (product === null || product === void 0 ? void 0 : product.info) === '') }, isPost ? (react_1.default.createElement(ExpandableText_1.default, { onClick: () => setShowModal(true), className: 'pb-commondityDiroNew-info', foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (product === null || product === void 0 ? void 0 : product.info) ||
122
- `Unveiled at the Spring-Summer 2023 fashion show, the Dior Toujours bag is distinguished by a casual and practical design. Crafted in black calfskin with Macrocannage topstitching, it showcases a spacious interior compartment with a matching pouch to organize essentials. Its leather strap closure keeps items secure while the D of the CD Lock closure twists to adjust the sides and enhance the bag's silhouette. The leather handles can be adjusted using the small notches in order to be able to carry the large bag by hand or wear it over the shoulder. CD Lock and strap closures D.I.O.R. charms Removable interior pouch Adjustable leather handles Dust bag included
123
- Made in Italy` })) : (react_1.default.createElement("div", { className: 'pb-commondityDiroNew-info' }, (product === null || product === void 0 ? void 0 : product.info) ||
124
- `Unveiled at the Spring-Summer 2023 fashion show, the Dior Toujours bag is distinguished by a casual and practical design. Crafted in black calfskin with Macrocannage topstitching, it showcases a spacious interior compartment with a matching pouch to organize essentials. Its leather strap closure keeps items secure while the D of the CD Lock closure twists to adjust the sides and enhance the bag's silhouette. The leather handles can be adjusted using the small notches in order to be able to carry the large bag by hand or wear it over the shoulder. CD Lock and strap closures D.I.O.R. charms Removable interior pouch Adjustable leather handles Dust bag included
125
- Made in Italy`))))),
126
- react_1.default.createElement(Modal_1.default, { visible: showModal, onClose: () => setShowModal(false) },
127
- react_1.default.createElement("div", { className: 'pb-commondityDiroNew-info', hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.info) || (product === null || product === void 0 ? void 0 : product.info) === '') }, (product === null || product === void 0 ? void 0 : product.info) ||
128
- `Unveiled at the Spring-Summer 2023 fashion show, the Dior Toujours bag is distinguished by a casual and practical design. Crafted in black calfskin with Macrocannage topstitching, it showcases a spacious interior compartment with a matching pouch to organize essentials. Its leather strap closure keeps items secure while the D of the CD Lock closure twists to adjust the sides and enhance the bag's silhouette. The leather handles can be adjusted using the small notches in order to be able to carry the large bag by hand or wear it over the shoulder. CD Lock and strap closures D.I.O.R. charms Removable interior pouch Adjustable leather handles Dust bag included
129
- Made in Italy`))));
125
+ react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content-top-title', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title }, (_k = product === null || product === void 0 ? void 0 : product.title) !== null && _k !== void 0 ? _k : 'Large Dior Toujours Bag'),
126
+ react_1.default.createElement("div", { className: '' },
127
+ react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content-top-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.price), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price }, priceText),
128
+ react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content-top-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo }, (_l = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _l !== void 0 ? _l : '税费'))),
129
+ react_1.default.createElement("div", { className: 'pb-commondityDiroNew-content-collection', hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.collection) || (product === null || product === void 0 ? void 0 : product.collection) === ''), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection }, (product === null || product === void 0 ? void 0 : product.collection) || 'Black Macrocannage Calfskin'),
130
+ (!product || (product === null || product === void 0 ? void 0 : product.link)) && (react_1.default.createElement("button", { onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle }, (_m = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _m !== void 0 ? _m : 'Shop now')),
131
+ productInfoText({ isPost }))),
132
+ react_1.default.createElement(Modal_1.default, { visible: showModal, onClose: () => setShowModal(false) }, productInfoText({ isPost: false }))));
130
133
  };
131
134
  exports.default = (0, react_1.memo)(CommodityDetailDiroNew);
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommodityDetailDiroNew = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const settingRender_1 = tslib_1.__importDefault(require("./settingRender"));
5
6
  const _1 = tslib_1.__importDefault(require("."));
6
7
  const create_1 = require("../../../../core/create");
7
8
  const CommodityDetailDiroNew = (0, create_1.createMaterial)(_1.default, {
@@ -9,8 +10,52 @@ const CommodityDetailDiroNew = (0, create_1.createMaterial)(_1.default, {
9
10
  icon: '',
10
11
  category: 'popup',
11
12
  type: 'CommodityDetailDiroNew',
13
+ related: {
14
+ settingRender: settingRender_1.default
15
+ },
12
16
  defaulSetting: {
13
- props: {},
17
+ props: {
18
+ swiper: {
19
+ dotsAlign: 'left',
20
+ delay: 3
21
+ },
22
+ commodityStyles: {
23
+ price: {
24
+ color: '#000',
25
+ fontWeight: 'bold',
26
+ fontSize: 18
27
+ },
28
+ title: {
29
+ color: '#000',
30
+ fontSize: 13
31
+ },
32
+ collection: {
33
+ color: '#757575',
34
+ fontSize: 13
35
+ },
36
+ info: {
37
+ color: '#757575',
38
+ fontSize: 13
39
+ },
40
+ taxInfo: {
41
+ color: '#000',
42
+ fontWeight: 'bold',
43
+ fontSize: 13,
44
+ textAlign: 'right'
45
+ }
46
+ },
47
+ buttonStyle: {
48
+ backgroundColor: '#000',
49
+ fontSize: 12,
50
+ height: 52,
51
+ fontWeight: 'bold',
52
+ textAlign: 'center',
53
+ color: '#fff',
54
+ borderRadius: 25,
55
+ marginTop: 16,
56
+ marginBottom: 16
57
+ }
58
+ },
14
59
  style: {}
15
60
  },
16
61
  w: 100,
@@ -0,0 +1,134 @@
1
+ declare const _default: ({
2
+ title: string;
3
+ child: ({
4
+ type: string;
5
+ label: string;
6
+ options: {
7
+ label: string;
8
+ value: string;
9
+ }[];
10
+ name: string[];
11
+ addonAfter?: undefined;
12
+ } | {
13
+ type: string;
14
+ name: string[];
15
+ addonAfter: string;
16
+ label?: undefined;
17
+ options?: undefined;
18
+ })[];
19
+ } | {
20
+ title: string;
21
+ child: {
22
+ name: string[];
23
+ type: string;
24
+ child: ({
25
+ label: string;
26
+ type: string;
27
+ options: {
28
+ label: string;
29
+ value: string;
30
+ }[];
31
+ name: string[];
32
+ initialValue: string;
33
+ child?: undefined;
34
+ } | {
35
+ type: string;
36
+ label: string;
37
+ child: ({
38
+ type: string;
39
+ name: string[];
40
+ options?: undefined;
41
+ addonAfter?: undefined;
42
+ } | {
43
+ type: string;
44
+ options: {
45
+ label: string;
46
+ value: string;
47
+ }[];
48
+ name: string[];
49
+ addonAfter?: undefined;
50
+ } | {
51
+ type: string;
52
+ addonAfter: string;
53
+ name: string[];
54
+ options?: undefined;
55
+ })[];
56
+ options?: undefined;
57
+ name?: undefined;
58
+ initialValue?: undefined;
59
+ } | {
60
+ label: string;
61
+ type: string;
62
+ options?: undefined;
63
+ name?: undefined;
64
+ initialValue?: undefined;
65
+ child?: undefined;
66
+ } | {
67
+ label: string;
68
+ type: string;
69
+ name: string[];
70
+ options?: undefined;
71
+ initialValue?: undefined;
72
+ child?: undefined;
73
+ })[];
74
+ }[];
75
+ } | {
76
+ title: string;
77
+ child: ({
78
+ type: string;
79
+ label: string;
80
+ name: string[];
81
+ initialValue: string;
82
+ child?: undefined;
83
+ } | {
84
+ type: string;
85
+ label: string;
86
+ child: ({
87
+ type: string;
88
+ name: string[];
89
+ max: number;
90
+ addonAfter?: undefined;
91
+ } | {
92
+ type: string;
93
+ name: string[];
94
+ addonAfter: string;
95
+ max: number;
96
+ })[];
97
+ name?: undefined;
98
+ initialValue?: undefined;
99
+ } | {
100
+ type: string;
101
+ name: string[];
102
+ label?: undefined;
103
+ initialValue?: undefined;
104
+ child?: undefined;
105
+ } | {
106
+ type: string;
107
+ label: string;
108
+ child: ({
109
+ type: string;
110
+ name: string[];
111
+ initialValue: string;
112
+ options?: undefined;
113
+ addonAfter?: undefined;
114
+ } | {
115
+ type: string;
116
+ name: string[];
117
+ options: {
118
+ label: string;
119
+ value: string;
120
+ }[];
121
+ initialValue?: undefined;
122
+ addonAfter?: undefined;
123
+ } | {
124
+ type: string;
125
+ name: string[];
126
+ addonAfter: string;
127
+ initialValue?: undefined;
128
+ options?: undefined;
129
+ })[];
130
+ name?: undefined;
131
+ initialValue?: undefined;
132
+ })[];
133
+ })[];
134
+ export default _default;
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = [
4
+ {
5
+ title: '商品图片',
6
+ child: [
7
+ {
8
+ type: 'Radius',
9
+ label: '轮播指示器',
10
+ options: [
11
+ {
12
+ label: '居左',
13
+ value: 'left'
14
+ },
15
+ {
16
+ label: '居中',
17
+ value: 'center'
18
+ }
19
+ ],
20
+ name: ['props', 'swiper', 'dotsAlign']
21
+ },
22
+ {
23
+ type: 'Number',
24
+ name: ['props', 'swiper', 'delay'],
25
+ addonAfter: 's'
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ title: '商品文本',
31
+ child: [
32
+ {
33
+ name: ['props', 'commodityStyles'],
34
+ type: 'SelectLinkage',
35
+ child: [
36
+ {
37
+ label: '字段',
38
+ type: 'Select',
39
+ options: [
40
+ {
41
+ label: '商品名称',
42
+ value: 'title'
43
+ },
44
+ {
45
+ label: '系列名称',
46
+ value: 'collection'
47
+ },
48
+ {
49
+ label: '价格',
50
+ value: 'price'
51
+ },
52
+ {
53
+ label: '税费说明',
54
+ value: 'taxInfo'
55
+ },
56
+ {
57
+ label: '商品描述',
58
+ value: 'info'
59
+ }
60
+ ],
61
+ name: ['props', 'commodityStyles', 'field'],
62
+ initialValue: 'title'
63
+ },
64
+ {
65
+ type: 'Group',
66
+ label: '标题字体',
67
+ child: [
68
+ {
69
+ type: 'Color',
70
+ name: ['color']
71
+ },
72
+ {
73
+ type: 'Select',
74
+ options: [{ label: '黑体', value: '黑体' }],
75
+ name: ['fontFamily']
76
+ },
77
+ {
78
+ type: 'Number',
79
+ addonAfter: 'px',
80
+ name: ['fontSize']
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ label: '标题样式',
86
+ type: 'TextStyle'
87
+ },
88
+ {
89
+ label: '标题对齐',
90
+ type: 'TextAlign'
91
+ },
92
+ {
93
+ label: '默认行数',
94
+ type: 'Number',
95
+ name: ['lineClamp']
96
+ }
97
+ ]
98
+ }
99
+ ]
100
+ },
101
+ {
102
+ title: '购买按钮样式',
103
+ child: [
104
+ {
105
+ type: 'Color',
106
+ label: '背景色',
107
+ name: ['props', 'buttonStyle', 'backgroundColor'],
108
+ initialValue: '#000'
109
+ },
110
+ {
111
+ type: 'Group',
112
+ label: '尺寸',
113
+ child: [
114
+ {
115
+ type: 'Number',
116
+ name: ['props', 'buttonStyle', 'height'],
117
+ addonAfter: 'H'
118
+ }
119
+ ]
120
+ },
121
+ {
122
+ type: 'Group',
123
+ label: '圆角',
124
+ child: [
125
+ {
126
+ type: 'Slider',
127
+ name: ['props', 'buttonStyle', 'borderRadius'],
128
+ max: 100
129
+ },
130
+ {
131
+ type: 'Number',
132
+ name: ['props', 'buttonStyle', 'borderRadius'],
133
+ addonAfter: 'px',
134
+ max: 100
135
+ }
136
+ ]
137
+ },
138
+ {
139
+ type: 'TextMargin',
140
+ name: ['props', 'buttonStyle']
141
+ },
142
+ {
143
+ type: 'Group',
144
+ label: '字体',
145
+ child: [
146
+ {
147
+ type: 'Color',
148
+ name: ['props', 'buttonStyle', 'color'],
149
+ initialValue: '#fff'
150
+ },
151
+ {
152
+ type: 'Select',
153
+ name: ['props', 'buttonStyle', 'fontFamily'],
154
+ options: [{ label: '黑体', value: '黑体' }]
155
+ },
156
+ {
157
+ type: 'Number',
158
+ name: ['props', 'buttonStyle', 'fontSize'],
159
+ addonAfter: 'px'
160
+ }
161
+ ]
162
+ },
163
+ {
164
+ type: 'TextStyle',
165
+ name: ['props', 'buttonStyle']
166
+ },
167
+ {
168
+ type: 'TextAlign',
169
+ name: ['props', 'buttonStyle']
170
+ }
171
+ ]
172
+ }
173
+ ];
@@ -1,5 +1,4 @@
1
1
  export * from './AppointForm/material';
2
2
  export * from './CommodityDetail/material';
3
3
  export * from './Prompt/material';
4
- export * from './CommodityDetailDiro/material';
5
4
  export * from './CommodityDetailDiroNew/material';
@@ -4,5 +4,4 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./AppointForm/material"), exports);
5
5
  tslib_1.__exportStar(require("./CommodityDetail/material"), exports);
6
6
  tslib_1.__exportStar(require("./Prompt/material"), exports);
7
- tslib_1.__exportStar(require("./CommodityDetailDiro/material"), exports);
8
7
  tslib_1.__exportStar(require("./CommodityDetailDiroNew/material"), exports);
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { ICtaTempStylesType } from '../components/typing';
2
3
  import { RecItemType } from '../../../../core/components/SxpPageRender/typing';
3
4
  export interface IAppointProps {
4
5
  content?: string;
@@ -6,6 +7,7 @@ export interface IAppointProps {
6
7
  bgImg?: Record<string, any> | string;
7
8
  recData?: RecItemType;
8
9
  bottom_image?: string;
10
+ ctaTempStyles?: ICtaTempStylesType;
9
11
  }
10
12
  declare const _default: React.NamedExoticComponent<IAppointProps>;
11
13
  export default _default;
@@ -7,26 +7,12 @@ const EventProvider_1 = tslib_1.__importDefault(require("../components/EventProv
7
7
  const hooks_1 = require("../../../../core/hooks");
8
8
  const Appoint = (_a) => {
9
9
  var _b, _c, _d, _e;
10
- var { content, style, bgImg, recData, bottom_image } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image"]);
10
+ var { content, style, bgImg, recData, bottom_image, ctaTempStyles } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles"]);
11
11
  const { sxpParameter } = (0, hooks_1.useSxpDataSource)();
12
12
  const cta = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindCta;
13
- return (react_1.default.createElement(EventProvider_1.default, Object.assign({ rec: recData, className: (0, css_1.css)(Object.assign(Object.assign({}, style), { maxWidth: '236px', width: '100%' })) }, props),
14
- react_1.default.createElement("div", { className: (0, css_1.css)({
15
- width: '30px',
16
- height: '30px',
17
- marginRight: '8px',
18
- borderRadius: '3px',
19
- overflow: 'hidden',
20
- flexShrink: 0,
21
- backgroundColor: '#f2f2f2'
22
- }) },
13
+ return (react_1.default.createElement(EventProvider_1.default, Object.assign({ rec: recData, className: (0, css_1.css)(Object.assign({ alignItems: 'center' }, style)), style: { display: 'flex' } }, props),
14
+ react_1.default.createElement("div", { className: (0, css_1.css)(Object.assign({ overflow: 'hidden', flexShrink: 0, backgroundColor: '#f2f2f2' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img)) },
23
15
  react_1.default.createElement("img", { className: (0, css_1.css)({ width: '100%', objectFit: 'cover', height: '100%' }), src: (_d = (_c = cta === null || cta === void 0 ? void 0 : cta.icon) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, alt: '' })),
24
- react_1.default.createElement("div", { className: (0, css_1.css)({
25
- color: '#fff',
26
- width: '100%',
27
- overflow: 'hidden',
28
- fontSize: '12px',
29
- textOverflow: 'ellipsis'
30
- }) }, (_e = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _e !== void 0 ? _e : 'Product Name')));
16
+ react_1.default.createElement("div", { className: (0, css_1.css)(Object.assign({ overflow: 'hidden', textOverflow: 'ellipsis' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)) }, (_e = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _e !== void 0 ? _e : 'Product Name')));
31
17
  };
32
18
  exports.default = (0, react_1.memo)(Appoint);
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Appoint = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const settingRender_1 = tslib_1.__importDefault(require("../components/settingRender"));
5
6
  const interactionRender_1 = tslib_1.__importDefault(require("./interactionRender"));
6
7
  const _1 = tslib_1.__importDefault(require("."));
7
8
  const create_1 = require("../../../../core/create");
@@ -12,18 +13,33 @@ const Appoint = (0, create_1.createMaterial)(_1.default, {
12
13
  type: 'Appoint',
13
14
  related: {
14
15
  interactionRender: interactionRender_1.default,
16
+ settingRender: settingRender_1.default === null || settingRender_1.default === void 0 ? void 0 : settingRender_1.default.filter((i) => i.type !== 'commodityTitle'),
15
17
  bindableProps: []
16
18
  },
17
19
  defaulSetting: {
18
20
  props: {
19
- content: '按钮'
21
+ ctaTempStyles: {
22
+ img: {
23
+ borderRadius: 3,
24
+ width: 30,
25
+ height: 30,
26
+ marginRight: 8
27
+ },
28
+ ctaTitle: {
29
+ fontSize: 12,
30
+ color: '#fff',
31
+ textAlign: 'left',
32
+ width: 130,
33
+ height: 20
34
+ }
35
+ }
20
36
  },
21
37
  style: {
22
- padding: '7px',
23
- display: 'flex',
24
- alignItems: 'center',
25
- background: 'rgba(0,0,0,.3)',
26
- borderRadius: '3px'
38
+ padding: 7,
39
+ width: 236,
40
+ height: 44,
41
+ borderRadius: 3,
42
+ backgroundColor: 'rgba(0,0,0,.3)'
27
43
  }
28
44
  },
29
45
  w: 100,
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { ICtaTempStylesType } from '../components/typing';
2
3
  import { RecItemType } from '../../../../core/components/SxpPageRender/typing';
3
4
  export interface ICommodityProps {
4
5
  content?: string;
@@ -6,6 +7,7 @@ export interface ICommodityProps {
6
7
  bgImg?: Record<string, any> | string;
7
8
  recData?: RecItemType;
8
9
  bottom_image?: string;
10
+ ctaTempStyles?: ICtaTempStylesType;
9
11
  }
10
12
  declare const _default: React.NamedExoticComponent<ICommodityProps>;
11
13
  export default _default;
@@ -8,20 +8,12 @@ const index_module_less_1 = tslib_1.__importDefault(require("./index.module.less
8
8
  const hooks_1 = require("../../../../core/hooks");
9
9
  const Commodity = (_a) => {
10
10
  var _b, _c, _d, _e, _f, _g, _h;
11
- var { content, style, bgImg, recData, bottom_image } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image"]);
11
+ var { content, style, bgImg, recData, bottom_image, ctaTempStyles } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles"]);
12
12
  const { sxpParameter } = (0, hooks_1.useSxpDataSource)();
13
13
  const product = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProduct;
14
14
  const src = (_e = (_d = (_c = product === null || product === void 0 ? void 0 : product.homePage) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _e !== void 0 ? _e : bottom_image;
15
- return (react_1.default.createElement(EventProvider_1.default, Object.assign({ rec: recData, className: (0, css_1.css)(Object.assign(Object.assign({}, style), { maxWidth: '236px', width: '100%' })) }, props),
16
- react_1.default.createElement("div", { className: (0, css_1.css)({
17
- width: '60px',
18
- height: '60px',
19
- marginRight: '8px',
20
- borderRadius: '3px',
21
- overflow: 'hidden',
22
- flexShrink: 0,
23
- backgroundColor: '#f2f2f2'
24
- }) },
15
+ return (react_1.default.createElement(EventProvider_1.default, Object.assign({ rec: recData, className: (0, css_1.css)(Object.assign({}, style)), style: { display: 'flex' } }, props),
16
+ react_1.default.createElement("div", { className: (0, css_1.css)(Object.assign({ overflow: 'hidden', flexShrink: 0, backgroundColor: '#f2f2f2' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img)) },
25
17
  react_1.default.createElement("img", { className: (0, css_1.css)({ width: '100%', objectFit: 'cover', height: '100%' }), src: src, hidden: !src, alt: '' })),
26
18
  react_1.default.createElement("div", { className: (0, css_1.css)({
27
19
  color: '#fff',
@@ -31,16 +23,7 @@ const Commodity = (_a) => {
31
23
  width: '100%',
32
24
  overflow: 'hidden'
33
25
  }) },
34
- react_1.default.createElement("div", { className: index_module_less_1.default['tow-line-ellipsis'] }, (_f = product === null || product === void 0 ? void 0 : product.title) !== null && _f !== void 0 ? _f : 'Product Name'),
35
- react_1.default.createElement("div", { className: (0, css_1.css)({
36
- background: 'rgba(0,0,0,.5)',
37
- fontSize: '10px',
38
- padding: '2px 7px',
39
- width: 'auto',
40
- textAlign: 'center',
41
- textOverflow: 'ellipsis',
42
- overflow: 'hidden',
43
- whiteSpace: 'nowrap'
44
- }) }, (_h = (_g = product === null || product === void 0 ? void 0 : product.bindCta) === null || _g === void 0 ? void 0 : _g.enTitle) !== null && _h !== void 0 ? _h : 'Shop Now'))));
26
+ react_1.default.createElement("div", { className: index_module_less_1.default['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title }, (_f = product === null || product === void 0 ? void 0 : product.title) !== null && _f !== void 0 ? _f : 'Product Name'),
27
+ react_1.default.createElement("div", { className: (0, css_1.css)(Object.assign({ padding: '2px 7px', textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)) }, (_h = (_g = product === null || product === void 0 ? void 0 : product.bindCta) === null || _g === void 0 ? void 0 : _g.enTitle) !== null && _h !== void 0 ? _h : 'Shop Now'))));
45
28
  };
46
29
  exports.default = (0, react_1.memo)(Commodity);