pb-sxp-ui 1.1.2 → 1.2.1

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 (166) hide show
  1. package/dist/index.cjs +2264 -864
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +356 -175
  4. package/dist/index.js +2264 -864
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.cjs +3 -3
  7. package/dist/index.min.cjs.map +1 -1
  8. package/dist/index.min.js +3 -3
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/pb-ui.js +2264 -864
  11. package/dist/pb-ui.js.map +1 -1
  12. package/dist/pb-ui.min.js +3 -3
  13. package/dist/pb-ui.min.js.map +1 -1
  14. package/es/core/Pagebuilder/type.d.ts +1 -0
  15. package/es/core/components/SxpPageRender/FingerSwipeTip/index.d.ts +0 -1
  16. package/es/core/components/SxpPageRender/FingerSwipeTip/index.js +3 -3
  17. package/es/core/components/SxpPageRender/Hashtag/index.js +1 -3
  18. package/es/core/components/SxpPageRender/Modal/index.d.ts +3 -0
  19. package/es/core/components/SxpPageRender/Modal/index.js +70 -6
  20. package/es/core/components/SxpPageRender/Navbar.js +1 -1
  21. package/es/core/components/SxpPageRender/Popup/index.js +1 -1
  22. package/es/core/components/SxpPageRender/RenderCard.d.ts +1 -0
  23. package/es/core/components/SxpPageRender/RenderCard.js +16 -12
  24. package/es/core/components/SxpPageRender/VideoWidget/index.js +10 -13
  25. package/es/core/components/SxpPageRender/WaterFall/List.js +1 -1
  26. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +1 -1
  27. package/es/core/components/SxpPageRender/index.d.ts +3 -3
  28. package/es/core/components/SxpPageRender/index.js +51 -17
  29. package/es/core/components/SxpPageRender/typing.d.ts +1 -0
  30. package/es/core/context/SxpDataSourceProvider.d.ts +1 -0
  31. package/es/core/context/SxpDataSourceProvider.js +6 -4
  32. package/es/core/utils/localStore.d.ts +3 -0
  33. package/es/core/utils/localStore.js +8 -0
  34. package/es/materials/sxp/HashTag/material.js +1 -2
  35. package/es/materials/sxp/cta/AniLink/index.d.ts +14 -0
  36. package/es/materials/sxp/cta/AniLink/index.js +59 -0
  37. package/es/materials/sxp/cta/AniLink/interactionRender.d.ts +42 -0
  38. package/es/materials/sxp/cta/AniLink/interactionRender.js +50 -0
  39. package/es/materials/sxp/cta/AniLink/material.d.ts +2 -0
  40. package/es/materials/sxp/cta/AniLink/material.js +38 -0
  41. package/es/materials/sxp/cta/AniLink/settingRender.d.ts +73 -0
  42. package/es/materials/sxp/cta/AniLink/settingRender.js +103 -0
  43. package/es/materials/sxp/cta/AniLinkPopup/index.d.ts +17 -0
  44. package/es/materials/sxp/cta/AniLinkPopup/index.js +66 -0
  45. package/es/materials/sxp/cta/AniLinkPopup/interactionRender.d.ts +42 -0
  46. package/es/materials/sxp/cta/AniLinkPopup/interactionRender.js +50 -0
  47. package/es/materials/sxp/cta/AniLinkPopup/material.d.ts +2 -0
  48. package/es/materials/sxp/cta/AniLinkPopup/material.js +52 -0
  49. package/es/materials/sxp/cta/AniLinkPopup/settingRender.d.ts +176 -0
  50. package/es/materials/sxp/cta/AniLinkPopup/settingRender.js +249 -0
  51. package/es/materials/sxp/cta/index.d.ts +2 -0
  52. package/es/materials/sxp/cta/index.js +2 -0
  53. package/es/materials/sxp/index.d.ts +1 -0
  54. package/es/materials/sxp/index.js +1 -0
  55. package/es/materials/sxp/popup/AppointForm/Form.js +1 -1
  56. package/es/materials/sxp/popup/CommodityDetail/index.d.ts +5 -0
  57. package/es/materials/sxp/popup/CommodityDetail/index.js +43 -26
  58. package/es/materials/sxp/popup/CommodityDetail/interactionRender.d.ts +9 -0
  59. package/es/materials/sxp/popup/CommodityDetail/interactionRender.js +12 -0
  60. package/es/materials/sxp/popup/CommodityDetail/material.js +3 -1
  61. package/es/materials/sxp/popup/CommodityDetail/settingRender.d.ts +37 -0
  62. package/es/materials/sxp/popup/CommodityDetail/settingRender.js +41 -0
  63. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +5 -0
  64. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +11 -25
  65. package/es/materials/sxp/popup/CommodityDetailDiroNew/interactionRender.d.ts +9 -0
  66. package/es/materials/sxp/popup/CommodityDetailDiroNew/interactionRender.js +12 -0
  67. package/es/materials/sxp/popup/CommodityDetailDiroNew/material.js +3 -1
  68. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +37 -0
  69. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +41 -0
  70. package/es/materials/sxp/popup/CommodityList/index.d.ts +28 -0
  71. package/es/materials/sxp/popup/CommodityList/index.js +56 -0
  72. package/es/materials/sxp/popup/CommodityList/interactionRender.d.ts +8 -0
  73. package/es/materials/sxp/popup/CommodityList/interactionRender.js +11 -0
  74. package/es/materials/sxp/popup/CommodityList/material.d.ts +2 -0
  75. package/es/materials/sxp/popup/CommodityList/material.js +51 -0
  76. package/es/materials/sxp/popup/CommodityList/settingRender.d.ts +151 -0
  77. package/es/materials/sxp/popup/CommodityList/settingRender.js +207 -0
  78. package/es/materials/sxp/popup/index.d.ts +1 -0
  79. package/es/materials/sxp/popup/index.js +1 -0
  80. package/es/materials/sxp/template/Link/index.js +2 -2
  81. package/es/materials/sxp/template/MultiCommodity/index.js +2 -2
  82. package/es/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
  83. package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +5 -4
  84. package/es/materials/sxp/template/components/CommodityGroup.d.ts +14 -0
  85. package/es/materials/sxp/template/components/CommodityGroup.js +31 -0
  86. package/es/materials/sxp/template/components/Img.js +1 -1
  87. package/es/materials/sxp/template/components/Scroll.d.ts +2 -1
  88. package/es/materials/sxp/template/components/Scroll.js +10 -3
  89. package/es/materials/sxp/template/components/settingRender.js +0 -5
  90. package/lib/core/Pagebuilder/type.d.ts +1 -0
  91. package/lib/core/components/SxpPageRender/FingerSwipeTip/index.d.ts +0 -1
  92. package/lib/core/components/SxpPageRender/FingerSwipeTip/index.js +3 -3
  93. package/lib/core/components/SxpPageRender/Hashtag/index.js +1 -3
  94. package/lib/core/components/SxpPageRender/Modal/index.d.ts +3 -0
  95. package/lib/core/components/SxpPageRender/Modal/index.js +70 -6
  96. package/lib/core/components/SxpPageRender/Navbar.js +1 -1
  97. package/lib/core/components/SxpPageRender/Popup/index.js +1 -1
  98. package/lib/core/components/SxpPageRender/RenderCard.d.ts +1 -0
  99. package/lib/core/components/SxpPageRender/RenderCard.js +16 -12
  100. package/lib/core/components/SxpPageRender/VideoWidget/index.js +10 -13
  101. package/lib/core/components/SxpPageRender/WaterFall/List.js +1 -1
  102. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +1 -1
  103. package/lib/core/components/SxpPageRender/index.d.ts +3 -3
  104. package/lib/core/components/SxpPageRender/index.js +50 -16
  105. package/lib/core/components/SxpPageRender/typing.d.ts +1 -0
  106. package/lib/core/context/SxpDataSourceProvider.d.ts +1 -0
  107. package/lib/core/context/SxpDataSourceProvider.js +6 -4
  108. package/lib/core/utils/localStore.d.ts +3 -0
  109. package/lib/core/utils/localStore.js +11 -1
  110. package/lib/materials/sxp/HashTag/material.js +1 -2
  111. package/lib/materials/sxp/cta/AniLink/index.d.ts +14 -0
  112. package/lib/materials/sxp/cta/AniLink/index.js +61 -0
  113. package/lib/materials/sxp/cta/AniLink/interactionRender.d.ts +42 -0
  114. package/lib/materials/sxp/cta/AniLink/interactionRender.js +52 -0
  115. package/lib/materials/sxp/cta/AniLink/material.d.ts +2 -0
  116. package/lib/materials/sxp/cta/AniLink/material.js +42 -0
  117. package/lib/materials/sxp/cta/AniLink/settingRender.d.ts +73 -0
  118. package/lib/materials/sxp/cta/AniLink/settingRender.js +105 -0
  119. package/lib/materials/sxp/cta/AniLinkPopup/index.d.ts +17 -0
  120. package/lib/materials/sxp/cta/AniLinkPopup/index.js +68 -0
  121. package/lib/materials/sxp/cta/AniLinkPopup/interactionRender.d.ts +42 -0
  122. package/lib/materials/sxp/cta/AniLinkPopup/interactionRender.js +52 -0
  123. package/lib/materials/sxp/cta/AniLinkPopup/material.d.ts +2 -0
  124. package/lib/materials/sxp/cta/AniLinkPopup/material.js +56 -0
  125. package/lib/materials/sxp/cta/AniLinkPopup/settingRender.d.ts +176 -0
  126. package/lib/materials/sxp/cta/AniLinkPopup/settingRender.js +251 -0
  127. package/lib/materials/sxp/cta/index.d.ts +2 -0
  128. package/lib/materials/sxp/cta/index.js +5 -0
  129. package/lib/materials/sxp/index.d.ts +1 -0
  130. package/lib/materials/sxp/index.js +1 -0
  131. package/lib/materials/sxp/popup/AppointForm/Form.js +1 -1
  132. package/lib/materials/sxp/popup/CommodityDetail/index.d.ts +5 -0
  133. package/lib/materials/sxp/popup/CommodityDetail/index.js +43 -26
  134. package/lib/materials/sxp/popup/CommodityDetail/interactionRender.d.ts +9 -0
  135. package/lib/materials/sxp/popup/CommodityDetail/interactionRender.js +14 -0
  136. package/lib/materials/sxp/popup/CommodityDetail/material.js +3 -1
  137. package/lib/materials/sxp/popup/CommodityDetail/settingRender.d.ts +37 -0
  138. package/lib/materials/sxp/popup/CommodityDetail/settingRender.js +41 -0
  139. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +5 -0
  140. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +11 -25
  141. package/lib/materials/sxp/popup/CommodityDetailDiroNew/interactionRender.d.ts +9 -0
  142. package/lib/materials/sxp/popup/CommodityDetailDiroNew/interactionRender.js +14 -0
  143. package/lib/materials/sxp/popup/CommodityDetailDiroNew/material.js +3 -1
  144. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +37 -0
  145. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +41 -0
  146. package/lib/materials/sxp/popup/CommodityList/index.d.ts +28 -0
  147. package/lib/materials/sxp/popup/CommodityList/index.js +58 -0
  148. package/lib/materials/sxp/popup/CommodityList/interactionRender.d.ts +8 -0
  149. package/lib/materials/sxp/popup/CommodityList/interactionRender.js +13 -0
  150. package/lib/materials/sxp/popup/CommodityList/material.d.ts +2 -0
  151. package/lib/materials/sxp/popup/CommodityList/material.js +55 -0
  152. package/lib/materials/sxp/popup/CommodityList/settingRender.d.ts +151 -0
  153. package/lib/materials/sxp/popup/CommodityList/settingRender.js +209 -0
  154. package/lib/materials/sxp/popup/index.d.ts +1 -0
  155. package/lib/materials/sxp/popup/index.js +1 -0
  156. package/lib/materials/sxp/template/Link/index.js +2 -2
  157. package/lib/materials/sxp/template/MultiCommodity/index.js +2 -2
  158. package/lib/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
  159. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +5 -4
  160. package/lib/materials/sxp/template/components/CommodityGroup.d.ts +14 -0
  161. package/lib/materials/sxp/template/components/CommodityGroup.js +34 -0
  162. package/lib/materials/sxp/template/components/Img.js +1 -1
  163. package/lib/materials/sxp/template/components/Scroll.d.ts +2 -1
  164. package/lib/materials/sxp/template/components/Scroll.js +9 -2
  165. package/lib/materials/sxp/template/components/settingRender.js +0 -5
  166. package/package.json +1 -1
@@ -0,0 +1,176 @@
1
+ declare const _default: ({
2
+ title: string;
3
+ child: ({
4
+ type: string;
5
+ label: string;
6
+ child: {
7
+ type: string;
8
+ name: string[];
9
+ addonAfter: string;
10
+ }[];
11
+ name?: undefined;
12
+ addonAfter?: undefined;
13
+ } | {
14
+ type: string;
15
+ label: string;
16
+ child: ({
17
+ type: string;
18
+ name: string[];
19
+ max: number;
20
+ addonAfter?: undefined;
21
+ } | {
22
+ type: string;
23
+ name: string[];
24
+ addonAfter: string;
25
+ max: number;
26
+ })[];
27
+ name?: undefined;
28
+ addonAfter?: undefined;
29
+ } | {
30
+ type: string;
31
+ label: string;
32
+ name: string[];
33
+ child?: undefined;
34
+ addonAfter?: undefined;
35
+ } | {
36
+ label: string;
37
+ type: string;
38
+ name: string[];
39
+ addonAfter: string;
40
+ child?: undefined;
41
+ })[];
42
+ type?: undefined;
43
+ } | {
44
+ title: string;
45
+ child: ({
46
+ type: string;
47
+ label: string;
48
+ child: {
49
+ type: string;
50
+ name: string[];
51
+ addonAfter: string;
52
+ }[];
53
+ addonAfter?: undefined;
54
+ name?: undefined;
55
+ min?: undefined;
56
+ initialValue?: undefined;
57
+ } | {
58
+ type: string;
59
+ label: string;
60
+ child: ({
61
+ type: string;
62
+ name: string[];
63
+ max: number;
64
+ addonAfter?: undefined;
65
+ } | {
66
+ type: string;
67
+ name: string[];
68
+ addonAfter: string;
69
+ max: number;
70
+ })[];
71
+ addonAfter?: undefined;
72
+ name?: undefined;
73
+ min?: undefined;
74
+ initialValue?: undefined;
75
+ } | {
76
+ type: string;
77
+ label: string;
78
+ addonAfter: string;
79
+ name: string[];
80
+ child?: undefined;
81
+ min?: undefined;
82
+ initialValue?: undefined;
83
+ } | {
84
+ label: string;
85
+ type: string;
86
+ name: string[];
87
+ min: number;
88
+ addonAfter: string;
89
+ initialValue: number;
90
+ child?: undefined;
91
+ })[];
92
+ type?: undefined;
93
+ } | {
94
+ title: string;
95
+ type: string;
96
+ child: ({
97
+ type: string;
98
+ label: string;
99
+ child: {
100
+ type: string;
101
+ name: string[];
102
+ bottomText: string;
103
+ }[];
104
+ name?: undefined;
105
+ } | {
106
+ type: string;
107
+ label: string;
108
+ child: ({
109
+ type: string;
110
+ name: string[];
111
+ addonAfter?: undefined;
112
+ } | {
113
+ type: string;
114
+ addonAfter: string;
115
+ name: string[];
116
+ })[];
117
+ name?: undefined;
118
+ } | {
119
+ label: string;
120
+ type: string;
121
+ name: string[];
122
+ child?: undefined;
123
+ })[];
124
+ } | {
125
+ title: string;
126
+ child: ({
127
+ type: string;
128
+ label: string;
129
+ child: ({
130
+ type: string;
131
+ name: string[];
132
+ max: number;
133
+ addonAfter?: undefined;
134
+ } | {
135
+ type: string;
136
+ name: string[];
137
+ addonAfter: string;
138
+ max: number;
139
+ })[];
140
+ name?: undefined;
141
+ } | {
142
+ type: string;
143
+ name: string[];
144
+ label?: undefined;
145
+ child?: undefined;
146
+ } | {
147
+ type: string;
148
+ label: string;
149
+ name: string[];
150
+ child?: undefined;
151
+ } | {
152
+ type: string;
153
+ label: string;
154
+ child: {
155
+ type: string;
156
+ name: string[];
157
+ bottomText: string;
158
+ }[];
159
+ name?: undefined;
160
+ } | {
161
+ type: string;
162
+ label: string;
163
+ child: ({
164
+ type: string;
165
+ name: string[];
166
+ addonAfter?: undefined;
167
+ } | {
168
+ type: string;
169
+ addonAfter: string;
170
+ name: string[];
171
+ })[];
172
+ name?: undefined;
173
+ })[];
174
+ type?: undefined;
175
+ })[];
176
+ export default _default;
@@ -0,0 +1,249 @@
1
+ export default [
2
+ {
3
+ title: '主题样式',
4
+ child: [
5
+ {
6
+ type: 'Group',
7
+ label: '尺寸',
8
+ child: [
9
+ {
10
+ type: 'Number',
11
+ name: ['style', 'width'],
12
+ addonAfter: 'W'
13
+ },
14
+ {
15
+ type: 'Number',
16
+ name: ['style', 'height'],
17
+ addonAfter: 'H'
18
+ }
19
+ ]
20
+ },
21
+ {
22
+ type: 'Group',
23
+ label: '圆角',
24
+ child: [
25
+ {
26
+ type: 'Slider',
27
+ name: ['style', 'borderRadius'],
28
+ max: 100
29
+ },
30
+ {
31
+ type: 'Number',
32
+ name: ['style', 'borderRadius'],
33
+ addonAfter: 'px',
34
+ max: 100
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ type: 'Color',
40
+ label: '背景色',
41
+ name: ['style', 'backgroundColor']
42
+ },
43
+ {
44
+ label: '外边距',
45
+ type: 'Number',
46
+ name: ['style', 'margin'],
47
+ addonAfter: 'px'
48
+ },
49
+ {
50
+ label: '内边距',
51
+ type: 'Number',
52
+ name: ['style', 'padding'],
53
+ addonAfter: 'px'
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ title: '商品图片',
59
+ child: [
60
+ {
61
+ type: 'Group',
62
+ label: '尺寸',
63
+ child: [
64
+ {
65
+ type: 'Number',
66
+ name: ['props', 'ctaTempStyles', 'img', 'width'],
67
+ addonAfter: 'W'
68
+ },
69
+ {
70
+ type: 'Number',
71
+ name: ['props', 'ctaTempStyles', 'img', 'height'],
72
+ addonAfter: 'H'
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ type: 'Group',
78
+ label: '圆角',
79
+ child: [
80
+ {
81
+ type: 'Slider',
82
+ name: ['props', 'ctaTempStyles', 'img', 'borderRadius'],
83
+ max: 100
84
+ },
85
+ {
86
+ type: 'Number',
87
+ name: ['props', 'ctaTempStyles', 'img', 'borderRadius'],
88
+ addonAfter: 'px',
89
+ max: 100
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ type: 'Number',
95
+ label: '与下边边距',
96
+ addonAfter: 'px',
97
+ name: ['props', 'ctaTempStyles', 'img', 'marginBottom']
98
+ },
99
+ {
100
+ label: '居中垂直偏移',
101
+ type: 'Number',
102
+ name: ['props', 'translateY'],
103
+ min: -1000,
104
+ addonAfter: '%',
105
+ initialValue: 0
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ title: '商品标题文本',
111
+ type: 'commodityTitle',
112
+ child: [
113
+ {
114
+ type: 'Group',
115
+ label: '字体',
116
+ child: [
117
+ {
118
+ type: 'Select',
119
+ name: ['props', 'ctaTempStyles', 'title', 'fontFamily-cn'],
120
+ bottomText: '中文字体'
121
+ },
122
+ {
123
+ type: 'Select',
124
+ name: ['props', 'ctaTempStyles', 'title', 'fontFamily-en'],
125
+ bottomText: '英文/其他字体'
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ type: 'Group',
131
+ label: '',
132
+ child: [
133
+ {
134
+ type: 'Color',
135
+ name: ['props', 'ctaTempStyles', 'title', 'color']
136
+ },
137
+ {
138
+ type: 'Number',
139
+ addonAfter: 'px',
140
+ name: ['props', 'ctaTempStyles', 'title', 'fontSize']
141
+ }
142
+ ]
143
+ },
144
+ {
145
+ label: '样式',
146
+ type: 'TextStyle',
147
+ name: ['props', 'ctaTempStyles', 'title']
148
+ },
149
+ {
150
+ label: '对齐',
151
+ type: 'TextAlign',
152
+ name: ['props', 'ctaTempStyles', 'title']
153
+ },
154
+ {
155
+ label: '间距',
156
+ type: 'TextSpace',
157
+ name: ['props', 'ctaTempStyles', 'title']
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ title: 'CTA标题',
163
+ child: [
164
+ {
165
+ type: 'Group',
166
+ label: '尺寸',
167
+ child: [
168
+ {
169
+ type: 'Number',
170
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'width'],
171
+ addonAfter: 'W'
172
+ },
173
+ {
174
+ type: 'Number',
175
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'height'],
176
+ addonAfter: 'H'
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ type: 'Group',
182
+ label: '圆角',
183
+ child: [
184
+ {
185
+ type: 'Slider',
186
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'borderRadius'],
187
+ max: 100
188
+ },
189
+ {
190
+ type: 'Number',
191
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'borderRadius'],
192
+ addonAfter: 'px',
193
+ max: 100
194
+ }
195
+ ]
196
+ },
197
+ {
198
+ type: 'TextSpace',
199
+ name: ['props', 'ctaTempStyles', 'title']
200
+ },
201
+ {
202
+ type: 'Color',
203
+ label: '背景色',
204
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'backgroundColor']
205
+ },
206
+ {
207
+ type: 'Group',
208
+ label: '字体',
209
+ child: [
210
+ {
211
+ type: 'Select',
212
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'fontFamily-cn'],
213
+ bottomText: '中文字体'
214
+ },
215
+ {
216
+ type: 'Select',
217
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'fontFamily-en'],
218
+ bottomText: '英文/其他字体'
219
+ }
220
+ ]
221
+ },
222
+ {
223
+ type: 'Group',
224
+ label: '',
225
+ child: [
226
+ {
227
+ type: 'Color',
228
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'color']
229
+ },
230
+ {
231
+ type: 'Number',
232
+ addonAfter: 'px',
233
+ name: ['props', 'ctaTempStyles', 'ctaTitle', 'fontSize']
234
+ }
235
+ ]
236
+ },
237
+ {
238
+ label: '样式',
239
+ type: 'TextStyle',
240
+ name: ['props', 'ctaTempStyles', 'ctaTitle']
241
+ },
242
+ {
243
+ label: '对齐',
244
+ type: 'TextAlign',
245
+ name: ['props', 'ctaTempStyles', 'ctaTitle']
246
+ }
247
+ ]
248
+ }
249
+ ];
@@ -0,0 +1,2 @@
1
+ export * from './AniLink/material';
2
+ export * from './AniLinkPopup/material';
@@ -0,0 +1,2 @@
1
+ export * from './AniLink/material';
2
+ export * from './AniLinkPopup/material';
@@ -2,3 +2,4 @@ export * from './popup';
2
2
  export * from './template';
3
3
  export * from './HashTag/material';
4
4
  export * from './Consent/material';
5
+ export * from './cta';
@@ -2,3 +2,4 @@ export * from './popup';
2
2
  export * from './template';
3
3
  export * from './HashTag/material';
4
4
  export * from './Consent/material';
5
+ export * from './cta';
@@ -3,6 +3,6 @@ import React from 'react';
3
3
  const Form = ({ layout, columns, onChange }) => {
4
4
  return (React.createElement(React.Fragment, null, columns === null || columns === void 0 ? void 0 : columns.map((item, index) => (React.createElement("div", { key: index, className: 'pb-appoint-form-container-item', style: { flexDirection: layout === 'horizontal' ? 'row' : 'column' } },
5
5
  layout !== 'inline' && React.createElement("label", { className: 'pb-appoint-form-container-label' }, item === null || item === void 0 ? void 0 : item.title),
6
- (item === null || item === void 0 ? void 0 : item.valueType) === 'text' && (React.createElement("input", { className: 'pb-appoint-form-container-input', type: 'text', placeholder: layout === 'inline' ? item === null || item === void 0 ? void 0 : item.title : '请输入', name: item === null || item === void 0 ? void 0 : item.dataIndex, onChange: onChange })))))));
6
+ (item === null || item === void 0 ? void 0 : item.valueType) === 'text' && (React.createElement("input", Object.assign({ className: 'pb-appoint-form-container-input', type: 'text', placeholder: layout === 'inline' ? item === null || item === void 0 ? void 0 : item.title : '请输入', name: item === null || item === void 0 ? void 0 : item.dataIndex }, (onChange && { onChange: onChange })))))))));
7
7
  };
8
8
  export default memo(Form);
@@ -30,6 +30,11 @@ export interface ICommodityDetailProps {
30
30
  };
31
31
  buttonStyle?: CSSProperties;
32
32
  index?: number;
33
+ commodityGroup?: {
34
+ open?: boolean;
35
+ translateY?: number;
36
+ style?: CSSProperties;
37
+ };
33
38
  }
34
39
  declare const _default: React.NamedExoticComponent<ICommodityDetailProps>;
35
40
  export default _default;
@@ -10,14 +10,16 @@ import Modal from '../../../../core/components/SxpPageRender/Modal';
10
10
  import ExpandableText from '../../../../core/components/SxpPageRender/ExpandableText';
11
11
  import FormatImage from '../../../../core/components/SxpPageRender/FormatImage';
12
12
  import { setFontForText } from '../../../../core/utils/tool';
13
+ import CommodityGroup from '../../template/components/CommodityGroup';
13
14
  const CommodityDetail = (_a) => {
14
15
  var _b, _c, _d, _e, _f, _g, _h, _j, _k;
15
- var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index"]);
16
+ var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index, commodityGroup } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup"]);
16
17
  const { sxpParameter } = useSxpDataSource();
17
18
  const { popupDetailData, bffEventReport, isPreview, bffFbReport } = useSxpDataSource();
18
19
  const { jumpToWeb, productView } = useEventReport();
19
20
  const curTimeRef = useRef(null);
20
21
  const [showModal, setShowModal] = useState(false);
22
+ const [show3DModal, setShow3DModal] = useState(false);
21
23
  const data = isPost ? rec : popupDetailData;
22
24
  const product = isPost ? data === null || data === void 0 ? void 0 : data.product : (_b = data === null || data === void 0 ? void 0 : data.video) === null || _b === void 0 ? void 0 : _b.bindProduct;
23
25
  const cta = isPost ? (_c = data === null || data === void 0 ? void 0 : data.product) === null || _c === void 0 ? void 0 : _c.bindCta : (_e = (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.bindProduct) === null || _e === void 0 ? void 0 : _e.bindCta;
@@ -92,31 +94,39 @@ const CommodityDetail = (_a) => {
92
94
  }
93
95
  return style;
94
96
  }, []);
95
- return (React.createElement("div", { className: 'pb-commondity' },
97
+ const renderCommodityGroup = useCallback(() => {
98
+ var _a, _b, _c;
99
+ if (isPost)
100
+ return;
101
+ return (React.createElement(CommodityGroup, { products: (_a = data === null || data === void 0 ? void 0 : data.video) === null || _a === void 0 ? void 0 : _a.bindProducts, data: commodityGroup, defImg: (_c = (_b = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _b !== void 0 ? _b : bottom_image) !== null && _c !== void 0 ? _c : '', style: { padding: '0 19px' } }));
102
+ }, []);
103
+ return (React.createElement(React.Fragment, null,
96
104
  React.createElement("div", Object.assign({ className: css(Object.assign({}, style)) }, props),
97
- product && ((_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.length) > 0 && (React.createElement(Swiper, { height: width, modules: [Pagination, Autoplay], pagination: {
98
- clickable: true,
99
- bulletActiveClass: 'swipe-item-active-bullet',
100
- clickableClass: (swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign) === 'left'
101
- ? 'commondityDetail-swiper-clickable-left'
102
- : 'commondityDetail-swiper-clickable-center'
103
- }, loop: true, autoplay: {
104
- delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
105
- } }, (_h = product === null || product === void 0 ? void 0 : product.homePage) === null || _h === void 0 ? void 0 : _h.map((src) => {
106
- return (React.createElement(SwiperSlide, { key: src },
107
- React.createElement("div", { style: {
108
- overflow: 'hidden',
109
- width,
110
- height: width
111
- } },
112
- React.createElement(FormatImage, { style: {
113
- height: '100%',
114
- width: '100%',
115
- objectFit: 'cover',
116
- display: 'block',
117
- objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? (swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
118
- }, src: src }))));
119
- }))),
105
+ product && ((_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.length) > 0 && (React.createElement("div", { style: { position: 'relative' } },
106
+ React.createElement(Swiper, { height: width, modules: [Pagination, Autoplay], pagination: {
107
+ clickable: true,
108
+ bulletActiveClass: 'swipe-item-active-bullet',
109
+ clickableClass: (swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign) === 'left'
110
+ ? 'commondityDetail-swiper-clickable-left'
111
+ : 'commondityDetail-swiper-clickable-center'
112
+ }, loop: true, autoplay: {
113
+ delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
114
+ } },
115
+ React.createElement(React.Fragment, null, (_h = product === null || product === void 0 ? void 0 : product.homePage) === null || _h === void 0 ? void 0 : _h.map((src) => {
116
+ return (React.createElement(SwiperSlide, { key: src },
117
+ React.createElement("div", { style: {
118
+ overflow: 'hidden',
119
+ width,
120
+ height: width
121
+ } },
122
+ React.createElement(FormatImage, { style: {
123
+ height: '100%',
124
+ width: '100%',
125
+ objectFit: 'cover',
126
+ display: 'block',
127
+ objectPosition: `50% ${(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) ? -(swiper === null || swiper === void 0 ? void 0 : swiper.translateY) + 50 : 50}%`
128
+ }, src: src }))));
129
+ }))))),
120
130
  !((_j = product === null || product === void 0 ? void 0 : product.homePage) === null || _j === void 0 ? void 0 : _j.length) && (React.createElement("div", { className: css({
121
131
  position: 'relative',
122
132
  height: 0,
@@ -131,10 +141,17 @@ const CommodityDetail = (_a) => {
131
141
  objectFit: 'cover',
132
142
  width: '100%'
133
143
  }), src: (_k = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _k !== void 0 ? _k : bottom_image, alt: 'pdp image' }))),
144
+ renderCommodityGroup(),
134
145
  React.createElement("div", { className: 'pb-commondity-content' }, renderContent({ isPost }))),
135
146
  renderBtn(),
136
147
  React.createElement(Modal, { visible: showModal, onClose: () => setShowModal(false) },
137
148
  React.createElement("div", { style: { paddingBottom: '80px' } }, renderContent({ isPost: false })),
138
- renderBtn())));
149
+ renderBtn()),
150
+ React.createElement(Modal, { visible: show3DModal, padding: 0, isFullScreen: true, onClose: () => setShow3DModal(false) },
151
+ React.createElement("iframe", { src: 'https://rimowa.threedium.co.uk/product-experience/latest/?sku=92573974&lang=en', style: {
152
+ width: '100%',
153
+ height: 'calc(100% - 40px)',
154
+ marginTop: '40px'
155
+ } }))));
139
156
  };
140
157
  export default memo(CommodityDetail);
@@ -0,0 +1,9 @@
1
+ declare const _default: {
2
+ title: string;
3
+ child: {
4
+ type: string;
5
+ label: string;
6
+ name: string[];
7
+ }[];
8
+ }[];
9
+ export default _default;
@@ -0,0 +1,12 @@
1
+ export default [
2
+ {
3
+ title: '滑动事件',
4
+ child: [
5
+ {
6
+ type: 'Switch',
7
+ label: '滑动铺满全屏',
8
+ name: ['isScrollFullScreen']
9
+ }
10
+ ]
11
+ }
12
+ ];
@@ -1,13 +1,15 @@
1
1
  import settingRender from './settingRender';
2
2
  import CommodityDetailComponent from '.';
3
3
  import { createMaterial } from '../../../../core/create';
4
+ import interactionRender from './interactionRender';
4
5
  const CommodityDetail = createMaterial(CommodityDetailComponent, {
5
6
  displayName: '商品详情',
6
7
  icon: '',
7
8
  category: 'popup',
8
9
  type: 'CommodityDetail',
9
10
  related: {
10
- settingRender
11
+ settingRender,
12
+ interactionRender
11
13
  },
12
14
  defaulSetting: {
13
15
  props: {
@@ -32,6 +32,43 @@ declare const _default: ({
32
32
  name?: undefined;
33
33
  addonAfter?: undefined;
34
34
  })[];
35
+ } | {
36
+ title: string;
37
+ child: ({
38
+ type: string;
39
+ name: string[];
40
+ label: string;
41
+ child?: undefined;
42
+ } | {
43
+ type: string;
44
+ child: {
45
+ label: string;
46
+ type: string;
47
+ name: string[];
48
+ min: number;
49
+ addonAfter: string;
50
+ initialValue: number;
51
+ }[];
52
+ name?: undefined;
53
+ label?: undefined;
54
+ } | {
55
+ type: string;
56
+ child: ({
57
+ label: string;
58
+ name: string[];
59
+ type: string;
60
+ addonAfter: string;
61
+ initialValue: number;
62
+ } | {
63
+ label: string;
64
+ name: string[];
65
+ type: string;
66
+ addonAfter: string;
67
+ initialValue?: undefined;
68
+ })[];
69
+ name?: undefined;
70
+ label?: undefined;
71
+ })[];
35
72
  } | {
36
73
  title: string;
37
74
  child: {