@sima-land/moleculas 16.0.0-alpha.2 → 16.0.0-alpha.21

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 (351) hide show
  1. package/README.md +23 -0
  2. package/common/components/badge/badge.d.ts +8 -0
  3. package/common/components/badge/badge.js +55 -0
  4. package/common/components/badge/badge.js.map +1 -0
  5. package/common/components/badge/badge.m.scss +81 -0
  6. package/common/components/badge/index.d.ts +2 -19
  7. package/common/components/badge/index.js +3 -80
  8. package/common/components/badge/index.js.map +1 -0
  9. package/common/components/badge/types.d.ts +26 -0
  10. package/common/components/{intractive-image → badge}/types.js +1 -0
  11. package/common/components/badge/types.js.map +1 -0
  12. package/common/components/badge-list/badge-list.d.ts +29 -0
  13. package/common/components/badge-list/badge-list.js +38 -0
  14. package/common/components/badge-list/badge-list.js.map +1 -0
  15. package/common/components/badge-list/index.d.ts +1 -29
  16. package/common/components/badge-list/index.js +3 -56
  17. package/common/components/badge-list/index.js.map +1 -0
  18. package/common/components/breadcrumbs/breadcrumbs.d.ts +46 -0
  19. package/common/components/breadcrumbs/breadcrumbs.js +83 -0
  20. package/common/components/breadcrumbs/breadcrumbs.js.map +1 -0
  21. package/common/components/breadcrumbs/breadcrumbs.m.scss +113 -0
  22. package/common/components/breadcrumbs/index.d.ts +2 -0
  23. package/common/components/breadcrumbs/index.js +7 -0
  24. package/common/components/breadcrumbs/index.js.map +1 -0
  25. package/common/components/breadcrumbs/types.d.ts +8 -0
  26. package/common/{types.js → components/breadcrumbs/types.js} +1 -0
  27. package/common/components/breadcrumbs/types.js.map +1 -0
  28. package/common/components/img-stub/img-stub.d.ts +14 -0
  29. package/common/components/img-stub/img-stub.js +21 -0
  30. package/common/components/img-stub/img-stub.js.map +1 -0
  31. package/common/components/img-stub/img-stub.m.scss +36 -0
  32. package/common/components/img-stub/index.d.ts +1 -0
  33. package/common/components/img-stub/index.js +6 -0
  34. package/common/components/img-stub/index.js.map +1 -0
  35. package/common/components/{intractive-image → interactive-image}/index.js +1 -0
  36. package/common/components/interactive-image/index.js.map +1 -0
  37. package/common/components/interactive-image/interactive-image.d.ts +15 -0
  38. package/common/components/interactive-image/interactive-image.js +56 -0
  39. package/common/components/interactive-image/interactive-image.js.map +1 -0
  40. package/common/components/{intractive-image → interactive-image}/types.d.ts +4 -4
  41. package/common/components/interactive-image/types.js +3 -0
  42. package/common/components/interactive-image/types.js.map +1 -0
  43. package/common/components/media-gallery/index.d.ts +2 -0
  44. package/common/components/media-gallery/index.js +7 -0
  45. package/common/components/media-gallery/index.js.map +1 -0
  46. package/common/components/media-gallery/media-gallery.d.ts +16 -0
  47. package/common/components/media-gallery/media-gallery.js +90 -0
  48. package/common/components/media-gallery/media-gallery.js.map +1 -0
  49. package/common/components/media-gallery/media-gallery.m.scss +35 -0
  50. package/common/components/media-gallery/types.d.ts +12 -0
  51. package/common/components/media-gallery/types.js +3 -0
  52. package/common/components/media-gallery/types.js.map +1 -0
  53. package/common/components/media-gallery/utils.d.ts +38 -0
  54. package/common/components/media-gallery/utils.js +102 -0
  55. package/common/components/media-gallery/utils.js.map +1 -0
  56. package/common/components/media-modal/__mocks__/images/armchair.jpg +0 -0
  57. package/common/components/media-modal/__mocks__/images/cup.jpg +0 -0
  58. package/common/components/media-modal/__mocks__/images/plant.jpg +0 -0
  59. package/common/components/media-modal/__mocks__/images/stump.jpg +0 -0
  60. package/common/components/media-modal/__mocks__/images/table.jpg +0 -0
  61. package/common/components/media-modal/__mocks__/images/vase.jpg +0 -0
  62. package/common/components/media-modal/__mocks__/index.d.ts +3 -0
  63. package/common/components/media-modal/__mocks__/index.js +251 -0
  64. package/common/components/media-modal/__mocks__/index.js.map +1 -0
  65. package/common/components/media-modal/__mocks__/thumbnails/armchair.jpg +0 -0
  66. package/common/components/media-modal/__mocks__/thumbnails/cup.jpg +0 -0
  67. package/common/components/media-modal/__mocks__/thumbnails/plant.jpg +0 -0
  68. package/common/components/media-modal/__mocks__/thumbnails/stump.jpg +0 -0
  69. package/common/components/media-modal/__mocks__/thumbnails/table.jpg +0 -0
  70. package/common/components/media-modal/__mocks__/thumbnails/vase.jpg +0 -0
  71. package/common/components/media-modal/__mocks__/thumbnails/video3404953.jpg +0 -0
  72. package/common/components/media-modal/__mocks__/thumbnails/video3619217.jpg +0 -0
  73. package/common/components/media-modal/__mocks__/thumbnails/video4093038.jpg +0 -0
  74. package/common/components/media-modal/__mocks__/thumbnails/video6907296.jpg +0 -0
  75. package/common/components/media-modal/index.d.ts +11 -0
  76. package/common/components/media-modal/index.js +29 -0
  77. package/common/components/media-modal/index.js.map +1 -0
  78. package/common/components/media-modal/layout.d.ts +36 -0
  79. package/common/components/media-modal/layout.js +81 -0
  80. package/common/components/media-modal/layout.js.map +1 -0
  81. package/common/components/media-modal/layout.m.scss +78 -0
  82. package/common/components/media-modal/parts/all-round-view.d.ts +7 -0
  83. package/common/components/media-modal/parts/all-round-view.js +42 -0
  84. package/common/components/media-modal/parts/all-round-view.js.map +1 -0
  85. package/common/components/media-modal/parts/all-round-view.m.scss +30 -0
  86. package/common/components/media-modal/parts/index.d.ts +36 -0
  87. package/common/components/media-modal/parts/index.js +65 -0
  88. package/common/components/media-modal/parts/index.js.map +1 -0
  89. package/common/components/media-modal/parts/media-area.d.ts +25 -0
  90. package/common/components/media-modal/parts/media-area.js +61 -0
  91. package/common/components/media-modal/parts/media-area.js.map +1 -0
  92. package/common/components/media-modal/parts/media-area.m.scss +21 -0
  93. package/common/components/media-modal/parts/media-view.d.ts +20 -0
  94. package/common/components/media-modal/parts/media-view.js +46 -0
  95. package/common/components/media-modal/parts/media-view.js.map +1 -0
  96. package/common/components/media-modal/parts/media-view.m.scss +34 -0
  97. package/common/components/media-modal/parts/parts.m.scss +21 -0
  98. package/common/components/media-modal/parts/product-brief.d.ts +20 -0
  99. package/common/components/media-modal/parts/product-brief.js +40 -0
  100. package/common/components/media-modal/parts/product-brief.js.map +1 -0
  101. package/common/components/media-modal/parts/product-brief.m.scss +149 -0
  102. package/common/components/media-modal/parts/review.d.ts +15 -0
  103. package/common/components/media-modal/parts/review.js +32 -0
  104. package/common/components/media-modal/parts/review.js.map +1 -0
  105. package/common/components/media-modal/parts/review.m.scss +86 -0
  106. package/common/components/media-modal/parts/scroll-section.d.ts +11 -0
  107. package/common/components/media-modal/parts/scroll-section.js +20 -0
  108. package/common/components/media-modal/parts/scroll-section.js.map +1 -0
  109. package/common/components/media-modal/parts/scroll-section.m.scss +32 -0
  110. package/common/components/media-modal/parts/thumbnail.d.ts +22 -0
  111. package/common/components/media-modal/parts/thumbnail.js +36 -0
  112. package/common/components/media-modal/parts/thumbnail.js.map +1 -0
  113. package/common/components/media-modal/parts/thumbnail.m.scss +156 -0
  114. package/common/components/media-modal/parts/thumbnails.d.ts +13 -0
  115. package/common/components/media-modal/parts/thumbnails.js +60 -0
  116. package/common/components/media-modal/parts/thumbnails.js.map +1 -0
  117. package/common/components/media-modal/parts/thumbnails.m.scss +16 -0
  118. package/common/components/media-modal/types.d.ts +18 -0
  119. package/common/components/media-modal/types.js +3 -0
  120. package/common/components/media-modal/types.js.map +1 -0
  121. package/common/components/media-modal/utils.d.ts +42 -0
  122. package/common/components/media-modal/utils.js +110 -0
  123. package/common/components/media-modal/utils.js.map +1 -0
  124. package/common/components/modifier/index.d.ts +2 -46
  125. package/common/components/modifier/index.js +4 -99
  126. package/common/components/modifier/index.js.map +1 -0
  127. package/common/components/modifier/modifier.d.ts +13 -0
  128. package/common/components/modifier/modifier.js +74 -0
  129. package/common/components/modifier/modifier.js.map +1 -0
  130. package/common/components/modifier/{modifiers.module.scss → modifier.m.scss} +61 -0
  131. package/common/components/modifier/types.d.ts +35 -0
  132. package/common/components/modifier/types.js +3 -0
  133. package/common/components/modifier/types.js.map +1 -0
  134. package/common/components/pagination-controls/index.d.ts +2 -0
  135. package/common/components/pagination-controls/index.js +9 -0
  136. package/common/components/pagination-controls/index.js.map +1 -0
  137. package/common/components/pagination-controls/pagination-controls.d.ts +30 -0
  138. package/common/components/pagination-controls/pagination-controls.js +72 -0
  139. package/common/components/pagination-controls/pagination-controls.js.map +1 -0
  140. package/common/components/pagination-controls/pagination-controls.m.scss +70 -0
  141. package/common/components/pagination-controls/types.d.ts +20 -0
  142. package/common/components/pagination-controls/types.js +3 -0
  143. package/common/components/pagination-controls/types.js.map +1 -0
  144. package/common/components/product-info/index.d.ts +1 -16
  145. package/common/components/product-info/index.js +5 -41
  146. package/common/components/product-info/index.js.map +1 -0
  147. package/common/components/product-info/parts.d.ts +22 -21
  148. package/common/components/product-info/parts.js +35 -83
  149. package/common/components/product-info/parts.js.map +1 -0
  150. package/common/components/product-info/product-info.d.ts +15 -0
  151. package/common/components/product-info/product-info.js +33 -0
  152. package/common/components/product-info/product-info.js.map +1 -0
  153. package/common/components/product-info/{product-info.module.scss → product-info.m.scss} +9 -0
  154. package/common/components/product-info/types.d.ts +2 -2
  155. package/common/components/product-info/types.js +1 -0
  156. package/common/components/product-info/types.js.map +1 -0
  157. package/common/components/product-info/utils.js +1 -0
  158. package/common/components/product-info/utils.js.map +1 -0
  159. package/common/components/rating-counter/index.d.ts +1 -25
  160. package/common/components/rating-counter/index.js +3 -35
  161. package/common/components/rating-counter/index.js.map +1 -0
  162. package/common/components/rating-counter/rating-counter-util.scss +1 -1
  163. package/common/components/rating-counter/rating-counter.d.ts +35 -0
  164. package/common/components/rating-counter/rating-counter.js +24 -0
  165. package/common/components/rating-counter/rating-counter.js.map +1 -0
  166. package/common/hooks/index.d.ts +19 -0
  167. package/common/hooks/index.js +39 -0
  168. package/common/hooks/index.js.map +1 -0
  169. package/desktop/components/breadcrumbs/breadcrumbs.d.ts +31 -0
  170. package/desktop/components/breadcrumbs/breadcrumbs.js +56 -0
  171. package/desktop/components/breadcrumbs/breadcrumbs.js.map +1 -0
  172. package/desktop/components/breadcrumbs/{breadcrumbs.module.scss → breadcrumbs.m.scss} +36 -1
  173. package/desktop/components/breadcrumbs/index.d.ts +1 -28
  174. package/desktop/components/breadcrumbs/index.js +3 -80
  175. package/desktop/components/breadcrumbs/index.js.map +1 -0
  176. package/desktop/components/gallery-modal/__mocks__/index.js +1 -0
  177. package/desktop/components/gallery-modal/__mocks__/index.js.map +1 -0
  178. package/desktop/components/gallery-modal/components/all-round-view.d.ts +5 -2
  179. package/desktop/components/gallery-modal/components/all-round-view.js +47 -62
  180. package/desktop/components/gallery-modal/components/all-round-view.js.map +1 -0
  181. package/desktop/components/gallery-modal/components/{all-round-view.module.scss → all-round-view.m.scss} +5 -0
  182. package/desktop/components/gallery-modal/components/gallery-modal.d.ts +4 -5
  183. package/desktop/components/gallery-modal/components/gallery-modal.js +16 -66
  184. package/desktop/components/gallery-modal/components/gallery-modal.js.map +1 -0
  185. package/desktop/components/gallery-modal/components/{gallery-modal.module.scss → gallery-modal.m.scss} +5 -3
  186. package/desktop/components/gallery-modal/components/image-overlay.d.ts +3 -3
  187. package/desktop/components/gallery-modal/components/image-overlay.js +4 -17
  188. package/desktop/components/gallery-modal/components/image-overlay.js.map +1 -0
  189. package/desktop/components/gallery-modal/components/{image-overlay.module.scss → image-overlay.m.scss} +1 -0
  190. package/desktop/components/gallery-modal/components/review-info.d.ts +1 -1
  191. package/desktop/components/gallery-modal/components/review-info.js +11 -52
  192. package/desktop/components/gallery-modal/components/review-info.js.map +1 -0
  193. package/desktop/components/gallery-modal/components/thumbnail.d.ts +3 -3
  194. package/desktop/components/gallery-modal/components/thumbnail.js +7 -10
  195. package/desktop/components/gallery-modal/components/thumbnail.js.map +1 -0
  196. package/desktop/components/gallery-modal/index.js +1 -0
  197. package/desktop/components/gallery-modal/index.js.map +1 -0
  198. package/desktop/components/gallery-modal/types.js +1 -0
  199. package/desktop/components/gallery-modal/types.js.map +1 -0
  200. package/desktop/components/gallery-modal/utils.d.ts +5 -3
  201. package/desktop/components/gallery-modal/utils.js +18 -8
  202. package/desktop/components/gallery-modal/utils.js.map +1 -0
  203. package/desktop/components/person-info/index.d.ts +1 -41
  204. package/desktop/components/person-info/index.js +3 -43
  205. package/desktop/components/person-info/index.js.map +1 -0
  206. package/desktop/components/person-info/person-info.d.ts +42 -0
  207. package/desktop/components/person-info/person-info.js +24 -0
  208. package/desktop/components/person-info/person-info.js.map +1 -0
  209. package/desktop/components/person-info/{person-info.module.scss → person-info.m.scss} +1 -1
  210. package/desktop/components/product-card/index.d.ts +2 -26
  211. package/desktop/components/product-card/index.js +7 -103
  212. package/desktop/components/product-card/index.js.map +1 -0
  213. package/desktop/components/product-card/product-card.d.ts +23 -0
  214. package/desktop/components/product-card/product-card.js +94 -0
  215. package/desktop/components/product-card/product-card.js.map +1 -0
  216. package/desktop/components/product-card/types.d.ts +19 -0
  217. package/desktop/components/product-card/types.js +3 -0
  218. package/desktop/components/product-card/types.js.map +1 -0
  219. package/desktop/components/product-carousel/hover-card.d.ts +2 -7
  220. package/desktop/components/product-carousel/hover-card.js +13 -49
  221. package/desktop/components/product-carousel/hover-card.js.map +1 -0
  222. package/desktop/components/product-carousel/{hover-card.module.scss → hover-card.m.scss} +2 -2
  223. package/desktop/components/product-carousel/index.d.ts +2 -31
  224. package/desktop/components/product-carousel/index.js +3 -133
  225. package/desktop/components/product-carousel/index.js.map +1 -0
  226. package/desktop/components/product-carousel/product-carousel.d.ts +7 -0
  227. package/desktop/components/product-carousel/product-carousel.js +95 -0
  228. package/desktop/components/product-carousel/product-carousel.js.map +1 -0
  229. package/desktop/components/product-carousel/{product-carousel.module.scss → product-carousel.m.scss} +1 -1
  230. package/desktop/components/product-carousel/types.d.ts +33 -0
  231. package/desktop/components/product-carousel/types.js +3 -0
  232. package/desktop/components/product-carousel/types.js.map +1 -0
  233. package/desktop/components/product-carousel/utils.d.ts +4 -4
  234. package/desktop/components/product-carousel/utils.js +8 -7
  235. package/desktop/components/product-carousel/utils.js.map +1 -0
  236. package/desktop/components/promotion-card/banner-title.d.ts +2 -3
  237. package/desktop/components/promotion-card/banner-title.js +9 -19
  238. package/desktop/components/promotion-card/banner-title.js.map +1 -0
  239. package/desktop/components/promotion-card/estimate.d.ts +1 -2
  240. package/desktop/components/promotion-card/estimate.js +3 -5
  241. package/desktop/components/promotion-card/estimate.js.map +1 -0
  242. package/desktop/components/promotion-card/index.d.ts +4 -31
  243. package/desktop/components/promotion-card/index.js +10 -83
  244. package/desktop/components/promotion-card/index.js.map +1 -0
  245. package/desktop/components/promotion-card/placeholder.d.ts +4 -2
  246. package/desktop/components/promotion-card/placeholder.js +4 -6
  247. package/desktop/components/promotion-card/placeholder.js.map +1 -0
  248. package/desktop/components/promotion-card/promotion-card.d.ts +32 -0
  249. package/desktop/components/promotion-card/promotion-card.js +39 -0
  250. package/desktop/components/promotion-card/promotion-card.js.map +1 -0
  251. package/desktop/components/promotion-card/{index.module.scss → promotion-card.m.scss} +8 -6
  252. package/desktop/components/promotion-card/types.js +1 -0
  253. package/desktop/components/promotion-card/types.js.map +1 -0
  254. package/mobile/components/action-circles/action-circles.d.ts +22 -0
  255. package/mobile/components/action-circles/action-circles.js +31 -0
  256. package/mobile/components/action-circles/action-circles.js.map +1 -0
  257. package/mobile/components/action-circles/index.d.ts +1 -22
  258. package/mobile/components/action-circles/index.js +3 -29
  259. package/mobile/components/action-circles/index.js.map +1 -0
  260. package/mobile/components/action-list/action-list.d.ts +29 -0
  261. package/mobile/components/action-list/action-list.js +40 -0
  262. package/mobile/components/action-list/action-list.js.map +1 -0
  263. package/mobile/components/action-list/index.d.ts +1 -23
  264. package/mobile/components/action-list/index.js +5 -34
  265. package/mobile/components/action-list/index.js.map +1 -0
  266. package/mobile/components/breadcrumbs/breadcrumbs.d.ts +12 -0
  267. package/mobile/components/breadcrumbs/breadcrumbs.js +17 -0
  268. package/mobile/components/breadcrumbs/breadcrumbs.js.map +1 -0
  269. package/mobile/components/breadcrumbs/index.d.ts +1 -13
  270. package/mobile/components/breadcrumbs/index.js +3 -13
  271. package/mobile/components/breadcrumbs/index.js.map +1 -0
  272. package/mobile/components/person-info/index.d.ts +1 -44
  273. package/mobile/components/person-info/index.js +4 -55
  274. package/mobile/components/person-info/index.js.map +1 -0
  275. package/mobile/components/person-info/person-info.d.ts +46 -0
  276. package/mobile/components/person-info/person-info.js +41 -0
  277. package/mobile/components/person-info/person-info.js.map +1 -0
  278. package/mobile/components/person-info/{person-info.module.scss → person-info.m.scss} +9 -16
  279. package/mobile/components/product-row/index.d.ts +1 -41
  280. package/mobile/components/product-row/index.js +3 -56
  281. package/mobile/components/product-row/index.js.map +1 -0
  282. package/mobile/components/product-row/product-row.d.ts +40 -0
  283. package/mobile/components/product-row/product-row.js +29 -0
  284. package/mobile/components/product-row/product-row.js.map +1 -0
  285. package/mobile/components/product-slider/index.d.ts +1 -17
  286. package/mobile/components/product-slider/index.js +3 -57
  287. package/mobile/components/product-slider/index.js.map +1 -0
  288. package/mobile/components/product-slider/product-slider.d.ts +17 -0
  289. package/mobile/components/product-slider/product-slider.js +37 -0
  290. package/mobile/components/product-slider/product-slider.js.map +1 -0
  291. package/mobile/components/search-bar/index.d.ts +1 -39
  292. package/mobile/components/search-bar/index.js +4 -104
  293. package/mobile/components/search-bar/index.js.map +1 -0
  294. package/mobile/components/search-bar/search-bar.d.ts +39 -0
  295. package/mobile/components/search-bar/search-bar.js +64 -0
  296. package/mobile/components/search-bar/search-bar.js.map +1 -0
  297. package/mobile/components/search-bar/{search-bar.module.scss → search-bar.m.scss} +6 -6
  298. package/mobile/components/select-screen/index.d.ts +1 -20
  299. package/mobile/components/select-screen/index.js +4 -65
  300. package/mobile/components/select-screen/index.js.map +1 -0
  301. package/mobile/components/select-screen/select-screen.d.ts +20 -0
  302. package/mobile/components/select-screen/select-screen.js +31 -0
  303. package/mobile/components/select-screen/select-screen.js.map +1 -0
  304. package/package.json +40 -52
  305. package/common/components/badge/badge.module.scss +0 -40
  306. package/common/components/intractive-image/interactive-image.d.ts +0 -15
  307. package/common/components/intractive-image/interactive-image.js +0 -96
  308. package/common/components/rating-counter/star.svg +0 -5
  309. package/common/constants.d.ts +0 -2
  310. package/common/constants.js +0 -8
  311. package/common/icons/eighteen-plus.svg +0 -5
  312. package/common/types.d.ts +0 -1
  313. package/desktop/components/breadcrumbs/square-arrow-down.svg +0 -8
  314. package/desktop/components/gallery-modal/icons/360.svg +0 -3
  315. package/desktop/components/gallery-modal/icons/pause.svg +0 -3
  316. package/desktop/components/gallery-modal/icons/turn-left.svg +0 -10
  317. package/desktop/components/gallery-modal/icons/turn-right.svg +0 -10
  318. package/desktop/components/modifiers/button/index.d.ts +0 -22
  319. package/desktop/components/modifiers/button/index.js +0 -48
  320. package/desktop/components/modifiers/button/modifier-button.module.scss +0 -85
  321. package/desktop/components/modifiers/group/index.d.ts +0 -15
  322. package/desktop/components/modifiers/group/index.js +0 -70
  323. package/desktop/components/modifiers/group/modifiers-group.module.scss +0 -33
  324. package/desktop/components/modifiers/group/utils.d.ts +0 -20
  325. package/desktop/components/modifiers/group/utils.js +0 -73
  326. package/desktop/components/modifiers/modifiers.scss +0 -8
  327. package/mobile/components/modifiers-list/index.d.ts +0 -22
  328. package/mobile/components/modifiers-list/index.js +0 -25
  329. package/mobile/components/modifiers-list/modifier-item/index.d.ts +0 -29
  330. package/mobile/components/modifiers-list/modifier-item/index.js +0 -38
  331. package/mobile/components/modifiers-list/modifier-item/modifier-item.module.scss +0 -70
  332. package/mobile/components/modifiers-list/modifiers-list.module.scss +0 -21
  333. package/mobile/components/pseudo-input/index.d.ts +0 -11
  334. package/mobile/components/pseudo-input/index.js +0 -34
  335. package/mobile/components/pseudo-input/pseudo-input.module.scss +0 -24
  336. /package/common/components/badge-list/{badge-list.module.scss → badge-list.m.scss} +0 -0
  337. /package/common/components/{intractive-image → interactive-image}/index.d.ts +0 -0
  338. /package/common/components/{intractive-image → interactive-image}/interactive-image-util.scss +0 -0
  339. /package/common/components/{intractive-image/interactive-image.module.scss → interactive-image/interactive-image.m.scss} +0 -0
  340. /package/common/components/rating-counter/{rating-counter.module.scss → rating-counter.m.scss} +0 -0
  341. /package/desktop/components/gallery-modal/components/{review-info.module.scss → review-info.m.scss} +0 -0
  342. /package/desktop/components/gallery-modal/components/{thumbnail.module.scss → thumbnail.m.scss} +0 -0
  343. /package/desktop/components/product-card/{product-card.module.scss → product-card.m.scss} +0 -0
  344. /package/desktop/components/promotion-card/{banner-title.module.scss → banner-title.m.scss} +0 -0
  345. /package/desktop/components/promotion-card/{placeholder.module.scss → placeholder.m.scss} +0 -0
  346. /package/mobile/components/action-circles/{action-circles.module.scss → action-circles.m.scss} +0 -0
  347. /package/mobile/components/action-list/{action-list.module.scss → action-list.m.scss} +0 -0
  348. /package/mobile/components/breadcrumbs/{breadcrumbs.module.scss → breadcrumbs.m.scss} +0 -0
  349. /package/mobile/components/product-row/{product-row.module.scss → product-row.m.scss} +0 -0
  350. /package/mobile/components/product-slider/{product-slider.module.scss → product-slider.m.scss} +0 -0
  351. /package/mobile/components/select-screen/{select-screen.module.scss → select-screen.m.scss} +0 -0
@@ -0,0 +1,149 @@
1
+ @use 'node_modules/@sima-land/ui-nucleons/colors';
2
+
3
+ .root {
4
+ display: grid;
5
+ }
6
+
7
+ .image {
8
+ display: block;
9
+ .overlay {
10
+ width: 100%;
11
+ height: 100%;
12
+ > img {
13
+ display: block;
14
+ width: 100%;
15
+ height: 100%;
16
+ object-fit: contain;
17
+ }
18
+ .stub {
19
+ display: block;
20
+ width: 100%;
21
+ height: 100%;
22
+ }
23
+ }
24
+ }
25
+
26
+ .info {
27
+ font-size: 20px;
28
+ line-height: 28px;
29
+ }
30
+
31
+ .title {
32
+ display: block;
33
+ text-decoration: none;
34
+ color: colors.$basic-gray87;
35
+ }
36
+
37
+ .price {
38
+ font-weight: 600;
39
+ }
40
+
41
+ .title + .price {
42
+ margin-top: 4px;
43
+ }
44
+
45
+ .footer {
46
+ display: flex;
47
+ }
48
+
49
+ .size-s {
50
+ column-gap: 8px;
51
+ row-gap: 16px;
52
+ grid-template-columns: 88px 1fr;
53
+ .image {
54
+ width: 88px;
55
+ height: 88px;
56
+ grid-column: 1 / 2;
57
+ grid-row: 1 / 2;
58
+ }
59
+ .info {
60
+ grid-column: 2 / 3;
61
+ grid-row: 1 / 2;
62
+ }
63
+ .title {
64
+ display: -webkit-box;
65
+ -webkit-box-orient: vertical;
66
+ -webkit-line-clamp: 2;
67
+ overflow: hidden;
68
+ }
69
+ .title + .price {
70
+ margin-top: 4px;
71
+ }
72
+ .footer {
73
+ grid-column: 1 / 3;
74
+ grid-row: 2 / 3;
75
+ }
76
+ }
77
+
78
+ .size-l {
79
+ column-gap: 16px;
80
+ row-gap: 12px;
81
+ grid-template-columns: 112px 1fr;
82
+ .image {
83
+ width: 112px;
84
+ height: 112px;
85
+ grid-column: 1 / 2;
86
+ grid-row: 1 / 3;
87
+ }
88
+ .info {
89
+ min-width: 0; // ВАЖНО: чтобы title не вызывал переполнение
90
+ grid-column: 2 / 3;
91
+ grid-row: 1 / 2;
92
+ .title {
93
+ overflow: hidden;
94
+ white-space: nowrap;
95
+ text-overflow: ellipsis;
96
+ }
97
+ }
98
+ .footer {
99
+ grid-column: 2 / 3;
100
+ grid-row: 2 / 3;
101
+ }
102
+ }
103
+
104
+ .skeleton {
105
+ display: grid;
106
+ > * {
107
+ border-radius: 4px;
108
+ background: colors.$basic-gray4;
109
+ }
110
+ &.s {
111
+ grid-template-columns: 88px 1fr;
112
+ row-gap: 16px;
113
+ column-gap: 16px;
114
+ :first-child {
115
+ width: 88px;
116
+ height: 88px;
117
+ }
118
+ :nth-child(2) {
119
+ width: auto;
120
+ height: 88px;
121
+ }
122
+ :last-child {
123
+ width: 128px;
124
+ height: 40px;
125
+ }
126
+ }
127
+ &.l {
128
+ grid-template-columns: 112px 1fr;
129
+ row-gap: 12px;
130
+ column-gap: 16px;
131
+ :first-child {
132
+ grid-row: 1/3;
133
+ width: 112px;
134
+ height: 112px;
135
+ }
136
+ :nth-child(2) {
137
+ grid-row: 1;
138
+ grid-column: 2;
139
+ width: auto;
140
+ height: 60px;
141
+ }
142
+ :last-child {
143
+ grid-row: 2;
144
+ grid-column: 2;
145
+ width: 128px;
146
+ height: 40px;
147
+ }
148
+ }
149
+ }
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ReviewProps {
3
+ rating?: number;
4
+ ratingPlaceholder?: ReactNode;
5
+ author?: ReactNode;
6
+ button?: ReactNode;
7
+ children?: ReactNode;
8
+ loading?: boolean;
9
+ }
10
+ /**
11
+ * Отзыв.
12
+ * @param props Свойства.
13
+ * @return Элемент.
14
+ */
15
+ export declare function Review({ rating, ratingPlaceholder, author, children, loading, button, }: ReviewProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Review = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const rating_1 = require("@sima-land/ui-nucleons/rating");
9
+ const bind_1 = __importDefault(require("classnames/bind"));
10
+ const review_m_scss_1 = __importDefault(require("./review.m.scss"));
11
+ const cx = bind_1.default.bind(review_m_scss_1.default);
12
+ /**
13
+ * Отзыв.
14
+ * @param props Свойства.
15
+ * @return Элемент.
16
+ */
17
+ function Review({ rating, ratingPlaceholder, author, children, loading, button, }) {
18
+ if (loading) {
19
+ return (0, jsx_runtime_1.jsx)(ReviewSkeleton, { button: button });
20
+ }
21
+ return ((0, jsx_runtime_1.jsxs)("div", { className: cx('root'), children: [(0, jsx_runtime_1.jsxs)("div", { className: cx('header'), children: [(rating || ratingPlaceholder || author) && ((0, jsx_runtime_1.jsxs)("div", { className: cx('col', 'meta'), children: [(typeof rating === 'number' || ratingPlaceholder) && ((0, jsx_runtime_1.jsx)("div", { className: cx('col', 'rating'), children: rating ? (0, jsx_runtime_1.jsx)(rating_1.Rating, { size: 's', value: rating }) : ratingPlaceholder })), author && (0, jsx_runtime_1.jsx)("div", { className: cx('col', 'author'), children: author })] })), button && (0, jsx_runtime_1.jsx)("div", { className: cx('col', 'button'), children: button })] }), Boolean(children) && (0, jsx_runtime_1.jsx)("div", { className: review_m_scss_1.default.content, children: children })] }));
22
+ }
23
+ exports.Review = Review;
24
+ /**
25
+ * Заглушка отзыва.
26
+ * @param props Свойства.
27
+ * @return Элемент.
28
+ */
29
+ function ReviewSkeleton({ button }) {
30
+ return ((0, jsx_runtime_1.jsxs)("div", { className: cx('root'), children: [(0, jsx_runtime_1.jsxs)("div", { className: cx('header'), children: [(0, jsx_runtime_1.jsx)("div", { className: cx('col', 'meta'), children: (0, jsx_runtime_1.jsx)("div", { className: cx('skeleton', 'skeleton-meta') }) }), button && (0, jsx_runtime_1.jsx)("div", { className: cx('col', 'button'), children: button })] }), (0, jsx_runtime_1.jsxs)("div", { className: cx('content'), children: [(0, jsx_runtime_1.jsx)("div", { className: cx('skeleton') }), (0, jsx_runtime_1.jsx)("div", { className: cx('skeleton') })] })] }));
31
+ }
32
+ //# sourceMappingURL=review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/review.tsx"],"names":[],"mappings":";;;;;;;AACA,0DAAuD;AACvD,2DAAyC;AACzC,oEAAqC;AAWrC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,uBAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,MAAM,CAAC,EACrB,MAAM,EACN,iBAAiB,EACjB,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,GACM;IACZ,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,uBAAC,cAAc,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;IAC5C,CAAC;IAED,OAAO,CACL,iCAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,aACxB,iCAAK,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,aACzB,CAAC,MAAM,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAC1C,iCAAK,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,aAC9B,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CACpD,gCAAK,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,YAChC,MAAM,CAAC,CAAC,CAAC,uBAAC,eAAM,IAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAE,MAAM,GAAI,CAAC,CAAC,CAAC,iBAAiB,GAC5D,CACP,EAEA,MAAM,IAAI,gCAAK,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAG,MAAM,GAAO,IAC1D,CACP,EAEA,MAAM,IAAI,gCAAK,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAG,MAAM,GAAO,IAC1D,EAEL,OAAO,CAAC,QAAQ,CAAC,IAAI,gCAAK,SAAS,EAAE,uBAAM,CAAC,OAAO,YAAG,QAAQ,GAAO,IAClE,CACP,CAAC;AACJ,CAAC;AAjCD,wBAiCC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,EAAE,MAAM,EAA0B;IACxD,OAAO,CACL,iCAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,aACxB,iCAAK,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,aAC1B,gCAAK,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,YAC/B,gCAAK,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,GAAI,GAC/C,EACL,MAAM,IAAI,gCAAK,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAG,MAAM,GAAO,IAC1D,EAEN,iCAAK,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,aAC3B,gCAAK,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAI,EAClC,gCAAK,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAI,IAC9B,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,86 @@
1
+ @use 'node_modules/@sima-land/ui-nucleons/breakpoints';
2
+ @use 'node_modules/@sima-land/ui-nucleons/colors';
3
+
4
+ .root {
5
+ display: block;
6
+ font-size: 14px;
7
+ line-height: 20px;
8
+ }
9
+
10
+ .header {
11
+ display: flex;
12
+ font-size: 14px;
13
+ line-height: 20px;
14
+ }
15
+
16
+ .meta {
17
+ flex-grow: 1;
18
+ display: flex;
19
+ max-width: 100%;
20
+ }
21
+
22
+ .rating {
23
+ font-weight: 600;
24
+ color: colors.$basic-gray38;
25
+ }
26
+
27
+ .author {
28
+ width: 0;
29
+ flex-grow: 1;
30
+ white-space: nowrap;
31
+ overflow: hidden;
32
+ text-overflow: ellipsis;
33
+ color: colors.$basic-gray24;
34
+ }
35
+
36
+ @include breakpoints.down('xs') {
37
+ .header {
38
+ flex-wrap: wrap;
39
+ }
40
+ .meta {
41
+ width: 100%;
42
+ }
43
+ .rating + .author {
44
+ margin-left: 12px;
45
+ }
46
+ .meta + .button {
47
+ width: 100%;
48
+ margin-top: 12px;
49
+ }
50
+ }
51
+
52
+ @include breakpoints.up('xs') {
53
+ .col + .col {
54
+ margin-left: 16px;
55
+ }
56
+ .button:first-child {
57
+ margin-left: auto;
58
+ }
59
+ }
60
+
61
+ .rating {
62
+ height: 20px;
63
+ display: flex;
64
+ align-items: center;
65
+ }
66
+
67
+ .header + .content {
68
+ margin-top: 12px;
69
+ }
70
+
71
+ .skeleton {
72
+ flex-grow: 1;
73
+ height: 16px;
74
+ background: colors.$basic-gray4;
75
+ border-radius: 4px;
76
+ margin: 2px 0;
77
+ }
78
+
79
+ .skeleton-meta {
80
+ width: 216px;
81
+ max-width: 216px;
82
+ }
83
+
84
+ .skeleton + .skeleton {
85
+ margin-top: 4px;
86
+ }
@@ -0,0 +1,11 @@
1
+ import { ReactNode, Ref } from 'react';
2
+ /**
3
+ * Секция с прокруткой по горизонтали по дизайн-гайдам.
4
+ * @param props Свойства.
5
+ * @return Элемент.
6
+ */
7
+ export declare function ScrollSection({ children, scrollRef, contentRef, }: {
8
+ children?: ReactNode;
9
+ scrollRef?: Ref<HTMLDivElement>;
10
+ contentRef?: Ref<HTMLDivElement>;
11
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ScrollSection = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const layout_1 = require("@sima-land/ui-nucleons/layout");
9
+ const page_scroll_lock_1 = require("@sima-land/ui-nucleons/_internal/page-scroll-lock");
10
+ const scroll_section_m_scss_1 = __importDefault(require("./scroll-section.m.scss"));
11
+ /**
12
+ * Секция с прокруткой по горизонтали по дизайн-гайдам.
13
+ * @param props Свойства.
14
+ * @return Элемент.
15
+ */
16
+ function ScrollSection({ children, scrollRef, contentRef, }) {
17
+ return ((0, jsx_runtime_1.jsx)(layout_1.Layout, { disabledOn: ['mxs', 'ms'], children: (0, jsx_runtime_1.jsxs)("div", { ref: scrollRef, className: scroll_section_m_scss_1.default.inner, [page_scroll_lock_1.BSL_IGNORE_ATTR]: true, children: [(0, jsx_runtime_1.jsx)("div", { className: scroll_section_m_scss_1.default.gutter }), (0, jsx_runtime_1.jsx)("div", { ref: contentRef, className: scroll_section_m_scss_1.default.content, children: children }), (0, jsx_runtime_1.jsx)("div", { className: scroll_section_m_scss_1.default.gutter })] }) }));
18
+ }
19
+ exports.ScrollSection = ScrollSection;
20
+ //# sourceMappingURL=scroll-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-section.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/scroll-section.tsx"],"names":[],"mappings":";;;;;;;AAAA,0DAAuD;AAEvD,wFAAoF;AACpF,oFAA6C;AAE7C;;;;GAIG;AACH,SAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,UAAU,GAKX;IACC,OAAO,CACL,uBAAC,eAAM,IAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAC/B,iCAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,+BAAM,CAAC,KAAK,EAAQ,CAAC,kCAAe,CAAC,EAAE,IAAI,aACzE,gCAAK,SAAS,EAAE,+BAAM,CAAC,MAAM,GAAI,EACjC,gCAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,+BAAM,CAAC,OAAO,YAC5C,QAAQ,GACL,EACN,gCAAK,SAAS,EAAE,+BAAM,CAAC,MAAM,GAAI,IAC7B,GACC,CACV,CAAC;AACJ,CAAC;AApBD,sCAoBC"}
@@ -0,0 +1,32 @@
1
+ @use 'node_modules/@sima-land/ui-nucleons/breakpoints';
2
+ @use 'node_modules/@sima-land/ui-nucleons/utils';
3
+
4
+ .inner {
5
+ display: flex;
6
+ overflow-x: scroll;
7
+ @include utils.hidden-scrollbars;
8
+ }
9
+
10
+ .content {
11
+ flex-shrink: 0;
12
+ display: flex;
13
+ > * {
14
+ flex-shrink: 0;
15
+ }
16
+ > *:not(:last-child) {
17
+ margin-right: 8px;
18
+ }
19
+ }
20
+
21
+ .gutter {
22
+ flex-shrink: 0;
23
+ display: none;
24
+ &:first-child {
25
+ margin: 0;
26
+ }
27
+ @include breakpoints.down('mm') {
28
+ display: block;
29
+ width: 16px;
30
+ height: 16px;
31
+ }
32
+ }
@@ -0,0 +1,22 @@
1
+ import { MouseEventHandler } from 'react';
2
+ export type ThumbnailSize = 's' | 'l';
3
+ export interface ThumbnailProps {
4
+ size?: ThumbnailSize;
5
+ type: 'icon-360' | 'icon-video' | 'preview-image' | 'preview-video';
6
+ src?: string;
7
+ alt?: string;
8
+ checked?: boolean;
9
+ onClick?: MouseEventHandler;
10
+ className?: string;
11
+ loading?: boolean;
12
+ title?: string;
13
+ price?: number;
14
+ currency?: string;
15
+ }
16
+ export declare const ThumbnailContext: import("react").Context<Pick<ThumbnailProps, "size">>;
17
+ /**
18
+ * Компонент превью медиа.
19
+ * @param props Свойства.
20
+ * @return Элемент.
21
+ */
22
+ export declare function Thumbnail({ size: sizeFromProps, type, src, alt, checked, onClick, className, loading, title, price, currency, }: ThumbnailProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Thumbnail = exports.ThumbnailContext = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const image_overlay_1 = require("../../../../desktop/components/gallery-modal/components/image-overlay");
10
+ const Play_1 = __importDefault(require("@sima-land/ui-quarks/icons/24x24/Filled/Play"));
11
+ const Viewing360Perspective_1 = __importDefault(require("@sima-land/ui-quarks/icons/40x40/Filled/Viewing360Perspective"));
12
+ const price_1 = require("@sima-land/ui-nucleons/price");
13
+ const hooks_1 = require("../../../hooks");
14
+ const bind_1 = __importDefault(require("classnames/bind"));
15
+ const thumbnail_m_scss_1 = __importDefault(require("./thumbnail.m.scss"));
16
+ const img_stub_1 = require("../../img-stub");
17
+ exports.ThumbnailContext = (0, react_1.createContext)({});
18
+ const cx = bind_1.default.bind(thumbnail_m_scss_1.default);
19
+ /**
20
+ * Компонент превью медиа.
21
+ * @param props Свойства.
22
+ * @return Элемент.
23
+ */
24
+ function Thumbnail({ size: sizeFromProps, type, src, alt, checked, onClick, className, loading, title, price, currency, }) {
25
+ var _a;
26
+ const { size: sizeFromContext } = (0, react_1.useContext)(exports.ThumbnailContext);
27
+ const { failed, handleError } = (0, hooks_1.useImageStub)(src);
28
+ const size = (_a = sizeFromProps !== null && sizeFromProps !== void 0 ? sizeFromProps : sizeFromContext) !== null && _a !== void 0 ? _a : 'l';
29
+ const rootClassName = cx('root', `size-${size}`, (type === null || type === void 0 ? void 0 : type.startsWith('icon-')) && 'iconic', checked && 'checked', loading && 'loading', className);
30
+ if (loading) {
31
+ return ((0, jsx_runtime_1.jsxs)("button", { className: rootClassName, onClick: onClick, "data-testid": 'thumbnail', children: [(0, jsx_runtime_1.jsx)("span", { className: cx('content') }), type === 'preview-video' && (0, jsx_runtime_1.jsx)("span", { className: cx('info') })] }));
32
+ }
33
+ return ((0, jsx_runtime_1.jsxs)("button", { className: rootClassName, onClick: onClick, "data-testid": 'thumbnail', children: [(0, jsx_runtime_1.jsxs)("span", { className: cx('content'), children: [(type === null || type === void 0 ? void 0 : type.startsWith('preview-')) && ((0, jsx_runtime_1.jsxs)(image_overlay_1.ImageOverlay, { className: cx('image'), children: [failed && (0, jsx_runtime_1.jsx)(img_stub_1.ImgStub, { className: cx('stub') }), !failed && (0, jsx_runtime_1.jsx)("img", { src: src, alt: alt, onError: handleError })] })), !failed && type === 'preview-video' && (0, jsx_runtime_1.jsx)("span", { className: cx('play') }), type === 'icon-360' && (0, jsx_runtime_1.jsx)(Viewing360Perspective_1.default, { fill: 'currentColor' }), type === 'icon-video' && (0, jsx_runtime_1.jsx)(Play_1.default, { width: 32, height: 32, fill: 'currentColor' })] }), (title || price) && ((0, jsx_runtime_1.jsxs)("span", { className: cx('info'), children: [title && (0, jsx_runtime_1.jsx)("span", { className: cx('title'), children: title }), price && (0, jsx_runtime_1.jsx)(price_1.Price, { className: cx('price'), value: price, currencyGrapheme: currency })] }))] }));
34
+ }
35
+ exports.Thumbnail = Thumbnail;
36
+ //# sourceMappingURL=thumbnail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/thumbnail.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAqE;AACrE,yGAAqG;AACrG,wFAAmE;AACnE,0HAAwF;AACxF,wDAAqD;AACrD,0CAA8C;AAC9C,2DAAyC;AACzC,0EAAwC;AACxC,6CAAyC;AAkB5B,QAAA,gBAAgB,GAAG,IAAA,qBAAa,EAA+B,EAAE,CAAC,CAAC;AAEhF,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,0BAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,SAAS,CAAC,EACxB,IAAI,EAAE,aAAa,EACnB,IAAI,EACJ,GAAG,EACH,GAAG,EACH,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,GACO;;IACf,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,IAAA,kBAAU,EAAC,wBAAgB,CAAC,CAAC;IAC/D,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,MAAA,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,eAAe,mCAAI,GAAG,CAAC;IAErD,MAAM,aAAa,GAAG,EAAE,CACtB,MAAM,EACN,QAAQ,IAAI,EAAE,EACd,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,OAAO,CAAC,KAAI,QAAQ,EACrC,OAAO,IAAI,SAAS,EACpB,OAAO,IAAI,SAAS,EACpB,SAAS,CACV,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,oCAAQ,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,iBAAc,WAAW,aACzE,iCAAM,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAI,EACjC,IAAI,KAAK,eAAe,IAAI,iCAAM,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAI,IACrD,CACV,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oCAAQ,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,iBAAc,WAAW,aACzE,kCAAM,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,aAC3B,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,UAAU,CAAC,KAAI,CAC/B,wBAAC,4BAAY,IAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aACjC,MAAM,IAAI,uBAAC,kBAAO,IAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAI,EAC5C,CAAC,MAAM,IAAI,gCAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAI,IAChD,CAChB,EAEA,CAAC,MAAM,IAAI,IAAI,KAAK,eAAe,IAAI,iCAAM,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAS,EAE3E,IAAI,KAAK,UAAU,IAAI,uBAAC,+BAAW,IAAC,IAAI,EAAC,cAAc,GAAG,EAE1D,IAAI,KAAK,YAAY,IAAI,uBAAC,cAAO,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAC,cAAc,GAAG,IAC3E,EAEN,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CACnB,kCAAM,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,aACxB,KAAK,IAAI,iCAAM,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,YAAG,KAAK,GAAQ,EAErD,KAAK,IAAI,uBAAC,aAAK,IAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,GAAI,IAChF,CACR,IACM,CACV,CAAC;AACJ,CAAC;AA9DD,8BA8DC"}
@@ -0,0 +1,156 @@
1
+ @use 'node_modules/@sima-land/ui-nucleons/colors';
2
+ @use 'node_modules/@sima-land/ui-nucleons/breakpoints';
3
+
4
+ .root {
5
+ display: block;
6
+ background: transparent;
7
+ border: 0;
8
+ padding: 0;
9
+ outline: 0;
10
+ --thumbnail-color: #{colors.$basic-gray12};
11
+ --thumbnail-border-size: 1px;
12
+ &.size-s {
13
+ display: flex;
14
+ max-width: 132px;
15
+ --thumbnail-content-size: 48px;
16
+ .content + .info {
17
+ margin-left: 4px;
18
+ }
19
+ .info {
20
+ width: 80px;
21
+ }
22
+ &.loading {
23
+ --thumbnail-color: #{colors.$basic-gray4};
24
+ --thumbnail-border-size: 0;
25
+ .content {
26
+ background: colors.$basic-gray4;
27
+ }
28
+ .info {
29
+ width: 80px;
30
+ height: var(--thumbnail-content-size);
31
+ background: colors.$basic-gray4;
32
+ border-radius: 4px;
33
+ @include breakpoints.gte('xs') {
34
+ height: 34px;
35
+ }
36
+ }
37
+ }
38
+ }
39
+ &.size-l {
40
+ max-width: 80px;
41
+ --thumbnail-content-size: 80px;
42
+ .content + .info {
43
+ margin-top: 2px;
44
+ }
45
+ &.loading {
46
+ --thumbnail-color: #{colors.$basic-gray4};
47
+ --thumbnail-border-size: 0;
48
+ .content {
49
+ background: colors.$basic-gray4;
50
+ }
51
+ .info {
52
+ width: 80px;
53
+ height: 34px;
54
+ background: colors.$basic-gray4;
55
+ border-radius: 4px;
56
+ }
57
+ }
58
+ }
59
+ &.iconic {
60
+ --thumbnail-border-size: 2px;
61
+ }
62
+ &.checked {
63
+ --thumbnail-color: #{colors.$basic-blue};
64
+ --thumbnail-border-size: 2px;
65
+ }
66
+ &:not(.checked):not(.loading):hover {
67
+ cursor: pointer;
68
+ --thumbnail-color: #{colors.$basic-gray38};
69
+ }
70
+ }
71
+
72
+ .content {
73
+ flex-shrink: 0;
74
+ position: relative;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ background: transparent;
79
+ border-radius: 4px;
80
+ color: var(--thumbnail-color);
81
+ width: var(--thumbnail-content-size);
82
+ height: var(--thumbnail-content-size);
83
+ .play {
84
+ display: flex;
85
+ align-items: center;
86
+ justify-content: center;
87
+ width: 24px;
88
+ height: 24px;
89
+ border-radius: 50%;
90
+ background: rgba(0, 0, 0, 0.4);
91
+ z-index: 2;
92
+ pointer-events: none;
93
+ &::after {
94
+ content: '';
95
+ display: block;
96
+ width: 0;
97
+ height: 0;
98
+ border-style: solid;
99
+ border-width: 4px 0 4px 7px;
100
+ border-color: transparent transparent transparent #fff;
101
+ transform: translateX(1px);
102
+ }
103
+ }
104
+ .image {
105
+ position: absolute;
106
+ top: 0;
107
+ left: 0;
108
+ height: 100%;
109
+ width: 100%;
110
+ border-radius: inherit;
111
+ overflow: hidden;
112
+ > img {
113
+ display: block;
114
+ width: 100%;
115
+ height: 100%;
116
+ object-fit: contain;
117
+ }
118
+ .stub {
119
+ display: block;
120
+ width: 100%;
121
+ height: 100%;
122
+ }
123
+ }
124
+ &::after {
125
+ content: '';
126
+ position: absolute;
127
+ top: 0;
128
+ left: 0;
129
+ display: block;
130
+ height: 100%;
131
+ width: 100%;
132
+ border-radius: inherit;
133
+ box-shadow: inset 0 0 0 var(--thumbnail-border-size) var(--thumbnail-color);
134
+ }
135
+ }
136
+
137
+ .info {
138
+ display: block;
139
+ text-align: left;
140
+ font-size: 12px;
141
+ line-height: 16px;
142
+ color: colors.$basic-gray87;
143
+ .title {
144
+ display: block;
145
+ white-space: nowrap;
146
+ overflow: hidden;
147
+ text-overflow: ellipsis;
148
+ }
149
+ .title + .price {
150
+ margin-top: 2px;
151
+ }
152
+ .price {
153
+ display: block;
154
+ font-weight: 700;
155
+ }
156
+ }
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { ThumbnailSize } from './thumbnail';
3
+ export interface ThumbnailsProps {
4
+ size?: ThumbnailSize;
5
+ children?: ReactNode;
6
+ targetIndex?: number;
7
+ }
8
+ /**
9
+ * Компонент превью медиа.
10
+ * @param props Свойства.
11
+ * @return Элемент.
12
+ */
13
+ export declare function Thumbnails({ children, targetIndex, ...rest }: ThumbnailsProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Thumbnails = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const hooks_1 = require("@sima-land/ui-nucleons/hooks");
10
+ const utils_1 = require("../utils");
11
+ const hooks_2 = require("../../../../common/hooks");
12
+ const scroll_section_1 = require("./scroll-section");
13
+ const thumbnail_1 = require("./thumbnail");
14
+ const bind_1 = __importDefault(require("classnames/bind"));
15
+ const thumbnails_m_scss_1 = __importDefault(require("./thumbnails.m.scss"));
16
+ const cx = bind_1.default.bind(thumbnails_m_scss_1.default);
17
+ /**
18
+ * Компонент превью медиа.
19
+ * @param props Свойства.
20
+ * @return Элемент.
21
+ */
22
+ function Thumbnails({ children, targetIndex, ...rest }) {
23
+ const mounted = (0, hooks_2.useMounted)();
24
+ const desktop = (0, hooks_1.useBreakpoint)('xs+');
25
+ const scrollRef = (0, react_1.useRef)(null);
26
+ const contentRef = (0, react_1.useRef)(null);
27
+ (0, react_1.useEffect)(() => {
28
+ var _a;
29
+ const parent = scrollRef.current;
30
+ if (!(mounted && parent && typeof targetIndex === 'number')) {
31
+ return;
32
+ }
33
+ const target = desktop
34
+ ? scrollRef.current.children[targetIndex]
35
+ : (_a = contentRef.current) === null || _a === void 0 ? void 0 : _a.children[targetIndex];
36
+ if (!target) {
37
+ return;
38
+ }
39
+ if (desktop) {
40
+ parent.scrollTop += utils_1.Range.getShiftDistance(utils_1.Range.fromRectVertical(parent), utils_1.Range.fromRectVertical(target));
41
+ }
42
+ else {
43
+ const parentRange = utils_1.Range.fromRectHorizontal(parent);
44
+ parent.scrollLeft += utils_1.Range.getShiftDistance({
45
+ // ВАЖНО: учитываем отступы от края экрана по layout'у
46
+ start: parentRange.start + 16,
47
+ finish: parentRange.finish - 16,
48
+ }, utils_1.Range.fromRectHorizontal(target));
49
+ }
50
+ }, [mounted, targetIndex, desktop]);
51
+ if (!mounted) {
52
+ return null;
53
+ }
54
+ if (!desktop) {
55
+ return ((0, jsx_runtime_1.jsx)(thumbnail_1.ThumbnailContext.Provider, { value: { size: 's', ...rest }, children: (0, jsx_runtime_1.jsx)(scroll_section_1.ScrollSection, { scrollRef: scrollRef, contentRef: contentRef, children: children }) }));
56
+ }
57
+ return ((0, jsx_runtime_1.jsx)(thumbnail_1.ThumbnailContext.Provider, { value: { size: 'l', ...rest }, children: (0, jsx_runtime_1.jsx)("div", { ref: scrollRef, className: cx('list-desktop'), children: children }) }));
58
+ }
59
+ exports.Thumbnails = Thumbnails;
60
+ //# sourceMappingURL=thumbnails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thumbnails.js","sourceRoot":"","sources":["../../../../../src/common/components/media-modal/parts/thumbnails.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAqD;AACrD,wDAA6D;AAC7D,oCAAiC;AACjC,oDAAsD;AACtD,qDAAiD;AACjD,2CAA8D;AAC9D,2DAAyC;AACzC,4EAAyC;AAQzC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,2BAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAAmB;IAC5E,MAAM,OAAO,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,MAAA,UAAU,CAAC,OAAO,0CAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,SAAS,IAAI,aAAK,CAAC,gBAAgB,CACxC,aAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAC9B,aAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAC/B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,aAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAErD,MAAM,CAAC,UAAU,IAAI,aAAK,CAAC,gBAAgB,CACzC;gBACE,sDAAsD;gBACtD,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,EAAE;gBAC7B,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE;aAChC,EACD,aAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CACjC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,uBAAC,4BAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,YACtD,uBAAC,8BAAa,IAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,YACxD,QAAQ,GACK,GACU,CAC7B,CAAC;IACJ,CAAC;IAED,OAAO,CACL,uBAAC,4BAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,YACtD,gCAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,YAC/C,QAAQ,GACL,GACoB,CAC7B,CAAC;AACJ,CAAC;AA7DD,gCA6DC"}
@@ -0,0 +1,16 @@
1
+ @use 'node_modules/@sima-land/ui-nucleons/utils';
2
+
3
+ .list-desktop {
4
+ display: flex;
5
+ height: 0;
6
+ flex-grow: 1;
7
+ flex-direction: column;
8
+ overflow-y: auto;
9
+ @include utils.semi-stylized-scrollbars;
10
+ > * {
11
+ flex-shrink: 0;
12
+ }
13
+ > *:not(:last-child) {
14
+ margin-bottom: 8px;
15
+ }
16
+ }