@streamscloud/embeddable 1.1.11 → 2.0.0

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 (247) hide show
  1. package/dist/core/enums.d.ts +33 -0
  2. package/dist/core/enums.js +39 -0
  3. package/dist/core/graphql.d.ts +1 -1
  4. package/dist/core/graphql.js +2 -2
  5. package/dist/core/media/images-size-detector.service.d.ts +1 -1
  6. package/dist/core/media/images-size-detector.service.js +1 -1
  7. package/dist/core/media/index.d.ts +1 -1
  8. package/dist/core/media/index.js +1 -1
  9. package/dist/core/media/media-item-url.service.js +2 -1
  10. package/dist/core/media/types.d.ts +1 -16
  11. package/dist/core/media/types.js +1 -19
  12. package/dist/index.d.ts +1 -3
  13. package/dist/index.js +1 -3
  14. package/dist/products/price-helper.d.ts +2 -2
  15. package/dist/products/price-helper.js +20 -9
  16. package/dist/short-videos/short-video-viewer/cmp.ad.svelte +74 -0
  17. package/dist/{advertising/ad-view/cmp.ad-view.svelte.d.ts → short-videos/short-video-viewer/cmp.ad.svelte.d.ts} +2 -3
  18. package/dist/short-videos/short-video-viewer/cmp.attachments-inline.svelte +70 -0
  19. package/dist/{streams/components/images/cmp.images-component.svelte.d.ts → short-videos/short-video-viewer/cmp.attachments-inline.svelte.d.ts} +2 -2
  20. package/dist/short-videos/short-video-viewer/cmp.attachments.svelte +45 -48
  21. package/dist/short-videos/short-video-viewer/cmp.attachments.svelte.d.ts +4 -2
  22. package/dist/{streams/components/product/cmp.product-component.svelte → short-videos/short-video-viewer/cmp.product.svelte} +34 -26
  23. package/dist/short-videos/short-video-viewer/cmp.product.svelte.d.ts +10 -0
  24. package/dist/short-videos/short-video-viewer/cmp.short-video-details.svelte +31 -52
  25. package/dist/short-videos/short-video-viewer/cmp.short-video-details.svelte.d.ts +1 -1
  26. package/dist/short-videos/short-video-viewer/cmp.short-video-viewer.svelte +6 -6
  27. package/dist/short-videos/short-video-viewer/index.d.ts +6 -3
  28. package/dist/short-videos/short-video-viewer/index.js +4 -2
  29. package/dist/short-videos/short-video-viewer/mapper.js +35 -7
  30. package/dist/short-videos/short-video-viewer/operations.generated.d.ts +1 -1
  31. package/dist/short-videos/short-video-viewer/operations.generated.js +67 -103
  32. package/dist/short-videos/short-video-viewer/operations.graphql +29 -2
  33. package/dist/short-videos/short-video-viewer/short-video-attachments-localization.svelte.d.ts +12 -0
  34. package/dist/short-videos/short-video-viewer/short-video-attachments-localization.svelte.js +10 -0
  35. package/dist/short-videos/short-video-viewer/short-video-details-localization.svelte.d.ts +3 -4
  36. package/dist/short-videos/short-video-viewer/short-video-details-localization.svelte.js +4 -15
  37. package/dist/short-videos/short-video-viewer/short-video-product-localization.svelte.d.ts +7 -0
  38. package/dist/{products/product-card/product-card-localization.svelte.js → short-videos/short-video-viewer/short-video-product-localization.svelte.js} +1 -1
  39. package/dist/short-videos/short-video-viewer/short-video-viewer-localization.svelte.d.ts +3 -0
  40. package/dist/short-videos/short-video-viewer/short-video-viewer-localization.svelte.js +4 -7
  41. package/dist/short-videos/short-video-viewer/types.d.ts +29 -6
  42. package/dist/short-videos/short-videos-player/cmp.short-videos-player.svelte +4 -4
  43. package/dist/short-videos/short-videos-player/cmp.short-videos-player.svelte.d.ts +2 -2
  44. package/dist/short-videos/short-videos-player/controls.svelte +42 -35
  45. package/dist/short-videos/short-videos-player/controls.svelte.d.ts +1 -1
  46. package/dist/short-videos/short-videos-player/index.d.ts +28 -2
  47. package/dist/short-videos/short-videos-player/index.js +40 -1
  48. package/dist/short-videos/short-videos-player/short-videos-player-localization.svelte.d.ts +3 -9
  49. package/dist/short-videos/short-videos-player/short-videos-player-localization.svelte.js +2 -17
  50. package/dist/streams/layout/cmp.layout.svelte +34 -0
  51. package/dist/streams/{slots/cmp.stream-component-slot.svelte.d.ts → layout/cmp.layout.svelte.d.ts} +2 -2
  52. package/dist/streams/layout/cmp.slot-content.svelte +32 -0
  53. package/dist/streams/layout/cmp.slot-content.svelte.d.ts +9 -0
  54. package/dist/streams/layout/cmp.slot.svelte +26 -0
  55. package/dist/streams/layout/cmp.slot.svelte.d.ts +9 -0
  56. package/dist/streams/layout/component.d.ts +6 -0
  57. package/dist/streams/layout/component.js +1 -0
  58. package/dist/streams/layout/css-values.d.ts +10 -0
  59. package/dist/streams/layout/css-values.js +1 -0
  60. package/dist/streams/layout/element-views/cmp.container-stream-element.svelte +16 -0
  61. package/dist/streams/layout/element-views/cmp.container-stream-element.svelte.d.ts +11 -0
  62. package/dist/streams/layout/element-views/cmp.image-ref-stream-element.svelte +38 -0
  63. package/dist/streams/layout/element-views/cmp.image-ref-stream-element.svelte.d.ts +9 -0
  64. package/dist/streams/layout/element-views/cmp.images-stream-element.svelte +30 -0
  65. package/dist/streams/layout/element-views/cmp.images-stream-element.svelte.d.ts +9 -0
  66. package/dist/streams/layout/element-views/cmp.price-stream-element.svelte +97 -0
  67. package/dist/streams/layout/element-views/cmp.price-stream-element.svelte.d.ts +11 -0
  68. package/dist/streams/layout/element-views/cmp.short-video-stream-element.svelte +6 -0
  69. package/dist/streams/{components/product/cmp.product-component.svelte.d.ts → layout/element-views/cmp.short-video-stream-element.svelte.d.ts} +2 -3
  70. package/dist/streams/layout/element-views/cmp.spacer-stream-element.svelte +45 -0
  71. package/dist/streams/layout/element-views/cmp.spacer-stream-element.svelte.d.ts +9 -0
  72. package/dist/streams/layout/element-views/cmp.stream-element.svelte +60 -0
  73. package/dist/streams/layout/element-views/cmp.stream-element.svelte.d.ts +13 -0
  74. package/dist/streams/layout/element-views/cmp.text-ref-stream-element.svelte +23 -0
  75. package/dist/streams/layout/element-views/cmp.text-ref-stream-element.svelte.d.ts +9 -0
  76. package/dist/streams/layout/element-views/cmp.text-stream-element.svelte +8 -0
  77. package/dist/{ui/shadow-dom/cmp.shadow-dom.svelte.d.ts → streams/layout/element-views/cmp.text-stream-element.svelte.d.ts} +2 -2
  78. package/dist/streams/layout/element-views/data-by-key-accessor.d.ts +3 -0
  79. package/dist/streams/layout/element-views/data-by-key-accessor.js +55 -0
  80. package/dist/streams/layout/element-views/index.d.ts +11 -0
  81. package/dist/streams/layout/element-views/index.js +9 -0
  82. package/dist/streams/layout/element-views/price-stream-element-localization.svelte.d.ts +9 -0
  83. package/dist/streams/layout/element-views/price-stream-element-localization.svelte.js +8 -0
  84. package/dist/streams/layout/element-views/stream-element-localization.svelte.d.ts +8 -0
  85. package/dist/streams/layout/element-views/stream-element-localization.svelte.js +6 -0
  86. package/dist/streams/layout/elements.d.ts +51 -0
  87. package/dist/streams/layout/elements.js +1 -0
  88. package/dist/streams/layout/enums.d.ts +45 -0
  89. package/dist/streams/layout/enums.js +54 -0
  90. package/dist/streams/layout/index.d.ts +19 -0
  91. package/dist/streams/layout/index.js +15 -0
  92. package/dist/streams/layout/layout.d.ts +13 -0
  93. package/dist/streams/layout/models/index.d.ts +6 -0
  94. package/dist/streams/layout/models/index.js +1 -0
  95. package/dist/streams/layout/models/mapper.d.ts +3 -0
  96. package/dist/streams/layout/models/mapper.js +62 -0
  97. package/dist/streams/layout/models/stream-layout-blob-model.d.ts +4 -0
  98. package/dist/streams/layout/models/stream-layout-media-item-model.d.ts +6 -0
  99. package/dist/streams/layout/models/stream-layout-media-item-model.js +1 -0
  100. package/dist/streams/layout/models/stream-layout-post-header-model.d.ts +11 -0
  101. package/dist/streams/layout/models/stream-layout-post-header-model.js +1 -0
  102. package/dist/streams/layout/models/stream-layout-product-model.d.ts +19 -0
  103. package/dist/streams/layout/models/stream-layout-product-model.js +1 -0
  104. package/dist/streams/layout/models/stream-layout-short-video-model.d.ts +31 -0
  105. package/dist/streams/layout/models/stream-layout-short-video-model.js +1 -0
  106. package/dist/streams/layout/serializer.d.ts +3 -0
  107. package/dist/streams/layout/serializer.js +6 -0
  108. package/dist/streams/layout/slot-data-input.d.ts +14 -0
  109. package/dist/streams/layout/slot-data-input.js +1 -0
  110. package/dist/streams/layout/slot-data.d.ts +18 -0
  111. package/dist/streams/layout/slot-data.js +1 -0
  112. package/dist/streams/layout/slot.d.ts +16 -0
  113. package/dist/streams/layout/slot.js +1 -0
  114. package/dist/streams/layout/styles-transformer.d.ts +13 -0
  115. package/dist/streams/layout/styles-transformer.js +140 -0
  116. package/dist/streams/layout/styles.d.ts +43 -0
  117. package/dist/streams/layout/styles.js +1 -0
  118. package/dist/streams/layout/type-guards.d.ts +8 -0
  119. package/dist/streams/layout/type-guards.js +21 -0
  120. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte +8 -42
  121. package/dist/streams/stream-page-viewer/cmp.stream-page-viewer.svelte.d.ts +0 -2
  122. package/dist/streams/stream-page-viewer/mapper.d.ts +1 -1
  123. package/dist/streams/stream-page-viewer/mapper.js +7 -8
  124. package/dist/streams/stream-page-viewer/operations.generated.d.ts +1 -104
  125. package/dist/streams/stream-page-viewer/operations.generated.js +2 -375
  126. package/dist/streams/stream-page-viewer/operations.graphql +1 -6
  127. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.svelte.d.ts +3 -0
  128. package/dist/streams/stream-page-viewer/stream-page-viewer-localization.svelte.js +4 -7
  129. package/dist/streams/stream-page-viewer/types.d.ts +5 -5
  130. package/dist/streams/stream-player/cmp.stream-player.svelte +7 -3
  131. package/dist/streams/stream-player/controls.svelte +43 -35
  132. package/dist/streams/stream-player/index.d.ts +29 -2
  133. package/dist/streams/stream-player/index.js +44 -1
  134. package/dist/streams/stream-player/operations.generated.d.ts +1 -103
  135. package/dist/streams/stream-player/operations.generated.js +2 -375
  136. package/dist/streams/stream-player/stream-overview.svelte +2 -2
  137. package/dist/streams/stream-player/stream-player-buffer.svelte.d.ts +1 -1
  138. package/dist/streams/stream-player/stream-player-buffer.svelte.js +1 -1
  139. package/dist/streams/stream-player/stream-player-localization.svelte.d.ts +3 -9
  140. package/dist/streams/stream-player/stream-player-localization.svelte.js +4 -23
  141. package/dist/ui/media-item-view/cmp.media-item-view.svelte +2 -1
  142. package/dist/ui/media-item-view/cmp.media-item-view.svelte.d.ts +2 -1
  143. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte +2 -1
  144. package/dist/ui/media-items-gallery/cmp.media-items-gallery.svelte.d.ts +2 -1
  145. package/dist/ui/shadow-dom/_normalize.scss +350 -0
  146. package/dist/ui/shadow-dom/_reset.scss +189 -0
  147. package/dist/ui/shadow-dom/index.d.ts +1 -1
  148. package/dist/ui/shadow-dom/index.js +1 -1
  149. package/dist/ui/shadow-dom/shadow-host.svelte.d.ts +8 -0
  150. package/dist/ui/shadow-dom/shadow-host.svelte.js +39 -0
  151. package/dist/ui/video/cmp.video.svelte +1 -1
  152. package/package.json +68 -26
  153. package/dist/advertising/ad-view/cmp.ad-view.svelte +0 -82
  154. package/dist/advertising/ad-view/index.d.ts +0 -2
  155. package/dist/advertising/ad-view/index.js +0 -1
  156. package/dist/advertising/ad-view/mapper.d.ts +0 -3
  157. package/dist/advertising/ad-view/mapper.js +0 -16
  158. package/dist/advertising/ad-view/operations.generated.d.ts +0 -17
  159. package/dist/advertising/ad-view/operations.generated.js +0 -46
  160. package/dist/advertising/ad-view/operations.graphql +0 -14
  161. package/dist/advertising/ad-view/types.d.ts +0 -10
  162. package/dist/advertising/index.d.ts +0 -1
  163. package/dist/advertising/index.js +0 -1
  164. package/dist/advertising/types.d.ts +0 -5
  165. package/dist/advertising/types.js +0 -6
  166. package/dist/products/index.d.ts +0 -1
  167. package/dist/products/index.js +0 -1
  168. package/dist/products/product-card/cmp.product-card.svelte +0 -121
  169. package/dist/products/product-card/cmp.product-card.svelte.d.ts +0 -10
  170. package/dist/products/product-card/index.d.ts +0 -3
  171. package/dist/products/product-card/index.js +0 -3
  172. package/dist/products/product-card/mapper.d.ts +0 -3
  173. package/dist/products/product-card/mapper.js +0 -14
  174. package/dist/products/product-card/operations.generated.d.ts +0 -22
  175. package/dist/products/product-card/operations.generated.js +0 -65
  176. package/dist/products/product-card/operations.graphql +0 -19
  177. package/dist/products/product-card/product-card-localization.svelte.d.ts +0 -7
  178. package/dist/products/product-card/types.d.ts +0 -10
  179. package/dist/products/product-card/types.js +0 -1
  180. package/dist/products/types.d.ts +0 -5
  181. package/dist/products/types.js +0 -6
  182. package/dist/short-videos/short-videos-player-modal/cmp.short-videos-player-modal.svelte +0 -490
  183. package/dist/short-videos/short-videos-player-modal/cmp.short-videos-player-modal.svelte.d.ts +0 -3
  184. package/dist/short-videos/short-videos-player-modal/index.d.ts +0 -79
  185. package/dist/short-videos/short-videos-player-modal/index.js +0 -78
  186. package/dist/short-videos/short-videos-player-modal/short-videos-player-modal-state.svelte.d.ts +0 -16
  187. package/dist/short-videos/short-videos-player-modal/short-videos-player-modal-state.svelte.js +0 -13
  188. package/dist/streams/components/cmp.stream-page-component.svelte +0 -16
  189. package/dist/streams/components/cmp.stream-page-component.svelte.d.ts +0 -10
  190. package/dist/streams/components/components.factory.d.ts +0 -22
  191. package/dist/streams/components/components.factory.js +0 -34
  192. package/dist/streams/components/images/cmp.images-component.svelte +0 -7
  193. package/dist/streams/components/images/index.d.ts +0 -2
  194. package/dist/streams/components/images/index.js +0 -1
  195. package/dist/streams/components/images/types.d.ts +0 -8
  196. package/dist/streams/components/images/types.js +0 -5
  197. package/dist/streams/components/index.d.ts +0 -7
  198. package/dist/streams/components/index.js +0 -6
  199. package/dist/streams/components/mapper.d.ts +0 -3
  200. package/dist/streams/components/mapper.js +0 -43
  201. package/dist/streams/components/operations.generated.d.ts +0 -178
  202. package/dist/streams/components/operations.generated.js +0 -653
  203. package/dist/streams/components/operations.graphql +0 -35
  204. package/dist/streams/components/product/index.d.ts +0 -3
  205. package/dist/streams/components/product/index.js +0 -2
  206. package/dist/streams/components/product/mapper.d.ts +0 -3
  207. package/dist/streams/components/product/mapper.js +0 -14
  208. package/dist/streams/components/product/operations.generated.d.ts +0 -22
  209. package/dist/streams/components/product/operations.generated.js +0 -53
  210. package/dist/streams/components/product/operations.graphql +0 -19
  211. package/dist/streams/components/product/types.d.ts +0 -10
  212. package/dist/streams/components/product/types.js +0 -1
  213. package/dist/streams/components/short-video/cmp.short-video-component.svelte +0 -9
  214. package/dist/streams/components/short-video/cmp.short-video-component.svelte.d.ts +0 -10
  215. package/dist/streams/components/short-video/index.d.ts +0 -3
  216. package/dist/streams/components/short-video/index.js +0 -2
  217. package/dist/streams/components/short-video/mapper.d.ts +0 -3
  218. package/dist/streams/components/short-video/mapper.js +0 -4
  219. package/dist/streams/components/short-video/operations.generated.d.ts +0 -56
  220. package/dist/streams/components/short-video/operations.generated.js +0 -193
  221. package/dist/streams/components/short-video/operations.graphql +0 -3
  222. package/dist/streams/components/short-video/types.d.ts +0 -2
  223. package/dist/streams/components/stream-components-localization.svelte.d.ts +0 -10
  224. package/dist/streams/components/stream-components-localization.svelte.js +0 -13
  225. package/dist/streams/components/types.d.ts +0 -27
  226. package/dist/streams/components/types.js +0 -6
  227. package/dist/streams/slots/cmp.stream-component-slot.svelte +0 -35
  228. package/dist/streams/slots/index.d.ts +0 -3
  229. package/dist/streams/slots/index.js +0 -2
  230. package/dist/streams/slots/mapper.d.ts +0 -3
  231. package/dist/streams/slots/mapper.js +0 -18
  232. package/dist/streams/slots/operations.generated.d.ts +0 -17
  233. package/dist/streams/slots/operations.generated.js +0 -34
  234. package/dist/streams/slots/operations.graphql +0 -14
  235. package/dist/streams/slots/styles-transformer.d.ts +0 -6
  236. package/dist/streams/slots/styles-transformer.js +0 -12
  237. package/dist/streams/slots/types.d.ts +0 -16
  238. package/dist/streams/slots/types.js +0 -1
  239. package/dist/streams/stream-player-modal/cmp.stream-player-modal.svelte +0 -491
  240. package/dist/streams/stream-player-modal/cmp.stream-player-modal.svelte.d.ts +0 -3
  241. package/dist/streams/stream-player-modal/index.d.ts +0 -79
  242. package/dist/streams/stream-player-modal/index.js +0 -78
  243. package/dist/streams/stream-player-modal/stream-player-modal-state.svelte.d.ts +0 -17
  244. package/dist/streams/stream-player-modal/stream-player-modal-state.svelte.js +0 -14
  245. package/dist/ui/shadow-dom/cmp.shadow-dom.svelte +0 -26
  246. /package/dist/{advertising/ad-view/types.js → streams/layout/layout.js} +0 -0
  247. /package/dist/streams/{components/short-video/types.js → layout/models/stream-layout-blob-model.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamscloud/embeddable",
3
- "version": "1.1.11",
3
+ "version": "2.0.0",
4
4
  "author": "StreamsCloud",
5
5
  "repository": "https://github.com/StreamsCloud/streamscloud-frontend-packages.git",
6
6
  "type": "module",
@@ -28,12 +28,54 @@
28
28
  "svelte": "./dist/index.js"
29
29
  },
30
30
  "./stream-player": {
31
- "types": "./dist/streams/stream-player-modal/index.d.ts",
32
- "svelte": "./dist/streams/stream-player-modal/index.js"
31
+ "types": "./dist/streams/stream-player/index.d.ts",
32
+ "svelte": "./dist/streams/stream-player/index.js"
33
33
  },
34
34
  "./short-videos-player": {
35
- "types": "./dist/short-videos/short-videos-player-modal/index.d.ts",
36
- "svelte": "./dist/short-videos/short-videos-player-modal/index.js"
35
+ "types": "./dist/short-videos/short-videos-player/index.d.ts",
36
+ "svelte": "./dist/short-videos/short-videos-player/index.js"
37
+ },
38
+ "./stream-layout": {
39
+ "types": "./dist/streams/layout/index.d.ts",
40
+ "svelte": "./dist/streams/layout/index.js"
41
+ },
42
+ "./stream-layout/component": {
43
+ "types": "./dist/streams/layout/component.d.ts"
44
+ },
45
+ "./stream-layout/css-values": {
46
+ "types": "./dist/streams/layout/css-values.d.ts"
47
+ },
48
+ "./stream-layout/elements": {
49
+ "types": "./dist/streams/layout/elements.d.ts"
50
+ },
51
+ "./stream-layout/element-views": {
52
+ "types": "./dist/streams/layout/element-views/index.d.ts",
53
+ "svelte": "./dist/streams/layout/element-views/index.js"
54
+ },
55
+ "./stream-layout/enums": {
56
+ "types": "./dist/streams/layout/enums.d.ts"
57
+ },
58
+ "./stream-layout/models": {
59
+ "types": "./dist/streams/layout/models/index.d.ts",
60
+ "import": "./dist/streams/layout/models/index.js"
61
+ },
62
+ "./stream-layout/slot": {
63
+ "types": "./dist/streams/layout/slot.d.ts"
64
+ },
65
+ "./stream-layout/slot-data": {
66
+ "types": "./dist/streams/layout/slot-data.d.ts"
67
+ },
68
+ "./stream-layout/slot-data-input": {
69
+ "types": "./dist/streams/layout/slot-data-input.d.ts"
70
+ },
71
+ "./stream-layout/styles": {
72
+ "types": "./dist/streams/layout/styles.d.ts"
73
+ },
74
+ "./stream-layout/styles-transformer": {
75
+ "types": "./dist/streams/layout/styles-transformer.d.ts"
76
+ },
77
+ "./stream-layout/type-guards": {
78
+ "types": "./dist/streams/layout/type-guards.d.ts"
37
79
  }
38
80
  },
39
81
  "peerDependencies": {
@@ -44,46 +86,46 @@
44
86
  "svelte": "^5.25.3"
45
87
  },
46
88
  "devDependencies": {
47
- "@eslint/compat": "^1.2.7",
48
- "@eslint/js": "^9.23.0",
49
- "@fluentui/svg-icons": "^1.1.292",
89
+ "@eslint/compat": "^1.2.9",
90
+ "@eslint/js": "^9.27.0",
91
+ "@fluentui/svg-icons": "^1.1.301",
50
92
  "@graphql-codegen/add": "^5.0.3",
51
- "@graphql-codegen/cli": "^5.0.5",
93
+ "@graphql-codegen/cli": "^5.0.6",
52
94
  "@graphql-codegen/import-types-preset": "^3.0.0",
53
95
  "@graphql-codegen/introspection": "^4.0.3",
54
96
  "@graphql-codegen/near-operation-file-preset": "^3.0.0",
55
- "@graphql-codegen/typed-document-node": "^5.1.0",
56
- "@graphql-codegen/typescript": "^4.1.5",
57
- "@graphql-codegen/typescript-operations": "^4.5.1",
97
+ "@graphql-codegen/typed-document-node": "^5.1.1",
98
+ "@graphql-codegen/typescript": "^4.1.6",
99
+ "@graphql-codegen/typescript-operations": "^4.6.1",
58
100
  "@graphql-typed-document-node/core": "^3.2.0",
59
101
  "@svelte-put/inline-svg": "^4.0.1",
60
- "@sveltejs/package": "^2.3.10",
102
+ "@sveltejs/package": "^2.3.11",
61
103
  "@sveltejs/vite-plugin-svelte": "^5.0.3",
62
104
  "@tsconfig/svelte": "^5.0.4",
63
105
  "@urql/core": "^5.1.1",
64
106
  "autoprefixer": "^10.4.21",
65
- "eslint": "^9.23.0",
66
- "eslint-config-prettier": "^10.1.1",
107
+ "eslint": "^9.27.0",
108
+ "eslint-config-prettier": "^10.1.5",
67
109
  "eslint-formatter-codeframe": "^7.32.1",
68
110
  "eslint-formatter-visualstudio": "^8.40.0",
69
111
  "eslint-plugin-import": "^2.31.0",
70
- "eslint-plugin-jsonc": "^2.20.0",
112
+ "eslint-plugin-jsonc": "^2.20.1",
71
113
  "eslint-plugin-only-warn": "^1.1.0",
72
114
  "eslint-plugin-promise": "^7.2.1",
73
- "eslint-plugin-svelte": "^3.3.3",
115
+ "eslint-plugin-svelte": "^3.9.0",
74
116
  "eslint-plugin-unused-imports": "^4.1.4",
75
- "globals": "^16.0.0",
117
+ "globals": "^16.1.0",
76
118
  "mobile-detect": "^1.4.5",
77
119
  "prettier": "^3.5.3",
78
- "prettier-plugin-svelte": "^3.3.3",
79
- "publint": "^0.3.9",
80
- "sass": "^1.86.0",
81
- "svelte": "^5.25.3",
82
- "svelte-check": "^4.1.5",
120
+ "prettier-plugin-svelte": "^3.4.0",
121
+ "publint": "^0.3.12",
122
+ "sass": "^1.89.0",
123
+ "svelte": "^5.33.1",
124
+ "svelte-check": "^4.2.1",
83
125
  "svelte-preprocess": "^6.0.3",
84
- "typescript": "^5.8.2",
85
- "typescript-eslint": "^8.28.0",
86
- "vite": "^6.2.3",
126
+ "typescript": "^5.8.3",
127
+ "typescript-eslint": "^8.32.1",
128
+ "vite": "^6.3.5",
87
129
  "vite-tsconfig-paths": "^5.1.4"
88
130
  }
89
131
  }
@@ -1,82 +0,0 @@
1
- <script lang="ts">import { getMediaItemImageUrl } from '../../core/media';
2
- import { Button, ButtonSize } from '../../ui/button';
3
- import { Image } from '../../ui/image';
4
- import { LineClamp } from '../../ui/line-clamp';
5
- import { ProportionalContainer } from '../../ui/proportional-container';
6
- let { ad, inert = false } = $props();
7
- </script>
8
-
9
- <div class="ad" inert={inert}>
10
- <ProportionalContainer ratio={16 / 9}>
11
- <Image src={getMediaItemImageUrl(ad.media)} alt={ad.title} />
12
- </ProportionalContainer>
13
- <div class="ad__body">
14
- {#if ad.title}
15
- <p class="ad__title">{ad.title}</p>
16
- {/if}
17
- {#if ad.description}
18
- <p class="ad__description">
19
- <LineClamp value={ad.description} maxLines={3} />
20
- </p>
21
- {/if}
22
- {#if ad.buttonUrl}
23
- <div class="ad__button">
24
- <a href={ad.buttonUrl} target="_blank" class="ad__link">
25
- <Button size={ButtonSize.Standard}>{ad.buttonText || ad.buttonUrl}</Button>
26
- </a>
27
- </div>
28
- {/if}
29
- </div>
30
- </div>
31
-
32
- <style>@keyframes fadeIn {
33
- 0% {
34
- opacity: 1;
35
- }
36
- 50% {
37
- opacity: 0.4;
38
- }
39
- 100% {
40
- opacity: 1;
41
- }
42
- }
43
- .ad {
44
- --_ad--global--font-size: var(--ad--global--font-size, 1rem);
45
- --_ad--body--horizontal-indent: var(--ad--body--horizontal-indent, 1em);
46
- --_ad--body--padding-top: var(--ad--body--padding-top, 1em);
47
- --_ad--body--padding-bottom: var(--ad--body--padding-bottom, 1.25em);
48
- --_ad--min-height: var(--ad--min-height, 0em);
49
- --_ad--background: var(--ad--background, #fafafa);
50
- font-size: var(--_ad--global--font-size);
51
- display: flex;
52
- flex-direction: column;
53
- border-radius: 0.25em;
54
- background: var(--_ad--background);
55
- min-height: var(--_ad--min-height);
56
- overflow: hidden;
57
- width: 100%;
58
- }
59
- :global([data-theme="dark"]) .ad {
60
- --_ad--background: var(--ad--background, #1c1c1c);
61
- }
62
- .ad__body {
63
- padding: var(--_ad--body--padding-top) var(--_ad--body--horizontal-indent) var(--_ad--body--padding-top);
64
- }
65
- .ad__title {
66
- font-size: 0.9375em;
67
- font-weight: bold;
68
- display: block;
69
- margin-bottom: 0.8333333333em;
70
- }
71
- .ad__description {
72
- font-size: 0.75em;
73
- display: block;
74
- margin-bottom: 1.3333333333em;
75
- white-space: pre-line;
76
- word-break: break-word;
77
- }
78
- .ad__button {
79
- margin-top: 1em;
80
- display: flex;
81
- justify-content: center;
82
- }</style>
@@ -1,2 +0,0 @@
1
- export { default as AdView } from './cmp.ad-view.svelte';
2
- export type { AdViewModel } from './types';
@@ -1 +0,0 @@
1
- export { default as AdView } from './cmp.ad-view.svelte';
@@ -1,3 +0,0 @@
1
- import type { AdViewPayloadFragment } from './operations.generated';
2
- import type { AdViewModel } from './types';
3
- export declare const mapToAdViewModel: (payload: AdViewPayloadFragment) => AdViewModel;
@@ -1,16 +0,0 @@
1
- export const mapToAdViewModel = (payload) => {
2
- const media = payload.media[0];
3
- return {
4
- id: payload.id,
5
- title: payload.title,
6
- description: payload.description,
7
- buttonText: payload.buttonText,
8
- buttonUrl: payload.buttonUrl,
9
- openLinkInNewWindow: payload.openLinkInNewWindow,
10
- media: {
11
- url: media.url,
12
- thumbnailUrl: media.thumbnailUrl,
13
- type: media.type
14
- }
15
- };
16
- };
@@ -1,17 +0,0 @@
1
- import type * as SchemaTypes from '../../../gql/types';
2
- import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
3
- export type AdViewPayloadFragment = {
4
- id: string;
5
- title: string;
6
- description: string | null;
7
- buttonText: string | null;
8
- buttonUrl: string | null;
9
- openLinkInNewWindow: boolean | null;
10
- type: SchemaTypes.AdType;
11
- media: Array<{
12
- type: SchemaTypes.MediaType;
13
- url: string;
14
- thumbnailUrl: string | null;
15
- }>;
16
- };
17
- export declare const AdViewPayloadFragmentDoc: DocumentNode<AdViewPayloadFragment, unknown>;
@@ -1,46 +0,0 @@
1
- export const AdViewPayloadFragmentDoc = {
2
- kind: 'Document',
3
- definitions: [
4
- {
5
- kind: 'FragmentDefinition',
6
- name: { kind: 'Name', value: 'AdViewPayloadFragment' },
7
- typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'Ad' } },
8
- selectionSet: {
9
- kind: 'SelectionSet',
10
- selections: [
11
- { kind: 'Field', name: { kind: 'Name', value: 'id' } },
12
- { kind: 'Field', name: { kind: 'Name', value: 'title' } },
13
- { kind: 'Field', name: { kind: 'Name', value: 'description' } },
14
- { kind: 'Field', name: { kind: 'Name', value: 'buttonText' } },
15
- { kind: 'Field', name: { kind: 'Name', value: 'buttonUrl' } },
16
- { kind: 'Field', name: { kind: 'Name', value: 'openLinkInNewWindow' } },
17
- { kind: 'Field', name: { kind: 'Name', value: 'type' } },
18
- {
19
- kind: 'Field',
20
- name: { kind: 'Name', value: 'media' },
21
- selectionSet: {
22
- kind: 'SelectionSet',
23
- selections: [
24
- { kind: 'Field', name: { kind: 'Name', value: 'type' } },
25
- {
26
- kind: 'Field',
27
- name: { kind: 'Name', value: 'url' },
28
- arguments: [
29
- { kind: 'Argument', name: { kind: 'Name', value: 'scale' }, value: { kind: 'Variable', name: { kind: 'Name', value: 'image_scale' } } }
30
- ]
31
- },
32
- {
33
- kind: 'Field',
34
- name: { kind: 'Name', value: 'thumbnailUrl' },
35
- arguments: [
36
- { kind: 'Argument', name: { kind: 'Name', value: 'scale' }, value: { kind: 'Variable', name: { kind: 'Name', value: 'image_scale' } } }
37
- ]
38
- }
39
- ]
40
- }
41
- }
42
- ]
43
- }
44
- }
45
- ]
46
- };
@@ -1,14 +0,0 @@
1
- fragment AdViewPayloadFragment on Ad {
2
- id
3
- title
4
- description
5
- buttonText
6
- buttonUrl
7
- openLinkInNewWindow
8
- type
9
- media {
10
- type
11
- url(scale: $image_scale)
12
- thumbnailUrl(scale: $image_scale)
13
- }
14
- }
@@ -1,10 +0,0 @@
1
- import type { MediaItemModel } from '../../core/media';
2
- export type AdViewModel = {
3
- id: string;
4
- title: string;
5
- description: string | null;
6
- buttonText: string | null;
7
- buttonUrl: string | null;
8
- openLinkInNewWindow: boolean | null;
9
- media: MediaItemModel;
10
- };
@@ -1 +0,0 @@
1
- export { AdType } from './types';
@@ -1 +0,0 @@
1
- export { AdType } from './types';
@@ -1,5 +0,0 @@
1
- export declare enum AdType {
2
- BannerResponsive = "BANNER_RESPONSIVE",
3
- MediaDialogPromotion = "MEDIA_DIALOG_PROMOTION",
4
- Story = "STORY"
5
- }
@@ -1,6 +0,0 @@
1
- export var AdType;
2
- (function (AdType) {
3
- AdType["BannerResponsive"] = "BANNER_RESPONSIVE";
4
- AdType["MediaDialogPromotion"] = "MEDIA_DIALOG_PROMOTION";
5
- AdType["Story"] = "STORY";
6
- })(AdType || (AdType = {}));
@@ -1 +0,0 @@
1
- export { Currency } from './types';
@@ -1 +0,0 @@
1
- export { Currency } from './types';
@@ -1,121 +0,0 @@
1
- <script lang="ts">import { toPriceRepresentation } from '../price-helper';
2
- import { ImageRounded } from '../../ui/image';
3
- import { ProportionalContainer } from '../../ui/proportional-container';
4
- import { ProductCardLocalization } from './product-card-localization.svelte';
5
- let { model, localization: localizationInit, inert = false } = $props();
6
- const localization = $derived(new ProductCardLocalization(localizationInit));
7
- </script>
8
-
9
- <div class="product-card" inert={inert}>
10
- <ProportionalContainer ratio={4 / 5}>
11
- <ImageRounded src={model.image} noBorders={true} />
12
- </ProportionalContainer>
13
- <div class="product-card__name">{model.title}</div>
14
- <div class="product-card__price">
15
- <div class="product-price">
16
- {#if !model.effectiveSalePrice}
17
- <div class="product-price__price">{toPriceRepresentation(model.price, model.currency)}</div>
18
- {:else}
19
- <div class="product-price__before-price">
20
- {#if localization.beforeNowPrefix}
21
- {localization.beforeNowPrefix}
22
- {/if}
23
- {toPriceRepresentation(model.price, model.currency)}
24
- </div>
25
- <div class="product-price__price product-price__price--sale">
26
- {toPriceRepresentation(model.effectiveSalePrice, model.currency)}
27
- </div>
28
- {/if}
29
- </div>
30
- </div>
31
-
32
- {#if model.link}
33
- <a href={model.link} target="_blank" rel="noopener noreferrer" class="product-card__link" aria-label="none">&nbsp;</a>
34
- {/if}
35
- </div>
36
-
37
- <style>@keyframes fadeIn {
38
- 0% {
39
- opacity: 1;
40
- }
41
- 50% {
42
- opacity: 0.4;
43
- }
44
- 100% {
45
- opacity: 1;
46
- }
47
- }
48
- .product-card {
49
- --_product-card--global--font-size: var(--product-card--global--font-size, 1rem);
50
- --_product-card--name--align: var(--product-card--name--align, center);
51
- --_product-card--price--align: var(--product-card--price--align, center);
52
- --_product-card--price--color: var(--product-card--price--color, var(--product-card--text--color));
53
- --_product-card--price--font-size: var(--product-card--price--font-size, 1.0625em);
54
- --_product-card--price--gap: var(--product-card--price--gap, 0.4375em);
55
- --_product-card--price--before--color: var(--product-card--price--before--color, #e5e7eb);
56
- --_product-card--price--before--font-size: var(--product-card--price--before--font-size, 0.75em);
57
- --_product-card--text--color: var(--product-card--text--color);
58
- --_product-card--before-price--color: var(--product-card--before-price--color, #e5e7eb);
59
- font-size: var(--_product-card--global--font-size);
60
- width: 100%;
61
- position: relative;
62
- display: flex;
63
- flex-direction: column;
64
- --image--rounded--outer--border-radius: 0.25em;
65
- }
66
- .product-card__name {
67
- width: 100%;
68
- color: var(--_product-card--text--color);
69
- font-size: 0.9375em;
70
- font-weight: 500;
71
- margin-top: 0.5em;
72
- text-align: var(--_product-card--name--align);
73
- padding: 0 0.3125em;
74
- text-overflow: ellipsis;
75
- width: 100%;
76
- white-space: nowrap;
77
- overflow: hidden;
78
- }
79
- .product-card__price {
80
- padding-top: 0.3125em;
81
- margin-top: auto;
82
- }
83
- .product-card__link {
84
- position: absolute;
85
- top: 0;
86
- left: 0;
87
- width: 100%;
88
- height: 100%;
89
- }
90
-
91
- .product-price {
92
- --_product-price--gap: var(--product-price--gap, 0.4375em);
93
- width: 100%;
94
- display: flex;
95
- flex-direction: column;
96
- gap: var(--_product-price--gap);
97
- }
98
- .product-price__before-price {
99
- width: 100%;
100
- color: var(--_product-card--price--before--color);
101
- text-decoration: line-through;
102
- font-size: var(--_product-card--price--before--font-size);
103
- font-weight: 500;
104
- text-align: var(--_product-card--price--align);
105
- text-overflow: ellipsis;
106
- width: 100%;
107
- white-space: nowrap;
108
- overflow: hidden;
109
- }
110
- .product-price__price {
111
- width: 100%;
112
- color: var(--_product-card--price--color);
113
- font-size: var(--_product-card--price--font-size);
114
- font-weight: 800;
115
- margin-top: auto;
116
- text-align: var(--_product-card--price--align);
117
- text-overflow: ellipsis;
118
- width: 100%;
119
- white-space: nowrap;
120
- overflow: hidden;
121
- }</style>
@@ -1,10 +0,0 @@
1
- import { type IProductCardLocalization } from './product-card-localization.svelte';
2
- import type { ProductCardModel } from './types';
3
- type Props = {
4
- model: ProductCardModel;
5
- inert?: boolean;
6
- localization?: IProductCardLocalization;
7
- };
8
- declare const Cmp: import("svelte").Component<Props, {}, "">;
9
- type Cmp = ReturnType<typeof Cmp>;
10
- export default Cmp;
@@ -1,3 +0,0 @@
1
- export { default as ProductCard } from './cmp.product-card.svelte';
2
- export { type ProductCardModel } from './types';
3
- export { type IProductCardLocalization } from './product-card-localization.svelte';
@@ -1,3 +0,0 @@
1
- export { default as ProductCard } from './cmp.product-card.svelte';
2
- export {} from './types';
3
- export {} from './product-card-localization.svelte';
@@ -1,3 +0,0 @@
1
- import type { ProductCardPayloadFragment } from './operations.generated';
2
- import type { ProductCardModel } from './types';
3
- export declare const mapToProductCard: (payload: ProductCardPayloadFragment) => ProductCardModel;
@@ -1,14 +0,0 @@
1
- import { getMediaItemImageUrl } from '../../core/media';
2
- import { shouldUseSalePrice } from '../price-helper';
3
- export const mapToProductCard = (payload) => {
4
- const effectiveSalePrice = payload.priceAndAvailability.productSalePrices?.find((x) => shouldUseSalePrice(payload.priceAndAvailability.price, x.salePrice, x.salePriceEffectiveDateFrom, x.salePriceEffectiveDateTo));
5
- return {
6
- id: payload.id,
7
- title: payload.title,
8
- image: payload.media.length ? getMediaItemImageUrl(payload.media[0]) : null,
9
- currency: payload.priceAndAvailability.currency,
10
- price: payload.priceAndAvailability.price,
11
- effectiveSalePrice: effectiveSalePrice?.salePrice ?? null,
12
- link: payload.link
13
- };
14
- };
@@ -1,22 +0,0 @@
1
- import type * as SchemaTypes from '../../../gql/types';
2
- import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
3
- export type ProductCardPayloadFragment = {
4
- title: string;
5
- id: string;
6
- link: string | null;
7
- media: Array<{
8
- url: string;
9
- thumbnailUrl: string | null;
10
- type: SchemaTypes.MediaType;
11
- }>;
12
- priceAndAvailability: {
13
- currency: SchemaTypes.Currency;
14
- price: number;
15
- productSalePrices: Array<{
16
- salePrice: number;
17
- salePriceEffectiveDateFrom: any | null;
18
- salePriceEffectiveDateTo: any | null;
19
- }> | null;
20
- };
21
- };
22
- export declare const ProductCardPayloadFragmentDoc: DocumentNode<ProductCardPayloadFragment, unknown>;
@@ -1,65 +0,0 @@
1
- export const ProductCardPayloadFragmentDoc = {
2
- kind: 'Document',
3
- definitions: [
4
- {
5
- kind: 'FragmentDefinition',
6
- name: { kind: 'Name', value: 'ProductCardPayloadFragment' },
7
- typeCondition: { kind: 'NamedType', name: { kind: 'Name', value: 'Product' } },
8
- selectionSet: {
9
- kind: 'SelectionSet',
10
- selections: [
11
- {
12
- kind: 'Field',
13
- name: { kind: 'Name', value: 'media' },
14
- selectionSet: {
15
- kind: 'SelectionSet',
16
- selections: [
17
- {
18
- kind: 'Field',
19
- name: { kind: 'Name', value: 'url' },
20
- arguments: [
21
- { kind: 'Argument', name: { kind: 'Name', value: 'scale' }, value: { kind: 'Variable', name: { kind: 'Name', value: 'image_scale' } } }
22
- ]
23
- },
24
- {
25
- kind: 'Field',
26
- name: { kind: 'Name', value: 'thumbnailUrl' },
27
- arguments: [
28
- { kind: 'Argument', name: { kind: 'Name', value: 'scale' }, value: { kind: 'Variable', name: { kind: 'Name', value: 'image_scale' } } }
29
- ]
30
- },
31
- { kind: 'Field', name: { kind: 'Name', value: 'type' } }
32
- ]
33
- }
34
- },
35
- { kind: 'Field', name: { kind: 'Name', value: 'title' } },
36
- { kind: 'Field', name: { kind: 'Name', value: 'id' } },
37
- { kind: 'Field', name: { kind: 'Name', value: 'link' } },
38
- {
39
- kind: 'Field',
40
- name: { kind: 'Name', value: 'priceAndAvailability' },
41
- selectionSet: {
42
- kind: 'SelectionSet',
43
- selections: [
44
- { kind: 'Field', name: { kind: 'Name', value: 'currency' } },
45
- { kind: 'Field', name: { kind: 'Name', value: 'price' } },
46
- {
47
- kind: 'Field',
48
- name: { kind: 'Name', value: 'productSalePrices' },
49
- selectionSet: {
50
- kind: 'SelectionSet',
51
- selections: [
52
- { kind: 'Field', name: { kind: 'Name', value: 'salePrice' } },
53
- { kind: 'Field', name: { kind: 'Name', value: 'salePriceEffectiveDateFrom' } },
54
- { kind: 'Field', name: { kind: 'Name', value: 'salePriceEffectiveDateTo' } }
55
- ]
56
- }
57
- }
58
- ]
59
- }
60
- }
61
- ]
62
- }
63
- }
64
- ]
65
- };
@@ -1,19 +0,0 @@
1
- fragment ProductCardPayloadFragment on Product {
2
- media {
3
- url(scale: $image_scale)
4
- thumbnailUrl(scale: $image_scale)
5
- type
6
- }
7
- title
8
- id
9
- link
10
- priceAndAvailability {
11
- currency
12
- price
13
- productSalePrices {
14
- salePrice
15
- salePriceEffectiveDateFrom
16
- salePriceEffectiveDateTo
17
- }
18
- }
19
- }
@@ -1,7 +0,0 @@
1
- export interface IProductCardLocalization {
2
- beforeNowPrefix?: string | null;
3
- }
4
- export declare class ProductCardLocalization {
5
- beforeNowPrefix: string | null;
6
- constructor(init?: IProductCardLocalization);
7
- }