@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.
Files changed (47) hide show
  1. package/dist/cjs/index.js +421 -391
  2. package/dist/cjs/types/components/badges/ImageGroup.d.ts +1 -1
  3. package/dist/cjs/types/components/icons/Arrow.d.ts +6 -1
  4. package/dist/cjs/types/components/icons/Generic.d.ts +29 -0
  5. package/dist/cjs/types/components/icons/Wallet.d.ts +1 -1
  6. package/dist/cjs/types/components/icons/index.d.ts +0 -1
  7. package/dist/cjs/types/components/layout/DropdownMenu.d.ts +1 -0
  8. package/dist/cjs/types/components/layout/NavigationBar.d.ts +1 -2
  9. package/dist/cjs/types/components/lists/TokenGroup.d.ts +2 -1
  10. package/dist/cjs/types/components/navigation/Tabs.d.ts +2 -5
  11. package/dist/cjs/types/core/constants.d.ts +1 -1
  12. package/dist/cjs/types/core/design-system.d.ts +1 -0
  13. package/dist/cjs/types/services/internal/colorService.d.ts +2 -2
  14. package/dist/cjs/types/stories/badges/ImageGroup.stories.d.ts +3 -2
  15. package/dist/cjs/types/stories/controls/Input.stories.d.ts +1 -1
  16. package/dist/cjs/types/stories/layout/NavigationBar.stories.d.ts +0 -1
  17. package/dist/cjs/types/stories/layout/SwapConfiguration.stories.d.ts +0 -2
  18. package/dist/cjs/types/stories/lists/ListItem.stories.d.ts +1 -0
  19. package/dist/cjs/types/stories/lists/TokenGroup.stories.d.ts +1 -0
  20. package/dist/cjs/types/stories/navigation/Tabs.stories.d.ts +0 -1
  21. package/dist/esm/index.js +412 -390
  22. package/dist/esm/types/components/badges/ImageGroup.d.ts +1 -1
  23. package/dist/esm/types/components/icons/Arrow.d.ts +6 -1
  24. package/dist/esm/types/components/icons/Generic.d.ts +29 -0
  25. package/dist/esm/types/components/icons/Wallet.d.ts +1 -1
  26. package/dist/esm/types/components/icons/index.d.ts +0 -1
  27. package/dist/esm/types/components/layout/DropdownMenu.d.ts +1 -0
  28. package/dist/esm/types/components/layout/NavigationBar.d.ts +1 -2
  29. package/dist/esm/types/components/lists/TokenGroup.d.ts +2 -1
  30. package/dist/esm/types/components/navigation/Tabs.d.ts +2 -5
  31. package/dist/esm/types/core/constants.d.ts +1 -1
  32. package/dist/esm/types/core/design-system.d.ts +1 -0
  33. package/dist/esm/types/services/internal/colorService.d.ts +2 -2
  34. package/dist/esm/types/stories/badges/ImageGroup.stories.d.ts +3 -2
  35. package/dist/esm/types/stories/controls/Input.stories.d.ts +1 -1
  36. package/dist/esm/types/stories/layout/NavigationBar.stories.d.ts +0 -1
  37. package/dist/esm/types/stories/layout/SwapConfiguration.stories.d.ts +0 -2
  38. package/dist/esm/types/stories/lists/ListItem.stories.d.ts +1 -0
  39. package/dist/esm/types/stories/lists/TokenGroup.stories.d.ts +1 -0
  40. package/dist/esm/types/stories/navigation/Tabs.stories.d.ts +0 -1
  41. package/dist/index.css +1 -1
  42. package/dist/index.d.ts +48 -22
  43. package/package.json +1 -1
  44. package/dist/cjs/types/components/icons/CrossAnimatedIcon.d.ts +0 -7
  45. package/dist/cjs/types/stories/controls/LargeNumericInput.stories.d.ts +0 -6
  46. package/dist/esm/types/components/icons/CrossAnimatedIcon.d.ts +0 -7
  47. 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
- small: "tw-h-squid-xl tw-w-squid-xl tw-rounded-squid-xs",
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: "24px",
3724
- height: "24px",
3725
- borderRadius: "7.5px",
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: "16px",
3729
- height: "16px",
3730
- borderRadius: "5px",
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-gap-0.5 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 !== "small" && (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" })) }))] }));
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: "16", height: "16", 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" }) }));
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 WalletFilledIcon({ size = "24" }) {
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.jsx("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.jsxs("label", { className: "tw-flex tw-max-w-full tw-cursor-text tw-items-center tw-overflow-hidden tw-rounded-squid-l tw-px-squid-s tw-py-squid-xxs focus-within:tw-bg-material-light-thin hover:tw-bg-material-light-thin", 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-[calc(100%-3.125rem)] 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: () => {
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-min-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 }) }));
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, paddingRight = 0 } = _a, props = __rest$1(_a, ["title", "displayBackButton", "logoUrl", "transparent", "displayButtonShadows", "onBackButtonClick", "actions", "isLoading", "subtitle", "paddingRight"]);
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]"), style: { paddingRight: paddingRight ? `${paddingRight}px` : undefined }, children: [displayBackButton ? (jsxRuntime.jsx(Button$1, { className: displayButtonShadows
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: "small", imageUrls: imageGroup })) : (jsxRuntime.jsx(BadgeImage, { image: {
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(WalletFilledIcon, {}), 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 })] }) })] }));
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(WalletFilledIcon, {}), 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 })] }) })] })] }));
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(WalletFilledIcon, {}), 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 })] }) })] }));
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(WalletFilledIcon, {}), 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 })] }) })] }));
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("div", { className: "tw-relative tw-flex tw-w-full tw-flex-col", children: [isLoading && (jsxRuntime.jsx("div", { className: "tw-pointer-events-none tw-absolute tw-inset-0 tw-top-squid-xxs tw-z-10 tw-overflow-hidden", children: jsxRuntime.jsx("div", { className: "tw-h-full tw-w-[78.75rem] tw-animate-move-loading-cover-to-right tw-bg-dark-cover" }) })), isInteractive && !isLoading ? (jsxRuntime.jsxs("form", { className: containerClassname, onSubmit: (e) => {
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-cursor-default 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
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, isDisabled = false, }) {
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, isDisabled: !!tab.isDisabled || !!isDisabled })))), !isDisabled && (jsxRuntime.jsx(motion.div, { className: "tw-absolute tw-bottom-0 tw-h-0.5 tw-rounded-[1px] tw-bg-royal-500", animate: {
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, isDisabled } = _a, props = __rest$1(_a, ["label", "isActive", "size", "isDisabled"]);
28011
- return (jsxRuntime.jsxs("button", Object.assign({}, props, { disabled: isDisabled, "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: {
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", !isDisabled && "group-hover/tab-button:tw-bg-material-light-thin") }))] })));
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(WalletFilledIcon, { 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)
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(WalletFilledIcon, { 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: () => {
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;