@rabbitio/ui-kit 1.0.0-beta.84 → 1.0.0-beta.85

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 (188) hide show
  1. package/coverage/clover.xml +53 -7
  2. package/coverage/coverage-final.json +3 -3
  3. package/coverage/index.html +9 -9
  4. package/coverage/rabbit-ui-kit/index.html +1 -1
  5. package/coverage/rabbit-ui-kit/index.js.html +1 -1
  6. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +1 -1
  7. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +1 -1
  8. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +1 -1
  9. package/coverage/rabbit-ui-kit/src/common-apis/adapters/axiosAdapter.js.html +1 -1
  10. package/coverage/rabbit-ui-kit/src/common-apis/adapters/index.html +1 -1
  11. package/coverage/rabbit-ui-kit/src/common-apis/adapters/qrUtils.js.html +1 -1
  12. package/coverage/rabbit-ui-kit/src/common-apis/amountUtils.js.html +1 -1
  13. package/coverage/rabbit-ui-kit/src/common-apis/errorUtils.js.html +1 -1
  14. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/apiGroups.js.html +1 -1
  15. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/index.html +1 -1
  16. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +1 -1
  17. package/coverage/rabbit-ui-kit/src/common-apis/fiatCurrenciesService.js.html +1 -1
  18. package/coverage/rabbit-ui-kit/src/common-apis/globalConstants.jsx.html +1 -1
  19. package/coverage/rabbit-ui-kit/src/common-apis/index.html +1 -1
  20. package/coverage/rabbit-ui-kit/src/common-apis/models/blockchain.js.html +1 -1
  21. package/coverage/rabbit-ui-kit/src/common-apis/models/coin.js.html +1 -1
  22. package/coverage/rabbit-ui-kit/src/common-apis/models/index.html +1 -1
  23. package/coverage/rabbit-ui-kit/src/common-apis/models/protocol.js.html +1 -1
  24. package/coverage/rabbit-ui-kit/src/common-apis/utils/cache.js.html +1 -1
  25. package/coverage/rabbit-ui-kit/src/common-apis/utils/emailAPI.js.html +1 -1
  26. package/coverage/rabbit-ui-kit/src/common-apis/utils/index.html +1 -1
  27. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/index.html +1 -1
  28. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logger.js.html +1 -1
  29. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logsStorage.js.html +1 -1
  30. package/coverage/rabbit-ui-kit/src/common-apis/utils/postponeExecution.js.html +1 -1
  31. package/coverage/rabbit-ui-kit/src/common-apis/utils/safeStringify.js.html +1 -1
  32. package/coverage/rabbit-ui-kit/src/index.html +1 -1
  33. package/coverage/rabbit-ui-kit/src/index.js.html +1 -1
  34. package/coverage/rabbit-ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +1 -1
  35. package/coverage/rabbit-ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +1 -1
  36. package/coverage/rabbit-ui-kit/src/robust-api-caller/cancelProcessing.js.html +1 -1
  37. package/coverage/rabbit-ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +1 -1
  38. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalApiProvider.js.html +1 -1
  39. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +1 -1
  40. package/coverage/rabbit-ui-kit/src/robust-api-caller/index.html +1 -1
  41. package/coverage/rabbit-ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +1 -1
  42. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +1 -1
  43. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +1 -1
  44. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +1 -1
  45. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +1 -1
  46. package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
  47. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
  48. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
  49. package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +1 -1
  50. package/coverage/rabbit-ui-kit/src/swaps-lib/models/partner.js.html +1 -1
  51. package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +1 -1
  52. package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +1 -1
  53. package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
  54. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +1 -1
  55. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
  56. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +1 -1
  57. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +1 -1
  58. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +1 -1
  59. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +1 -1
  60. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +1 -1
  61. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
  62. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/index.html +1 -1
  63. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +1 -1
  64. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +1 -1
  65. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
  66. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
  67. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +1 -1
  68. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +1 -1
  69. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
  70. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +1 -1
  71. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
  72. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +1 -1
  73. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
  74. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +1 -1
  75. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
  76. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +1 -1
  77. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +1 -1
  78. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/index.html +1 -1
  79. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
  80. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +1 -1
  81. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
  82. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +1 -1
  83. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +1 -1
  84. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/index.html +1 -1
  85. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +1 -1
  86. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +1 -1
  87. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
  88. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +1 -1
  89. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +1 -1
  90. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/index.html +1 -1
  91. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
  92. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +1 -1
  93. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
  94. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +1 -1
  95. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
  96. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +1 -1
  97. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +1 -1
  98. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/index.html +1 -1
  99. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +1 -1
  100. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +1 -1
  101. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +1 -1
  102. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +1 -1
  103. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
  104. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +1 -1
  105. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
  106. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
  107. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +1 -1
  108. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +1 -1
  109. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +3 -3
  110. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +1 -1
  111. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +1 -1
  112. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/index.html +1 -1
  113. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
  114. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +1 -1
  115. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +101 -14
  116. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/index.html +5 -5
  117. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +1 -1
  118. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/index.html +1 -1
  119. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
  120. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +1 -1
  121. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
  122. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +1 -1
  123. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +1 -1
  124. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
  125. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +1 -1
  126. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1 -1
  127. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +1 -1
  128. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/index.html +1 -1
  129. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +1 -1
  130. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +1 -1
  131. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +1 -1
  132. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/index.html +1 -1
  133. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
  134. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +1 -1
  135. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/index.html +1 -1
  136. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +1 -1
  137. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +1 -1
  138. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useReferredState.js.html +1 -1
  139. package/coverage/rabbit-ui-kit/src/ui-kit/utils/index.html +1 -1
  140. package/coverage/rabbit-ui-kit/src/ui-kit/utils/inputValueProviders.js.html +1 -1
  141. package/coverage/rabbit-ui-kit/src/ui-kit/utils/textUtils.js.html +1 -1
  142. package/coverage/rabbit-ui-kit/src/ui-kit/utils/uiUtils.js.html +1 -1
  143. package/coverage/rabbit-ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +1 -1
  144. package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
  145. package/coverage/rabbit-ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
  146. package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
  147. package/coverage/rabbit-ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
  148. package/coverage/rabbit-ui-kit/stories/atoms/RateSelector.stories.jsx.html +1 -1
  149. package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
  150. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
  151. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
  152. package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
  153. package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +1 -1
  154. package/coverage/rabbit-ui-kit/stories/atoms/index.html +1 -1
  155. package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +55 -4
  156. package/coverage/rabbit-ui-kit/stories/molecules/ColoredNotice.stories.jsx.html +1 -1
  157. package/coverage/rabbit-ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
  158. package/coverage/rabbit-ui-kit/stories/molecules/LogoCarousel.stories.jsx.html +1 -1
  159. package/coverage/rabbit-ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
  160. package/coverage/rabbit-ui-kit/stories/molecules/index.html +5 -5
  161. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
  162. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
  163. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
  164. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
  165. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
  166. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +1 -1
  167. package/coverage/rabbit-ui-kit/stories/organisms/WaitlistSubscription.stories.jsx.html +1 -1
  168. package/coverage/rabbit-ui-kit/stories/organisms/index.html +1 -1
  169. package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +1 -1
  170. package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
  171. package/coverage/rabbit-ui-kit/stories/stubs/index.html +1 -1
  172. package/coverage/rabbit-ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
  173. package/coverage/rabbit-ui-kit/stories/templates/index.html +1 -1
  174. package/dist/index.cjs +37 -7
  175. package/dist/index.cjs.map +1 -1
  176. package/dist/index.css +30 -12
  177. package/dist/index.css.map +1 -1
  178. package/dist/index.modern.js +29 -7
  179. package/dist/index.modern.js.map +1 -1
  180. package/dist/index.module.js +37 -7
  181. package/dist/index.module.js.map +1 -1
  182. package/dist/index.umd.js +37 -7
  183. package/dist/index.umd.js.map +1 -1
  184. package/package.json +1 -1
  185. package/src/ui-kit/components/molecules/AmountInput/amount-input.module.scss +2 -1
  186. package/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx +2 -2
  187. package/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx +39 -10
  188. package/src/ui-kit/components/molecules/LogoCarousel/logo-carousel.module.scss +42 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rabbitio/ui-kit",
3
- "version": "1.0.0-beta.84",
3
+ "version": "1.0.0-beta.85",
4
4
  "description": "Rabbit.io react.js components kit",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -9,7 +9,7 @@
9
9
  gap: 10px;
10
10
  justify-content: space-between;
11
11
  transition: 0.2s box-shadow ease;
12
- height: 86.5px;
12
+ min-height: 86.5px;
13
13
 
14
14
  &.upper-form-position {
15
15
  border-bottom-left-radius: 4px;
@@ -152,6 +152,7 @@
152
152
  display: flex;
153
153
  align-items: center;
154
154
  font-size: 14px;
155
+ text-align: left;
155
156
 
156
157
  &-enter {
157
158
  opacity: 0;
@@ -297,8 +297,8 @@ export const CoinPicker = ({
297
297
  setIsListFull={setIsListFull}
298
298
  setIsSearchResultEmpty={setIsSearchResultEmpty}
299
299
  triggerLoadMoreCoins={triggerLoadMoreCoins}
300
- coinsList={allCoins}
301
- coinsBundle={allCoins.map((coin, index) => {
300
+ coinsList={coins}
301
+ coinsBundle={coins?.map((coin, index) => {
302
302
  return {
303
303
  coin: coin,
304
304
  component: () => {
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { useEffect, useRef, useState } from "react";
2
2
  import PropTypes from "prop-types";
3
3
 
4
4
  import s from "./logo-carousel.module.scss";
@@ -12,17 +12,46 @@ import s from "./logo-carousel.module.scss";
12
12
  * @param {Array<{logo: string, url: string}>} props.logos - Array of objects representing logos and their corresponding URLs.
13
13
  */
14
14
  export const LogoCarousel = ({ logos }) => {
15
+ const [multiplier, setMultiplier] = useState();
16
+ const [width, setWidth] = useState(0);
17
+
18
+ const wrapperRef = useRef();
19
+
20
+ useEffect(() => {
21
+ const resizeObserver = new ResizeObserver(entries => entries.map(entry => setWidth(entry.contentRect.width)));
22
+ if (wrapperRef.current) resizeObserver.observe(wrapperRef.current);
23
+ return () => {
24
+ if (wrapperRef.current) resizeObserver.unobserve(wrapperRef.current);
25
+ };
26
+ }, []);
27
+
28
+ useEffect(() => {
29
+ setMultiplier(wrapperRef.current.clientWidth / 120);
30
+ // eslint-disable-next-line react-hooks/exhaustive-deps
31
+ }, [wrapperRef, wrapperRef?.current?.clientWidth, logos, width]);
32
+
15
33
  return (
16
34
  <div className={s["logo-carousel"]}>
17
- {[...Array(2)].map((z, i) => (
18
- <div className={s["logo-carousel-slide"]} key={"logo-carousel-slide-" + i}>
19
- {logos.map((item, index) => (
20
- <a key={"logo-carousel-slide-" + i + "-" + index} href={item.url} target="_blank">
21
- <img src={item.logo} alt="logo" />
22
- </a>
23
- ))}
24
- </div>
25
- ))}
35
+ <div
36
+ className={s["logo-carousel-wrapper"]}
37
+ ref={wrapperRef}
38
+ style={{ animationDuration: multiplier + "s" }}
39
+ >
40
+ {[...Array(2)].map((z, i) => (
41
+ <div className={s["logo-carousel-slide"]} key={"logo-carousel-slide-" + i}>
42
+ {logos.map((item, index) => (
43
+ <a
44
+ key={"logo-carousel-slide-" + i + "-" + index}
45
+ className={item?.url ? s["clickable"] : null}
46
+ href={item?.url}
47
+ target="_blank"
48
+ >
49
+ <img src={item.logo} alt="logo" />
50
+ </a>
51
+ ))}
52
+ </div>
53
+ ))}
54
+ </div>
26
55
  </div>
27
56
  );
28
57
  };
@@ -5,19 +5,26 @@
5
5
  transform: translateX(0);
6
6
  }
7
7
  to {
8
- transform: translateX(-100%);
8
+ transform: translateX(-50%);
9
+ }
10
+ }
11
+
12
+ @keyframes easeIn {
13
+ from {
14
+ opacity: 0;
15
+ }
16
+ to {
17
+ opacity: 1;
9
18
  }
10
19
  }
11
20
 
12
21
  .logo-carousel {
22
+ $height: clamp(30px, 5vw, 35px);
23
+ $margin: clamp(30px, 5vw, 40px);
24
+
13
25
  overflow: hidden;
14
- white-space: nowrap;
15
26
  position: relative;
16
- display: flex;
17
- align-items: center;
18
- justify-content: flex-start;
19
27
  width: 100%;
20
- gap: clamp(30px, 5vw, 40px);
21
28
  box-sizing: border-box;
22
29
  mask-image: linear-gradient(
23
30
  90deg,
@@ -26,38 +33,54 @@
26
33
  rgba(0, 0, 0, 1) calc(100% - 60px),
27
34
  rgba(0, 0, 0, 0) 100%
28
35
  );
36
+ display: flex;
37
+ height: $height;
38
+
39
+ &-wrapper {
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: flex-start;
43
+ animation-name: slide;
44
+ animation-iteration-count: infinite;
45
+ animation-timing-function: linear;
46
+ }
29
47
 
30
- &:hover &-slide {
48
+ &:hover &-wrapper {
31
49
  animation-play-state: paused;
32
50
  }
33
51
 
34
52
  &-slide {
35
53
  display: inline-block;
36
- animation: 25s slide infinite linear;
37
54
  display: inherit;
38
55
  align-items: inherit;
39
56
  justify-content: inherit;
40
- gap: inherit;
57
+ gap: $margin;
58
+ padding-right: $margin;
41
59
 
42
60
  a {
43
61
  display: flex;
44
62
  align-items: center;
45
- transition: 0.1s $transitionEaseOut;
46
- transform: scale(1);
47
63
 
48
- @media (hover: hover) {
49
- &:hover {
50
- transform: scale(1.02);
64
+ &.clickable {
65
+ transition: 0.1s $transitionEaseOut;
66
+ transform: scale(1);
67
+
68
+ @media (hover: hover) {
69
+ &:hover {
70
+ transform: scale(1.02);
71
+ }
51
72
  }
52
- }
53
73
 
54
- &:active {
55
- transition: 0.02s $transitionEaseOut;
56
- transform: scale(0.99);
74
+ &:active {
75
+ transition: 0.02s $transitionEaseOut;
76
+ transform: scale(0.99);
77
+ }
57
78
  }
58
79
 
59
80
  img {
60
- height: clamp(30px, 5vw, 35px);
81
+ height: $height;
82
+ animation: easeIn 1s $transitionEaseOut both;
83
+ animation-delay: 1s;
61
84
  }
62
85
  }
63
86
  }