@realsee/dnalogel 2.1.0-alpha.16 → 2.1.0-alpha.17

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 (202) hide show
  1. package/dist/CSS3DRenderPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  2. package/dist/CameraMovementPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  3. package/dist/CruisePlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  4. package/dist/GuideLinePlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  5. package/dist/ItemLabelPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  6. package/dist/ModelChassisCompassPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  7. package/dist/ModelEntryDoorGuidePlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  8. package/dist/ModelItemLabelPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  9. package/dist/ModelRoomLabelPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  10. package/dist/ModelTVVideoPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  11. package/dist/ModelViewPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  12. package/dist/Object3DHelperPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  13. package/dist/PanoCompassPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  14. package/dist/PanoCursorRaycasterPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  15. package/dist/PanoDoorLabelPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  16. package/dist/PanoMeasurePlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  17. package/dist/PanoRulerPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  18. package/dist/PanoRulerProPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  19. package/dist/PanoSpatialTagPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  20. package/dist/PanoTagPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  21. package/dist/PanoTagPlugin/index.js +89 -84
  22. package/dist/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  23. package/dist/floorplan/MapviewFloorplanPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  24. package/dist/floorplan/ModelFloorplanPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  25. package/dist/floorplan/PanoFloorplanRadarPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  26. package/dist/floorplan/TopviewFloorplanPlugin/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  27. package/dist/index.es.js +89 -84
  28. package/dist/index.js +89 -84
  29. package/dist/index.umd.js +89 -84
  30. package/docs/classes/CruisePluginController.html +14 -14
  31. package/docs/classes/Magnifier.html +4 -4
  32. package/docs/classes/ModelRoomLabelController.html +4 -4
  33. package/docs/classes/Object3DHelperController.html +9 -9
  34. package/docs/classes/PanoTagPluginController.html +23 -23
  35. package/docs/enums/CameraMovementEffect.html +2 -2
  36. package/docs/enums/ContentType.html +7 -7
  37. package/docs/enums/DIRECTION.html +1 -1
  38. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  39. package/docs/enums/DimensionType.html +1 -1
  40. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  41. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  42. package/docs/enums/LinkType.html +1 -1
  43. package/docs/enums/PointType.html +1 -1
  44. package/docs/enums/Rotation.html +2 -2
  45. package/docs/index.html +1 -1
  46. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  47. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  48. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  49. package/docs/interfaces/FloorplanBounding.html +4 -4
  50. package/docs/interfaces/FloorplanData.html +2 -2
  51. package/docs/interfaces/FloorplanEntrance.html +7 -7
  52. package/docs/interfaces/FloorplanExtraObject.html +3 -3
  53. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  54. package/docs/interfaces/FloorplanFloorData.html +2 -2
  55. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  56. package/docs/interfaces/FloorplanObserver.html +2 -2
  57. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  58. package/docs/interfaces/FloorplanPosition.html +2 -2
  59. package/docs/interfaces/FloorplanRoomItem.html +6 -6
  60. package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
  61. package/docs/interfaces/FloorplanServerBounding.html +4 -4
  62. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  63. package/docs/interfaces/FloorplanServerData.html +2 -2
  64. package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
  65. package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
  66. package/docs/interfaces/FloorplanServerEntrance.html +7 -7
  67. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  68. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  69. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  70. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  71. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  72. package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
  73. package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
  74. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  75. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  76. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  77. package/docs/interfaces/LineJson.html +1 -1
  78. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  79. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  80. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  81. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  82. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  83. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  84. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  85. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  86. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  87. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  88. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  89. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  90. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  91. package/docs/interfaces/Object3DHelperState.html +1 -1
  92. package/docs/interfaces/OpenParameter.html +2 -2
  93. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  94. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  95. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  96. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  97. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  98. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  99. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
  100. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
  101. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
  102. package/docs/interfaces/PanoRulerProPluginState.html +1 -1
  103. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  104. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  105. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  106. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  107. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  108. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  109. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  110. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  111. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  112. package/docs/interfaces/Point.html +1 -1
  113. package/docs/interfaces/PointJson.html +1 -1
  114. package/docs/interfaces/Room.html +1 -1
  115. package/docs/interfaces/RoomInfo.html +1 -1
  116. package/docs/interfaces/RoomLabel.html +7 -7
  117. package/docs/interfaces/RoomRules.html +1 -1
  118. package/docs/interfaces/Rooms.html +1 -1
  119. package/docs/interfaces/Scissor.html +5 -5
  120. package/docs/interfaces/TagConfig.html +3 -3
  121. package/docs/interfaces/Tags.html +3 -3
  122. package/docs/modules.html +21 -21
  123. package/libs/ItemLabelPlugin/Plugin.js +1 -1
  124. package/libs/ItemLabelPlugin/typings.d.ts +1 -1
  125. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +1 -1
  126. package/libs/ModelItemLabelPlugin/typings.d.ts +1 -1
  127. package/libs/ModelRoomLabelPlugin/Controller.js +1 -1
  128. package/libs/PanoDoorLabelPlugin/Controller.js +1 -1
  129. package/libs/PanoRulerProPlugin/Controller.js +1 -1
  130. package/libs/PanoSpatialTagPlugin/Plugin.js +2 -2
  131. package/libs/PanoTagPlugin/Components/Common/MediaItem.js +6 -5
  132. package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.js +15 -13
  133. package/libs/PanoTagPlugin/Components/Tag/AudioTag.js +6 -5
  134. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +17 -15
  135. package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +9 -9
  136. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +17 -15
  137. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +12 -18
  138. package/libs/PanoTagPlugin/Components/Tag/TextTag.js +4 -3
  139. package/libs/PanoTagPlugin/controller/index.js +6 -6
  140. package/libs/PanoTagPlugin/typings/controller.d.ts +1 -1
  141. package/libs/PanoTagPlugin/utils/nullishCoalescing.d.ts +2 -0
  142. package/libs/PanoTagPlugin/utils/nullishCoalescing.js +9 -0
  143. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -1
  144. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -1
  145. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +1 -1
  146. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -1
  147. package/package.json +1 -1
  148. package/libs/ItemLabelPlugin/ItemLabelComponent.svelte +0 -251
  149. package/libs/ItemLabelPlugin/ItemLabelItem.svelte +0 -183
  150. package/libs/ModelItemLabelPlugin/ItemLabelComponent.svelte +0 -155
  151. package/libs/ModelItemLabelPlugin/ItemLabelItem.svelte +0 -100
  152. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +0 -63
  153. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +0 -91
  154. package/libs/PanoDoorLabelPlugin/DoorLabelItem.svelte +0 -200
  155. package/libs/PanoRulerProPlugin/RulerItem.svelte +0 -166
  156. package/libs/PanoRulerProPlugin/RulerItems.svelte +0 -212
  157. package/libs/PanoSpatialTagPlugin/Components/origins.svelte +0 -58
  158. package/libs/PanoSpatialTagPlugin/Components/tag.svelte +0 -292
  159. package/libs/PanoTagPlugin/Components/Common/Arrow.svelte +0 -56
  160. package/libs/PanoTagPlugin/Components/Common/Audio.svelte +0 -82
  161. package/libs/PanoTagPlugin/Components/Common/Line/Polyline.svelte +0 -36
  162. package/libs/PanoTagPlugin/Components/Common/Line/Straight.svelte +0 -36
  163. package/libs/PanoTagPlugin/Components/Common/Media.svelte +0 -96
  164. package/libs/PanoTagPlugin/Components/Common/MediaItem.svelte +0 -49
  165. package/libs/PanoTagPlugin/Components/Common/MultiLineText.svelte +0 -56
  166. package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.svelte +0 -120
  167. package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.svelte +0 -81
  168. package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.svelte +0 -30
  169. package/libs/PanoTagPlugin/Components/Common/Shadow.svelte +0 -46
  170. package/libs/PanoTagPlugin/Components/Common/Text.svelte +0 -91
  171. package/libs/PanoTagPlugin/Components/Common/TextItem.svelte +0 -42
  172. package/libs/PanoTagPlugin/Components/PointTag.svelte +0 -55
  173. package/libs/PanoTagPlugin/Components/Tag/AudioTag.svelte +0 -105
  174. package/libs/PanoTagPlugin/Components/Tag/CustomTag.svelte +0 -33
  175. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.svelte +0 -63
  176. package/libs/PanoTagPlugin/Components/Tag/LinkTag.svelte +0 -167
  177. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.svelte +0 -235
  178. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.svelte +0 -32
  179. package/libs/PanoTagPlugin/Components/Tag/TextTag.svelte +0 -63
  180. package/libs/PanoTagPlugin/Components/Tag/index.svelte +0 -154
  181. package/libs/PanoTagPlugin/Components/TagWrapper.svelte +0 -64
  182. package/libs/floorplan/Components/BaseImage.svelte +0 -26
  183. package/libs/floorplan/Components/Camera.svelte +0 -46
  184. package/libs/floorplan/Components/Compass.svelte +0 -51
  185. package/libs/floorplan/Components/CurrentFloor.svelte +0 -57
  186. package/libs/floorplan/Components/Main.svelte +0 -55
  187. package/libs/floorplan/Components/Normalmage.svelte +0 -11
  188. package/libs/floorplan/Components/RoomHighlight/Room.svelte +0 -27
  189. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +0 -29
  190. package/libs/floorplan/Components/RoomLabels/RoomLabel.svelte +0 -120
  191. package/libs/floorplan/Components/RoomLabels/RoomLabels.svelte +0 -45
  192. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +0 -42
  193. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +0 -7
  194. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +0 -24
  195. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +0 -33
  196. package/libs/floorplan/Components/RuleLabels/RuleItem.svelte +0 -175
  197. package/libs/floorplan/Components/RuleLabels/RuleLabels.svelte +0 -33
  198. package/libs/floorplan/Components/SvgImage.svelte +0 -28
  199. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +0 -85
  200. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +0 -18
  201. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +0 -40
  202. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +0 -64
@@ -1,63 +0,0 @@
1
- <!-- 图文标签 -->
2
- <script>var _a, _b, _c;
3
- import uuid from '../../../shared-utils/uuid';
4
- import Text from '../Common/Text.svelte';
5
- import Line from '../Common/Line/Polyline.svelte';
6
- import Media from '../Common/Media.svelte';
7
- import Shadow from '../Common/Shadow.svelte';
8
- export let tag;
9
- $: unfolded = tag.state ? tag.state.unfolded : false;
10
- $: content = ((_b = (_a = tag.data.text) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 7 ? ((_c = tag.data.text) === null || _c === void 0 ? void 0 : _c.substring(0, 6)) + '...' : tag.data.text;
11
- $: mediaData = tag.data.mediaData;
12
- let textItems;
13
- $: {
14
- // 当 text 变了后,强制更新 Text
15
- textItems = content ? [{ id: uuid(), content }] : [];
16
- }
17
- </script>
18
-
19
- {#if tag.state}
20
- <Shadow visible={unfolded} left={61} bottom={57} width={2} blurRadius={150} spreadRadius={75} />
21
- <div class="line">
22
- <Line {unfolded} duration={1000} outDelay={400} />
23
- </div>
24
- {#each textItems as { id, content } (id)}
25
- <div class="text">
26
- <Text {unfolded} {content} inDelay={500} />
27
- </div>
28
- {/each}
29
- {#if mediaData}
30
- <div class="media-wrapper">
31
- <Media autoplayConfig={{ autoplay: false }} {unfolded} {mediaData} inDelay={500} duration={500} />
32
- </div>
33
- {/if}
34
- {/if}
35
-
36
- <style>
37
- .line {
38
- position: absolute;
39
- width: 105px;
40
- height: 21px;
41
- transform: translateY(-100%);
42
- z-index: 10;
43
- }
44
-
45
- .text {
46
- position: absolute;
47
- width: 100px;
48
- left: 16px;
49
- bottom: 1px;
50
- z-index: 10;
51
- font-weight: 600;
52
- }
53
-
54
- .media-wrapper {
55
- position: absolute;
56
- left: 14px;
57
- top: -85px;
58
- width: 90px;
59
- height: 60px;
60
- z-index: 10;
61
- font-weight: 600;
62
- }
63
- </style>
@@ -1,167 +0,0 @@
1
- <script>import { LinkType } from '../../typings';
2
- import Shadow from '../Common/Shadow.svelte';
3
- export let tag;
4
- $: data = tag.data;
5
- </script>
6
-
7
- <div class="wrapper">
8
- <div class="icon">
9
- {#if data.linkType === LinkType.VrLink}
10
- <Shadow visible={true} outDelay={0} inDelay={0} height={1.2} left={13} bottom={12} blurRadius={50} spreadRadius={18} />
11
- <div class="arrow0" />
12
- <div class="arrow1" />
13
- <div class="arrow2" />
14
- {:else if data.linkType === LinkType.NormalLink}
15
- <Shadow visible={true} outDelay={0} inDelay={0} width={1.4} left={13} bottom="auto" blurRadius={50} spreadRadius={18} />
16
- <div class="link" />
17
- {/if}
18
- </div>
19
- <div class="text-wrapper">
20
- <Shadow
21
- visible={true}
22
- outDelay={0}
23
- inDelay={0}
24
- left="auto"
25
- bottom="auto"
26
- width="80%"
27
- blurRadius={40}
28
- spreadRadius={16}
29
- opacity={0.08}
30
- />
31
- <div class="text">{data.text}</div>
32
- </div>
33
- </div>
34
-
35
- <style>
36
- .wrapper {
37
- font-weight: 600;
38
- cursor: pointer;
39
- width: max-content;
40
- height: max-content;
41
- position: absolute;
42
- left: 50%;
43
- top: 50%;
44
- transform: translate(-50%, -50%);
45
- display: flex;
46
- align-items: center;
47
- justify-content: center;
48
- flex-direction: column;
49
- pointer-events: auto;
50
- }
51
- .text-wrapper {
52
- position: relative;
53
- display: flex;
54
- align-items: center;
55
- justify-content: center;
56
- }
57
- .icon {
58
- position: relative;
59
- margin-bottom: 11px;
60
- }
61
-
62
- .arrow0,
63
- .arrow1,
64
- .arrow2 {
65
- position: absolute;
66
- width: 26px;
67
- height: 12px;
68
- background-image: url(data:image/png;base64,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);
69
- background-repeat: no-repeat;
70
- background-size: contain;
71
-
72
- animation-fill-mode: backwards;
73
- animation-iteration-count: infinite;
74
- animation-timing-function: ease-in-out;
75
- animation-duration: 1.2s;
76
- }
77
-
78
- .arrow1 {
79
- position: relative;
80
- }
81
-
82
- .arrow0 {
83
- top: -12px;
84
- animation-name: up0;
85
- }
86
- .arrow1 {
87
- animation-name: up1;
88
- }
89
- .arrow2 {
90
- top: 12px;
91
- animation-name: up2;
92
- }
93
-
94
- .text {
95
- position: absolute;
96
- top: 0;
97
- font-size: 14px;
98
- color: #ffffff;
99
- letter-spacing: 0;
100
- text-align: center;
101
- max-width: 140px;
102
- width: max-content;
103
- word-break: break-all;
104
- line-height: 18px;
105
- text-shadow: 2px 0px 8px rgba(0, 0, 0, 0.15);
106
- }
107
-
108
- @keyframes up0 {
109
- 0% {
110
- opacity: 0.8;
111
- transform: translate3d(0, 0, 0) scale(0.84);
112
- }
113
- /* 33.33% 与 自动轮播的营销贴片一起使用时会有闪烁问题,所以改为了33% */
114
- 33%,
115
- 100% {
116
- opacity: 0;
117
- transform: translate3d(0, -12px, 0) scale(0.84);
118
- }
119
- }
120
- @keyframes up1 {
121
- 0% {
122
- opacity: 1;
123
- transform: translate3d(0, 0, 0) scale(1);
124
- }
125
- 33%,
126
- 100% {
127
- opacity: 0.8;
128
- transform: translate3d(0, -12px, 0) scale(0.84);
129
- }
130
- }
131
- @keyframes up2 {
132
- 0% {
133
- opacity: 0;
134
- }
135
- 33%,
136
- 100% {
137
- opacity: 1;
138
- transform: translate3d(0, -12px, 0);
139
- }
140
- }
141
-
142
- .link {
143
- position: relative;
144
- width: 28px;
145
- height: 12px;
146
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAAAkCAMAAAAgl+0yAAAAnFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+TINBkAAAAM3RSTlMAjLy6ILM2Fi+Zng3BrPvao4VC9ceneQfKkmNdV1AbEeLOsHA77ujUtn5JLnRraSUUjVLj/+RVAAABhElEQVRIx63V2W6CQBiGYUBUQGDYdwTZQZZa7v/eimik/ket/7yZ4yeTTCYf8+dOX8etxGVoxAvCVbguR3g0uRTMA0w4odGi+CbzFnGKosCqrmHc5rdEwzCwqtGFJlC7DqtOcTxANY67BHnVKOpVoEZRjFPdLgxbqIZhhFTjINChGgThF06NhpGd35OGMcCppyDPfajm+YhUR8cRoeo4+RGlJnnbalBt2x6nHh1dt4Gq6bqDU886y2ZQZVn9jFJ51vcbqPo+Up18UeSgKoo3nHqVJEkGqi1JPk49aLZmQdW2xXf1zP+vUFHsC1QVReK33xdk+w9SaqAq+732UvvdZ2UEqrud8lR5Wc4a7pO8GaoL9VBjy7rMlMosq1lV43LhZlrtF+yuJlbtEXpqXXP3NYwI8VJqakOIziw5aepV1FQuTdfhvlWVZdJCrao6MPe0spRpqV5ZFivqNqYpq3RQ2TST5/h4quoRCmwqq6rymol6plV53IZSomTKE/MroWfxDevL/wAEdPq1eGDh4AAAAABJRU5ErkJggg==);
147
- background-repeat: no-repeat;
148
- background-size: contain;
149
-
150
- animation-iteration-count: infinite;
151
- animation-timing-function: linear;
152
- animation-duration: 1.2s;
153
- animation-name: left-right;
154
- }
155
-
156
- @keyframes left-right {
157
- 0%,
158
- 100% {
159
- opacity: 0.8;
160
- transform: translateX(-5px);
161
- }
162
- 50% {
163
- opacity: 1;
164
- transform: translateX(0);
165
- }
166
- }
167
- </style>
@@ -1,235 +0,0 @@
1
- <!-- 营销标签 -->
2
- <script>var _a, _b;
3
- import Shadow from '../Common/Shadow.svelte';
4
- export let tag;
5
- $: unfolded = (_b = (_a = tag.state) === null || _a === void 0 ? void 0 : _a.unfolded) !== null && _b !== void 0 ? _b : false;
6
- $: folded = !unfolded;
7
- $: data = tag.data;
8
- // 大小点切换时长/线条开始生长时间
9
- const bigSmallDotChange = 400;
10
- // 线条生长时长
11
- const lineGrow = 500;
12
- // 线条开始生长后x秒标签开始出现
13
- const tagContentShowWhenLineStartGrow = 180;
14
- // 标签出现时长
15
- const tagContentShow = 500;
16
- </script>
17
-
18
- <div class="marketing" class:unfolded class:folded>
19
- <Shadow visible={unfolded} outDelay={500} left={61} bottom={87} blurRadius={150} spreadRadius={75} />
20
- <div
21
- class="line"
22
- style:transition-delay={unfolded ? bigSmallDotChange + 'ms' : tagContentShowWhenLineStartGrow + tagContentShow - lineGrow - 40 + 'ms'}
23
- />
24
- <div class="content" style:transition-delay={unfolded ? bigSmallDotChange + tagContentShowWhenLineStartGrow + 'ms' : '0ms'}>
25
- <img class="headerImage" src={data.headerPictureUrl} alt="" />
26
- <div class="tag">
27
- {#each data.brandTags || [] as tag}
28
- {#if tag}
29
- <div class="base-tag primary-tag">{tag}</div>
30
- {/if}
31
- {/each}
32
- {#each data.tags || [] as tag}
33
- {#if tag}
34
- <div class="base-tag secondary-tag">{tag}</div>
35
- {/if}
36
- {/each}
37
- </div>
38
- <div class="title">
39
- <div class="text">{data.title}</div>
40
- </div>
41
- <div
42
- class="footer"
43
- style:height={data.price?.value !== undefined && data.price?.value !== null && data.highlightText ? undefined : '1rem'}
44
- >
45
- {#if data.price?.value !== undefined && data.price?.value !== null}
46
- <div class="price">
47
- <span class="value">
48
- {data.price.value}
49
- </span>
50
- {#if data.price.unit}
51
- <span class="unit">
52
- {data.price.unit}
53
- </span>
54
- {/if}
55
- </div>
56
- {/if}
57
- {#if data.highlightText}
58
- <div class="goto-button goto-icon">
59
- {data.highlightText}
60
- </div>
61
- {/if}
62
- </div>
63
- </div>
64
- </div>
65
-
66
- <style>
67
- * {
68
- box-sizing: border-box;
69
- }
70
-
71
- .marketing {
72
- transform: translateY(-100%);
73
- }
74
-
75
- .content .headerImage {
76
- position: absolute;
77
- width: 100%;
78
- top: 4px;
79
- transform: translateY(-100%);
80
- border-top-left-radius: 4px;
81
- border-top-right-radius: 4px;
82
- }
83
- .line {
84
- position: absolute;
85
- height: 33px;
86
- width: 1px;
87
- left: 50%;
88
- transform: translateX(-50%);
89
- background-color: white;
90
- bottom: 0;
91
- transform-origin: bottom;
92
- transition: all 500ms;
93
- }
94
-
95
- .content {
96
- background-color: white;
97
- position: relative;
98
- display: flex;
99
- flex-direction: column;
100
- min-width: 178px;
101
- width: max-content;
102
- height: max-content;
103
- border-radius: 4px;
104
- top: -30px;
105
- left: -16px;
106
- padding: 8px 0px 9px;
107
- transition: all 500ms;
108
- }
109
-
110
- .title {
111
- position: absolute;
112
- background-color: white;
113
- border-radius: 4px;
114
- width: 100%;
115
- top: 8px;
116
- padding-left: 12px;
117
- padding-right: 12px;
118
- }
119
-
120
- .title .text {
121
- display: block;
122
- width: 100%;
123
- overflow: hidden;
124
- text-overflow: ellipsis;
125
- white-space: nowrap;
126
- font-size: 12px;
127
- font-weight: bold;
128
- line-height: 18px;
129
- color: #000;
130
- }
131
-
132
- .footer {
133
- position: relative;
134
- padding-left: 12px;
135
- padding-right: 12px;
136
- width: 100%;
137
- height: 22px;
138
- display: flex;
139
- align-items: center;
140
- }
141
-
142
- .footer .goto-button {
143
- flex-shrink: 0;
144
- white-space: nowrap;
145
- background-image: linear-gradient(to right, rgba(87, 144, 253, 1) 0, rgba(42, 114, 254, 1) 100%);
146
- color: #fff;
147
- font-size: 10px;
148
- border-radius: 14px;
149
- font-weight: bold;
150
- padding-left: 8px;
151
- padding-right: 8px;
152
- height: 20px;
153
- margin-left: auto;
154
- display: flex;
155
- align-items: center;
156
- }
157
- .footer .goto-icon::after {
158
- content: '';
159
- display: inline-block;
160
- width: 12px;
161
- height: 12px;
162
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAeFBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////GqOSsAAAAJ3RSTlMAFNO2pYt4bErz8uP6ysawgVtBPDcR5C4s2L6ZmJBzZGJXUyEeDws/0G2zAAAAkklEQVQ4y+3TRw6DMBAF0OAeJ3QCpCe0uf8NwRILLBYfiS1/aT3JoymnI+sERZ5VCH0iVto3QDfBLmeSSMUTogRV9bBEpJAKaYpGijn13aTSLeraeG9D0NZFZv4/rRL5FDHnITlllqjv6tykWsmX4JHr05y7j6oFKq2P8He48B0tAM0EY0EDxquClw6vLz6EI35GmwwSZpe+WOgAAAAASUVORK5CYII=);
163
- background-size: 100% auto;
164
- background-repeat: no-repeat;
165
- }
166
-
167
- .price {
168
- flex-shrink: 0;
169
- margin-right: 12px;
170
- white-space: nowrap;
171
- color: #ff6600;
172
- display: flex;
173
- align-items: baseline;
174
- }
175
- .price .value {
176
- position: relative;
177
- top: 1px;
178
- font-size: 18px;
179
- line-height: 22px;
180
- font-family: TG-TYPE, PingFangSC, Segoe UI, Rototo, sans-serif;
181
- letter-spacing: 0px;
182
- }
183
- .price .unit {
184
- padding-left: 2px;
185
- font-size: 10px;
186
- }
187
-
188
- .tag {
189
- position: relative;
190
- background-color: white;
191
- display: flex;
192
- width: max-content;
193
- padding-left: 12px;
194
- padding-right: 12px;
195
- min-height: 28px;
196
- }
197
- .tag .base-tag {
198
- height: 16px;
199
- margin-top: 22px;
200
- margin-bottom: 8px;
201
- margin-right: 4px;
202
- font-size: 10px;
203
- line-height: 14px;
204
- padding: 1px 4px;
205
- border-radius: 2px;
206
- overflow: hidden;
207
- }
208
- .tag .primary-tag {
209
- background: #e5eefe;
210
- color: #0055ff;
211
- }
212
- .tag .secondary-tag {
213
- background: rgba(255, 102, 0, 0.08);
214
- color: rgba(255, 102, 0, 1);
215
- }
216
-
217
- /** 动画 */
218
- .unfolded .line {
219
- transform: translateX(-50%) scale(1, 1);
220
- /* transition-timing-function: ease-out; */
221
- }
222
- .folded .line {
223
- transform: translateX(-50%) scale(1, 0);
224
- transition-timing-function: ease-in;
225
- }
226
- .unfolded .content {
227
- opacity: 1;
228
- /* transition-timing-function: ease-out; */
229
- }
230
- .folded .content {
231
- opacity: 0;
232
- transform: translateY(0.425rem);
233
- transition-timing-function: ease-in;
234
- }
235
- </style>
@@ -1,32 +0,0 @@
1
- <!-- 多媒体贴片; 营销贴片 -->
2
- <script>var _a, _b;
3
- import Media from '../Common/Media.svelte';
4
- export let tag;
5
- $: unfolded = tag.state ? tag.state.unfolded : false;
6
- $: mediaData = tag.data.mediaData;
7
- $: enableCarousel = tag.data.enableCarousel;
8
- $: autoplayConfig = (_a = tag.data.autoplayConfig) !== null && _a !== void 0 ? _a : { autoplay: enableCarousel !== null && enableCarousel !== void 0 ? enableCarousel : true, autoplayVideo: true };
9
- $: objectFit =
10
- (_b = tag.data.objectFit) !== null && _b !== void 0 ? _b : (() => {
11
- if (tag.data.adaptationMode === 'stretch')
12
- return 'cover';
13
- else if (tag.data.adaptationMode === 'proportional')
14
- return 'contain';
15
- else
16
- return undefined;
17
- })();
18
- </script>
19
-
20
- {#if tag.state && mediaData}
21
- <div class="media-wrapper">
22
- <Media {unfolded} {mediaData} {objectFit} {enableCarousel} {autoplayConfig} inDelay={500} duration={500} />
23
- </div>
24
- {/if}
25
-
26
- <style>
27
- .media-wrapper {
28
- position: absolute;
29
- width: 100%;
30
- height: 100%;
31
- }
32
- </style>
@@ -1,63 +0,0 @@
1
- <script>var _a;
2
- import Line from '../Common/Line/Straight.svelte';
3
- import uuid from '../../../shared-utils/uuid';
4
- import Shadow from '../Common/Shadow.svelte';
5
- import MultiLineText from '../Common/MultiLineText.svelte';
6
- export let tag;
7
- let contentWidth;
8
- let textUnfolded = false;
9
- let textItems = [];
10
- $: unfolded = !!((_a = tag.state) === null || _a === void 0 ? void 0 : _a.unfolded);
11
- $: text = tag.data.text;
12
- $: {
13
- // 当 text 变了后,强制更新 Text
14
- textItems = [{ id: uuid(), content: text }];
15
- }
16
- // 收起的时候,如果文字展开了,要先下下去,再收起
17
- $: foldTextDelay = textUnfolded ? 450 : 0;
18
- function toggleTextUnfolded() {
19
- textUnfolded = !textUnfolded;
20
- }
21
- $: {
22
- if (!unfolded)
23
- setTimeout(() => {
24
- textUnfolded = false;
25
- }, 20);
26
- }
27
- </script>
28
-
29
- {#if tag.state}
30
- <Shadow visible={unfolded} left={contentWidth / 2 + 'px'} bottom={12} width={2} blurRadius={120} spreadRadius={60} />
31
- <div class="line" style:width={contentWidth + 'px'}>
32
- <Line {unfolded} duration={1000} outDelay={foldTextDelay + 40 * Math.min(textItems[0]?.content.length ?? 10, 15)} />
33
- </div>
34
- <div class="content" bind:clientWidth={contentWidth} on:click={toggleTextUnfolded}>
35
- <MultiLineText visible={unfolded} {textUnfolded} {textItems} />
36
- </div>
37
- {/if}
38
-
39
- <style>
40
- .line {
41
- position: absolute;
42
- top: 0;
43
- left: 0;
44
- width: 162px;
45
- height: 1px;
46
- transform: translate3d(0, -50%, 10px);
47
- }
48
-
49
- .content {
50
- width: max-content;
51
- height: 54px;
52
- padding: 36px 4px 0 16px;
53
- position: absolute;
54
- left: 0;
55
- bottom: 0;
56
- overflow: hidden;
57
- box-sizing: border-box;
58
- font-size: 0;
59
- pointer-events: none;
60
- white-space: nowrap;
61
- font-weight: 600;
62
- }
63
- </style>