@rabbitio/ui-kit 1.0.0-beta.123 → 1.0.0-beta.124
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.
- package/coverage/clover.xml +610 -566
- package/coverage/coverage-final.json +4 -4
- package/coverage/index.html +23 -23
- package/coverage/rabbit-ui-kit/index.html +1 -1
- package/coverage/rabbit-ui-kit/index.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/axiosAdapter.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/qrUtils.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/apiGroups.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/emailAPI.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/globalConstants.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/models/blockchain.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/models/coin.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/models/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/models/protocol.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/services/fiatCurrenciesService.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/services/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/amountUtils.js.html +40 -16
- package/coverage/rabbit-ui-kit/src/common-apis/utils/cache.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/emailUtils.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/errorUtils.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/index.html +11 -11
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logger.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logsStorage.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/postponeExecution.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/rabbitTicker.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/common-apis/utils/safeStringify.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/index.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cancelProcessing.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/robust-api-caller/externalApiProvider.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/robust-api-caller/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/changeHeroSwapProvider.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/changeNowSwapProvider.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/exolixSwapProvider.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/goexmeSwapProvider.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +14 -14
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/retriableErrorsUtils.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +101 -11
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/utils.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/partner.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +20 -5
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +5 -5
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useReferredState.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/index.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/inputValueProviders.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/searchCoins.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/textUtils.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/uiUtils.js.html +1 -1
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/RateSelector.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +7 -4
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +5 -5
- package/coverage/rabbit-ui-kit/stories/atoms/index.html +1 -1
- package/coverage/rabbit-ui-kit/stories/molecules/AmountInput.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/molecules/ColoredNotice.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/molecules/LogoCarousel.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/molecules/index.html +1 -1
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +1 -1
- package/coverage/rabbit-ui-kit/stories/organisms/WaitlistSubscription.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/organisms/index.html +1 -1
- package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/stubs/index.html +1 -1
- package/coverage/rabbit-ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
- package/coverage/rabbit-ui-kit/stories/templates/index.html +1 -1
- package/dist/global.css +10 -0
- package/dist/global.css.map +1 -1
- package/dist/index.cjs +137 -108
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +3 -0
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +47 -14
- package/dist/index.modern.js.map +1 -1
- package/dist/index.module.js +137 -108
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +137 -108
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/common-apis/utils/amountUtils.js +18 -10
- package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +32 -2
- package/src/ui-kit/assets/styles/_mixins.scss +9 -0
- package/src/ui-kit/assets/styles/global.scss +4 -0
- package/src/ui-kit/components/atoms/buttons/Button/Button.jsx +6 -1
- package/src/ui-kit/components/atoms/buttons/Button/Button.module.scss +4 -0
package/package.json
CHANGED
|
@@ -16,6 +16,7 @@ export class AmountUtils {
|
|
|
16
16
|
ticker: true, // If true, currency code will be shown
|
|
17
17
|
enableCurrencySymbols: true, // Enables currency symbols where available. Requires "ticker: true"
|
|
18
18
|
collapsible: true, // Enables minimization of amounts over 1 million (example: 1.52M)
|
|
19
|
+
collapseThousands: false, // Enables "K" minimization for amounts over 1 thousand (example: 1.52K)
|
|
19
20
|
limitTotalLength: true, // Limits the total amount length to maxTotalLength
|
|
20
21
|
extraSmallLength: false, // Limits the total amount length to extraSmallMaxTotalLength
|
|
21
22
|
};
|
|
@@ -48,8 +49,11 @@ export class AmountUtils {
|
|
|
48
49
|
: BigNumber(amount);
|
|
49
50
|
|
|
50
51
|
let processedAmount = BigNumber(trimmedByMaxDigits);
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
const shouldCollapseThousands =
|
|
53
|
+
params.collapsible && params.collapseThousands && processedAmount.gte(BigNumber("1000"));
|
|
54
|
+
const shouldCollapseMillions = params.collapsible && processedAmount.gte(BigNumber("1000000"));
|
|
55
|
+
if (shouldCollapseMillions || shouldCollapseThousands) {
|
|
56
|
+
processedAmount = this._collapseBigNumberToSuffixAndFormat(
|
|
53
57
|
processedAmount,
|
|
54
58
|
this.collapsedDecimalCount,
|
|
55
59
|
params
|
|
@@ -77,6 +81,7 @@ export class AmountUtils {
|
|
|
77
81
|
static defaultCryptoParams = {
|
|
78
82
|
ticker: true, // If true, asset ticker will be shown
|
|
79
83
|
collapsible: true, // Enables minimization of amounts over 1 million (example: 1.52M)
|
|
84
|
+
collapseThousands: false, // Enables "K" minimization for amounts over 1 thousand (example: 1.52K)
|
|
80
85
|
trim: true, // Cuts the right part of the amount if necessary, and adds ".." in the end
|
|
81
86
|
limitTotalLength: true, // Limits the total amount length to maxTotalLength
|
|
82
87
|
extraSmallLength: false, // Limits the total amount length to extraSmallMaxTotalLength
|
|
@@ -164,22 +169,25 @@ export class AmountUtils {
|
|
|
164
169
|
processedAmount = limitResult.processedAmount;
|
|
165
170
|
addPeriods ||= limitResult.addPeriods;
|
|
166
171
|
|
|
167
|
-
let
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
172
|
+
let wasCollapsed = false;
|
|
173
|
+
const shouldCollapse =
|
|
174
|
+
params.collapsible &&
|
|
175
|
+
(amountBigNumber.gte("1000000") || (params.collapseThousands && amountBigNumber.gte("1000")));
|
|
176
|
+
if (shouldCollapse) {
|
|
177
|
+
// Collapse the large amounts if applicable
|
|
178
|
+
processedAmount = this._collapseBigNumberToSuffixAndFormat(
|
|
171
179
|
BigNumber(processedAmount),
|
|
172
180
|
this.collapsedDecimalCount,
|
|
173
181
|
params
|
|
174
182
|
);
|
|
175
|
-
|
|
183
|
+
wasCollapsed = true;
|
|
176
184
|
} else if (params.numberPartsSeparator) {
|
|
177
185
|
// Add separators to integer part of the amount
|
|
178
186
|
processedAmount = BigNumber(processedAmount).toFormat();
|
|
179
187
|
}
|
|
180
188
|
|
|
181
189
|
// Adding periods, if the amount was shortened
|
|
182
|
-
if (params.periods && addPeriods && !
|
|
190
|
+
if (params.periods && addPeriods && !wasCollapsed) {
|
|
183
191
|
processedAmount = processedAmount + this.periods;
|
|
184
192
|
}
|
|
185
193
|
|
|
@@ -240,9 +248,9 @@ export class AmountUtils {
|
|
|
240
248
|
* @param amountBigNumber {BigNumber} The number value to be trimmed
|
|
241
249
|
* @param decimalCount {number} The number of digits after period to keep in millions representation
|
|
242
250
|
* @param params {object} params object
|
|
243
|
-
* @return {string} A shortened string
|
|
251
|
+
* @return {string} A potentially shortened string
|
|
244
252
|
*/
|
|
245
|
-
static
|
|
253
|
+
static _collapseBigNumberToSuffixAndFormat(amountBigNumber, decimalCount, params = {}) {
|
|
246
254
|
try {
|
|
247
255
|
const thousand = BigNumber("1000");
|
|
248
256
|
const million = BigNumber("1000000");
|
|
@@ -186,12 +186,43 @@ export class SwapspaceSwapProvider extends SwapProvider {
|
|
|
186
186
|
reason: SwapProvider.NO_SWAPS_REASONS.NOT_SUPPORTED,
|
|
187
187
|
};
|
|
188
188
|
}
|
|
189
|
+
await this._fetchPartnersListIfNeeded();
|
|
190
|
+
const bannedPartnersSet = new Set(bannedPartners);
|
|
191
|
+
const whitelistedPartnersSet = whitelistedPartners == null ? null : new Set(whitelistedPartners);
|
|
192
|
+
const finalAllowedSwapspacePartners = this._partners
|
|
193
|
+
.map(partner => partner?.path)
|
|
194
|
+
.filter(
|
|
195
|
+
partnerId =>
|
|
196
|
+
typeof partnerId === "string" &&
|
|
197
|
+
partnerId.length > 0 &&
|
|
198
|
+
!bannedPartnersSet.has(partnerId) &&
|
|
199
|
+
(whitelistedPartnersSet == null || whitelistedPartnersSet.has(partnerId))
|
|
200
|
+
);
|
|
201
|
+
if (this._partners.length > 0 && finalAllowedSwapspacePartners.length === 0) {
|
|
202
|
+
Logger.log("No allowed swapspace partners to request after restrictions.", loggerSource);
|
|
203
|
+
return {
|
|
204
|
+
result: false,
|
|
205
|
+
reason: SwapProvider.NO_SWAPS_REASONS.NOT_SUPPORTED,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
189
208
|
/* Here we use not documented parameter 'estimated=false'. This parameter controls whether we want to use
|
|
190
209
|
* cached rate values stored in swapspace cache. Their support says they store at most for 30 sec.
|
|
191
210
|
* But we are better off using the most actual rates.
|
|
192
211
|
*/
|
|
212
|
+
const requestParams = new URLSearchParams({
|
|
213
|
+
fromCurrency: fromCoinSwapspaceDetails.code,
|
|
214
|
+
fromNetwork: fromCoinSwapspaceDetails.network,
|
|
215
|
+
toNetwork: toCoinSwapspaceDetails.network,
|
|
216
|
+
toCurrency: toCoinSwapspaceDetails.code,
|
|
217
|
+
amount: amountCoins,
|
|
218
|
+
estimated: "false",
|
|
219
|
+
});
|
|
220
|
+
if (finalAllowedSwapspacePartners?.length > 0) {
|
|
221
|
+
// Swapspace `partner` param filters estimation to specific comma-separated partner IDs.
|
|
222
|
+
requestParams.set("partner", finalAllowedSwapspacePartners.join(","));
|
|
223
|
+
}
|
|
193
224
|
const response = await axios.get(
|
|
194
|
-
`${this._URL}/api/v2/amounts
|
|
225
|
+
`${this._URL}/api/v2/amounts?${requestParams.toString()}`,
|
|
195
226
|
{ headers: this._headers, ...createRobustTimeoutSetupForAxios() }
|
|
196
227
|
);
|
|
197
228
|
Logger.log(`Retrieved ${response?.data?.length} options`, loggerSource);
|
|
@@ -284,7 +315,6 @@ export class SwapspaceSwapProvider extends SwapProvider {
|
|
|
284
315
|
const rate =
|
|
285
316
|
bestOpt.toAmount && bestOpt.fromAmount ? BigNumber(bestOpt.toAmount).div(bestOpt.fromAmount) : null;
|
|
286
317
|
|
|
287
|
-
await this._fetchPartnersListIfNeeded();
|
|
288
318
|
const partner = this._partners.find(p => bestOpt?.partner?.toLowerCase() === p.path.toLowerCase());
|
|
289
319
|
const isRefundAddressRequired =
|
|
290
320
|
partner == null ? true : bestOpt.fixed ? partner.reqFixedRefund : partner.reqFloatRefund;
|
|
@@ -56,4 +56,13 @@
|
|
|
56
56
|
margin: 0;
|
|
57
57
|
color: SolidColor("dark");
|
|
58
58
|
}
|
|
59
|
+
@if ($tag == "psmall") {
|
|
60
|
+
display: block;
|
|
61
|
+
font-size: 12px;
|
|
62
|
+
line-height: 22px;
|
|
63
|
+
letter-spacing: $letterSpacing;
|
|
64
|
+
font-weight: $medium;
|
|
65
|
+
margin: 0;
|
|
66
|
+
color: SolidColor("dark");
|
|
67
|
+
}
|
|
59
68
|
}
|
|
@@ -30,6 +30,7 @@ import { LoadingDots } from "../../LoadingDots/LoadingDots.jsx";
|
|
|
30
30
|
* @param {boolean} [props.checkmarkOnClick=false] - Shows a checkmark instead of content for a few seconds after click.
|
|
31
31
|
* @param {boolean} [props.propagatePrimaryButtonClick=true] - Propagates the primary button click event if true.
|
|
32
32
|
* @param {boolean} [props.smallPaddingOnSmallMobiles=false] - Enables smaller paddings for extra-small screen sizes.
|
|
33
|
+
* @param {boolean} [props.noShadow=false] - Removes box-shadow styling when true.
|
|
33
34
|
* @param {Function} [props.handleError=(func) => func()] - Function to handle errors during button click events.
|
|
34
35
|
* @returns {React.ReactElement}
|
|
35
36
|
*/
|
|
@@ -52,6 +53,7 @@ export const Button = ({
|
|
|
52
53
|
checkmarkOnClick = false,
|
|
53
54
|
propagatePrimaryButtonClick = true,
|
|
54
55
|
smallPaddingOnSmallMobiles = false,
|
|
56
|
+
noShadow = false,
|
|
55
57
|
handleError = (func, event) => func(event),
|
|
56
58
|
openNewTab = false,
|
|
57
59
|
}) => {
|
|
@@ -104,7 +106,8 @@ export const Button = ({
|
|
|
104
106
|
(fullWidthOnMobiles ? ` ${styles["full-width-on-mobiles"]}` : "") +
|
|
105
107
|
(fullWidthOnTablets ? ` ${styles["full-width-on-tablets"]}` : "") +
|
|
106
108
|
(isDisabled ? ` ${styles.disable}` : "") +
|
|
107
|
-
(smallPaddingOnSmallMobiles ? ` ${styles["small-padding-on-small-mobiles"]}` : "")
|
|
109
|
+
(smallPaddingOnSmallMobiles ? ` ${styles["small-padding-on-small-mobiles"]}` : "") +
|
|
110
|
+
(noShadow ? ` ${styles["no-shadow"]}` : "");
|
|
108
111
|
|
|
109
112
|
return (
|
|
110
113
|
<>
|
|
@@ -190,6 +193,7 @@ Button.propTypes = {
|
|
|
190
193
|
checkmarkOnClick: PropTypes.bool,
|
|
191
194
|
propagatePrimaryButtonClick: PropTypes.bool,
|
|
192
195
|
smallPaddingOnSmallMobiles: PropTypes.bool,
|
|
196
|
+
noShadow: PropTypes.bool,
|
|
193
197
|
handleError: PropTypes.func,
|
|
194
198
|
};
|
|
195
199
|
|
|
@@ -212,5 +216,6 @@ Button.defaultProps = {
|
|
|
212
216
|
checkmarkOnClick: false,
|
|
213
217
|
propagatePrimaryButtonClick: true,
|
|
214
218
|
smallPaddingOnSmallMobiles: false,
|
|
219
|
+
noShadow: false,
|
|
215
220
|
handleError: func => func(),
|
|
216
221
|
};
|