@0xsquid/ui 2.6.7 → 2.7.1-dex-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +421 -391
- package/dist/cjs/types/components/badges/ImageGroup.d.ts +1 -1
- package/dist/cjs/types/components/icons/Arrow.d.ts +6 -1
- package/dist/cjs/types/components/icons/Generic.d.ts +29 -0
- package/dist/cjs/types/components/icons/Wallet.d.ts +1 -1
- package/dist/cjs/types/components/icons/index.d.ts +0 -1
- package/dist/cjs/types/components/layout/DropdownMenu.d.ts +1 -0
- package/dist/cjs/types/components/layout/NavigationBar.d.ts +1 -2
- package/dist/cjs/types/components/lists/TokenGroup.d.ts +2 -1
- package/dist/cjs/types/components/navigation/Tabs.d.ts +2 -5
- package/dist/cjs/types/core/constants.d.ts +1 -1
- package/dist/cjs/types/core/design-system.d.ts +1 -0
- package/dist/cjs/types/services/internal/colorService.d.ts +2 -2
- package/dist/cjs/types/stories/badges/ImageGroup.stories.d.ts +3 -2
- package/dist/cjs/types/stories/controls/Input.stories.d.ts +1 -1
- package/dist/cjs/types/stories/layout/NavigationBar.stories.d.ts +0 -1
- package/dist/cjs/types/stories/layout/SwapConfiguration.stories.d.ts +0 -2
- package/dist/cjs/types/stories/lists/ListItem.stories.d.ts +1 -0
- package/dist/cjs/types/stories/lists/TokenGroup.stories.d.ts +1 -0
- package/dist/cjs/types/stories/navigation/Tabs.stories.d.ts +0 -1
- package/dist/esm/index.js +412 -390
- package/dist/esm/types/components/badges/ImageGroup.d.ts +1 -1
- package/dist/esm/types/components/icons/Arrow.d.ts +6 -1
- package/dist/esm/types/components/icons/Generic.d.ts +29 -0
- package/dist/esm/types/components/icons/Wallet.d.ts +1 -1
- package/dist/esm/types/components/icons/index.d.ts +0 -1
- package/dist/esm/types/components/layout/DropdownMenu.d.ts +1 -0
- package/dist/esm/types/components/layout/NavigationBar.d.ts +1 -2
- package/dist/esm/types/components/lists/TokenGroup.d.ts +2 -1
- package/dist/esm/types/components/navigation/Tabs.d.ts +2 -5
- package/dist/esm/types/core/constants.d.ts +1 -1
- package/dist/esm/types/core/design-system.d.ts +1 -0
- package/dist/esm/types/services/internal/colorService.d.ts +2 -2
- package/dist/esm/types/stories/badges/ImageGroup.stories.d.ts +3 -2
- package/dist/esm/types/stories/controls/Input.stories.d.ts +1 -1
- package/dist/esm/types/stories/layout/NavigationBar.stories.d.ts +0 -1
- package/dist/esm/types/stories/layout/SwapConfiguration.stories.d.ts +0 -2
- package/dist/esm/types/stories/lists/ListItem.stories.d.ts +1 -0
- package/dist/esm/types/stories/lists/TokenGroup.stories.d.ts +1 -0
- package/dist/esm/types/stories/navigation/Tabs.stories.d.ts +0 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +48 -22
- package/package.json +1 -1
- package/dist/cjs/types/components/icons/CrossAnimatedIcon.d.ts +0 -7
- package/dist/cjs/types/stories/controls/LargeNumericInput.stories.d.ts +0 -6
- package/dist/esm/types/components/icons/CrossAnimatedIcon.d.ts +0 -7
- package/dist/esm/types/stories/controls/LargeNumericInput.stories.d.ts +0 -6
package/dist/cjs/index.js
CHANGED
|
@@ -81,6 +81,11 @@ const MEDIA_QUERIES = {
|
|
|
81
81
|
key: "mobile-sm-height",
|
|
82
82
|
value: 670,
|
|
83
83
|
},
|
|
84
|
+
DESKTOP_MD: {
|
|
85
|
+
media: "(min-width: 768px)",
|
|
86
|
+
key: "desktop-md",
|
|
87
|
+
value: 768,
|
|
88
|
+
},
|
|
84
89
|
};
|
|
85
90
|
|
|
86
91
|
const THEME_COLOR_KEYS = [
|
|
@@ -2987,6 +2992,7 @@ const spacing$1 = {
|
|
|
2987
2992
|
"squid-m": "1.25rem", // 20px
|
|
2988
2993
|
"squid-l": "1.875rem", // 30px
|
|
2989
2994
|
"squid-xl": "2.5rem", // 40px
|
|
2995
|
+
"squid-xl2": "3.125rem", // 50px
|
|
2990
2996
|
"squid-xxl": "3.75rem", // 60px
|
|
2991
2997
|
};
|
|
2992
2998
|
const backdropBlur = {
|
|
@@ -3714,24 +3720,366 @@ function IconLabel({ src, children, rounded }) {
|
|
|
3714
3720
|
return (jsxRuntime.jsxs("div", { className: "tw-inline-flex tw-items-center tw-gap-squid-xxs", children: [src && jsxRuntime.jsx(Image$1, { src: src, rounded: rounded, size: "medium" }), typeof children === "string" ? (jsxRuntime.jsx(CaptionText, { children: children })) : (children)] }));
|
|
3715
3721
|
}
|
|
3716
3722
|
|
|
3723
|
+
var isMergeableObject = function isMergeableObject(value) {
|
|
3724
|
+
return isNonNullObject(value)
|
|
3725
|
+
&& !isSpecial(value)
|
|
3726
|
+
};
|
|
3727
|
+
|
|
3728
|
+
function isNonNullObject(value) {
|
|
3729
|
+
return !!value && typeof value === 'object'
|
|
3730
|
+
}
|
|
3731
|
+
|
|
3732
|
+
function isSpecial(value) {
|
|
3733
|
+
var stringValue = Object.prototype.toString.call(value);
|
|
3734
|
+
|
|
3735
|
+
return stringValue === '[object RegExp]'
|
|
3736
|
+
|| stringValue === '[object Date]'
|
|
3737
|
+
|| isReactElement(value)
|
|
3738
|
+
}
|
|
3739
|
+
|
|
3740
|
+
// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
|
|
3741
|
+
var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
3742
|
+
var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
|
|
3743
|
+
|
|
3744
|
+
function isReactElement(value) {
|
|
3745
|
+
return value.$$typeof === REACT_ELEMENT_TYPE
|
|
3746
|
+
}
|
|
3747
|
+
|
|
3748
|
+
function emptyTarget(val) {
|
|
3749
|
+
return Array.isArray(val) ? [] : {}
|
|
3750
|
+
}
|
|
3751
|
+
|
|
3752
|
+
function cloneUnlessOtherwiseSpecified(value, options) {
|
|
3753
|
+
return (options.clone !== false && options.isMergeableObject(value))
|
|
3754
|
+
? deepmerge(emptyTarget(value), value, options)
|
|
3755
|
+
: value
|
|
3756
|
+
}
|
|
3757
|
+
|
|
3758
|
+
function defaultArrayMerge(target, source, options) {
|
|
3759
|
+
return target.concat(source).map(function(element) {
|
|
3760
|
+
return cloneUnlessOtherwiseSpecified(element, options)
|
|
3761
|
+
})
|
|
3762
|
+
}
|
|
3763
|
+
|
|
3764
|
+
function getMergeFunction(key, options) {
|
|
3765
|
+
if (!options.customMerge) {
|
|
3766
|
+
return deepmerge
|
|
3767
|
+
}
|
|
3768
|
+
var customMerge = options.customMerge(key);
|
|
3769
|
+
return typeof customMerge === 'function' ? customMerge : deepmerge
|
|
3770
|
+
}
|
|
3771
|
+
|
|
3772
|
+
function getEnumerableOwnPropertySymbols(target) {
|
|
3773
|
+
return Object.getOwnPropertySymbols
|
|
3774
|
+
? Object.getOwnPropertySymbols(target).filter(function(symbol) {
|
|
3775
|
+
return Object.propertyIsEnumerable.call(target, symbol)
|
|
3776
|
+
})
|
|
3777
|
+
: []
|
|
3778
|
+
}
|
|
3779
|
+
|
|
3780
|
+
function getKeys(target) {
|
|
3781
|
+
return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))
|
|
3782
|
+
}
|
|
3783
|
+
|
|
3784
|
+
function propertyIsOnObject(object, property) {
|
|
3785
|
+
try {
|
|
3786
|
+
return property in object
|
|
3787
|
+
} catch(_) {
|
|
3788
|
+
return false
|
|
3789
|
+
}
|
|
3790
|
+
}
|
|
3791
|
+
|
|
3792
|
+
// Protects from prototype poisoning and unexpected merging up the prototype chain.
|
|
3793
|
+
function propertyIsUnsafe(target, key) {
|
|
3794
|
+
return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,
|
|
3795
|
+
&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,
|
|
3796
|
+
&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.
|
|
3797
|
+
}
|
|
3798
|
+
|
|
3799
|
+
function mergeObject(target, source, options) {
|
|
3800
|
+
var destination = {};
|
|
3801
|
+
if (options.isMergeableObject(target)) {
|
|
3802
|
+
getKeys(target).forEach(function(key) {
|
|
3803
|
+
destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
|
|
3804
|
+
});
|
|
3805
|
+
}
|
|
3806
|
+
getKeys(source).forEach(function(key) {
|
|
3807
|
+
if (propertyIsUnsafe(target, key)) {
|
|
3808
|
+
return
|
|
3809
|
+
}
|
|
3810
|
+
|
|
3811
|
+
if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
|
|
3812
|
+
destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
|
|
3813
|
+
} else {
|
|
3814
|
+
destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
|
|
3815
|
+
}
|
|
3816
|
+
});
|
|
3817
|
+
return destination
|
|
3818
|
+
}
|
|
3819
|
+
|
|
3820
|
+
function deepmerge(target, source, options) {
|
|
3821
|
+
options = options || {};
|
|
3822
|
+
options.arrayMerge = options.arrayMerge || defaultArrayMerge;
|
|
3823
|
+
options.isMergeableObject = options.isMergeableObject || isMergeableObject;
|
|
3824
|
+
// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
|
|
3825
|
+
// implementations can use it. The caller may not replace it.
|
|
3826
|
+
options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
|
|
3827
|
+
|
|
3828
|
+
var sourceIsArray = Array.isArray(source);
|
|
3829
|
+
var targetIsArray = Array.isArray(target);
|
|
3830
|
+
var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
|
|
3831
|
+
|
|
3832
|
+
if (!sourceAndTargetTypesMatch) {
|
|
3833
|
+
return cloneUnlessOtherwiseSpecified(source, options)
|
|
3834
|
+
} else if (sourceIsArray) {
|
|
3835
|
+
return options.arrayMerge(target, source, options)
|
|
3836
|
+
} else {
|
|
3837
|
+
return mergeObject(target, source, options)
|
|
3838
|
+
}
|
|
3839
|
+
}
|
|
3840
|
+
|
|
3841
|
+
deepmerge.all = function deepmergeAll(array, options) {
|
|
3842
|
+
if (!Array.isArray(array)) {
|
|
3843
|
+
throw new Error('first argument should be an array')
|
|
3844
|
+
}
|
|
3845
|
+
|
|
3846
|
+
return array.reduce(function(prev, next) {
|
|
3847
|
+
return deepmerge(prev, next, options)
|
|
3848
|
+
}, {})
|
|
3849
|
+
};
|
|
3850
|
+
|
|
3851
|
+
var deepmerge_1 = deepmerge;
|
|
3852
|
+
|
|
3853
|
+
var cjs = deepmerge_1;
|
|
3854
|
+
|
|
3855
|
+
var deepmerge$1 = /*@__PURE__*/getDefaultExportFromCjs(cjs);
|
|
3856
|
+
|
|
3857
|
+
/* eslint-disable @typescript-eslint/prefer-reduce-type-parameter */
|
|
3858
|
+
/**
|
|
3859
|
+
* Parses the user readable config to css variables
|
|
3860
|
+
* and adds the material-* variants
|
|
3861
|
+
* @param style
|
|
3862
|
+
*/
|
|
3863
|
+
const parseSquidTheme = (userTheme, themeType) => {
|
|
3864
|
+
var _a, _b;
|
|
3865
|
+
const fullPublicTheme = deepmerge$1(lightTheme, userTheme);
|
|
3866
|
+
// Add material-{light,dark}-{thin,average,thick} colors to the squid theme object
|
|
3867
|
+
// using the following formula:
|
|
3868
|
+
// material-light-thin -> grey-100 + 10% opacity
|
|
3869
|
+
// material-light-average -> grey-100 + 33% opacity
|
|
3870
|
+
// material-light-thick -> grey-100 + 66% opacity
|
|
3871
|
+
// material-dark-thin -> grey-900 + 10% opacity
|
|
3872
|
+
// material-dark-average -> grey-900 + 33% opacity
|
|
3873
|
+
// material-dark-thick -> grey-900 + 66% opacity
|
|
3874
|
+
const materialVariants = {
|
|
3875
|
+
"material-light-thin": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-100"], 0.1),
|
|
3876
|
+
"material-light-average": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-100"], 0.33),
|
|
3877
|
+
"material-light-thick": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-100"], 0.66),
|
|
3878
|
+
"material-dark-thin": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-900"], 0.1),
|
|
3879
|
+
"material-dark-average": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-900"], 0.33),
|
|
3880
|
+
"material-dark-thick": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-900"], 0.66),
|
|
3881
|
+
};
|
|
3882
|
+
// Add some other extra colors that are not part of the public theme
|
|
3883
|
+
const opacityVariants = {
|
|
3884
|
+
// opacity variants
|
|
3885
|
+
"grey-100-005": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-100"], 0.05),
|
|
3886
|
+
// color representing the blend of material-light and grey-900
|
|
3887
|
+
"material-light-blend-grey-900": (_a = blendColors(materialVariants["material-light-thin"], fullPublicTheme.color["grey-900"])) !== null && _a !== void 0 ? _a : "",
|
|
3888
|
+
// color representing the blend of material-light and grey-300
|
|
3889
|
+
"material-light-blend-grey-800": (_b = blendColors(materialVariants["material-light-thin"], fullPublicTheme.color["grey-800"])) !== null && _b !== void 0 ? _b : "",
|
|
3890
|
+
};
|
|
3891
|
+
const defaultButtonColors = {
|
|
3892
|
+
"button-lg-primary-bg": fullPublicTheme.color["royal-500"],
|
|
3893
|
+
"button-lg-primary-text": fullPublicTheme.color[themeType === "light" ? "grey-900" : "grey-100"],
|
|
3894
|
+
"button-lg-secondary-bg": fullPublicTheme.color["grey-100"],
|
|
3895
|
+
"button-lg-secondary-text": fullPublicTheme.color["grey-800"],
|
|
3896
|
+
"button-lg-tertiary-bg": fullPublicTheme.color["grey-800"],
|
|
3897
|
+
"button-lg-tertiary-text": fullPublicTheme.color["grey-300"],
|
|
3898
|
+
"button-md-primary-bg": fullPublicTheme.color["royal-500"],
|
|
3899
|
+
"button-md-primary-text": fullPublicTheme.color[themeType === "light" ? "grey-900" : "grey-100"],
|
|
3900
|
+
"button-md-secondary-bg": fullPublicTheme.color["grey-100"],
|
|
3901
|
+
"button-md-secondary-text": fullPublicTheme.color["grey-800"],
|
|
3902
|
+
"button-md-tertiary-bg": fullPublicTheme.color["grey-800"],
|
|
3903
|
+
"button-md-tertiary-text": fullPublicTheme.color["grey-300"],
|
|
3904
|
+
"button-sm-primary-bg": fullPublicTheme.color["royal-500"],
|
|
3905
|
+
"button-sm-primary-text": fullPublicTheme.color[themeType === "light" ? "grey-900" : "grey-100"],
|
|
3906
|
+
"button-sm-secondary-bg": fullPublicTheme.color["grey-100"],
|
|
3907
|
+
"button-sm-secondary-text": fullPublicTheme.color["grey-800"],
|
|
3908
|
+
"button-sm-tertiary-bg": fullPublicTheme.color["grey-800"],
|
|
3909
|
+
"button-sm-tertiary-text": fullPublicTheme.color["grey-300"],
|
|
3910
|
+
};
|
|
3911
|
+
const defaultInputColors = {
|
|
3912
|
+
"input-placeholder": fullPublicTheme.color["grey-600"],
|
|
3913
|
+
"input-text": fullPublicTheme.color["grey-300"],
|
|
3914
|
+
"input-selection": fullPublicTheme.color["grey-300"],
|
|
3915
|
+
"input-bg": fullPublicTheme.color["grey-900"],
|
|
3916
|
+
};
|
|
3917
|
+
const defaultAnimationColors = {
|
|
3918
|
+
"animation-bg": fullPublicTheme.color["royal-500"],
|
|
3919
|
+
"animation-text": fullPublicTheme.color[themeType === "light" ? "grey-900" : "grey-100"],
|
|
3920
|
+
};
|
|
3921
|
+
const defaultModalColors = {
|
|
3922
|
+
"modal-backdrop": materialVariants["material-dark-average"],
|
|
3923
|
+
};
|
|
3924
|
+
const defaultMenuColors = {
|
|
3925
|
+
"menu-bg": materialVariants["material-dark-thick"],
|
|
3926
|
+
"menu-text": materialVariants["material-light-thick"],
|
|
3927
|
+
"menu-backdrop": materialVariants["material-light-thin"],
|
|
3928
|
+
};
|
|
3929
|
+
// Adds the internal colors and any missing config to the full theme
|
|
3930
|
+
const fullTheme = deepmerge$1({
|
|
3931
|
+
color: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, materialVariants), opacityVariants), defaultButtonColors), defaultInputColors), defaultAnimationColors), defaultModalColors), defaultMenuColors),
|
|
3932
|
+
}, fullPublicTheme);
|
|
3933
|
+
return flatten(fullTheme, {
|
|
3934
|
+
prefix: THEME_CSS_VARIABLE_PREFIX,
|
|
3935
|
+
});
|
|
3936
|
+
};
|
|
3937
|
+
const BASE_FONT_SIZE = 16;
|
|
3938
|
+
const remToPx = (rem, addSuffix = true) => {
|
|
3939
|
+
if (typeof rem === "string") {
|
|
3940
|
+
const pxValue = Number(rem.replace("rem", "")) * BASE_FONT_SIZE;
|
|
3941
|
+
return pxValue + (addSuffix ? "px" : "");
|
|
3942
|
+
}
|
|
3943
|
+
return rem * BASE_FONT_SIZE + (addSuffix ? "px" : "");
|
|
3944
|
+
};
|
|
3945
|
+
const pxToRem = (px, addSuffix = true) => {
|
|
3946
|
+
if (typeof px === "string") {
|
|
3947
|
+
const remValue = Number(px.replace("px", "")) / BASE_FONT_SIZE;
|
|
3948
|
+
return remValue + (addSuffix ? "rem" : "");
|
|
3949
|
+
}
|
|
3950
|
+
return px / BASE_FONT_SIZE + (addSuffix ? "rem" : "");
|
|
3951
|
+
};
|
|
3952
|
+
function getContrastColor({ r, g, b, }, threshold = 128) {
|
|
3953
|
+
const brightness = (r * 299 + g * 587 + b * 114) / 1000;
|
|
3954
|
+
return brightness >= threshold ? "dark" : "light";
|
|
3955
|
+
}
|
|
3956
|
+
/**
|
|
3957
|
+
* Returns a hexadecimal color with opacity based on the given color and opacity percentage.
|
|
3958
|
+
*
|
|
3959
|
+
* @example getHexColorFromOpacityPercentage('#FF0000', 0.5) // '#FF000080'
|
|
3960
|
+
*
|
|
3961
|
+
* @param {string} color - The base color in hexadecimal format.
|
|
3962
|
+
* @param {number} opacity - The opacity percentage (0-1).
|
|
3963
|
+
* @returns {string} The hexadecimal color with opacity.
|
|
3964
|
+
*/
|
|
3965
|
+
function getHexColorFromOpacityPercentage(color, opacity) {
|
|
3966
|
+
return (color +
|
|
3967
|
+
Math.round(opacity * 255)
|
|
3968
|
+
.toString(16)
|
|
3969
|
+
.padStart(2, "0")).toUpperCase();
|
|
3970
|
+
}
|
|
3971
|
+
function hexToRgb(hex) {
|
|
3972
|
+
var _a;
|
|
3973
|
+
// Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
|
|
3974
|
+
const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i;
|
|
3975
|
+
const cleanHex = hex.replace(shorthandRegex, function (m, r, g, b, a) {
|
|
3976
|
+
return r + r + g + g + b + b + (a != null ? a + a : "");
|
|
3977
|
+
});
|
|
3978
|
+
const [, r, g, b, a] = ((_a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(cleanHex)) !== null && _a !== void 0 ? _a : []);
|
|
3979
|
+
if (r == null || g == null || b == null)
|
|
3980
|
+
return null;
|
|
3981
|
+
return {
|
|
3982
|
+
r: parseInt(r, 16),
|
|
3983
|
+
g: parseInt(g, 16),
|
|
3984
|
+
b: parseInt(b, 16),
|
|
3985
|
+
a: a != null ? parseInt(a, 16) / 255 : 1,
|
|
3986
|
+
};
|
|
3987
|
+
}
|
|
3988
|
+
function rgbToHex(r, g, b) {
|
|
3989
|
+
return ("#" +
|
|
3990
|
+
[r, g, b]
|
|
3991
|
+
.map((x) => {
|
|
3992
|
+
const hex = x.toString(16);
|
|
3993
|
+
return hex.length === 1 ? "0" + hex : hex;
|
|
3994
|
+
})
|
|
3995
|
+
.join(""));
|
|
3996
|
+
}
|
|
3997
|
+
// Example usage:
|
|
3998
|
+
// let foregroundColor = '#FBFBFD1A'
|
|
3999
|
+
// let bgColor = '#17191C'
|
|
4000
|
+
// let resultingColor = blendColors(foregroundColor, bgColor)
|
|
4001
|
+
// console.log(resultingColor) // Output: ~#2f3033
|
|
4002
|
+
function blendColors(foreground, background) {
|
|
4003
|
+
const fg = hexToRgb(foreground);
|
|
4004
|
+
const bg = hexToRgb(background);
|
|
4005
|
+
if (fg == null || bg == null)
|
|
4006
|
+
return null;
|
|
4007
|
+
const r = Math.round(fg.r * fg.a + bg.r * (1 - fg.a));
|
|
4008
|
+
const g = Math.round(fg.g * fg.a + bg.g * (1 - fg.a));
|
|
4009
|
+
const b = Math.round(fg.b * fg.a + bg.b * (1 - fg.a));
|
|
4010
|
+
return rgbToHex(r, g, b);
|
|
4011
|
+
}
|
|
4012
|
+
function adjustColorForContrast(foreground, background, factor = 1) {
|
|
4013
|
+
const fg = parseColor(foreground);
|
|
4014
|
+
const bg = parseColor(background);
|
|
4015
|
+
if (fg == null || bg == null)
|
|
4016
|
+
return null;
|
|
4017
|
+
const r = Math.round(fg.r * (1 - factor) + bg.r * factor);
|
|
4018
|
+
const g = Math.round(fg.g * (1 - factor) + bg.g * factor);
|
|
4019
|
+
const b = Math.round(fg.b * (1 - factor) + bg.b * factor);
|
|
4020
|
+
return rgbToHex(r, g, b);
|
|
4021
|
+
}
|
|
4022
|
+
const isValidHexColor = (hex) => {
|
|
4023
|
+
return /^#([0-9A-F]{3}|[0-9A-F]{6}|[0-9A-F]{4}|[0-9A-F]{8})$/i.test(hex);
|
|
4024
|
+
};
|
|
4025
|
+
function parseColor(color) {
|
|
4026
|
+
var _a, _b, _c, _d;
|
|
4027
|
+
if (color.startsWith("#")) {
|
|
4028
|
+
return hexToRgb(color);
|
|
4029
|
+
}
|
|
4030
|
+
else if (color.startsWith("rgb")) {
|
|
4031
|
+
const match = color.match(/\d+(\.\d+)?/g);
|
|
4032
|
+
if (match) {
|
|
4033
|
+
return {
|
|
4034
|
+
r: parseInt((_a = match[0]) !== null && _a !== void 0 ? _a : "0"),
|
|
4035
|
+
g: parseInt((_b = match[1]) !== null && _b !== void 0 ? _b : "0"),
|
|
4036
|
+
b: parseInt((_c = match[2]) !== null && _c !== void 0 ? _c : "0"),
|
|
4037
|
+
a: match[3] ? parseFloat((_d = match[3]) !== null && _d !== void 0 ? _d : "0") : 1,
|
|
4038
|
+
};
|
|
4039
|
+
}
|
|
4040
|
+
}
|
|
4041
|
+
return null;
|
|
4042
|
+
}
|
|
4043
|
+
const getColorBrightness = (color) => {
|
|
4044
|
+
const rgb = parseColor(color);
|
|
4045
|
+
if (!rgb)
|
|
4046
|
+
return 0;
|
|
4047
|
+
return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
|
|
4048
|
+
};
|
|
4049
|
+
const getWalletCardBackground = (colors) => {
|
|
4050
|
+
if (colors.length >= 3) {
|
|
4051
|
+
return `linear-gradient(73deg, ${colors[0]} 8.18%, ${colors[1]} 50.16%, ${colors[2]} 91.82%)`;
|
|
4052
|
+
}
|
|
4053
|
+
if (colors.length === 2) {
|
|
4054
|
+
return `linear-gradient(73deg, ${colors[0]} 8.18%, ${colors[1]} 50.16%)`;
|
|
4055
|
+
}
|
|
4056
|
+
return colors[0];
|
|
4057
|
+
};
|
|
4058
|
+
|
|
3717
4059
|
const sizeClassMap = {
|
|
3718
|
-
large: "tw-h-squid-xxl tw-w-squid-xxl tw-rounded-squid-s",
|
|
3719
|
-
|
|
4060
|
+
large: "tw-h-squid-xxl tw-w-squid-xxl tw-rounded-squid-s tw-gap-0.5",
|
|
4061
|
+
medium: "tw-h-squid-xl tw-w-squid-xl tw-rounded-squid-xs tw-gap-0.5",
|
|
4062
|
+
small: "tw-h-squid-l tw-w-squid-l tw-rounded-squid-xxs tw-gap-[0.09375rem]",
|
|
3720
4063
|
};
|
|
3721
4064
|
const customImageStylesMap = {
|
|
3722
4065
|
large: {
|
|
3723
|
-
width:
|
|
3724
|
-
height:
|
|
3725
|
-
borderRadius:
|
|
4066
|
+
width: pxToRem(24),
|
|
4067
|
+
height: pxToRem(24),
|
|
4068
|
+
borderRadius: pxToRem(7.5),
|
|
4069
|
+
},
|
|
4070
|
+
medium: {
|
|
4071
|
+
width: pxToRem(16),
|
|
4072
|
+
height: pxToRem(16),
|
|
4073
|
+
borderRadius: pxToRem(5),
|
|
3726
4074
|
},
|
|
3727
4075
|
small: {
|
|
3728
|
-
width:
|
|
3729
|
-
height:
|
|
3730
|
-
borderRadius:
|
|
4076
|
+
width: pxToRem(12),
|
|
4077
|
+
height: pxToRem(12),
|
|
4078
|
+
borderRadius: pxToRem(5),
|
|
3731
4079
|
},
|
|
3732
4080
|
};
|
|
3733
4081
|
function ImageGroup({ imageUrls, badge, size = "large", }) {
|
|
3734
|
-
return (jsxRuntime.jsxs("div", { className: cn("tw-relative tw-flex tw-flex-shrink-0 tw-flex-wrap tw-content-center tw-items-center tw-justify-center tw-
|
|
4082
|
+
return (jsxRuntime.jsxs("div", { className: cn("tw-relative tw-flex tw-flex-shrink-0 tw-flex-wrap tw-content-center tw-items-center tw-justify-center tw-border tw-border-solid tw-border-material-light-thin tw-bg-grey-700", sizeClassMap[size]), children: [imageUrls.map((url) => (jsxRuntime.jsx(Image$1, { src: url, size: "medium", rounded: "xxs", style: customImageStylesMap[size] }, url))), badge != null && size === "large" && (jsxRuntime.jsx("div", { className: "tw-absolute -tw-bottom-[1px] -tw-right-[1px]", children: jsxRuntime.jsx(Image$1, Object.assign({}, badge, { border: "outline-lg", size: "medium" })) }))] }));
|
|
3735
4083
|
}
|
|
3736
4084
|
|
|
3737
4085
|
function Approve() {
|
|
@@ -3750,8 +4098,11 @@ function ArrowRightUpIcon({ size = "10", className, strokeWidth = "2", }) {
|
|
|
3750
4098
|
function ChevronArrowIcon({ size = "16", className, }) {
|
|
3751
4099
|
return (jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsxRuntime.jsx("path", { d: "M6.66663 14L9.64022 8.64754C9.86394 8.24484 9.86394 7.75519 9.64022 7.35249L6.66663 2", stroke: "currentColor", strokeOpacity: "0.66", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
3752
4100
|
}
|
|
3753
|
-
function ArrowTriangle({ className }) {
|
|
3754
|
-
return (jsxRuntime.jsx("svg", { width:
|
|
4101
|
+
function ArrowTriangle({ className, size = "16", }) {
|
|
4102
|
+
return (jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: jsxRuntime.jsx("path", { d: "M2.87921 5.55701C2.21562 4.22933 3.18052 2.6665 4.66531 2.6665H11.3348C12.8196 2.6665 13.7845 4.22933 13.1209 5.55701L9.78615 12.229C9.05029 13.7012 6.94983 13.7012 6.21397 12.229L2.87921 5.55701Z", fill: "currentColor" }) }));
|
|
4103
|
+
}
|
|
4104
|
+
function ArrowCornerDownLeftIcon({ className, size = "16", }) {
|
|
4105
|
+
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 16 16", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M13.3334 3.33333V8C13.3334 9.10457 12.438 10 11.3334 10H3.33341M5.33341 7.33333L2.66675 10L5.33341 12.6667", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
3755
4106
|
}
|
|
3756
4107
|
function PauseIcon({ size = "16", className, }) {
|
|
3757
4108
|
return (jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: "0 0 16 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: [jsxRuntime.jsx("path", { d: "M2.66666 4.5C2.66666 3.39543 3.56209 2.5 4.66666 2.5C5.77123 2.5 6.66666 3.39543 6.66666 4.5V12.5C6.66666 13.6046 5.77123 14.5 4.66666 14.5C3.56209 14.5 2.66666 13.6046 2.66666 12.5V4.5Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M9.33332 4.5C9.33332 3.39543 10.2288 2.5 11.3333 2.5C12.4379 2.5 13.3333 3.39543 13.3333 4.5V12.5C13.3333 13.6046 12.4379 14.5 11.3333 14.5C10.2288 14.5 9.33332 13.6046 9.33332 12.5V4.5Z", fill: "currentColor" })] }));
|
|
@@ -3919,28 +4270,6 @@ function PowerIcon({ size = "24", className, }) {
|
|
|
3919
4270
|
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M7.02331 4.5C4.59826 6.11238 3 8.86954 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 8.86954 19.4017 6.11238 16.9767 4.5M12 2V7", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
3920
4271
|
}
|
|
3921
4272
|
|
|
3922
|
-
function CrossAnimatedIcon({ size = 24, isOpen, transitionDuration, className, }) {
|
|
3923
|
-
const rotateDegrees = isOpen ? 45 : 0;
|
|
3924
|
-
return (jsxRuntime.jsxs("div", { style: {
|
|
3925
|
-
width: size,
|
|
3926
|
-
height: size * 0.585,
|
|
3927
|
-
}, className: cn("tw-relative tw-rotate-0 tw-transition-transform", className), children: [jsxRuntime.jsx("span", { style: {
|
|
3928
|
-
height: size * 0.1,
|
|
3929
|
-
top: isOpen ? size * -0.05 : 0,
|
|
3930
|
-
transformOrigin: "left center",
|
|
3931
|
-
left: isOpen ? size * 0.13 : 0,
|
|
3932
|
-
transitionDuration,
|
|
3933
|
-
transform: isOpen ? `rotate(${rotateDegrees}deg)` : "rotate(0)",
|
|
3934
|
-
}, className: "tw-absolute tw-block tw-w-full tw-rounded-sm tw-bg-current tw-opacity-100 tw-transition-transform" }), jsxRuntime.jsx("span", { style: {
|
|
3935
|
-
height: size * 0.1,
|
|
3936
|
-
top: isOpen ? size * 0.65 : size * 0.6,
|
|
3937
|
-
transformOrigin: "left center",
|
|
3938
|
-
left: isOpen ? size * 0.13 : 0,
|
|
3939
|
-
transitionDuration,
|
|
3940
|
-
transform: isOpen ? `rotate(-${rotateDegrees}deg)` : "rotate(0)",
|
|
3941
|
-
}, className: "tw-absolute tw-block tw-w-full tw-rounded-sm tw-bg-current tw-opacity-100 tw-transition-transform" })] }));
|
|
3942
|
-
}
|
|
3943
|
-
|
|
3944
4273
|
function DashboardFast({ size = "24", className, }) {
|
|
3945
4274
|
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M15 10L12.25 15.5M19.5 16H4.5M21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
3946
4275
|
}
|
|
@@ -4088,6 +4417,27 @@ function PluginIcon({ size = "16", className, }) {
|
|
|
4088
4417
|
function CircleCheckIcon({ className, size = "24", }) {
|
|
4089
4418
|
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM15.774 10.1333C16.1237 9.70582 16.0607 9.0758 15.6332 8.72607C15.2058 8.37635 14.5758 8.43935 14.226 8.86679L10.4258 13.5116L9.20711 12.2929C8.81658 11.9024 8.18342 11.9024 7.79289 12.2929C7.40237 12.6834 7.40237 13.3166 7.79289 13.7071L9.79289 15.7071C9.99267 15.9069 10.2676 16.0129 10.5498 15.9988C10.832 15.9847 11.095 15.8519 11.274 15.6333L15.774 10.1333Z", fill: "currentColor" }) }));
|
|
4090
4419
|
}
|
|
4420
|
+
function EscKeyIcon({ className, width = "20", height = "8", }) {
|
|
4421
|
+
return (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: width, height: height, viewBox: "0 0 20 8", fill: "none", className: className, children: [jsxRuntime.jsx("path", { d: "M13.3862 4.37183V3.53803C13.3862 1.32394 14.6088 0 16.7271 0C17.7299 0 18.62 0.304225 19.1721 0.839437C19.544 1.2 19.7693 1.63944 19.7693 1.98873C19.7693 2.43944 19.4595 2.73803 19.0088 2.73803C18.7102 2.73803 18.4905 2.62535 18.1975 2.32676C17.775 1.80845 17.3806 1.57183 16.8398 1.57183C15.8257 1.57183 15.251 2.32113 15.251 3.62254V4.28732C15.251 5.67324 15.8144 6.42254 16.8398 6.42254C17.3862 6.42254 17.8257 6.18592 18.2257 5.67887C18.5243 5.36901 18.7271 5.26197 19.0144 5.26197C19.4707 5.26197 19.7806 5.5662 19.7806 6.01127C19.7806 6.45634 19.4764 6.95211 18.9862 7.31831C18.4341 7.74648 17.6567 8 16.7271 8C14.575 8 13.3862 6.68169 13.3862 4.37183Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M6.34302 6.24789C6.34302 5.79718 6.66978 5.48169 7.06978 5.48169C7.3402 5.48169 7.57119 5.5831 7.88105 5.85916C8.34302 6.29296 8.90076 6.52958 9.46978 6.52958C10.2754 6.52958 10.7092 6.23662 10.7092 5.70704C10.7092 5.27887 10.3712 5.01408 9.55992 4.83944L8.50076 4.59718C7.11485 4.30423 6.43316 3.58873 6.43316 2.41127C6.43316 0.935211 7.58245 0 9.38527 0C10.3712 0 11.2613 0.287324 11.7796 0.777465C12.112 1.08169 12.2867 1.41972 12.2867 1.76338C12.2867 2.17465 11.9937 2.45634 11.5599 2.45634C11.3177 2.45634 11.0754 2.3493 10.8388 2.12394C10.4444 1.69014 9.98809 1.46479 9.40781 1.46479C8.72612 1.46479 8.29795 1.77465 8.29795 2.25916C8.29795 2.68169 8.62471 2.98028 9.3402 3.12113L10.4106 3.35211C11.8416 3.63944 12.5346 4.34366 12.5346 5.50986C12.5346 7.02535 11.3008 8 9.374 8C8.31485 8 7.374 7.69578 6.85006 7.2C6.5233 6.89014 6.34302 6.56338 6.34302 6.24789Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M0.219482 6.7662V1.20563C0.219482 0.518309 0.596947 0.140844 1.30117 0.140844H4.7885C5.21667 0.140844 5.52089 0.44507 5.52089 0.884506C5.52089 1.31831 5.21667 1.6169 4.7885 1.6169H2.06174V3.27887H4.65329C5.05329 3.27887 5.32371 3.56056 5.32371 3.9662C5.32371 4.37746 5.05329 4.64225 4.65329 4.64225H2.06174V6.35493H4.76596C5.21667 6.35493 5.52089 6.64789 5.52089 7.09296C5.52089 7.54366 5.21667 7.83099 4.76033 7.83099H1.30117C0.596947 7.83099 0.219482 7.45915 0.219482 6.7662Z", fill: "currentColor" })] }));
|
|
4422
|
+
}
|
|
4423
|
+
function StarFilledIcon({ className, size = "24", }) {
|
|
4424
|
+
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M13.2868 2.49584C12.7691 1.41806 11.231 1.41805 10.7133 2.49584L8.49879 7.10557L3.39811 7.77343C2.21558 7.92827 1.7232 9.38947 2.60366 10.2197L6.33108 13.7343L5.39563 18.7523C5.17354 19.9437 6.43483 20.8269 7.47686 20.2652L12 17.8267L16.5232 20.2652C17.5652 20.8269 18.8265 19.9437 18.6044 18.7523L17.669 13.7343L21.3964 10.2197C22.2769 9.38947 21.7845 7.92827 20.602 7.77343L15.5013 7.10557L13.2868 2.49584Z", fill: "currentColor" }) }));
|
|
4425
|
+
}
|
|
4426
|
+
function StarOutlinedIcon({ className, size = "24", }) {
|
|
4427
|
+
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M9.6074 1.91272C9.76499 1.58468 10.2351 1.58468 10.3927 1.91272L12.4549 6.20542C12.5183 6.33744 12.6446 6.42863 12.7906 6.44775L17.538 7.06935C17.9008 7.11686 18.0461 7.56096 17.7807 7.8112L14.3078 11.0858C14.201 11.1866 14.1527 11.3341 14.1796 11.4779L15.0514 16.1548C15.118 16.5122 14.7377 16.7867 14.4161 16.6133L10.2076 14.3444C10.0781 14.2747 9.92195 14.2747 9.79251 14.3444L5.58399 16.6133C5.26237 16.7867 4.88205 16.5122 4.94868 16.1548L5.82053 11.4779C5.84735 11.3341 5.79908 11.1866 5.69227 11.0858L2.21941 7.8112C1.95401 7.56096 2.09928 7.11686 2.46207 7.06935L7.20944 6.44775C7.35544 6.42863 7.4818 6.33744 7.54522 6.20542L9.6074 1.91272Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
4428
|
+
}
|
|
4429
|
+
function FireIcon({ className, size = "24", }) {
|
|
4430
|
+
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.29792 2.39894C9.78493 1.70321 10.7622 1.45171 11.5255 1.97651C12.3185 2.5218 13.69 3.57571 14.8703 5.05521C16.0501 6.53397 17.0833 8.49511 17.0833 10.8332C17.0833 14.9977 13.9564 18.3332 9.99996 18.3332C6.04348 18.3332 2.91663 14.9977 2.91663 10.8332C2.91663 9.13711 3.64503 6.96996 5.06457 5.23976C5.68651 4.48171 6.75968 4.52692 7.38668 5.12928L9.29792 2.39894ZM9.99996 16.6666C11.2081 16.6666 12.1875 15.5487 12.1875 14.1696C12.1875 12.6898 11.0365 11.6013 10.4043 11.1151C10.1629 10.9295 9.83699 10.9295 9.59563 11.1151C8.96345 11.6013 7.81246 12.6898 7.81246 14.1696C7.81246 15.5487 8.79184 16.6666 9.99996 16.6666Z", fill: "currentColor" }) }));
|
|
4431
|
+
}
|
|
4432
|
+
function TrophyIcon({ size = "20", className, }) {
|
|
4433
|
+
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6.66675 1.66663C5.57823 1.66663 4.6522 2.3623 4.309 3.33329H4.16675C2.78604 3.33329 1.66675 4.45258 1.66675 5.83329C1.66675 7.58084 3.01154 9.0143 4.72272 9.15525C5.54372 10.8932 7.19798 12.1604 9.17 12.4414V13.3333H7.50008C6.11937 13.3333 5.00008 14.4526 5.00008 15.8333C5.00008 17.214 6.11937 18.3333 7.50008 18.3333H12.5001C13.8808 18.3333 15.0001 17.214 15.0001 15.8333C15.0001 14.4526 13.8808 13.3333 12.5001 13.3333H10.8367V12.4404C12.8058 12.1576 14.4573 10.8913 15.2774 9.15525C16.9886 9.0143 18.3334 7.58084 18.3334 5.83329C18.3334 4.45258 17.2141 3.33329 15.8334 3.33329H15.6912C15.348 2.3623 14.4219 1.66663 13.3334 1.66663H6.66675ZM4.16675 6.66663C4.16675 6.87922 4.17812 7.08917 4.20029 7.29588C3.68368 7.01278 3.33341 6.46394 3.33341 5.83329C3.33341 5.37306 3.70651 4.99996 4.16675 4.99996V6.66663ZM16.6667 5.83329C16.6667 6.46394 16.3165 7.01278 15.7999 7.29588C15.822 7.08917 15.8334 6.87922 15.8334 6.66663V4.99996C16.2937 4.99996 16.6667 5.37306 16.6667 5.83329Z", fill: "currentColor" }) }));
|
|
4434
|
+
}
|
|
4435
|
+
function SearchMenuIcon({ size = "20", className, }) {
|
|
4436
|
+
return (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: [jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M12.5033 4.16675C9.28159 4.16675 6.66992 6.77842 6.66992 10.0001C6.66992 13.2217 9.28159 15.8334 12.5033 15.8334C13.8127 15.8334 15.0214 15.402 15.9949 14.6735L17.7441 16.4227C18.0695 16.7481 18.5972 16.7481 18.9226 16.4227C19.248 16.0972 19.248 15.5696 18.9226 15.2442L17.1738 13.4954C17.904 12.5213 18.3366 11.3112 18.3366 10.0001C18.3366 6.77842 15.7249 4.16675 12.5033 4.16675ZM12.5 7.50008C11.1193 7.50008 10 8.61937 10 10.0001C10 10.4603 9.6269 10.8334 9.16667 10.8334C8.70643 10.8334 8.33333 10.4603 8.33333 10.0001C8.33333 7.69889 10.1988 5.83341 12.5 5.83341C12.9602 5.83341 13.3333 6.20651 13.3333 6.66675C13.3333 7.12699 12.9602 7.50008 12.5 7.50008Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M1.66992 5.83341C1.66992 5.37318 2.04302 5.00008 2.50326 5.00008H5.00326C5.46349 5.00008 5.83659 5.37318 5.83659 5.83341C5.83659 6.29365 5.46349 6.66675 5.00326 6.66675H2.50326C2.04302 6.66675 1.66992 6.29365 1.66992 5.83341Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M1.66992 10.0001C1.66992 9.53984 2.04302 9.16675 2.50326 9.16675H4.16992C4.63016 9.16675 5.00326 9.53984 5.00326 10.0001C5.00326 10.4603 4.63016 10.8334 4.16992 10.8334H2.50326C2.04302 10.8334 1.66992 10.4603 1.66992 10.0001Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M2.50326 13.3334C2.04302 13.3334 1.66992 13.7065 1.66992 14.1667C1.66992 14.627 2.04302 15.0001 2.50326 15.0001H5.00326C5.46349 15.0001 5.83659 14.627 5.83659 14.1667C5.83659 13.7065 5.46349 13.3334 5.00326 13.3334H2.50326Z", fill: "currentColor" })] }));
|
|
4437
|
+
}
|
|
4438
|
+
function MoneyBagSolidIcon({ size = "20", className, }) {
|
|
4439
|
+
return (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", fill: "none", className: className, children: [jsxRuntime.jsx("path", { d: "M3.20936 15.8585C2.74521 15.1586 2.50001 14.315 2.5 13.3333C2.87506 10.7079 4.60051 8.75772 6.46082 6.87496H13.6268C15.3671 8.72127 17.1214 10.6833 17.5 13.3333C17.5 14.315 17.2548 15.1586 16.7907 15.8585C16.3297 16.5534 15.6857 17.0575 14.962 17.4187C13.539 18.1289 11.7155 18.3333 10 18.3333C8.28455 18.3333 6.46098 18.1289 5.03805 17.4187C4.31431 17.0575 3.67029 16.5534 3.20936 15.8585Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M13.2509 4.2731C13.6005 3.34097 13.2461 2.25704 12.2912 1.97578C11.5795 1.76617 10.8146 1.66663 10 1.66663C9.18537 1.66663 8.42051 1.76617 7.70883 1.97578C6.75387 2.25704 6.39955 3.34097 6.74909 4.2731L7.25187 5.61384L7.22222 5.62496H12.7778L12.7481 5.61384L13.2509 4.2731Z", fill: "currentColor" })] }));
|
|
4440
|
+
}
|
|
4091
4441
|
|
|
4092
4442
|
function EmptyHeartIcon({ className }) {
|
|
4093
4443
|
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { d: "M21 10C21 15.75 12.75 20 12 20C11.25 20 3 15.75 3 10C3 6 5.5 4 8 4C10.5 4 12 5.5 12 5.5C12 5.5 13.5 4 16 4C18.5 4 21 6 21 10Z", stroke: "currentColor", strokeWidth: "2", strokeLinejoin: "round" }) }));
|
|
@@ -4319,7 +4669,7 @@ function TriangleExclamation() {
|
|
|
4319
4669
|
function WalletIcon({ size = "16" }) {
|
|
4320
4670
|
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 16 16", fill: "none", children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.33333 2C3.04467 2 2 3.04467 2 4.33333V11.3333C2 12.8061 3.19391 14 4.66667 14H12C13.1046 14 14 13.1046 14 12V7.33333C14 6.22876 13.1046 5.33333 12 5.33333H11.3333V3.60784C11.3333 2.71986 10.6135 2 9.72549 2H4.33333ZM10 5.33333V3.60784C10 3.45624 9.8771 3.33333 9.72549 3.33333H4.33333C3.78105 3.33333 3.33333 3.78105 3.33333 4.33333C3.33333 4.88562 3.78105 5.33333 4.33333 5.33333H10ZM10.3333 10.5C10.7936 10.5 11.1667 10.1269 11.1667 9.66667C11.1667 9.20643 10.7936 8.83333 10.3333 8.83333C9.8731 8.83333 9.5 9.20643 9.5 9.66667C9.5 10.1269 9.8731 10.5 10.3333 10.5Z", fill: "currentColor" }) }));
|
|
4321
4671
|
}
|
|
4322
|
-
function
|
|
4672
|
+
function WalletOutlinedIcon({ size = "24" }) {
|
|
4323
4673
|
return (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: [jsxRuntime.jsx("path", { d: "M4 6.5V17C4 18.6569 5.34315 20 7 20H18C19.1046 20 20 19.1046 20 18V11C20 9.89543 19.1046 9 18 9H16M4 6.5C4 7.88071 5.11929 9 6.5 9H16M4 6.5C4 5.11929 5.11929 4 6.5 4H14.5882C15.3679 4 16 4.63207 16 5.41176V9", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "square", strokeLinejoin: "round" }), jsxRuntime.jsx("path", { d: "M15.5 15.375C15.9832 15.375 16.375 14.9832 16.375 14.5C16.375 14.0168 15.9832 13.625 15.5 13.625C15.0168 13.625 14.625 14.0168 14.625 14.5C14.625 14.9832 15.0168 15.375 15.5 15.375Z", fill: "currentColor", stroke: "currentColor", strokeWidth: "0.75" })] }));
|
|
4324
4674
|
}
|
|
4325
4675
|
|
|
@@ -4632,7 +4982,7 @@ function LargeNumericInput({ onChange, value }) {
|
|
|
4632
4982
|
if (isValidAmount)
|
|
4633
4983
|
onChange(value || "");
|
|
4634
4984
|
}, [onChange]);
|
|
4635
|
-
return (jsxRuntime.jsxs("section", { className: "tw-flex tw-flex-1 tw-flex-col tw-items-center tw-justify-center tw-self-stretch tw-px-squid-l tw-pb-squid-m", children: [jsxRuntime.
|
|
4985
|
+
return (jsxRuntime.jsxs("section", { className: "tw-flex tw-flex-1 tw-flex-col tw-items-center tw-justify-center tw-self-stretch tw-px-squid-l tw-pb-squid-m", children: [jsxRuntime.jsxs("div", { className: "tw-relative tw-flex tw-w-full tw-flex-1 tw-items-center tw-justify-center tw-self-stretch tw-text-7xl tw-text-royal-500", children: [jsxRuntime.jsx("span", { ref: inputValueSpyRef, className: "tw-pointer-events-none tw-absolute tw-opacity-0", children: value || placeholder }), jsxRuntime.jsx("span", { children: "$" }), jsxRuntime.jsx("input", { inputMode: "decimal", pattern: "[0-9.,]*", ref: inputRef, value: value, onChange: handleInputChange, className: "tw-max-w-full tw-bg-transparent tw-placeholder-royal-500 tw-outline-none focus:tw-outline-none", placeholder: placeholder })] }), jsxRuntime.jsx("footer", { className: "tw-flex tw-h-squid-m tw-items-center tw-justify-center tw-gap-squid-xxs tw-self-stretch", children: suggestedAmounts.map((amount) => (jsxRuntime.jsx(Chip, { label: `$${amount}`, onClick: () => {
|
|
4636
4986
|
onChange(amount);
|
|
4637
4987
|
} }, amount))) })] }));
|
|
4638
4988
|
}
|
|
@@ -19010,6 +19360,9 @@ function DetailsToolbar({ errorMessage, helpButton, isLoading, isEmpty, flipButt
|
|
|
19010
19360
|
function DropdownMenu({ dropdownRef, className, menuRef, isHidden = false, listClassName, containerClassName, children, contentWrapperProps, menuContentClassName, trigger, }) {
|
|
19011
19361
|
return (jsxRuntime.jsxs("div", { ref: dropdownRef, className: cn("tw-relative", containerClassName), children: [trigger, jsxRuntime.jsx(Menu, { menuRef: menuRef, rounded: "sm", containerClassName: cn("tw-absolute tw-right-0 tw-z-30", className), contentClassName: cn("!tw-p-0", menuContentClassName), contentWrapperProps: contentWrapperProps, children: !isHidden && (jsxRuntime.jsx("ul", { className: cn("tw-flex tw-max-w-full tw-flex-col tw-gap-squid-xxs tw-px-0 tw-py-squid-xxs", listClassName), children: children })) })] }));
|
|
19012
19362
|
}
|
|
19363
|
+
function DropdownMenuSeparator() {
|
|
19364
|
+
return (jsxRuntime.jsx("span", { className: "tw-h-[0.0625rem] tw-min-h-[0.0625rem] tw-bg-material-light-thin" }));
|
|
19365
|
+
}
|
|
19013
19366
|
|
|
19014
19367
|
function InfoBox({ title, description, icon }) {
|
|
19015
19368
|
return (jsxRuntime.jsxs("div", { className: "tw-align-self-stretch tw-flex tw-flex-col tw-items-center tw-gap-squid-xs tw-px-squid-m tw-pb-squid-l tw-pt-squid-xs tw-text-royal-500", children: [icon, jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-pt-squid-xxs tw-text-center", children: [jsxRuntime.jsx(BodyText, { size: "small", className: "!tw-leading-[9px]", children: title }), typeof description === "string" ? (jsxRuntime.jsx(CaptionText, { className: "tw-text-grey-500", children: description })) : (description)] })] }));
|
|
@@ -19068,14 +19421,14 @@ function ModalContentDivider() {
|
|
|
19068
19421
|
}
|
|
19069
19422
|
|
|
19070
19423
|
function ModalTitle({ title }) {
|
|
19071
|
-
return (jsxRuntime.jsx("div", { className: "tw-flex tw-h-squid-xxl tw-
|
|
19424
|
+
return (jsxRuntime.jsx("div", { className: "tw-flex tw-h-squid-xxl tw-items-center tw-justify-center tw-gap-squid-xs tw-self-stretch tw-px-squid-m tw-py-squid-xs", children: jsxRuntime.jsx(BodyText, { size: "small", children: title }) }));
|
|
19072
19425
|
}
|
|
19073
19426
|
|
|
19074
19427
|
function NavigationBar(_a) {
|
|
19075
|
-
var { title, displayBackButton = false, logoUrl, transparent = false, displayButtonShadows = false, onBackButtonClick, actions, isLoading = false, subtitle
|
|
19428
|
+
var { title, displayBackButton = false, logoUrl, transparent = false, displayButtonShadows = false, onBackButtonClick, actions, isLoading = false, subtitle } = _a, props = __rest$1(_a, ["title", "displayBackButton", "logoUrl", "transparent", "displayButtonShadows", "onBackButtonClick", "actions", "isLoading", "subtitle"]);
|
|
19076
19429
|
return (jsxRuntime.jsxs("nav", Object.assign({}, props, { className: cn("tw-flex tw-max-h-[120px] tw-flex-row-reverse tw-text-grey-300 mobile-xs-height:tw-flex-col", transparent ? "tw-bg-transparent" : "tw-bg-grey-900", props.className), children: [jsxRuntime.jsxs("div", { className: cn("tw-flex tw-h-squid-xxl tw-items-center tw-justify-end tw-gap-x-squid-xs tw-pl-squid-m", displayBackButton
|
|
19077
19430
|
? "tw-w-full tw-pr-squid-xs mobile-xs-height:tw-pr-squid-m"
|
|
19078
|
-
: "tw-pr-squid-m mobile-lg:tw-pl-squid-l", !title && "tw-w-full mobile-xs-height:tw-w-[unset]"),
|
|
19431
|
+
: "tw-pr-squid-m mobile-lg:tw-pl-squid-l", !title && "tw-w-full mobile-xs-height:tw-w-[unset]"), children: [displayBackButton ? (jsxRuntime.jsx(Button$1, { className: displayButtonShadows
|
|
19079
19432
|
? "group-data-[squid-theme-type=dark]:tw-shadow-elevation-dark-2 group-data-[squid-theme-type=light]:tw-shadow-elevation-light-2"
|
|
19080
19433
|
: undefined, variant: "tertiary", size: "md", isLoading: isLoading, icon: jsxRuntime.jsx(ArrowLeftIcon, {}), onClick: onBackButtonClick })) : null, logoUrl ? (jsxRuntime.jsx("img", { src: logoUrl, className: "tw-h-squid-xl tw-min-w-squid-xl" })) : null, jsxRuntime.jsx("span", { className: "tw-flex tw-flex-1 tw-items-center tw-justify-end tw-gap-squid-xxs", children: actions === null || actions === void 0 ? void 0 : actions.map((action) => {
|
|
19081
19434
|
var _a;
|
|
@@ -19143,7 +19496,7 @@ function SwapConfiguration({ amount, tokenPrice = 0, isFetching: isFetchingProp
|
|
|
19143
19496
|
? walletButton === null || walletButton === void 0 ? void 0 : walletButton.address
|
|
19144
19497
|
: walletButton === null || walletButton === void 0 ? void 0 : walletButton.emptyAddressLabel }), jsxRuntime.jsx(ChevronArrowIcon, { className: (walletButton === null || walletButton === void 0 ? void 0 : walletButton.address)
|
|
19145
19498
|
? "tw-text-grey-600"
|
|
19146
|
-
: "tw-text-royal-500" })] })] }))] }) })) }), jsxRuntime.jsx("div", { className: "tw-px-squid-m mobile-lg:tw-px-squid-l", children: jsxRuntime.jsx(AssetsButton, Object.assign({}, assetsButton, { chain: chain, token: token, isLoading: isLoading })) }), jsxRuntime.jsx(NumericInput, { inputMode: "decimal", pattern: "[0-9.,]*", token: {
|
|
19499
|
+
: "tw-text-royal-500" })] })] }))] }) })) }), jsxRuntime.jsx("div", { className: "tw-px-squid-m mobile-lg:tw-px-squid-l", children: jsxRuntime.jsx(AssetsButton, Object.assign({}, assetsButton, { chain: chain, token: token, isLoading: isLoading })) }), isFetching && (jsxRuntime.jsx("div", { className: "tw-absolute tw-bottom-2 tw-left-squid-m tw-z-10 tw-overflow-hidden mobile-lg:tw-left-squid-l", children: jsxRuntime.jsx("div", { className: "tw-h-[94px] tw-w-[1260px] tw-animate-move-loading-cover-to-right tw-bg-dark-cover" }) })), jsxRuntime.jsx(NumericInput, { inputMode: "decimal", pattern: "[0-9.,]*", token: {
|
|
19147
19500
|
decimals: (_a = token === null || token === void 0 ? void 0 : token.decimals) !== null && _a !== void 0 ? _a : 18,
|
|
19148
19501
|
symbol: (_b = token === null || token === void 0 ? void 0 : token.symbol) !== null && _b !== void 0 ? _b : "",
|
|
19149
19502
|
price: tokenPrice,
|
|
@@ -19168,7 +19521,7 @@ function AccountListItem({ isConnected, imageUrls = [], imageUrl, badgeUrl, acti
|
|
|
19168
19521
|
size: "xxlarge",
|
|
19169
19522
|
rounded: "s",
|
|
19170
19523
|
border: "outline-sm",
|
|
19171
|
-
}, badge: badge })) : (jsxRuntime.jsx(ImageGroup, { imageUrls: imageUrls, badge: badge })), jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-1 tw-flex-col tw-items-start tw-gap-squid-xs", children: [jsxRuntime.jsx(BodyText, { size: "small", className: "tw-h-[13px] !tw-leading-[13px]", children: title }), jsxRuntime.jsx(BodyText, { size: "small", className: "tw-h-[13px] !tw-leading-[13px] tw-text-grey-500", children: subtitle })] }), jsxRuntime.jsx("menu", { className: "tw-flex tw-items-center tw-gap-squid-xxs", children: actions })] }));
|
|
19524
|
+
}, badge: badge })) : (jsxRuntime.jsx(ImageGroup, { imageUrls: imageUrls, badge: badge, size: "large" })), jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-1 tw-flex-col tw-items-start tw-gap-squid-xs", children: [jsxRuntime.jsx(BodyText, { size: "small", className: "tw-h-[13px] !tw-leading-[13px]", children: title }), jsxRuntime.jsx(BodyText, { size: "small", className: "tw-h-[13px] !tw-leading-[13px] tw-text-grey-500", children: subtitle })] }), jsxRuntime.jsx("menu", { className: "tw-flex tw-items-center tw-gap-squid-xxs", children: actions })] }));
|
|
19172
19525
|
}
|
|
19173
19526
|
|
|
19174
19527
|
const SPACING = 10;
|
|
@@ -19577,7 +19930,7 @@ function ListItem(_a) {
|
|
|
19577
19930
|
? `${collapsedListItemClassMap[size]} mobile-lg:tw-w-full`
|
|
19578
19931
|
: "tw-w-full", className), children: [jsxRuntime.jsxs(ItemTag, Object.assign({}, itemProps, { onClick: control == null ? handleItemClick : undefined, className: cn("tw-group/list-item tw-peer/list-item tw-relative tw-flex tw-w-full tw-max-w-full tw-justify-start tw-gap-squid-xs tw-rounded-squid-s tw-px-squid-xs", !multilineSubtitle
|
|
19579
19932
|
? "tw-items-center tw-py-squid-xxs"
|
|
19580
|
-
: "tw-py-squid-xs", (isSelected || isDropdownOpen) && "tw-bg-material-light-thin", isInteractive && control == null && "hover:tw-bg-material-light-thin", isInteractive && "tw-text-left tw-normal-case"), children: [size === "large" ? (jsxRuntime.jsx("div", { className: "tw-h-10 tw-w-10", children: mainIcon !== null && mainIcon !== void 0 ? mainIcon : (imageGroup != null ? (jsxRuntime.jsx(ImageGroup, { size: "
|
|
19933
|
+
: "tw-py-squid-xs", (isSelected || isDropdownOpen) && "tw-bg-material-light-thin", isInteractive && control == null && "hover:tw-bg-material-light-thin", isInteractive && "tw-text-left tw-normal-case"), children: [size === "large" ? (jsxRuntime.jsx("div", { className: "tw-h-10 tw-w-10", children: mainIcon !== null && mainIcon !== void 0 ? mainIcon : (imageGroup != null ? (jsxRuntime.jsx(ImageGroup, { size: "medium", imageUrls: imageGroup })) : (jsxRuntime.jsx(BadgeImage, { image: {
|
|
19581
19934
|
src: mainImageUrl,
|
|
19582
19935
|
placeholderImageUrl,
|
|
19583
19936
|
size: "xlarge",
|
|
@@ -19589,7 +19942,7 @@ function ListItem(_a) {
|
|
|
19589
19942
|
size: "medium",
|
|
19590
19943
|
border: "outline-lg",
|
|
19591
19944
|
}
|
|
19592
|
-
: undefined }))) })) : (jsxRuntime.jsx("div", { className: "tw-flex tw-min-h-[30px] tw-min-w-[30px] tw-items-center tw-justify-center", children: mainIcon !== null && mainIcon !== void 0 ? mainIcon : (jsxRuntime.jsx(Image$1, { size: "large", src: mainImageUrl, placeholderImageUrl: placeholderImageUrl, rounded: rounded })) })), jsxRuntime.jsxs("div", { className: cn("tw-flex tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-gap-squid-xxs", multilineSubtitle ? "tw-pl-squid-xxs" : "tw-h-[40px]", !multilineSubtitle &&
|
|
19945
|
+
: undefined }))) })) : (jsxRuntime.jsx("div", { className: "tw-flex tw-min-h-[30px] tw-min-w-[30px] tw-items-center tw-justify-center", children: mainIcon !== null && mainIcon !== void 0 ? mainIcon : (imageGroup != null ? (jsxRuntime.jsx(ImageGroup, { size: "small", imageUrls: imageGroup })) : (jsxRuntime.jsx(Image$1, { size: "large", src: mainImageUrl, placeholderImageUrl: placeholderImageUrl, rounded: rounded }))) })), jsxRuntime.jsxs("div", { className: cn("tw-flex tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-gap-squid-xxs", multilineSubtitle ? "tw-pl-squid-xxs" : "tw-h-[40px]", !multilineSubtitle &&
|
|
19593
19946
|
// 'large' variant has extra padding
|
|
19594
19947
|
(size === "large" ? "tw-w-[56%] tw-pl-squid-xxs" : "tw-w-[67%]")), children: [typeof itemTitle === "string" ? (jsxRuntime.jsx(BodyText, { size: "small", className: cn("tw-max-w-full tw-truncate", subtitle && "tw-h-[17px] !tw-leading-[17px]", compactOnMobile ? "tw-hidden mobile-lg:tw-block" : "tw-block"), children: itemTitle })) : (itemTitle), size === "large" &&
|
|
19595
19948
|
((loading === null || loading === void 0 ? void 0 : loading.subtitle) ? (loadingComponent()) : subtitle ? (jsxRuntime.jsxs(CaptionText, { className: subtitleClassName, children: [subtitleOnHover && (jsxRuntime.jsx(CaptionText, { className: cn(subtitleClassName, "tw-hidden group-hover/list-item:tw-block"), children: subtitleOnHover })), subtitle] })) : null)] }), showDetail && (jsxRuntime.jsxs(DetailTag, Object.assign({}, detailProps, { className: cn("tw-flex tw-w-fit tw-items-center tw-justify-center tw-rounded-squid-xs", size === "large" ? "tw-h-squid-xl" : "tw-h-squid-l", showDetailOnHoverOnly
|
|
@@ -19777,7 +20130,7 @@ const mainImageSizeMap = {
|
|
|
19777
20130
|
large: "xxlarge",
|
|
19778
20131
|
small: "xlarge",
|
|
19779
20132
|
};
|
|
19780
|
-
function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, balanceUsd, extraSpacing = true, chainImageUrl, imageUrl, symbol, name, onClick, variant = "large", className, onChildClick, isAdjacentToPreviousExpanded = false, isAdjacentToNextExpanded = false, }) {
|
|
20133
|
+
function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, balanceUsd, extraSpacing = true, chainImageUrl, imageUrl, symbol, name, onClick, variant = "large", className, onChildClick, isAdjacentToPreviousExpanded = false, isAdjacentToNextExpanded = false, action, }) {
|
|
19781
20134
|
var _a;
|
|
19782
20135
|
const [isCollapsed, setIsCollapsed] = React$1.useState(true);
|
|
19783
20136
|
const isCollapsible = tokenItems && tokenItems.length > 0;
|
|
@@ -19812,7 +20165,7 @@ function TokenGroup({ isSelected = false, tokenItems, priceChange, balance, bala
|
|
|
19812
20165
|
: "tw-h-squid-xl tw-gap-squid-xxs"
|
|
19813
20166
|
: isSmallVariant
|
|
19814
20167
|
? "tw-h-[50px] tw-gap-squid-s tw-py-squid-xxs"
|
|
19815
|
-
: "tw-h-squid-xl tw-gap-squid-xxs"), children: [jsxRuntime.jsxs("div", { className: "tw-relative tw-min-w-fit", children: [jsxRuntime.jsx(Image$1, { src: imageUrl, size: isLargeVariant && !isCollapsed
|
|
20168
|
+
: "tw-h-squid-xl tw-gap-squid-xxs"), children: [!!action && action, jsxRuntime.jsxs("div", { className: "tw-relative tw-min-w-fit", children: [jsxRuntime.jsx(Image$1, { src: imageUrl, size: isLargeVariant && !isCollapsed
|
|
19816
20169
|
? "medium"
|
|
19817
20170
|
: (_a = mainImageSizeMap[variant]) !== null && _a !== void 0 ? _a : "medium", rounded: isCompactVariant ? "xxs" : "full", style: {
|
|
19818
20171
|
transition: `${ANIMATION_DURATIONS.GENERIC}ms ${ANIMATION_TIMINGS.GENERIC}`,
|
|
@@ -26076,22 +26429,22 @@ function PropertiesLayout({ children, className, }) {
|
|
|
26076
26429
|
}
|
|
26077
26430
|
|
|
26078
26431
|
function BridgeProperties({ amount, token, fromChain, toChain, wallet, boosted, timeToComplete, }) {
|
|
26079
|
-
return (jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(SquareArrowTopLeftIcon, { size: "20" }), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Bridge ", token.symbol] }), detail: jsxRuntime.jsx(IconLabel, { src: token.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: amount }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(
|
|
26432
|
+
return (jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(SquareArrowTopLeftIcon, { size: "20" }), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Bridge ", token.symbol] }), detail: jsxRuntime.jsx(IconLabel, { src: token.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: amount }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(WalletOutlinedIcon, {}), label: "Wallet", detail: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: wallet, showCopyButton: true }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center", children: [boosted && jsxRuntime.jsx(BoostBadge, {}), jsxRuntime.jsx(BodyText, { size: "small", children: timeToComplete })] }) })] }));
|
|
26080
26433
|
}
|
|
26081
26434
|
|
|
26082
26435
|
function BuyNFTProperties({ title, imageURI, collection, price, token, marketplace, fromChain, toChain, fromAddress, toAddress, boosted, timeToComplete, tokenId, nftType, }) {
|
|
26083
|
-
return (jsxRuntime.jsxs(PropertiesLayout, { className: "tw-flex tw-flex-col tw-gap-squid-m", children: [jsxRuntime.jsx(NFTPreviewCard, { name: title, imageURI: imageURI, collectionName: collection.name, tokenId: tokenId, nftType: nftType }), jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(CollectionIcon, {}), label: "Collection", detail: jsxRuntime.jsx(IconLabel, { src: collection.imageURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: collection.name }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TagIcon, {}), label: "NFT Price", detail: jsxRuntime.jsx(IconLabel, { src: token.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: price }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ShoppingBagIcon, {}), label: "Marketplace", detail: jsxRuntime.jsx(IconLabel, { src: marketplace.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: marketplace.name }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(
|
|
26436
|
+
return (jsxRuntime.jsxs(PropertiesLayout, { className: "tw-flex tw-flex-col tw-gap-squid-m", children: [jsxRuntime.jsx(NFTPreviewCard, { name: title, imageURI: imageURI, collectionName: collection.name, tokenId: tokenId, nftType: nftType }), jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(CollectionIcon, {}), label: "Collection", detail: jsxRuntime.jsx(IconLabel, { src: collection.imageURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: collection.name }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TagIcon, {}), label: "NFT Price", detail: jsxRuntime.jsx(IconLabel, { src: token.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: price }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ShoppingBagIcon, {}), label: "Marketplace", detail: jsxRuntime.jsx(IconLabel, { src: marketplace.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: marketplace.name }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(WalletOutlinedIcon, {}), label: "Wallet", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: fromAddress, showCopyButton: true }) }), to: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: toAddress, showCopyButton: true }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center", children: [boosted && jsxRuntime.jsx(BoostBadge, {}), jsxRuntime.jsx(BodyText, { size: "small", children: timeToComplete })] }) })] })] }));
|
|
26084
26437
|
}
|
|
26085
26438
|
function NFTPreviewCard({ name, imageURI, tokenId, nftType, collectionName, }) {
|
|
26086
26439
|
return (jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-items-center tw-gap-squid-m tw-px-squid-l tw-pt-squid-m tw-text-grey-300", children: [jsxRuntime.jsx("img", { className: "tw-max-w-96 tw-overflow-hidden tw-rounded-squid-xxs tw-shadow-elevation-light-3", src: imageURI, alt: name }), jsxRuntime.jsxs("div", { className: "tw-grid tw-w-full tw-grid-cols-[100px,1fr,100px]", children: [jsxRuntime.jsx("div", { className: "tw-flex tw-items-center", children: jsxRuntime.jsx(Chip, { className: "tw-border tw-border-grey-500 tw-bg-transparent !tw-text-grey-500", label: tokenId }) }), jsxRuntime.jsxs("div", { className: "tw-flex tw-flex-col tw-items-center", children: [jsxRuntime.jsxs(BodyText, { size: "small", children: [jsxRuntime.jsx("span", { className: "tw-text-grey-600", children: "\u201C\u00A0" }), name, jsxRuntime.jsx("span", { className: "tw-text-grey-600", children: "\u00A0\u201D" })] }), jsxRuntime.jsx(CaptionText, { children: collectionName })] }), jsxRuntime.jsx("div", { className: "tw-flex tw-items-center tw-justify-end", children: jsxRuntime.jsx(Chip, { className: "tw-border tw-border-grey-500 tw-bg-transparent !tw-text-grey-500", label: nftType }) })] })] }));
|
|
26087
26440
|
}
|
|
26088
26441
|
|
|
26089
26442
|
function InteractionProperties({ chain, wallet, boosted, timeToComplete, }) {
|
|
26090
|
-
return (jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(IconLabel, { src: chain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: chain.name }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(
|
|
26443
|
+
return (jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(IconLabel, { src: chain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: chain.name }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(WalletOutlinedIcon, {}), label: "Wallet", detail: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: wallet, showCopyButton: true }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center", children: [boosted && jsxRuntime.jsx(BoostBadge, {}), jsxRuntime.jsx(BodyText, { size: "small", children: timeToComplete })] }) })] }));
|
|
26091
26444
|
}
|
|
26092
26445
|
|
|
26093
26446
|
function SwapProperties({ fromAmount, fromToken, toAmount, toToken, fromChain, toChain, fromAddress, toAddress, exchangeRate, boosted, timeToComplete, }) {
|
|
26094
|
-
return (jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowRightUpCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Swap ", fromToken.symbol] }), detail: jsxRuntime.jsx(IconLabel, { src: fromToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: fromAmount }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowRightDownCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Receive ", toToken.symbol] }), detail: jsxRuntime.jsx(IconLabel, { src: toToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: toAmount }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(
|
|
26447
|
+
return (jsxRuntime.jsxs(PropertiesLayout, { children: [jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowRightUpCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Swap ", fromToken.symbol] }), detail: jsxRuntime.jsx(IconLabel, { src: fromToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: fromAmount }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowRightDownCircleIcon, {}), label: jsxRuntime.jsxs(BodyText, { size: "small", children: ["Receive ", toToken.symbol] }), detail: jsxRuntime.jsx(IconLabel, { src: toToken.logoURI, rounded: "full", children: jsxRuntime.jsx(BodyText, { size: "small", children: toAmount }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ChainLink, { size: "24" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: fromChain.name }) }), to: jsxRuntime.jsx(IconLabel, { src: toChain.logoURI, children: jsxRuntime.jsx(BodyText, { size: "small", children: toChain.name }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(WalletOutlinedIcon, {}), label: "Wallet", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: fromAddress, showCopyButton: true }) }), to: jsxRuntime.jsx(BodyText, { size: "small", children: jsxRuntime.jsx(HashLink, { hash: toAddress, showCopyButton: true }) }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(ArrowsSwapIcon, {}), label: "Exchange rate", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsxs(BodyText, { size: "small", children: ["1 ", fromToken.symbol] }), to: jsxRuntime.jsxs(BodyText, { size: "small", children: [exchangeRate, " ", toToken.symbol] }) }) }), jsxRuntime.jsx(PropertyListItem, { variant: "large", icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: jsxRuntime.jsxs("div", { className: "tw-flex tw-items-center", children: [boosted && jsxRuntime.jsx(BoostBadge, {}), jsxRuntime.jsx(BodyText, { size: "small", children: timeToComplete })] }) })] }));
|
|
26095
26448
|
}
|
|
26096
26449
|
|
|
26097
26450
|
const propertiesComponentsMap = {
|
|
@@ -27582,9 +27935,9 @@ function NumericInput(_a) {
|
|
|
27582
27935
|
}, [userInputType, balance, token.price]);
|
|
27583
27936
|
const containerClassname = "tw-px-squid-xs !tw-h-full tw-pt-squid-xxs mobile-xs-height:tw-pb-squid-s tw-text-heading-small tw-font-regular mobile-lg:tw-px-squid-m tw-relative tw-h-[65px] mobile-sm-height:tw-h-[75px]";
|
|
27584
27937
|
const inputRef = React$1.useRef(null);
|
|
27585
|
-
return (jsxRuntime.jsxs(
|
|
27938
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [isInteractive && !isLoading ? (jsxRuntime.jsxs("form", { className: containerClassname, onSubmit: (e) => {
|
|
27586
27939
|
e.preventDefault();
|
|
27587
|
-
}, children: [userInputType === UserInputType.USD && (jsxRuntime.jsx("span", { className: "tw-absolute tw-left-5 tw-top-[11px] tw-leading-[43px] tw-text-grey-600 mobile-lg:tw-left-[30px]", children: "$" })), jsxRuntime.jsx("input", Object.assign({ ref: inputRef, type: "text", value: inputValue, onChange: handleInputChange, placeholder: "0", className: cn("tw-h-[55px] tw-w-full tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-grey-300 placeholder:tw-text-grey-600 hover:tw-bg-material-light-thin focus:tw-bg-material-light-thin focus:tw-text-royal-500 focus:tw-outline-none", userInputType === UserInputType.USD && "tw-pl-[33px]") }, props))] })) : (jsxRuntime.jsx("div", { className: cn(containerClassname, (isLoading || Number(inputValue || 0) === 0) && loadingClassName), children: jsxRuntime.jsx("div", { className: "tw-font-regular tw-flex tw-h-[55px] tw-w-full tw-
|
|
27940
|
+
}, children: [userInputType === UserInputType.USD && (jsxRuntime.jsx("span", { className: "tw-absolute tw-left-5 tw-top-[11px] tw-leading-[43px] tw-text-grey-600 mobile-lg:tw-left-[30px]", children: "$" })), jsxRuntime.jsx("input", Object.assign({ ref: inputRef, type: "text", value: inputValue, onChange: handleInputChange, placeholder: "0", className: cn("tw-h-[55px] tw-w-full tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-grey-300 placeholder:tw-text-grey-600 hover:tw-bg-material-light-thin focus:tw-bg-material-light-thin focus:tw-text-royal-500 focus:tw-outline-none", userInputType === UserInputType.USD && "tw-pl-[33px]") }, props))] })) : (jsxRuntime.jsx("div", { className: cn(containerClassname, (isLoading || Number(inputValue || 0) === 0) && loadingClassName), children: jsxRuntime.jsx("div", { className: "tw-font-regular tw-flex tw-h-[55px] tw-w-full tw-items-center tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-heading-small tw-text-grey-300", children: jsxRuntime.jsx("span", { children: inputValue || 0 }) }) })), !showDetails ? null : (jsxRuntime.jsxs("footer", { className: cn("tw-flex tw-h-squid-m tw-max-h-squid-m tw-items-center tw-justify-between tw-gap-2 tw-px-squid-xs tw-text-grey-500 mobile-lg:tw-px-squid-m", isLoading && loadingClassName), children: [error ? (jsxRuntime.jsx("div", { className: "tw-px-squid-xs", children: jsxRuntime.jsx(ErrorMessage, { message: error.message }) })) : (jsxRuntime.jsx(Tooltip, Object.assign({}, (isLoading
|
|
27588
27941
|
? undefined
|
|
27589
27942
|
: userInputType === UserInputType.TOKEN
|
|
27590
27943
|
? inputModeButton === null || inputModeButton === void 0 ? void 0 : inputModeButton.tokenModeTooltip
|
|
@@ -27960,7 +28313,7 @@ function SettingsButton({ label, isSelected = false, onClick, }) {
|
|
|
27960
28313
|
|
|
27961
28314
|
const DEFAULT_TIMING_FUNCTION = "ease-out";
|
|
27962
28315
|
const DEFAULT_ANIMATION_DURATION = 0.3;
|
|
27963
|
-
function Tabs({ tabs, size = "large", onTabChange, activeTab,
|
|
28316
|
+
function Tabs({ tabs, size = "large", onTabChange, activeTab, }) {
|
|
27964
28317
|
const [activeTabInfo, setActiveTabInfo] = React$1.useState({
|
|
27965
28318
|
translateX: 0,
|
|
27966
28319
|
width: 0,
|
|
@@ -27995,7 +28348,7 @@ function Tabs({ tabs, size = "large", onTabChange, activeTab, isDisabled = false
|
|
|
27995
28348
|
return (jsxRuntime.jsxs("nav", { ref: navRef, className: "tw-relative tw-flex tw-items-center tw-gap-squid-m", children: [tabs.map((tab, index) => (React$1.createElement(Tab, Object.assign({}, tab, { key: index, size: size, onClick: (event) => {
|
|
27996
28349
|
handleTabClick(event);
|
|
27997
28350
|
onTabChange === null || onTabChange === void 0 ? void 0 : onTabChange(index);
|
|
27998
|
-
}, isActive: activeTab === index
|
|
28351
|
+
}, isActive: activeTab === index })))), jsxRuntime.jsx(motion.div, { className: "tw-absolute tw-bottom-0 tw-h-0.5 tw-rounded-[1px] tw-bg-royal-500", animate: {
|
|
27999
28352
|
transform: `translateX(${activeTabInfo.translateX}px)`,
|
|
28000
28353
|
width: activeTabInfo.width,
|
|
28001
28354
|
animationTimingFunction: DEFAULT_TIMING_FUNCTION,
|
|
@@ -28004,14 +28357,14 @@ function Tabs({ tabs, size = "large", onTabChange, activeTab, isDisabled = false
|
|
|
28004
28357
|
stiffness: 300,
|
|
28005
28358
|
damping: 30,
|
|
28006
28359
|
duration: DEFAULT_ANIMATION_DURATION,
|
|
28007
|
-
} })
|
|
28360
|
+
} })] }));
|
|
28008
28361
|
}
|
|
28009
28362
|
function Tab(_a) {
|
|
28010
|
-
var { label, isActive, size
|
|
28011
|
-
return (jsxRuntime.jsxs("button", Object.assign({}, props, {
|
|
28363
|
+
var { label, isActive, size } = _a, props = __rest$1(_a, ["label", "isActive", "size"]);
|
|
28364
|
+
return (jsxRuntime.jsxs("button", Object.assign({}, props, { "aria-current": isActive ? "true" : undefined, className: cn("tw-group/tab-button tw-relative tw-flex tw-w-fit tw-items-center tw-justify-center tw-self-stretch", isActive ? "tw-text-grey-300" : "tw-text-grey-600", size === "small" ? "tw-h-[50px]" : "tw-h-squid-xxl", props.className), style: {
|
|
28012
28365
|
transition: `color ${DEFAULT_ANIMATION_DURATION}s`,
|
|
28013
28366
|
transitionTimingFunction: DEFAULT_TIMING_FUNCTION,
|
|
28014
|
-
}, children: [jsxRuntime.jsx(BodyText, { size: size, children: label }), !props.disabled && (jsxRuntime.jsx("span", { className: cn("tw-absolute tw-w-[calc(100%+20px)] tw-rounded-squid-s tw-p-squid-xs", size === "small" ? "tw-h-squid-l" : "tw-h-squid-xl"
|
|
28367
|
+
}, children: [jsxRuntime.jsx(BodyText, { size: size, children: label }), !props.disabled && (jsxRuntime.jsx("span", { className: cn("tw-absolute tw-w-[calc(100%+20px)] tw-rounded-squid-s tw-p-squid-xs group-hover/tab-button:tw-bg-material-light-thin", size === "small" ? "tw-h-squid-l" : "tw-h-squid-xl") }))] })));
|
|
28015
28368
|
}
|
|
28016
28369
|
|
|
28017
28370
|
function useCountdown(initialSeconds) {
|
|
@@ -28036,7 +28389,7 @@ function DepositAddressView({ isOpen = true, fromToken, toToken, handleClose, fr
|
|
|
28036
28389
|
}, borderType: "outline", children: [jsxRuntime.jsxs("div", { className: "tw-relative tw-flex tw-h-[160px] tw-w-full tw-items-center tw-justify-center tw-rounded-tl-modal tw-rounded-tr-modal tw-bg-grey-900 tw-py-squid-s tw-text-material-light-thin", style: {
|
|
28037
28390
|
// box shadow simulating bottom outline (we do not use css outline because cannot apply it to only one side)
|
|
28038
28391
|
boxShadow: "0 1px 0 currentColor",
|
|
28039
|
-
}, children: [jsxRuntime.jsx("div", { className: "tw-absolute tw-right-squid-xs tw-top-squid-xs", children: jsxRuntime.jsx(Button$1, { size: "md", variant: "secondary", label: "Copy" }) }), headerContent] }), jsxRuntime.jsx("div", { className: "tw-relative tw-flex tw-h-squid-m tw-w-full tw-items-end tw-justify-between tw-self-stretch tw-px-squid-m", children: jsxRuntime.jsx(Image$1, { src: fromToken.logoUrl, rounded: "full", shadow: true, size: "xlarge" }) }), jsxRuntime.jsx(TxProgressViewHeader, { title: title, description: description, isWarning: true }), jsxRuntime.jsxs("ul", { className: "squid-property-gradient-bg-even-container tw-flex tw-w-full tw-flex-col tw-items-center tw-justify-start tw-gap-squid-xxs tw-overflow-auto tw-rounded-squid-l tw-pb-squid-s tw-scrollbar-hidden", children: [jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(
|
|
28392
|
+
}, children: [jsxRuntime.jsx("div", { className: "tw-absolute tw-right-squid-xs tw-top-squid-xs", children: jsxRuntime.jsx(Button$1, { size: "md", variant: "secondary", label: "Copy" }) }), headerContent] }), jsxRuntime.jsx("div", { className: "tw-relative tw-flex tw-h-squid-m tw-w-full tw-items-end tw-justify-between tw-self-stretch tw-px-squid-m", children: jsxRuntime.jsx(Image$1, { src: fromToken.logoUrl, rounded: "full", shadow: true, size: "xlarge" }) }), jsxRuntime.jsx(TxProgressViewHeader, { title: title, description: description, isWarning: true }), jsxRuntime.jsxs("ul", { className: "squid-property-gradient-bg-even-container tw-flex tw-w-full tw-flex-col tw-items-center tw-justify-start tw-gap-squid-xxs tw-overflow-auto tw-rounded-squid-l tw-pb-squid-s tw-scrollbar-hidden", children: [jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(WalletOutlinedIcon, { size: "24" }), label: "Deposit address", detail: jsxRuntime.jsx(HashLink, { className: "tw-text-royal-500", formattedHash: depositAddressFormatted, hash: depositAddress, showCopyButton: true, copyIconSize: "24" }), tooltip: (tooltips === null || tooltips === void 0 ? void 0 : tooltips.depositAddress)
|
|
28040
28393
|
? {
|
|
28041
28394
|
tooltipContent: tooltips.depositAddress,
|
|
28042
28395
|
tooltipWidth: "max",
|
|
@@ -69464,7 +69817,7 @@ function SwapProgressView({ steps, isOpen = true, handleClose, handleComplete, s
|
|
|
69464
69817
|
}, secondToken: {
|
|
69465
69818
|
bgColor: toToken.bgColor,
|
|
69466
69819
|
logoURI: toToken.logoUrl,
|
|
69467
|
-
} })) }), jsxRuntime.jsx(TxProgressViewHeader, { title: headerTitle, description: headerDescription }), jsxRuntime.jsxs("ul", { className: "squid-property-gradient-bg-odd-container tw-flex tw-w-full tw-flex-col tw-items-center tw-justify-center tw-gap-squid-xxs tw-rounded-squid-l tw-pb-squid-s tw-pt-squid-xs mobile-xs-height:tw-h-[195px] mobile-sm-height:tw-py-squid-s", children: [jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(ArrowsSwapIcon, {}), label: "Swap", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromToken.logoUrl, rounded: "full", children: fromAmount }), to: jsxRuntime.jsx(IconLabel, { src: toToken.logoUrl, rounded: "full", children: toAmount }) }) }), jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(ChainLink, { size: "24", strokeWidth: "2" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("img", { className: "tw-h-squid-m tw-w-squid-m tw-rounded-squid-xxs", src: fromChain.logoUrl }), jsxRuntime.jsx(CaptionText, { children: fromChain.networkName })] }), to: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("img", { className: "tw-h-squid-m tw-w-squid-m tw-rounded-squid-xxs", src: toChain.logoUrl }), jsxRuntime.jsx(CaptionText, { children: toChain.networkName })] }) }) }), jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(
|
|
69820
|
+
} })) }), jsxRuntime.jsx(TxProgressViewHeader, { title: headerTitle, description: headerDescription }), jsxRuntime.jsxs("ul", { className: "squid-property-gradient-bg-odd-container tw-flex tw-w-full tw-flex-col tw-items-center tw-justify-center tw-gap-squid-xxs tw-rounded-squid-l tw-pb-squid-s tw-pt-squid-xs mobile-xs-height:tw-h-[195px] mobile-sm-height:tw-py-squid-s", children: [jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(ArrowsSwapIcon, {}), label: "Swap", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsx(IconLabel, { src: fromToken.logoUrl, rounded: "full", children: fromAmount }), to: jsxRuntime.jsx(IconLabel, { src: toToken.logoUrl, rounded: "full", children: toAmount }) }) }), jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(ChainLink, { size: "24", strokeWidth: "2" }), label: "Chain", detail: jsxRuntime.jsx(Transfer, { from: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("img", { className: "tw-h-squid-m tw-w-squid-m tw-rounded-squid-xxs", src: fromChain.logoUrl }), jsxRuntime.jsx(CaptionText, { children: fromChain.networkName })] }), to: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("img", { className: "tw-h-squid-m tw-w-squid-m tw-rounded-squid-xxs", src: toChain.logoUrl }), jsxRuntime.jsx(CaptionText, { children: toChain.networkName })] }) }) }), jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(WalletOutlinedIcon, { size: "24" }), label: "Wallet", detail: jsxRuntime.jsx(Transfer, { from: fromAddressFormatted, to: toAddressFormatted }) }), jsxRuntime.jsx(PropertyListItem, { icon: jsxRuntime.jsx(TimeFliesIcon, {}), label: "Time to complete", detail: swapState === SwapState.PROGRESS ? (jsxRuntime.jsx(Transfer, { from: timer, to: estimatedTimeToComplete })) : swapState === SwapState.COMPLETED ? (jsxRuntime.jsx(CaptionText, { children: timer })) : (jsxRuntime.jsx(CaptionText, { children: estimatedTimeToComplete })) })] })] }), jsxRuntime.jsx(TrackTransactionView, { ref: trackTransactionViewRef, onTxEnd: () => {
|
|
69468
69821
|
stopTimer();
|
|
69469
69822
|
}, onTxStart: () => {
|
|
69470
69823
|
startTimer();
|
|
@@ -69610,337 +69963,6 @@ function TransactionView({ type, props }) {
|
|
|
69610
69963
|
return jsxRuntime.jsx(Component, Object.assign({}, props));
|
|
69611
69964
|
}
|
|
69612
69965
|
|
|
69613
|
-
var isMergeableObject = function isMergeableObject(value) {
|
|
69614
|
-
return isNonNullObject(value)
|
|
69615
|
-
&& !isSpecial(value)
|
|
69616
|
-
};
|
|
69617
|
-
|
|
69618
|
-
function isNonNullObject(value) {
|
|
69619
|
-
return !!value && typeof value === 'object'
|
|
69620
|
-
}
|
|
69621
|
-
|
|
69622
|
-
function isSpecial(value) {
|
|
69623
|
-
var stringValue = Object.prototype.toString.call(value);
|
|
69624
|
-
|
|
69625
|
-
return stringValue === '[object RegExp]'
|
|
69626
|
-
|| stringValue === '[object Date]'
|
|
69627
|
-
|| isReactElement(value)
|
|
69628
|
-
}
|
|
69629
|
-
|
|
69630
|
-
// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
|
|
69631
|
-
var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
69632
|
-
var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
|
|
69633
|
-
|
|
69634
|
-
function isReactElement(value) {
|
|
69635
|
-
return value.$$typeof === REACT_ELEMENT_TYPE
|
|
69636
|
-
}
|
|
69637
|
-
|
|
69638
|
-
function emptyTarget(val) {
|
|
69639
|
-
return Array.isArray(val) ? [] : {}
|
|
69640
|
-
}
|
|
69641
|
-
|
|
69642
|
-
function cloneUnlessOtherwiseSpecified(value, options) {
|
|
69643
|
-
return (options.clone !== false && options.isMergeableObject(value))
|
|
69644
|
-
? deepmerge(emptyTarget(value), value, options)
|
|
69645
|
-
: value
|
|
69646
|
-
}
|
|
69647
|
-
|
|
69648
|
-
function defaultArrayMerge(target, source, options) {
|
|
69649
|
-
return target.concat(source).map(function(element) {
|
|
69650
|
-
return cloneUnlessOtherwiseSpecified(element, options)
|
|
69651
|
-
})
|
|
69652
|
-
}
|
|
69653
|
-
|
|
69654
|
-
function getMergeFunction(key, options) {
|
|
69655
|
-
if (!options.customMerge) {
|
|
69656
|
-
return deepmerge
|
|
69657
|
-
}
|
|
69658
|
-
var customMerge = options.customMerge(key);
|
|
69659
|
-
return typeof customMerge === 'function' ? customMerge : deepmerge
|
|
69660
|
-
}
|
|
69661
|
-
|
|
69662
|
-
function getEnumerableOwnPropertySymbols(target) {
|
|
69663
|
-
return Object.getOwnPropertySymbols
|
|
69664
|
-
? Object.getOwnPropertySymbols(target).filter(function(symbol) {
|
|
69665
|
-
return Object.propertyIsEnumerable.call(target, symbol)
|
|
69666
|
-
})
|
|
69667
|
-
: []
|
|
69668
|
-
}
|
|
69669
|
-
|
|
69670
|
-
function getKeys(target) {
|
|
69671
|
-
return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))
|
|
69672
|
-
}
|
|
69673
|
-
|
|
69674
|
-
function propertyIsOnObject(object, property) {
|
|
69675
|
-
try {
|
|
69676
|
-
return property in object
|
|
69677
|
-
} catch(_) {
|
|
69678
|
-
return false
|
|
69679
|
-
}
|
|
69680
|
-
}
|
|
69681
|
-
|
|
69682
|
-
// Protects from prototype poisoning and unexpected merging up the prototype chain.
|
|
69683
|
-
function propertyIsUnsafe(target, key) {
|
|
69684
|
-
return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,
|
|
69685
|
-
&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,
|
|
69686
|
-
&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.
|
|
69687
|
-
}
|
|
69688
|
-
|
|
69689
|
-
function mergeObject(target, source, options) {
|
|
69690
|
-
var destination = {};
|
|
69691
|
-
if (options.isMergeableObject(target)) {
|
|
69692
|
-
getKeys(target).forEach(function(key) {
|
|
69693
|
-
destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
|
|
69694
|
-
});
|
|
69695
|
-
}
|
|
69696
|
-
getKeys(source).forEach(function(key) {
|
|
69697
|
-
if (propertyIsUnsafe(target, key)) {
|
|
69698
|
-
return
|
|
69699
|
-
}
|
|
69700
|
-
|
|
69701
|
-
if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
|
|
69702
|
-
destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
|
|
69703
|
-
} else {
|
|
69704
|
-
destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
|
|
69705
|
-
}
|
|
69706
|
-
});
|
|
69707
|
-
return destination
|
|
69708
|
-
}
|
|
69709
|
-
|
|
69710
|
-
function deepmerge(target, source, options) {
|
|
69711
|
-
options = options || {};
|
|
69712
|
-
options.arrayMerge = options.arrayMerge || defaultArrayMerge;
|
|
69713
|
-
options.isMergeableObject = options.isMergeableObject || isMergeableObject;
|
|
69714
|
-
// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
|
|
69715
|
-
// implementations can use it. The caller may not replace it.
|
|
69716
|
-
options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
|
|
69717
|
-
|
|
69718
|
-
var sourceIsArray = Array.isArray(source);
|
|
69719
|
-
var targetIsArray = Array.isArray(target);
|
|
69720
|
-
var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
|
|
69721
|
-
|
|
69722
|
-
if (!sourceAndTargetTypesMatch) {
|
|
69723
|
-
return cloneUnlessOtherwiseSpecified(source, options)
|
|
69724
|
-
} else if (sourceIsArray) {
|
|
69725
|
-
return options.arrayMerge(target, source, options)
|
|
69726
|
-
} else {
|
|
69727
|
-
return mergeObject(target, source, options)
|
|
69728
|
-
}
|
|
69729
|
-
}
|
|
69730
|
-
|
|
69731
|
-
deepmerge.all = function deepmergeAll(array, options) {
|
|
69732
|
-
if (!Array.isArray(array)) {
|
|
69733
|
-
throw new Error('first argument should be an array')
|
|
69734
|
-
}
|
|
69735
|
-
|
|
69736
|
-
return array.reduce(function(prev, next) {
|
|
69737
|
-
return deepmerge(prev, next, options)
|
|
69738
|
-
}, {})
|
|
69739
|
-
};
|
|
69740
|
-
|
|
69741
|
-
var deepmerge_1 = deepmerge;
|
|
69742
|
-
|
|
69743
|
-
var cjs = deepmerge_1;
|
|
69744
|
-
|
|
69745
|
-
var deepmerge$1 = /*@__PURE__*/getDefaultExportFromCjs(cjs);
|
|
69746
|
-
|
|
69747
|
-
/* eslint-disable @typescript-eslint/prefer-reduce-type-parameter */
|
|
69748
|
-
/**
|
|
69749
|
-
* Parses the user readable config to css variables
|
|
69750
|
-
* and adds the material-* variants
|
|
69751
|
-
* @param style
|
|
69752
|
-
*/
|
|
69753
|
-
const parseSquidTheme = (userTheme, themeType) => {
|
|
69754
|
-
var _a, _b;
|
|
69755
|
-
const fullPublicTheme = deepmerge$1(lightTheme, userTheme);
|
|
69756
|
-
// Add material-{light,dark}-{thin,average,thick} colors to the squid theme object
|
|
69757
|
-
// using the following formula:
|
|
69758
|
-
// material-light-thin -> grey-100 + 10% opacity
|
|
69759
|
-
// material-light-average -> grey-100 + 33% opacity
|
|
69760
|
-
// material-light-thick -> grey-100 + 66% opacity
|
|
69761
|
-
// material-dark-thin -> grey-900 + 10% opacity
|
|
69762
|
-
// material-dark-average -> grey-900 + 33% opacity
|
|
69763
|
-
// material-dark-thick -> grey-900 + 66% opacity
|
|
69764
|
-
const materialVariants = {
|
|
69765
|
-
"material-light-thin": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-100"], 0.1),
|
|
69766
|
-
"material-light-average": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-100"], 0.33),
|
|
69767
|
-
"material-light-thick": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-100"], 0.66),
|
|
69768
|
-
"material-dark-thin": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-900"], 0.1),
|
|
69769
|
-
"material-dark-average": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-900"], 0.33),
|
|
69770
|
-
"material-dark-thick": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-900"], 0.66),
|
|
69771
|
-
};
|
|
69772
|
-
// Add some other extra colors that are not part of the public theme
|
|
69773
|
-
const opacityVariants = {
|
|
69774
|
-
// opacity variants
|
|
69775
|
-
"grey-100-005": getHexColorFromOpacityPercentage(fullPublicTheme.color["grey-100"], 0.05),
|
|
69776
|
-
// color representing the blend of material-light and grey-900
|
|
69777
|
-
"material-light-blend-grey-900": (_a = blendColors(materialVariants["material-light-thin"], fullPublicTheme.color["grey-900"])) !== null && _a !== void 0 ? _a : "",
|
|
69778
|
-
// color representing the blend of material-light and grey-300
|
|
69779
|
-
"material-light-blend-grey-800": (_b = blendColors(materialVariants["material-light-thin"], fullPublicTheme.color["grey-800"])) !== null && _b !== void 0 ? _b : "",
|
|
69780
|
-
};
|
|
69781
|
-
const defaultButtonColors = {
|
|
69782
|
-
"button-lg-primary-bg": fullPublicTheme.color["royal-500"],
|
|
69783
|
-
"button-lg-primary-text": fullPublicTheme.color[themeType === "light" ? "grey-900" : "grey-100"],
|
|
69784
|
-
"button-lg-secondary-bg": fullPublicTheme.color["grey-100"],
|
|
69785
|
-
"button-lg-secondary-text": fullPublicTheme.color["grey-800"],
|
|
69786
|
-
"button-lg-tertiary-bg": fullPublicTheme.color["grey-800"],
|
|
69787
|
-
"button-lg-tertiary-text": fullPublicTheme.color["grey-300"],
|
|
69788
|
-
"button-md-primary-bg": fullPublicTheme.color["royal-500"],
|
|
69789
|
-
"button-md-primary-text": fullPublicTheme.color[themeType === "light" ? "grey-900" : "grey-100"],
|
|
69790
|
-
"button-md-secondary-bg": fullPublicTheme.color["grey-100"],
|
|
69791
|
-
"button-md-secondary-text": fullPublicTheme.color["grey-800"],
|
|
69792
|
-
"button-md-tertiary-bg": fullPublicTheme.color["grey-800"],
|
|
69793
|
-
"button-md-tertiary-text": fullPublicTheme.color["grey-300"],
|
|
69794
|
-
"button-sm-primary-bg": fullPublicTheme.color["royal-500"],
|
|
69795
|
-
"button-sm-primary-text": fullPublicTheme.color[themeType === "light" ? "grey-900" : "grey-100"],
|
|
69796
|
-
"button-sm-secondary-bg": fullPublicTheme.color["grey-100"],
|
|
69797
|
-
"button-sm-secondary-text": fullPublicTheme.color["grey-800"],
|
|
69798
|
-
"button-sm-tertiary-bg": fullPublicTheme.color["grey-800"],
|
|
69799
|
-
"button-sm-tertiary-text": fullPublicTheme.color["grey-300"],
|
|
69800
|
-
};
|
|
69801
|
-
const defaultInputColors = {
|
|
69802
|
-
"input-placeholder": fullPublicTheme.color["grey-600"],
|
|
69803
|
-
"input-text": fullPublicTheme.color["grey-300"],
|
|
69804
|
-
"input-selection": fullPublicTheme.color["grey-300"],
|
|
69805
|
-
"input-bg": fullPublicTheme.color["grey-900"],
|
|
69806
|
-
};
|
|
69807
|
-
const defaultAnimationColors = {
|
|
69808
|
-
"animation-bg": fullPublicTheme.color["royal-500"],
|
|
69809
|
-
"animation-text": fullPublicTheme.color[themeType === "light" ? "grey-900" : "grey-100"],
|
|
69810
|
-
};
|
|
69811
|
-
const defaultModalColors = {
|
|
69812
|
-
"modal-backdrop": materialVariants["material-dark-average"],
|
|
69813
|
-
};
|
|
69814
|
-
const defaultMenuColors = {
|
|
69815
|
-
"menu-bg": materialVariants["material-dark-thick"],
|
|
69816
|
-
"menu-text": materialVariants["material-light-thick"],
|
|
69817
|
-
"menu-backdrop": materialVariants["material-light-thin"],
|
|
69818
|
-
};
|
|
69819
|
-
// Adds the internal colors and any missing config to the full theme
|
|
69820
|
-
const fullTheme = deepmerge$1({
|
|
69821
|
-
color: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, materialVariants), opacityVariants), defaultButtonColors), defaultInputColors), defaultAnimationColors), defaultModalColors), defaultMenuColors),
|
|
69822
|
-
}, fullPublicTheme);
|
|
69823
|
-
return flatten(fullTheme, {
|
|
69824
|
-
prefix: THEME_CSS_VARIABLE_PREFIX,
|
|
69825
|
-
});
|
|
69826
|
-
};
|
|
69827
|
-
const remToPx = (rem, baseFontSize = 16) => {
|
|
69828
|
-
if (typeof rem === "string")
|
|
69829
|
-
return Number(rem.replace("rem", "")) * baseFontSize;
|
|
69830
|
-
return rem * baseFontSize;
|
|
69831
|
-
};
|
|
69832
|
-
const pxToRem = (px, baseFontSize = 16) => {
|
|
69833
|
-
if (typeof px === "string")
|
|
69834
|
-
return Number(px.replace("px", "")) / baseFontSize;
|
|
69835
|
-
return px / baseFontSize;
|
|
69836
|
-
};
|
|
69837
|
-
function getContrastColor({ r, g, b, }, threshold = 128) {
|
|
69838
|
-
const brightness = (r * 299 + g * 587 + b * 114) / 1000;
|
|
69839
|
-
return brightness >= threshold ? "dark" : "light";
|
|
69840
|
-
}
|
|
69841
|
-
/**
|
|
69842
|
-
* Returns a hexadecimal color with opacity based on the given color and opacity percentage.
|
|
69843
|
-
*
|
|
69844
|
-
* @example getHexColorFromOpacityPercentage('#FF0000', 0.5) // '#FF000080'
|
|
69845
|
-
*
|
|
69846
|
-
* @param {string} color - The base color in hexadecimal format.
|
|
69847
|
-
* @param {number} opacity - The opacity percentage (0-1).
|
|
69848
|
-
* @returns {string} The hexadecimal color with opacity.
|
|
69849
|
-
*/
|
|
69850
|
-
function getHexColorFromOpacityPercentage(color, opacity) {
|
|
69851
|
-
return (color +
|
|
69852
|
-
Math.round(opacity * 255)
|
|
69853
|
-
.toString(16)
|
|
69854
|
-
.padStart(2, "0")).toUpperCase();
|
|
69855
|
-
}
|
|
69856
|
-
function hexToRgb(hex) {
|
|
69857
|
-
var _a;
|
|
69858
|
-
// Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
|
|
69859
|
-
const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i;
|
|
69860
|
-
const cleanHex = hex.replace(shorthandRegex, function (m, r, g, b, a) {
|
|
69861
|
-
return r + r + g + g + b + b + (a != null ? a + a : "");
|
|
69862
|
-
});
|
|
69863
|
-
const [, r, g, b, a] = ((_a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(cleanHex)) !== null && _a !== void 0 ? _a : []);
|
|
69864
|
-
if (r == null || g == null || b == null)
|
|
69865
|
-
return null;
|
|
69866
|
-
return {
|
|
69867
|
-
r: parseInt(r, 16),
|
|
69868
|
-
g: parseInt(g, 16),
|
|
69869
|
-
b: parseInt(b, 16),
|
|
69870
|
-
a: a != null ? parseInt(a, 16) / 255 : 1,
|
|
69871
|
-
};
|
|
69872
|
-
}
|
|
69873
|
-
function rgbToHex(r, g, b) {
|
|
69874
|
-
return ("#" +
|
|
69875
|
-
[r, g, b]
|
|
69876
|
-
.map((x) => {
|
|
69877
|
-
const hex = x.toString(16);
|
|
69878
|
-
return hex.length === 1 ? "0" + hex : hex;
|
|
69879
|
-
})
|
|
69880
|
-
.join(""));
|
|
69881
|
-
}
|
|
69882
|
-
// Example usage:
|
|
69883
|
-
// let foregroundColor = '#FBFBFD1A'
|
|
69884
|
-
// let bgColor = '#17191C'
|
|
69885
|
-
// let resultingColor = blendColors(foregroundColor, bgColor)
|
|
69886
|
-
// console.log(resultingColor) // Output: ~#2f3033
|
|
69887
|
-
function blendColors(foreground, background) {
|
|
69888
|
-
const fg = hexToRgb(foreground);
|
|
69889
|
-
const bg = hexToRgb(background);
|
|
69890
|
-
if (fg == null || bg == null)
|
|
69891
|
-
return null;
|
|
69892
|
-
const r = Math.round(fg.r * fg.a + bg.r * (1 - fg.a));
|
|
69893
|
-
const g = Math.round(fg.g * fg.a + bg.g * (1 - fg.a));
|
|
69894
|
-
const b = Math.round(fg.b * fg.a + bg.b * (1 - fg.a));
|
|
69895
|
-
return rgbToHex(r, g, b);
|
|
69896
|
-
}
|
|
69897
|
-
function adjustColorForContrast(foreground, background, factor = 1) {
|
|
69898
|
-
const fg = parseColor(foreground);
|
|
69899
|
-
const bg = parseColor(background);
|
|
69900
|
-
if (fg == null || bg == null)
|
|
69901
|
-
return null;
|
|
69902
|
-
const r = Math.round(fg.r * (1 - factor) + bg.r * factor);
|
|
69903
|
-
const g = Math.round(fg.g * (1 - factor) + bg.g * factor);
|
|
69904
|
-
const b = Math.round(fg.b * (1 - factor) + bg.b * factor);
|
|
69905
|
-
return rgbToHex(r, g, b);
|
|
69906
|
-
}
|
|
69907
|
-
const isValidHexColor = (hex) => {
|
|
69908
|
-
return /^#([0-9A-F]{3}|[0-9A-F]{6}|[0-9A-F]{4}|[0-9A-F]{8})$/i.test(hex);
|
|
69909
|
-
};
|
|
69910
|
-
function parseColor(color) {
|
|
69911
|
-
var _a, _b, _c, _d;
|
|
69912
|
-
if (color.startsWith("#")) {
|
|
69913
|
-
return hexToRgb(color);
|
|
69914
|
-
}
|
|
69915
|
-
else if (color.startsWith("rgb")) {
|
|
69916
|
-
const match = color.match(/\d+(\.\d+)?/g);
|
|
69917
|
-
if (match) {
|
|
69918
|
-
return {
|
|
69919
|
-
r: parseInt((_a = match[0]) !== null && _a !== void 0 ? _a : "0"),
|
|
69920
|
-
g: parseInt((_b = match[1]) !== null && _b !== void 0 ? _b : "0"),
|
|
69921
|
-
b: parseInt((_c = match[2]) !== null && _c !== void 0 ? _c : "0"),
|
|
69922
|
-
a: match[3] ? parseFloat((_d = match[3]) !== null && _d !== void 0 ? _d : "0") : 1,
|
|
69923
|
-
};
|
|
69924
|
-
}
|
|
69925
|
-
}
|
|
69926
|
-
return null;
|
|
69927
|
-
}
|
|
69928
|
-
const getColorBrightness = (color) => {
|
|
69929
|
-
const rgb = parseColor(color);
|
|
69930
|
-
if (!rgb)
|
|
69931
|
-
return 0;
|
|
69932
|
-
return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
|
|
69933
|
-
};
|
|
69934
|
-
const getWalletCardBackground = (colors) => {
|
|
69935
|
-
if (colors.length >= 3) {
|
|
69936
|
-
return `linear-gradient(73deg, ${colors[0]} 8.18%, ${colors[1]} 50.16%, ${colors[2]} 91.82%)`;
|
|
69937
|
-
}
|
|
69938
|
-
if (colors.length === 2) {
|
|
69939
|
-
return `linear-gradient(73deg, ${colors[0]} 8.18%, ${colors[1]} 50.16%)`;
|
|
69940
|
-
}
|
|
69941
|
-
return colors[0];
|
|
69942
|
-
};
|
|
69943
|
-
|
|
69944
69966
|
function ThemeProvider(_a) {
|
|
69945
69967
|
var { theme = lightTheme, children, themeType = "light", settings } = _a, props = __rest$1(_a, ["theme", "children", "themeType", "settings"]);
|
|
69946
69968
|
const parsedStyle = parseSquidTheme(theme, themeType);
|
|
@@ -69970,6 +69992,7 @@ exports.Approve = Approve;
|
|
|
69970
69992
|
exports.ApproveAction = ApproveAction;
|
|
69971
69993
|
exports.ArrowBottomTopIcon = ArrowBottomTopIcon;
|
|
69972
69994
|
exports.ArrowButton = ArrowButton;
|
|
69995
|
+
exports.ArrowCornerDownLeftIcon = ArrowCornerDownLeftIcon;
|
|
69973
69996
|
exports.ArrowCornerDownRightIcon = ArrowCornerDownRightIcon;
|
|
69974
69997
|
exports.ArrowDownIcon = ArrowDownIcon;
|
|
69975
69998
|
exports.ArrowExpandIcon = ArrowExpandIcon;
|
|
@@ -70047,7 +70070,6 @@ exports.CompassRoundSolidIcon = CompassRoundSolidIcon;
|
|
|
70047
70070
|
exports.ConsoleIcon = ConsoleIcon;
|
|
70048
70071
|
exports.Copy2Icon = Copy2Icon;
|
|
70049
70072
|
exports.CopyOutlinedIcon = CopyOutlinedIcon;
|
|
70050
|
-
exports.CrossAnimatedIcon = CrossAnimatedIcon;
|
|
70051
70073
|
exports.CrossedOutSunSolidIcon = CrossedOutSunSolidIcon;
|
|
70052
70074
|
exports.DashboardFast = DashboardFast;
|
|
70053
70075
|
exports.DepositAddressView = DepositAddressView;
|
|
@@ -70066,11 +70088,13 @@ exports.DollarSolidIcon = DollarSolidIcon;
|
|
|
70066
70088
|
exports.DotGrid1x3HorizontalIcon = DotGrid1x3HorizontalIcon;
|
|
70067
70089
|
exports.DropdownMenu = DropdownMenu;
|
|
70068
70090
|
exports.DropdownMenuItem = DropdownMenuItem;
|
|
70091
|
+
exports.DropdownMenuSeparator = DropdownMenuSeparator;
|
|
70069
70092
|
exports.DropdownMenuTitle = DropdownMenuTitle;
|
|
70070
70093
|
exports.EmojiMeh = EmojiMeh;
|
|
70071
70094
|
exports.EmojiSadIcon = EmojiSadIcon;
|
|
70072
70095
|
exports.EmptyHeartIcon = EmptyHeartIcon;
|
|
70073
70096
|
exports.ErrorMessage = ErrorMessage;
|
|
70097
|
+
exports.EscKeyIcon = EscKeyIcon;
|
|
70074
70098
|
exports.EthereumIcon = EthereumIcon;
|
|
70075
70099
|
exports.ExplosionIcon = ExplosionIcon;
|
|
70076
70100
|
exports.EyeOpenIcon = EyeOpenIcon;
|
|
@@ -70086,6 +70110,7 @@ exports.FilterAscendingIcon = FilterAscendingIcon;
|
|
|
70086
70110
|
exports.FilterButton = FilterButton;
|
|
70087
70111
|
exports.FilterIcon = FilterIcon;
|
|
70088
70112
|
exports.FilterTimelineIcon = FilterTimelineIcon;
|
|
70113
|
+
exports.FireIcon = FireIcon;
|
|
70089
70114
|
exports.GasIcon = GasIcon;
|
|
70090
70115
|
exports.GhostIcon = GhostIcon;
|
|
70091
70116
|
exports.GithubIcon = GithubIcon;
|
|
@@ -70134,6 +70159,7 @@ exports.ModalContent = ModalContent;
|
|
|
70134
70159
|
exports.ModalContentDivider = ModalContentDivider;
|
|
70135
70160
|
exports.ModalTitle = ModalTitle;
|
|
70136
70161
|
exports.MoneyBagIcon = MoneyBagIcon;
|
|
70162
|
+
exports.MoneyBagSolidIcon = MoneyBagSolidIcon;
|
|
70137
70163
|
exports.MoonIcon = MoonIcon;
|
|
70138
70164
|
exports.NavigationBar = NavigationBar;
|
|
70139
70165
|
exports.NewsIcon = NewsIcon;
|
|
@@ -70167,6 +70193,7 @@ exports.ReorderIcon = ReorderIcon;
|
|
|
70167
70193
|
exports.RouteStep = RouteStep;
|
|
70168
70194
|
exports.STEP_ITEM_HEIGHT = STEP_ITEM_HEIGHT;
|
|
70169
70195
|
exports.SearchIcon = SearchIcon;
|
|
70196
|
+
exports.SearchMenuIcon = SearchMenuIcon;
|
|
70170
70197
|
exports.SectionTitle = SectionTitle;
|
|
70171
70198
|
exports.SendTokensAction = SendTokensAction;
|
|
70172
70199
|
exports.SettingsButton = SettingsButton;
|
|
@@ -70188,7 +70215,9 @@ exports.SquareArrowTopRight2Icon = SquareArrowTopRight2Icon;
|
|
|
70188
70215
|
exports.SquidLogo = SquidLogo;
|
|
70189
70216
|
exports.SquidVector = SquidVector;
|
|
70190
70217
|
exports.StakeAction = StakeAction;
|
|
70218
|
+
exports.StarFilledIcon = StarFilledIcon;
|
|
70191
70219
|
exports.StarLinesIcon = StarLinesIcon;
|
|
70220
|
+
exports.StarOutlinedIcon = StarOutlinedIcon;
|
|
70192
70221
|
exports.StartAction = StartAction;
|
|
70193
70222
|
exports.StocksIcon = StocksIcon;
|
|
70194
70223
|
exports.SuccessAction = SuccessAction;
|
|
@@ -70243,12 +70272,13 @@ exports.TransactionViewLayout = TransactionViewLayout;
|
|
|
70243
70272
|
exports.Transfer = Transfer;
|
|
70244
70273
|
exports.TranslateIcon = TranslateIcon;
|
|
70245
70274
|
exports.TriangleExclamation = TriangleExclamation;
|
|
70275
|
+
exports.TrophyIcon = TrophyIcon;
|
|
70246
70276
|
exports.TxProgressViewHeader = TxProgressViewHeader;
|
|
70247
70277
|
exports.UnsupportedPairNotice = UnsupportedPairNotice;
|
|
70248
70278
|
exports.UsdAmount = UsdAmount;
|
|
70249
|
-
exports.WalletFilledIcon = WalletFilledIcon;
|
|
70250
70279
|
exports.WalletIcon = WalletIcon;
|
|
70251
70280
|
exports.WalletLink = WalletLink;
|
|
70281
|
+
exports.WalletOutlinedIcon = WalletOutlinedIcon;
|
|
70252
70282
|
exports.WrapAction = WrapAction;
|
|
70253
70283
|
exports.XSocialIcon = XSocialIcon;
|
|
70254
70284
|
exports.adjustColorForContrast = adjustColorForContrast;
|