@rabbitio/ui-kit 1.0.0-beta.60 → 1.0.0-beta.63

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 (177) hide show
  1. package/coverage/clover.xml +112 -14
  2. package/coverage/coverage-final.json +8 -5
  3. package/coverage/index.html +34 -19
  4. package/coverage/ui-kit/index.html +1 -1
  5. package/coverage/ui-kit/index.js.html +1 -1
  6. package/coverage/ui-kit/src/assets/wrappedImages/arrowIcon.jsx.html +1 -1
  7. package/coverage/ui-kit/src/assets/wrappedImages/arrowTosca.jsx.html +1 -1
  8. package/coverage/ui-kit/src/assets/wrappedImages/arrowWhite.jsx.html +1 -1
  9. package/coverage/ui-kit/src/assets/wrappedImages/darkRectangle.jsx.html +1 -1
  10. package/coverage/ui-kit/src/assets/wrappedImages/determinedError.jsx.html +1 -1
  11. package/coverage/ui-kit/src/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
  12. package/coverage/ui-kit/src/assets/wrappedImages/index.html +1 -1
  13. package/coverage/ui-kit/src/assets/wrappedImages/infoIcon.jsx.html +1 -1
  14. package/coverage/ui-kit/src/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
  15. package/coverage/ui-kit/src/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
  16. package/coverage/ui-kit/src/assets/wrappedImages/walletIcon.jsx.html +1 -1
  17. package/coverage/ui-kit/src/common/adapters/axiosAdapter.js.html +1 -1
  18. package/coverage/ui-kit/src/common/adapters/index.html +1 -1
  19. package/coverage/ui-kit/src/common/adapters/qrUtils.js.html +1 -1
  20. package/coverage/ui-kit/src/common/amountUtils.js.html +1 -1
  21. package/coverage/ui-kit/src/common/errorUtils.js.html +1 -1
  22. package/coverage/ui-kit/src/common/external-apis/apiGroups.js.html +1 -1
  23. package/coverage/ui-kit/src/common/external-apis/index.html +1 -1
  24. package/coverage/ui-kit/src/common/external-apis/ipAddressProviders.js.html +1 -1
  25. package/coverage/ui-kit/src/common/fiatCurrenciesService.js.html +1 -1
  26. package/coverage/ui-kit/src/common/index.html +1 -1
  27. package/coverage/ui-kit/src/common/models/blockchain.js.html +1 -1
  28. package/coverage/ui-kit/src/common/models/coin.js.html +1 -1
  29. package/coverage/ui-kit/src/common/models/index.html +1 -1
  30. package/coverage/ui-kit/src/common/models/protocol.js.html +1 -1
  31. package/coverage/ui-kit/src/common/utils/cache.js.html +1 -1
  32. package/coverage/ui-kit/src/common/utils/emailAPI.js.html +1 -1
  33. package/coverage/ui-kit/src/common/utils/index.html +1 -1
  34. package/coverage/ui-kit/src/common/utils/logging/index.html +1 -1
  35. package/coverage/ui-kit/src/common/utils/logging/logger.js.html +1 -1
  36. package/coverage/ui-kit/src/common/utils/logging/logsStorage.js.html +1 -1
  37. package/coverage/ui-kit/src/common/utils/postponeExecution.js.html +1 -1
  38. package/coverage/ui-kit/src/common/utils/safeStringify.js.html +1 -1
  39. package/coverage/ui-kit/src/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
  40. package/coverage/ui-kit/src/components/atoms/AssetIcon/index.html +1 -1
  41. package/coverage/ui-kit/src/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
  42. package/coverage/ui-kit/src/components/atoms/AssetSelection/index.html +1 -1
  43. package/coverage/ui-kit/src/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
  44. package/coverage/ui-kit/src/components/atoms/BackgroundTitle/index.html +1 -1
  45. package/coverage/ui-kit/src/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
  46. package/coverage/ui-kit/src/components/atoms/InformationMessage/index.html +1 -1
  47. package/coverage/ui-kit/src/components/atoms/Input/Input.jsx.html +1 -1
  48. package/coverage/ui-kit/src/components/atoms/Input/index.html +1 -1
  49. package/coverage/ui-kit/src/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
  50. package/coverage/ui-kit/src/components/atoms/LoadingDots/index.html +1 -1
  51. package/coverage/ui-kit/src/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
  52. package/coverage/ui-kit/src/components/atoms/NoticeIcon/index.html +1 -1
  53. package/coverage/ui-kit/src/components/atoms/QrCode/QrCode.jsx.html +1 -1
  54. package/coverage/ui-kit/src/components/atoms/QrCode/index.html +1 -1
  55. package/coverage/ui-kit/src/components/atoms/RateSelector/RateSelector.jsx.html +196 -0
  56. package/coverage/ui-kit/src/components/atoms/RateSelector/index.html +116 -0
  57. package/coverage/ui-kit/src/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
  58. package/coverage/ui-kit/src/components/atoms/SupportChat/index.html +1 -1
  59. package/coverage/ui-kit/src/components/atoms/Textarea/Textarea.jsx.html +1 -1
  60. package/coverage/ui-kit/src/components/atoms/Textarea/index.html +1 -1
  61. package/coverage/ui-kit/src/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
  62. package/coverage/ui-kit/src/components/atoms/TitleBox/index.html +1 -1
  63. package/coverage/ui-kit/src/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
  64. package/coverage/ui-kit/src/components/atoms/Tooltip/index.html +1 -1
  65. package/coverage/ui-kit/src/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
  66. package/coverage/ui-kit/src/components/atoms/TwoLinesOfText/index.html +1 -1
  67. package/coverage/ui-kit/src/components/atoms/Validation/Validation.jsx.html +1 -1
  68. package/coverage/ui-kit/src/components/atoms/Validation/index.html +1 -1
  69. package/coverage/ui-kit/src/components/atoms/buttons/Button/Button.jsx.html +1 -1
  70. package/coverage/ui-kit/src/components/atoms/buttons/Button/index.html +1 -1
  71. package/coverage/ui-kit/src/components/atoms/buttons/Close/Close.jsx.html +1 -1
  72. package/coverage/ui-kit/src/components/atoms/buttons/Close/index.html +1 -1
  73. package/coverage/ui-kit/src/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
  74. package/coverage/ui-kit/src/components/atoms/buttons/LinkButton/index.html +1 -1
  75. package/coverage/ui-kit/src/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
  76. package/coverage/ui-kit/src/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
  77. package/coverage/ui-kit/src/components/hooks/index.html +1 -1
  78. package/coverage/ui-kit/src/components/hooks/useCallHandlingErrors.js.html +1 -1
  79. package/coverage/ui-kit/src/components/hooks/useReferredState.js.html +1 -1
  80. package/coverage/ui-kit/src/components/molecules/AmountInput/AmountInput.jsx.html +1 -1
  81. package/coverage/ui-kit/src/components/molecules/AmountInput/index.html +1 -1
  82. package/coverage/ui-kit/src/components/molecules/CoinPicker/CoinPicker.jsx.html +1 -1
  83. package/coverage/ui-kit/src/components/molecules/CoinPicker/index.html +1 -1
  84. package/coverage/ui-kit/src/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
  85. package/coverage/ui-kit/src/components/molecules/LineWithIconLink/index.html +1 -1
  86. package/coverage/ui-kit/src/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
  87. package/coverage/ui-kit/src/components/molecules/TitledLineWithIconLink/index.html +1 -1
  88. package/coverage/ui-kit/src/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
  89. package/coverage/ui-kit/src/components/organisms/CoinPickerDialogStep/index.html +1 -1
  90. package/coverage/ui-kit/src/components/organisms/Dialog/Dialog.jsx.html +1 -1
  91. package/coverage/ui-kit/src/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
  92. package/coverage/ui-kit/src/components/organisms/Dialog/DialogButtons/index.html +1 -1
  93. package/coverage/ui-kit/src/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1 -1
  94. package/coverage/ui-kit/src/components/organisms/Dialog/DialogStep/index.html +1 -1
  95. package/coverage/ui-kit/src/components/organisms/Dialog/index.html +1 -1
  96. package/coverage/ui-kit/src/components/organisms/SwapForm/SwapForm.jsx.html +97 -4
  97. package/coverage/ui-kit/src/components/organisms/SwapForm/index.html +5 -5
  98. package/coverage/ui-kit/src/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
  99. package/coverage/ui-kit/src/components/templates/DeterminedErrorDialogStep/index.html +1 -1
  100. package/coverage/ui-kit/src/components/utils/index.html +1 -1
  101. package/coverage/ui-kit/src/components/utils/inputValueProviders.js.html +1 -1
  102. package/coverage/ui-kit/src/components/utils/textUtils.js.html +1 -1
  103. package/coverage/ui-kit/src/components/utils/uiUtils.js.html +1 -1
  104. package/coverage/ui-kit/src/components/utils/urlQueryUtils.js.html +1 -1
  105. package/coverage/ui-kit/src/constants/atoms/Close/close.jsx.html +1 -1
  106. package/coverage/ui-kit/src/constants/atoms/Close/index.html +1 -1
  107. package/coverage/ui-kit/src/constants/atoms/LinkButton/index.html +1 -1
  108. package/coverage/ui-kit/src/constants/atoms/LinkButton/linkButton.jsx.html +1 -1
  109. package/coverage/ui-kit/src/constants/atoms/Tooltip/index.html +1 -1
  110. package/coverage/ui-kit/src/constants/atoms/Tooltip/tooltip.jsx.html +1 -1
  111. package/coverage/ui-kit/src/constants/globalConstants.jsx.html +1 -1
  112. package/coverage/ui-kit/src/constants/index.html +1 -1
  113. package/coverage/ui-kit/src/constants/organisms/dialog/DialogStep/dialogStep.js.html +1 -1
  114. package/coverage/ui-kit/src/constants/organisms/dialog/DialogStep/index.html +1 -1
  115. package/coverage/ui-kit/src/constants/organisms/dialog/dialog.js.html +1 -1
  116. package/coverage/ui-kit/src/constants/organisms/dialog/index.html +1 -1
  117. package/coverage/ui-kit/src/index.html +1 -1
  118. package/coverage/ui-kit/src/index.js.html +1 -1
  119. package/coverage/ui-kit/src/robustExteranlApiCallerService/cacheAndConcurrentRequestsResolver.js.html +1 -1
  120. package/coverage/ui-kit/src/robustExteranlApiCallerService/cachedRobustExternalApiCallerService.js.html +1 -1
  121. package/coverage/ui-kit/src/robustExteranlApiCallerService/cancelProcessing.js.html +1 -1
  122. package/coverage/ui-kit/src/robustExteranlApiCallerService/concurrentCalculationsMetadataHolder.js.html +1 -1
  123. package/coverage/ui-kit/src/robustExteranlApiCallerService/externalApiProvider.js.html +1 -1
  124. package/coverage/ui-kit/src/robustExteranlApiCallerService/externalServicesStatsCollector.js.html +1 -1
  125. package/coverage/ui-kit/src/robustExteranlApiCallerService/index.html +1 -1
  126. package/coverage/ui-kit/src/robustExteranlApiCallerService/robustExternalAPICallerService.js.html +1 -1
  127. package/coverage/ui-kit/src/swaps-lib/external-apis/index.html +1 -1
  128. package/coverage/ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +1 -1
  129. package/coverage/ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +1 -1
  130. package/coverage/ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
  131. package/coverage/ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
  132. package/coverage/ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
  133. package/coverage/ui-kit/src/swaps-lib/models/index.html +1 -1
  134. package/coverage/ui-kit/src/swaps-lib/services/index.html +1 -1
  135. package/coverage/ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
  136. package/coverage/ui-kit/src/swaps-lib/utils/index.html +1 -1
  137. package/coverage/ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
  138. package/coverage/ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
  139. package/coverage/ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
  140. package/coverage/ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
  141. package/coverage/ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
  142. package/coverage/ui-kit/stories/atoms/RateSelector.stories.jsx.html +136 -0
  143. package/coverage/ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
  144. package/coverage/ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
  145. package/coverage/ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
  146. package/coverage/ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
  147. package/coverage/ui-kit/stories/atoms/buttons/index.html +1 -1
  148. package/coverage/ui-kit/stories/atoms/index.html +20 -5
  149. package/coverage/ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
  150. package/coverage/ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
  151. package/coverage/ui-kit/stories/molecules/index.html +1 -1
  152. package/coverage/ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
  153. package/coverage/ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
  154. package/coverage/ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
  155. package/coverage/ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
  156. package/coverage/ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
  157. package/coverage/ui-kit/stories/organisms/Dialog/index.html +1 -1
  158. package/coverage/ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
  159. package/coverage/ui-kit/stories/stubs/index.html +1 -1
  160. package/coverage/ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
  161. package/coverage/ui-kit/stories/templates/index.html +1 -1
  162. package/dist/index.cjs +176 -123
  163. package/dist/index.cjs.map +1 -1
  164. package/dist/index.css +3095 -239
  165. package/dist/index.css.map +1 -1
  166. package/dist/index.modern.js +157 -112
  167. package/dist/index.modern.js.map +1 -1
  168. package/dist/index.module.js +176 -123
  169. package/dist/index.module.js.map +1 -1
  170. package/dist/index.umd.js +176 -123
  171. package/dist/index.umd.js.map +1 -1
  172. package/package.json +1 -1
  173. package/src/components/atoms/RateSelector/RateSelector.jsx +37 -0
  174. package/src/components/atoms/RateSelector/rate-selector.module.scss +47 -0
  175. package/src/components/atoms/TwoLinesOfText/lines-of-text.module.scss +1 -0
  176. package/src/components/organisms/SwapForm/SwapForm.jsx +31 -0
  177. package/src/components/organisms/SwapForm/swap-form.module.scss +6 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rabbitio/ui-kit",
3
- "version": "1.0.0-beta.60",
3
+ "version": "1.0.0-beta.63",
4
4
  "description": "Rabbit.io react.js components kit",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -0,0 +1,37 @@
1
+ import React from "react";
2
+
3
+ import s from "./rate-selector.module.scss";
4
+
5
+ export const RateSelector = ({
6
+ isFixed = false,
7
+ setIsFixed = () => {},
8
+ translations = {
9
+ floatingRate: "Floating rate",
10
+ fixedRate: "Fixed rate",
11
+ },
12
+ }) => {
13
+ return (
14
+ <div className={s["rate-selector"]}>
15
+ <div
16
+ className={`${s["rate-selector-item"]} ${
17
+ !isFixed ? s["selected"] : ""
18
+ }`}
19
+ onClick={() => setIsFixed(false)}
20
+ >
21
+ <div className={s["rate-selector-item-text"]}>
22
+ {translations.floatingRate}
23
+ </div>
24
+ </div>
25
+ <div
26
+ className={`${s["rate-selector-item"]} ${
27
+ isFixed ? s["selected"] : ""
28
+ }`}
29
+ onClick={() => setIsFixed(true)}
30
+ >
31
+ <div className={s["rate-selector-item-text"]}>
32
+ {translations.fixedRate}
33
+ </div>
34
+ </div>
35
+ </div>
36
+ );
37
+ };
@@ -0,0 +1,47 @@
1
+ @import "../../../../styles/index";
2
+
3
+ .rate-selector {
4
+ background-color: SolidColor("lightsmoke");
5
+ border-radius: 8px;
6
+ padding: 4px;
7
+ display: flex;
8
+ flex-direction: row;
9
+ gap: Margin("1");
10
+ user-select: none;
11
+ width: 100%;
12
+
13
+ &-item {
14
+ display: flex;
15
+ flex-direction: row;
16
+ justify-content: center;
17
+ align-items: center;
18
+ padding: Padding("3") Padding("3");
19
+ flex: 1 1;
20
+ border-radius: 4px;
21
+ gap: Margin("1");
22
+ cursor: pointer;
23
+ transition: 0.2s all $transitionEaseOut;
24
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
25
+
26
+ @media (hover: hover) {
27
+ &:not(.selected):hover {
28
+ box-shadow: 0px 0px 0px 1px SolidColor("smoke");
29
+ }
30
+ }
31
+
32
+ &:not(.selected):active {
33
+ box-shadow: 0px 0px 0px 1px SolidColor("smoke");
34
+ }
35
+
36
+ &.selected {
37
+ background: $white;
38
+ color: SolidColor("tosca");
39
+ }
40
+
41
+ &-text {
42
+ font-weight: $semi-bold;
43
+ text-align: center;
44
+ font-size: 16px;
45
+ }
46
+ }
47
+ }
@@ -5,6 +5,7 @@
5
5
  font-weight: $bold;
6
6
  white-space: nowrap;
7
7
  // font-family: NunitoSans;
8
+ text-align: left;
8
9
 
9
10
  .wrap {
10
11
  white-space: normal;
@@ -14,6 +14,7 @@ import { Validation } from "../../atoms/Validation/Validation.jsx";
14
14
  import { Button } from "../../atoms/buttons/Button/Button.jsx";
15
15
  import { Textarea } from "../../atoms/Textarea/Textarea.jsx";
16
16
  import { TOOLTIP_POSITIONS } from "../../../constants/atoms/Tooltip/tooltip.jsx";
17
+ import { RateSelector } from "../../atoms/RateSelector/RateSelector.jsx";
17
18
 
18
19
  /**
19
20
  * This is the type definition of a function used inside SwapForm to compose the URL for the hero button.
@@ -259,6 +260,10 @@ export const SwapForm = ({
259
260
  extraIdNotice:
260
261
  "Please check if your recipient address requires a 'Memo' or 'Destination Tag' - sometimes called a tag, ID, label, or a note. Exchanges may require such ID for the deposit. Including this identifier is crucial when required, as omitting or misentering it can result in lost assets.",
261
262
  },
263
+ rateSelector: {
264
+ floatingRate: "Floating rate",
265
+ fixedRate: "Fixed rate",
266
+ },
262
267
  confirmButtonText: "Swap",
263
268
  },
264
269
  swapSeparatorIconSrc,
@@ -270,6 +275,8 @@ export const SwapForm = ({
270
275
  setRecepientAddress,
271
276
  setRecepientAddressExtraId,
272
277
  recepientAddressExtraIdAvailable = false,
278
+ isFixed,
279
+ setIsFixed,
273
280
  }) => {
274
281
  const DETAIL_REFRESH_INTERVAL_MS = 1.5 * 60000;
275
282
 
@@ -303,6 +310,7 @@ export const SwapForm = ({
303
310
  );
304
311
  const [isLoading, setIsLoading] = useReferredState(false); // Whether the form is in the progress of loading some data (new rates, for example)
305
312
  const [isAddressFieldEnabled, setIsAddressFieldEnabled] = useState(false);
313
+ const [isInitialReaction, setIsInitialReaction] = useState(true);
306
314
 
307
315
  const [confirmButtonTo, setConfirmButtonTo] = useState(
308
316
  composeConfirmButtonTo(
@@ -789,6 +797,14 @@ export const SwapForm = ({
789
797
  setRecepientAddressExtraId,
790
798
  ]);
791
799
 
800
+ useEffect(() => {
801
+ if (typeof isFixed !== "boolean" || !setIsFixed) return;
802
+ if (isInitialReaction) return;
803
+ requestDataRefresh(sendAssetAmount.current, true);
804
+ setIsInitialReaction(false);
805
+ // eslint-disable-next-line react-hooks/exhaustive-deps
806
+ }, [isFixed]);
807
+
792
808
  return (
793
809
  <div className={s["swap-form"]}>
794
810
  <TitleBox
@@ -1090,6 +1106,21 @@ export const SwapForm = ({
1090
1106
  ) : (
1091
1107
  ""
1092
1108
  )}
1109
+
1110
+ {typeof isFixed === "boolean" &&
1111
+ setIsFixed &&
1112
+ typeof setIsFixed === "function" ? (
1113
+ <div className={s["swap-form-rate-selector"]}>
1114
+ <RateSelector
1115
+ isFixed={isFixed}
1116
+ setIsFixed={setIsFixed}
1117
+ translations={translations.rateSelector}
1118
+ />
1119
+ </div>
1120
+ ) : (
1121
+ ""
1122
+ )}
1123
+
1093
1124
  {validationContent ? (
1094
1125
  <div className={s["swap-form-validation-text"]}>
1095
1126
  <Validation text={validationContent} />
@@ -90,6 +90,12 @@
90
90
  gap: Margin("3");
91
91
  }
92
92
 
93
+ &-rate-selector {
94
+ margin-top: Margin("5");
95
+ display: block;
96
+ width: 100%;
97
+ }
98
+
93
99
  &-validation-text {
94
100
  margin-top: Margin("5");
95
101
  }