@dhedge/trading-widget 0.0.1

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 (134) hide show
  1. package/components/common/badge/token-badge/token-badge.d.ts +13 -0
  2. package/components/common/balance/balance.d.ts +7 -0
  3. package/components/common/button/action-button/action-button.d.ts +10 -0
  4. package/components/common/button/disabled-button-with-prompt/disabled-button-with-prompt.d.ts +6 -0
  5. package/components/common/button/icon-button/icon-button.d.ts +9 -0
  6. package/components/common/button/max-balance-button/max-balance-button.d.ts +6 -0
  7. package/components/common/icon/token-icon/token-icon.d.ts +14 -0
  8. package/components/common/index.d.ts +18 -0
  9. package/components/common/layout/balance/balance.d.ts +2 -0
  10. package/components/common/layout/index.d.ts +16 -0
  11. package/components/common/layout/input-group/input-group.d.ts +2 -0
  12. package/components/common/layout/meta/meta.d.ts +2 -0
  13. package/components/common/layout/overlay/overlay.d.ts +2 -0
  14. package/components/common/layout/panel/panel.d.ts +2 -0
  15. package/components/common/layout/settings/settings-popover/settings-popover.d.ts +8 -0
  16. package/components/common/layout/settings/settings.d.ts +2 -0
  17. package/components/common/meta/transaction-disclosure/transaction-disclosure-item/transaction-disclosure-item.d.ts +12 -0
  18. package/components/common/meta/transaction-disclosure/transaction-disclosure.d.ts +11 -0
  19. package/components/common/overlay/pending-overlay/pending-overlay.d.ts +7 -0
  20. package/components/common/settings/settings-option/settings-option.d.ts +7 -0
  21. package/components/common/skeleton/skeleton.d.ts +8 -0
  22. package/components/common/spinner/spinner.d.ts +8 -0
  23. package/components/common/switch/switch.d.ts +10 -0
  24. package/components/common/tab/tab-button/tab-button.d.ts +7 -0
  25. package/components/common/tooltip/info-tooltip/info-tooltip.d.ts +6 -0
  26. package/components/common/tooltip/tooltip-icon/tooltip-icon.d.ts +7 -0
  27. package/components/common/tooltip/tooltip-wrapper/tooltip-wrapper.d.ts +7 -0
  28. package/components/default-examples/image/image.d.ts +3 -0
  29. package/components/deposit/balance/balance.d.ts +2 -0
  30. package/components/deposit/balance/balance.hooks.d.ts +4 -0
  31. package/components/deposit/button/trade-button/trade-button.d.ts +2 -0
  32. package/components/deposit/button/valid-deposit-button/valid-deposit-button.d.ts +2 -0
  33. package/components/deposit/button/valid-deposit-button/valid-deposit-button.hooks.d.ts +15 -0
  34. package/components/deposit/index.d.ts +2 -0
  35. package/components/deposit/input-group/input-group.d.ts +1 -0
  36. package/components/deposit/input-group/input-group.hooks.d.ts +25 -0
  37. package/components/deposit/meta/meta.d.ts +2 -0
  38. package/components/deposit/meta/transaction-disclosure/transaction-disclosure.d.ts +1 -0
  39. package/components/deposit/meta/transaction-disclosure/transaction-disclosure.hooks.d.ts +15 -0
  40. package/components/deposit/settings/deposit-fee-switch/deposit-fee-switch.d.ts +1 -0
  41. package/components/deposit/settings/deposit-fee-switch/deposit-fee-switch.hooks.d.ts +5 -0
  42. package/components/deposit/settings/deposit-settings/deposit-settings.d.ts +2 -0
  43. package/components/deposit/settings/deposit-settings/deposit-settings.hooks.d.ts +5 -0
  44. package/components/deposit/tab-panel/tab-panel.d.ts +3 -0
  45. package/components/deposit/tab-panel/tab-panel.hooks.d.ts +1 -0
  46. package/components/index.d.ts +3 -0
  47. package/components/widget/widget-buttons/approve-button/approve-button.d.ts +3 -0
  48. package/components/widget/widget-buttons/approve-button/approve-button.hooks.d.ts +8 -0
  49. package/components/widget/widget-buttons/connect-wallet-button/connect-wallet-button.d.ts +2 -0
  50. package/components/widget/widget-buttons/index.d.ts +3 -0
  51. package/components/widget/widget-buttons/switch-network-button/switch-network-button.d.ts +1 -0
  52. package/components/widget/widget-buttons/valid-network-button/valid-network-button.d.ts +2 -0
  53. package/components/widget/widget-buttons/valid-network-button/valid-network-button.hooks.d.ts +4 -0
  54. package/components/widget/widget-input/asset-composition-table/asset-composition-table.d.ts +2 -0
  55. package/components/widget/widget-input/asset-composition-table/asset-composition-table.hooks.d.ts +9 -0
  56. package/components/widget/widget-input/index.d.ts +1 -0
  57. package/components/widget/widget-input/token-selector/token-selector.d.ts +3 -0
  58. package/components/widget/widget-input/token-selector/token-selector.hooks.d.ts +7 -0
  59. package/components/widget/widget-input/widget-input.d.ts +3 -0
  60. package/components/widget/widget-input/widget-input.hooks.d.ts +27 -0
  61. package/components/widget/widget-input/widget-input.utils.d.ts +3 -0
  62. package/components/widget/widget-meta/exchange-rate/exchange-rate.d.ts +6 -0
  63. package/components/widget/widget-meta/index.d.ts +1 -0
  64. package/components/widget/widget-overlay/index.d.ts +1 -0
  65. package/components/widget/widget-overlay/pending-approval-overlay/pending-approval-overlay.d.ts +2 -0
  66. package/components/widget/widget-overlay/pending-approval-overlay/pending-approval-overlay.hooks.d.ts +3 -0
  67. package/components/widget/widget-settings/index.d.ts +2 -0
  68. package/components/widget/widget-settings/slippage-selector/slippage-selector.d.ts +2 -0
  69. package/components/widget/widget-settings/slippage-selector/slippage-selector.hooks.d.ts +15 -0
  70. package/components/widget/widget-settings/token-allowance-switch/token-allowance-switch.d.ts +1 -0
  71. package/components/widget/widget-settings/widget-settings.d.ts +7 -0
  72. package/components/widget/widget-tabs/widget-tabs.d.ts +2 -0
  73. package/components/widget/widget.d.ts +2 -0
  74. package/components/widget/widget.hooks.d.ts +5 -0
  75. package/components/withdraw/balance/balance.d.ts +2 -0
  76. package/components/withdraw/balance/balance.hooks.d.ts +4 -0
  77. package/components/withdraw/button/trade-button/trade-button.d.ts +2 -0
  78. package/components/withdraw/button/valid-withdraw-button/valid-withdraw-button.d.ts +2 -0
  79. package/components/withdraw/button/valid-withdraw-button/valid-withdraw-button.hooks.d.ts +14 -0
  80. package/components/withdraw/index.d.ts +2 -0
  81. package/components/withdraw/input-group/input-group.d.ts +1 -0
  82. package/components/withdraw/input-group/input-group.hooks.d.ts +23 -0
  83. package/components/withdraw/meta/meta.d.ts +2 -0
  84. package/components/withdraw/meta/transaction-disclosure/transaction-disclosure.d.ts +1 -0
  85. package/components/withdraw/meta/transaction-disclosure/transaction-disclosure.hooks.d.ts +14 -0
  86. package/components/withdraw/settings/withdraw-settings/withdraw-settings.d.ts +2 -0
  87. package/components/withdraw/tab-panel/tab-panel.d.ts +2 -0
  88. package/components/withdraw/tab-panel/tab-panel.hooks.d.ts +1 -0
  89. package/constants/synthetix-v3.d.ts +2 -0
  90. package/constants/tab.d.ts +1 -0
  91. package/hooks/index.d.ts +7 -0
  92. package/hooks/use-crypto-icon.d.ts +3 -0
  93. package/hooks/use-get-slippage-placeholder.d.ts +2 -0
  94. package/hooks/use-get-theme-type-by-slippage.d.ts +2 -0
  95. package/hooks/use-high-slippage-check.d.ts +5 -0
  96. package/hooks/use-synthetix-withdrawal-window.d.ts +4 -0
  97. package/hooks/use-trading-type-name.d.ts +2 -0
  98. package/hooks/use-user-staked-pools.d.ts +5 -0
  99. package/hooks/use-user-vault-balance.d.ts +3 -0
  100. package/hooks/use-user-vaults-balances.d.ts +2 -0
  101. package/index.d.ts +1 -0
  102. package/index.js +337 -0
  103. package/index.mjs +54443 -0
  104. package/native-15074a2a.mjs +15 -0
  105. package/native-243c3d4c.js +1 -0
  106. package/package.json +22 -0
  107. package/providers/component-provider/component-provider.d.ts +11 -0
  108. package/providers/component-provider/component-provider.hooks.d.ts +9 -0
  109. package/providers/component-provider/component-provider.types.d.ts +19 -0
  110. package/providers/component-provider/index.d.ts +3 -0
  111. package/providers/config-provider/config-provider.d.ts +4 -0
  112. package/providers/config-provider/config-provider.defaults.d.ts +3 -0
  113. package/providers/config-provider/config-provider.hooks.d.ts +3 -0
  114. package/providers/config-provider/config-provider.types.d.ts +27 -0
  115. package/providers/config-provider/index.d.ts +4 -0
  116. package/providers/index.d.ts +12 -0
  117. package/providers/theme-provider/index.d.ts +2 -0
  118. package/providers/theme-provider/theme-provider.d.ts +3 -0
  119. package/providers/theme-provider/theme-provider.types.d.ts +51 -0
  120. package/providers/translation-provider/index.d.ts +3 -0
  121. package/providers/translation-provider/translation-provider.d.ts +4 -0
  122. package/providers/translation-provider/translation-provider.defaults.d.ts +2 -0
  123. package/providers/translation-provider/translation-provider.hooks.d.ts +1 -0
  124. package/providers/translation-provider/translation-provider.types.d.ts +57 -0
  125. package/style.css +1 -0
  126. package/theme/colors.d.ts +49 -0
  127. package/types/balance.types.d.ts +9 -0
  128. package/types/index.d.ts +4 -0
  129. package/types/staking.types.d.ts +6 -0
  130. package/types/synthetix-v3.types.d.ts +24 -0
  131. package/types/theme.types.d.ts +9 -0
  132. package/utils/format.d.ts +6 -0
  133. package/utils/icon.d.ts +2 -0
  134. package/utils/synthetix-v3.d.ts +39 -0
@@ -0,0 +1,15 @@
1
+ function e() {
2
+ if (typeof WebSocket < "u")
3
+ return WebSocket;
4
+ if (typeof global.WebSocket < "u")
5
+ return global.WebSocket;
6
+ if (typeof window.WebSocket < "u")
7
+ return window.WebSocket;
8
+ if (typeof self.WebSocket < "u")
9
+ return self.WebSocket;
10
+ throw new Error("`WebSocket` is not supported in this environment");
11
+ }
12
+ const t = e();
13
+ export {
14
+ t as WebSocket
15
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function e(){if(typeof WebSocket<"u")return WebSocket;if(typeof global.WebSocket<"u")return global.WebSocket;if(typeof window.WebSocket<"u")return window.WebSocket;if(typeof self.WebSocket<"u")return self.WebSocket;throw new Error("`WebSocket` is not supported in this environment")}const t=e();exports.WebSocket=t;
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@dhedge/trading-widget",
3
+ "version": "0.0.1",
4
+ "dependencies": {
5
+ "@dhedge/core-ui-kit": "*",
6
+ "classnames": "^2.5.1",
7
+ "@heroicons/react": "^2.1.1",
8
+ "@headlessui/react": "^1.7.18",
9
+ "react-popper-tooltip": "^4.4.2",
10
+ "bignumber.js": "^9.1.2",
11
+ "lodash.isnumber": "^3.0.3",
12
+ "date-fns": "^2.30.0",
13
+ "@date-fns/utc": "^1.1.1"
14
+ },
15
+ "main": "dist/index.js",
16
+ "module": "dist/index.mjs",
17
+ "typings": "dist/index.d.ts",
18
+ "peerDependencies": {
19
+ "react": ">=18.2.0",
20
+ "wagmi": "^2.5.4"
21
+ }
22
+ }
@@ -0,0 +1,11 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ import type { ComponentProviderProps } from './component-provider.types';
3
+ export declare const ComponentProviderContext: import("react").Context<Partial<{
4
+ GeoBlockAlert?: import("react").ComponentType | undefined;
5
+ DepositMetaInfo?: import("react").ComponentType | undefined;
6
+ WithdrawMetaInfo?: import("react").ComponentType | undefined;
7
+ ExtraActionButton?: import("react").ComponentType | undefined;
8
+ Image?: import("react").ComponentType<import("./component-provider.types").ImageProps> | undefined;
9
+ LogoSpinner?: import("react").ComponentType<import("react").SVGProps<SVGElement>> | undefined;
10
+ } | undefined>>;
11
+ export declare const ComponentProvider: FC<PropsWithChildren<ComponentProviderProps>>;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export declare const useComponentContext: () => Partial<{
3
+ GeoBlockAlert?: import("react").ComponentType | undefined;
4
+ DepositMetaInfo?: import("react").ComponentType | undefined;
5
+ WithdrawMetaInfo?: import("react").ComponentType | undefined;
6
+ ExtraActionButton?: import("react").ComponentType | undefined;
7
+ Image?: import("react").ComponentType<import("./component-provider.types").ImageProps> | undefined;
8
+ LogoSpinner?: import("react").ComponentType<import("react").SVGProps<SVGElement>> | undefined;
9
+ }>;
@@ -0,0 +1,19 @@
1
+ import type { ComponentType, SVGProps } from 'react';
2
+ export interface ImageProps {
3
+ src: string;
4
+ alt: string;
5
+ width?: number | string;
6
+ height?: number | string;
7
+ onError?: () => void;
8
+ className?: string;
9
+ }
10
+ export interface ComponentProviderProps {
11
+ config?: {
12
+ GeoBlockAlert?: ComponentType;
13
+ DepositMetaInfo?: ComponentType;
14
+ WithdrawMetaInfo?: ComponentType;
15
+ ExtraActionButton?: ComponentType;
16
+ Image?: ComponentType<ImageProps>;
17
+ LogoSpinner?: ComponentType<SVGProps<SVGElement>>;
18
+ };
19
+ }
@@ -0,0 +1,3 @@
1
+ export { useComponentContext } from './component-provider.hooks';
2
+ export { ComponentProvider } from './component-provider';
3
+ export * from './component-provider.types';
@@ -0,0 +1,4 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ import type { ConfigProviderProps, ConfigProviderState } from './config-provider.types';
3
+ export declare const ConfigProviderContext: import("react").Context<ConfigProviderState>;
4
+ export declare const ConfigProvider: FC<PropsWithChildren<ConfigProviderProps>>;
@@ -0,0 +1,3 @@
1
+ import type { ConfigProviderActions, ConfigProviderParams } from './config-provider.types';
2
+ export declare const DEFAULT_CONFIG_PARAMS: ConfigProviderParams;
3
+ export declare const useConfigProviderDefaultActions: () => ConfigProviderActions;
@@ -0,0 +1,3 @@
1
+ export declare const useConfigContext: () => import("./config-provider.types").ConfigProviderState;
2
+ export declare const useConfigContextParams: () => import("./config-provider.types").ConfigProviderParams;
3
+ export declare const useConfigContextActions: () => import("./config-provider.types").ConfigProviderActions;
@@ -0,0 +1,27 @@
1
+ import type { ChainId } from '@dhedge/core-ui-kit/types';
2
+ export interface ConfigProviderParams {
3
+ isGeoBlocked: boolean;
4
+ depositQuoteDiffWarningThreshold: number;
5
+ depositQuoteDiffErrorThreshold: number;
6
+ defaultDepositSlippage: number;
7
+ defaultDepositSlippageScale: number[];
8
+ defaultWithdrawSlippageScale: number[];
9
+ defaultLockTime: string;
10
+ customLockTime: string;
11
+ stablePrecision: number;
12
+ defaultPrecision: number;
13
+ stakingChainId: ChainId;
14
+ }
15
+ export interface ConfigProviderActions {
16
+ onConnect: () => void;
17
+ }
18
+ export interface ConfigProviderProps {
19
+ config?: {
20
+ params: Partial<ConfigProviderParams>;
21
+ actions: Partial<ConfigProviderActions>;
22
+ };
23
+ }
24
+ export type ConfigProviderState = {
25
+ params: ConfigProviderParams;
26
+ actions: ConfigProviderActions;
27
+ };
@@ -0,0 +1,4 @@
1
+ export { useConfigContext, useConfigContextParams, useConfigContextActions, } from './config-provider.hooks';
2
+ export { DEFAULT_CONFIG_PARAMS } from './config-provider.defaults';
3
+ export { ConfigProvider } from './config-provider';
4
+ export * from './config-provider.types';
@@ -0,0 +1,12 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ import type { ComponentProviderProps } from './component-provider';
3
+ import type { ConfigProviderProps } from './config-provider';
4
+ import type { ThemeProviderProps } from './theme-provider';
5
+ import type { TranslationProviderProps } from './translation-provider';
6
+ export interface ProvidersProps {
7
+ theme?: ThemeProviderProps['config'];
8
+ config?: ConfigProviderProps['config'];
9
+ components?: ComponentProviderProps['config'];
10
+ translation?: TranslationProviderProps['config'];
11
+ }
12
+ export declare const Providers: FC<PropsWithChildren<ProvidersProps>>;
@@ -0,0 +1,2 @@
1
+ export { ThemeProvider } from './theme-provider';
2
+ export * from './theme-provider.types';
@@ -0,0 +1,3 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ import type { ThemeProviderProps } from './theme-provider.types';
3
+ export declare const ThemeProvider: FC<PropsWithChildren<ThemeProviderProps>>;
@@ -0,0 +1,51 @@
1
+ export interface ThemeProviderConfigProps {
2
+ global?: {
3
+ color?: {
4
+ colorTextPrimary?: string;
5
+ colorTextPrimaryHover?: string;
6
+ colorBorderPrimary?: string;
7
+ colorTextSecondary?: string;
8
+ colorBgSecondary?: string;
9
+ colorTextAccent?: string;
10
+ colorTextAccentHover?: string;
11
+ colorBgAccentFrom?: string;
12
+ colorBgAccentTo?: string;
13
+ colorBgAccentFromHover?: string;
14
+ colorBgAccentToHover?: string;
15
+ colorTextNeutral?: string;
16
+ colorBgNeutral?: string;
17
+ colorTextLoading?: string;
18
+ colorTextError?: string;
19
+ colorTextWarning?: string;
20
+ };
21
+ size?: {
22
+ gap?: string;
23
+ spacer?: string;
24
+ fontSizeBase?: string;
25
+ lineHeightBase?: string;
26
+ fontSizeXs?: string;
27
+ lineHeightXs?: string;
28
+ fontSizeSm?: string;
29
+ lineHeightSm?: string;
30
+ fontSizeLg?: string;
31
+ lineHeightLg?: string;
32
+ };
33
+ style?: {
34
+ radiusPrimary?: string;
35
+ radiusSecondary?: string;
36
+ fontWeightLight?: string;
37
+ fontWeightMedium?: string;
38
+ fontWeightBold?: string;
39
+ actionOpacity?: string;
40
+ actionOpacityHover?: string;
41
+ };
42
+ };
43
+ component?: {
44
+ color?: {};
45
+ size?: {};
46
+ style?: {};
47
+ };
48
+ }
49
+ export interface ThemeProviderProps {
50
+ config?: ThemeProviderConfigProps;
51
+ }
@@ -0,0 +1,3 @@
1
+ export { useTranslationContext } from './translation-provider.hooks';
2
+ export { TranslationProvider } from './translation-provider';
3
+ export * from './translation-provider.types';
@@ -0,0 +1,4 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ import type { TranslationProviderProps } from './translation-provider.types';
3
+ export declare const TranslationProviderContext: import("react").Context<Required<Partial<import("./translation-provider.types").TranslationMap> | undefined>>;
4
+ export declare const TranslationProvider: FC<PropsWithChildren<TranslationProviderProps>>;
@@ -0,0 +1,2 @@
1
+ import type { TranslationMap } from './translation-provider.types';
2
+ export declare const DEFAULT_TRANSLATION_DATA: TranslationMap;
@@ -0,0 +1 @@
1
+ export declare const useTranslationContext: () => Required<Partial<import("./translation-provider.types").TranslationMap>>;
@@ -0,0 +1,57 @@
1
+ export type TranslationMap = {
2
+ slippageWarning: string;
3
+ minSlippageWarning: string;
4
+ highSlippageWarning: string;
5
+ recommendedMinSlippage: string;
6
+ projectedDailyEarningsTooltip: string;
7
+ dailyEarnings: string;
8
+ projectedYearlyEarningsTooltip: string;
9
+ yearlyEarnings: string;
10
+ fullReceiveDetails: string;
11
+ tradeDetails: string;
12
+ maxSlippage: string;
13
+ minReceiveAmount: string;
14
+ minReceived: string;
15
+ estimatedMultiAssetFractions: string;
16
+ infinite: string;
17
+ tokenAllowance: string;
18
+ entryFee: string;
19
+ entryFeeExplanation: string;
20
+ easySwapperEntryFee: string;
21
+ amountToBeApproved: string;
22
+ minDepositUsd: string;
23
+ minDeposit: string;
24
+ tokensLockTime: string;
25
+ slippageTolerance: string;
26
+ bypassEntryFee: string;
27
+ entryFeeSwitchWarning: string;
28
+ tokenAmountToApprove: string;
29
+ auto: string;
30
+ autoSlippageDescription: string;
31
+ lengthenLockup: string;
32
+ deposit: string;
33
+ withdraw: string;
34
+ yourBalance: string;
35
+ max: string;
36
+ allAssets: string;
37
+ all: string;
38
+ payWith: string;
39
+ buyEstimated: string;
40
+ sell: string;
41
+ receiveEstimated: string;
42
+ confirmInWallet: string;
43
+ pending: string;
44
+ approve: string;
45
+ connectWallet: string;
46
+ minimumPurchase: string;
47
+ poolIsInactive: string;
48
+ poolIsPrivate: string;
49
+ updateOracles: string;
50
+ confirmMaxSlippage: string;
51
+ withdrawalWindowDisabled: string;
52
+ withdrawCooldown: string;
53
+ [key: string]: string;
54
+ };
55
+ export interface TranslationProviderProps {
56
+ config?: Partial<TranslationMap>;
57
+ }
package/style.css ADDED
@@ -0,0 +1 @@
1
+ *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.transparent-scrollbar::-webkit-scrollbar{height:0px;width:0px;background-color:transparent}.tooltip-container[data-popper-interactive=false]{pointer-events:none}.tooltip-arrow{pointer-events:none;position:absolute;height:1rem;width:1rem}.tooltip-arrow:before{margin:auto;display:block;height:0px;width:0px;border-style:solid;content:""}.tooltip-arrow:after{position:absolute;margin:auto;display:block;height:0px;width:0px;border-style:solid;content:""}.tooltip-container[data-popper-placement*=bottom] .tooltip-arrow{left:0;margin-top:-.3rem;top:0}.tooltip-container[data-popper-placement*=bottom] .tooltip-arrow:before{border-color:transparent transparent #4C505B transparent;border-width:0 .5rem .4rem;position:absolute;top:-1px}.tooltip-container[data-popper-placement*=bottom] .tooltip-arrow:after{border-color:transparent transparent #4C505B transparent;border-width:0 .5rem .4rem}.tooltip-container[data-popper-placement*=top] .tooltip-arrow{bottom:0;left:0;margin-bottom:-.9rem}.tooltip-container[data-popper-placement*=top] .tooltip-arrow:before{border-color:#4C505B transparent transparent transparent;border-width:.4rem .5rem 0;position:absolute;top:1px}.tooltip-container[data-popper-placement*=top] .tooltip-arrow:after{border-color:#4C505B transparent transparent transparent;border-width:.4rem .5rem 0}.tooltip-container[data-popper-placement*=right] .tooltip-arrow{left:0;margin-left:-.6rem}.tooltip-container[data-popper-placement*=right] .tooltip-arrow:before{border-color:transparent #4C505B transparent transparent;border-width:.5rem .4rem .5rem 0}.tooltip-container[data-popper-placement*=right] .tooltip-arrow:after{border-color:transparent #4C505B transparent transparent;border-width:.5rem .4rem .5rem 0;left:6px;top:0}.tooltip-container[data-popper-placement*=left] .tooltip-arrow{margin-right:-.6rem;right:0}.tooltip-container[data-popper-placement*=left] .tooltip-arrow:before{border-color:transparent transparent transparent #4C505B;border-width:.5rem 0 .5rem .4em}.tooltip-container[data-popper-placement*=left] .tooltip-arrow:after{border-color:transparent transparent transparent #4C505B;border-width:.5rem 0 .5rem .4em;left:3px;top:0}.dtw-pointer-events-none{pointer-events:none}.dtw-static{position:static}.dtw-absolute{position:absolute}.dtw-relative{position:relative}.dtw-bottom-0{bottom:0}.dtw-left-0{left:0}.dtw-right-0{right:0}.dtw-right-2{right:.5rem}.dtw-top-0{top:0}.dtw-z-0{z-index:0}.dtw-z-10{z-index:10}.dtw-z-50{z-index:50}.dtw--ml-2{margin-left:-.5rem}.dtw-mb-0{margin-bottom:0}.dtw-mb-0\.5{margin-bottom:.125rem}.dtw-mb-4{margin-bottom:1rem}.dtw-mb-8{margin-bottom:2rem}.dtw-ml-1{margin-left:.25rem}.dtw-ml-2{margin-left:.5rem}.dtw-mt-6{margin-top:1.5rem}.dtw-block{display:block}.dtw-inline-block{display:inline-block}.dtw-inline{display:inline}.dtw-flex{display:flex}.dtw-inline-flex{display:inline-flex}.dtw-hidden{display:none}.dtw-h-3{height:.75rem}.dtw-h-4{height:1rem}.dtw-h-5{height:1.25rem}.dtw-h-6{height:1.5rem}.dtw-h-7{height:1.75rem}.dtw-h-9{height:2.25rem}.dtw-h-\[80px\]{height:80px}.dtw-h-\[var\(--panel-icon-secondary-size\)\]{height:var(--panel-icon-secondary-size)}.dtw-h-\[var\(--panel-input-token-icon-size\,var\(--panel-icon-size\)\)\]{height:var(--panel-input-token-icon-size,var(--panel-icon-size))}.dtw-h-full{height:100%}.dtw-w-11{width:2.75rem}.dtw-w-14{width:3.5rem}.dtw-w-20{width:5rem}.dtw-w-3{width:.75rem}.dtw-w-4{width:1rem}.dtw-w-5{width:1.25rem}.dtw-w-7{width:1.75rem}.dtw-w-9{width:2.25rem}.dtw-w-\[60px\]{width:60px}.dtw-w-\[70px\]{width:70px}.dtw-w-\[var\(--panel-icon-secondary-size\)\]{width:var(--panel-icon-secondary-size)}.dtw-w-\[var\(--panel-input-token-icon-size\,var\(--panel-icon-size\)\)\]{width:var(--panel-input-token-icon-size,var(--panel-icon-size))}.dtw-w-fit{width:-moz-fit-content;width:fit-content}.dtw-w-full{width:100%}.dtw-min-w-full{min-width:100%}.dtw-max-w-xs{max-width:20rem}.dtw-flex-1{flex:1 1 0%}.dtw-flex-shrink-0{flex-shrink:0}.dtw-grow{flex-grow:1}.dtw-border-separate{border-collapse:separate}.dtw-translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dtw-translate-x-6{--tw-translate-x: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dtw-rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dtw-scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dtw-scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dtw-transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes dtw-pulse{50%{opacity:.5}}.dtw-animate-pulse{animation:dtw-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.dtw-animate-spin{animation:dtw-spin 1s linear infinite}.dtw-cursor-help{cursor:help}.dtw-cursor-pointer{cursor:pointer}.dtw-appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dtw-flex-col{flex-direction:column}.dtw-items-center{align-items:center}.dtw-justify-end{justify-content:flex-end}.dtw-justify-center{justify-content:center}.dtw-justify-between{justify-content:space-between}.dtw-gap-1{gap:.25rem}.dtw-gap-1\.5{gap:.375rem}.dtw-gap-2{gap:.5rem}.dtw-gap-\[var\(--panel-balance-group-gap\,var\(--panel-gap\)\)\]{gap:var(--panel-balance-group-gap,var(--panel-gap))}.dtw-gap-\[var\(--panel-content-gap\,var\(--panel-gap\)\)\]{gap:var(--panel-content-gap,var(--panel-gap))}.dtw-gap-\[var\(--panel-input-group-gap\,var\(--panel-gap\)\)\]{gap:var(--panel-input-group-gap,var(--panel-gap))}.dtw-gap-\[var\(--panel-input-price-gap\,var\(--panel-gap\)\)\]{gap:var(--panel-input-price-gap,var(--panel-gap))}.dtw-gap-\[var\(--panel-inputs-group-gap\,var\(--panel-gap\)\)\]{gap:var(--panel-inputs-group-gap,var(--panel-gap))}.dtw-gap-\[var\(--panel-meta-group-gap\,var\(--panel-gap\)\)\]{gap:var(--panel-meta-group-gap,var(--panel-gap))}.dtw-gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.dtw-gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.dtw-gap-y-0{row-gap:0px}.dtw-gap-y-0\.5{row-gap:.125rem}.dtw-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.dtw-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.dtw-space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.dtw-self-end{align-self:flex-end}.dtw-overflow-visible{overflow:visible}.dtw-overflow-x-auto{overflow-x:auto}.dtw-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtw-whitespace-normal{white-space:normal}.dtw-whitespace-nowrap{white-space:nowrap}.dtw-rounded-\[var\(--panel-input-button-radius\,var\(--panel-radius\)\)\]{border-radius:var(--panel-input-button-radius,var(--panel-radius))}.dtw-rounded-\[var\(--panel-input-radius\,var\(--panel-radius\)\)\]{border-radius:var(--panel-input-radius,var(--panel-radius))}.dtw-rounded-\[var\(--panel-radius\)\]{border-radius:var(--panel-radius)}.dtw-rounded-\[var\(--panel-radius-secondary\)\]{border-radius:var(--panel-radius-secondary)}.dtw-rounded-\[var\(--panel-radius-secondary\,var\(--panel-radius\)\)\]{border-radius:var(--panel-radius-secondary,var(--panel-radius))}.dtw-rounded-full{border-radius:9999px}.dtw-rounded-lg{border-radius:.5rem}.dtw-rounded-md{border-radius:.375rem}.dtw-rounded-xl{border-radius:.75rem}.dtw-border{border-width:1px}.dtw-border-\[length\:var\(--panel-action-accent-button-border-width\)\]{border-width:var(--panel-action-accent-button-border-width)}.dtw-border-\[color\:var\(--panel-action-accent-button-border-color\)\]{border-color:var(--panel-action-accent-button-border-color)}.dtw-border-\[color\:var\(--panel-error-content-color\)\]{border-color:var(--panel-error-content-color)}.dtw-border-\[color\:var\(--panel-warning-content-color\)\]{border-color:var(--panel-warning-content-color)}.dtw-border-\[var\(--panel-action-outline-button-border-color\,var\(--panel-border-color\)\)\]{border-color:var(--panel-action-outline-button-border-color,var(--panel-border-color))}.dtw-border-\[var\(--panel-input-border-color\)\]{border-color:var(--panel-input-border-color)}.dtw-border-\[var\(--panel-input-button-border-color\,var\(--panel-accent-to-color\)\)\]{border-color:var(--panel-input-button-border-color,var(--panel-accent-to-color))}.dtw-bg-\[var\(--panel-input-bg\,var\(--panel-neutral-color\)\)\]{background-color:var(--panel-input-bg,var(--panel-neutral-color))}.dtw-bg-\[var\(--panel-input-button-bg\,var\(--panel-secondary-color\)\)\]{background-color:var(--panel-input-button-bg,var(--panel-secondary-color))}.dtw-bg-\[var\(--panel-popup-bg\,var\(--panel-secondary-color\)\)\]{background-color:var(--panel-popup-bg,var(--panel-secondary-color))}.dtw-bg-\[var\(--panel-tab-bg\,var\(--panel-neutral-color\)\)\]{background-color:var(--panel-tab-bg,var(--panel-neutral-color))}.dtw-bg-error\/30{background-color:#dd376a4d}.dtw-bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dtw-bg-themeBlue{--tw-bg-opacity: 1;background-color:rgb(21 46 77 / var(--tw-bg-opacity))}.dtw-bg-themeDark-800{--tw-bg-opacity: 1;background-color:rgb(27 36 50 / var(--tw-bg-opacity))}.dtw-bg-themeGray-700{--tw-bg-opacity: 1;background-color:rgb(76 80 91 / var(--tw-bg-opacity))}.dtw-bg-transparent{background-color:transparent}.dtw-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.dtw-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.dtw-from-\[var\(--panel-action-accent-button-bg-from\,var\(--panel-accent-from-color\)\)\]{--tw-gradient-from: var(--panel-action-accent-button-bg-from,var(--panel-accent-from-color)) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dtw-to-\[var\(--panel-action-accent-button-bg-to\,var\(--panel-accent-to-color\)\)\]{--tw-gradient-to: var(--panel-action-accent-button-bg-to,var(--panel-accent-to-color)) var(--tw-gradient-to-position)}.dtw-stroke-\[color\:var\(--panel-accent-from-color\)\]{stroke:var(--panel-accent-from-color)}.dtw-stroke-info{stroke:#504c56}.dtw-stroke-themeGreen{stroke:#73d393}.dtw-p-1{padding:.25rem}.dtw-p-2{padding:.5rem}.dtw-p-4{padding:1rem}.dtw-px-1{padding-left:.25rem;padding-right:.25rem}.dtw-px-1\.5{padding-left:.375rem;padding-right:.375rem}.dtw-px-2{padding-left:.5rem;padding-right:.5rem}.dtw-px-5{padding-left:1.25rem;padding-right:1.25rem}.dtw-px-\[var\(--panel-balance-group-px\)\]{padding-left:var(--panel-balance-group-px);padding-right:var(--panel-balance-group-px)}.dtw-px-\[var\(--panel-content-px\)\]{padding-left:var(--panel-content-px);padding-right:var(--panel-content-px)}.dtw-px-\[var\(--panel-input-button-px\)\]{padding-left:var(--panel-input-button-px);padding-right:var(--panel-input-button-px)}.dtw-px-\[var\(--panel-input-px\)\]{padding-left:var(--panel-input-px);padding-right:var(--panel-input-px)}.dtw-px-\[var\(--panel-inputs-group-px\)\]{padding-left:var(--panel-inputs-group-px);padding-right:var(--panel-inputs-group-px)}.dtw-px-\[var\(--panel-meta-group-px\)\]{padding-left:var(--panel-meta-group-px);padding-right:var(--panel-meta-group-px)}.dtw-px-\[var\(--panel-tab-group-px\)\]{padding-left:var(--panel-tab-group-px);padding-right:var(--panel-tab-group-px)}.dtw-px-\[var\(--panel-tab-px\)\]{padding-left:var(--panel-tab-px);padding-right:var(--panel-tab-px)}.dtw-py-1{padding-top:.25rem;padding-bottom:.25rem}.dtw-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.dtw-py-2{padding-top:.5rem;padding-bottom:.5rem}.dtw-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.dtw-py-\[var\(--panel-input-button-py\)\]{padding-top:var(--panel-input-button-py);padding-bottom:var(--panel-input-button-py)}.dtw-py-\[var\(--panel-input-py\)\]{padding-top:var(--panel-input-py);padding-bottom:var(--panel-input-py)}.dtw-py-\[var\(--panel-tab-py\)\]{padding-top:var(--panel-tab-py);padding-bottom:var(--panel-tab-py)}.dtw-pb-\[var\(--panel-content-pb\)\]{padding-bottom:var(--panel-content-pb)}.dtw-pt-3{padding-top:.75rem}.dtw-pt-\[var\(--panel-content-pt\)\]{padding-top:var(--panel-content-pt)}.dtw-text-center{text-align:center}.dtw-text-right{text-align:right}.dtw-text-\[length\:var\(--panel-balance-font-size\,var\(--panel-font-size-lg\)\)\]{font-size:var(--panel-balance-font-size,var(--panel-font-size-lg))}.dtw-text-\[length\:var\(--panel-balance-price-font-size\,var\(--panel-font-size\)\)\]{font-size:var(--panel-balance-price-font-size,var(--panel-font-size))}.dtw-text-\[length\:var\(--panel-input-button-font-size\,var\(--panel-font-size-xs\)\)\]{font-size:var(--panel-input-button-font-size,var(--panel-font-size-xs))}.dtw-text-\[length\:var\(--panel-input-font-size\,var\(--panel-font-size-sm\)\)\]{font-size:var(--panel-input-font-size,var(--panel-font-size-sm))}.dtw-text-\[length\:var\(--panel-input-label-font-size\,var\(--panel-font-size-sm\)\)\]{font-size:var(--panel-input-label-font-size,var(--panel-font-size-sm))}.dtw-text-\[length\:var\(--panel-input-token-font-size\,var\(--panel-font-size-xs\)\)\]{font-size:var(--panel-input-token-font-size,var(--panel-font-size-xs))}.dtw-text-\[length\:var\(--panel-label-font-size\,var\(--panel-font-size-xs\)\)\]{font-size:var(--panel-label-font-size,var(--panel-font-size-xs))}.dtw-text-\[length\:var\(--panel-popup-font-size\)\]{font-size:var(--panel-popup-font-size)}.dtw-text-\[length\:var\(--panel-tab-font-size\,var\(--panel-font-size-sm\)\)\]{font-size:var(--panel-tab-font-size,var(--panel-font-size-sm))}.dtw-text-sm{font-size:.875rem;line-height:1.25rem}.dtw-text-xl{font-size:1.25rem;line-height:1.75rem}.dtw-text-xs{font-size:.75rem;line-height:1rem}.dtw-font-\[var\(--panel-input-font-weight\,var\(--panel-font-weight-light\)\)\]{font-weight:var(--panel-input-font-weight,var(--panel-font-weight-light))}.dtw-font-\[var\(--panel-input-label-font-weight\,var\(--panel-font-weight-light\)\)\]{font-weight:var(--panel-input-label-font-weight,var(--panel-font-weight-light))}.dtw-font-\[var\(--panel-input-token-font-weight\,var\(--panel-font-weight-medium\)\)\]{font-weight:var(--panel-input-token-font-weight,var(--panel-font-weight-medium))}.dtw-font-\[var\(--panel-meta-font-weight\,var\(--panel-font-weight-light\)\)\]{font-weight:var(--panel-meta-font-weight,var(--panel-font-weight-light))}.dtw-font-\[var\(--panel-tab-font-weight\,var\(--panel-font-weight-bold\)\)\]{font-weight:var(--panel-tab-font-weight,var(--panel-font-weight-bold))}.dtw-font-bold{font-weight:700}.dtw-font-light{font-weight:300}.dtw-font-medium{font-weight:500}.dtw-leading-\[var\(--panel-balance-line-height\,var\(--panel-line-height-lg\)\)\]{line-height:var(--panel-balance-line-height,var(--panel-line-height-lg))}.dtw-leading-\[var\(--panel-balance-price-line-height\,var\(--panel-line-height\)\)\]{line-height:var(--panel-balance-price-line-height,var(--panel-line-height))}.dtw-leading-\[var\(--panel-input-button-line-height\,var\(--panel-line-height-xs\)\)\]{line-height:var(--panel-input-button-line-height,var(--panel-line-height-xs))}.dtw-leading-\[var\(--panel-input-label-line-height\,var\(--panel-line-height-sm\)\)\]{line-height:var(--panel-input-label-line-height,var(--panel-line-height-sm))}.dtw-leading-\[var\(--panel-input-line-height\,var\(--panel-line-height-sm\)\)\]{line-height:var(--panel-input-line-height,var(--panel-line-height-sm))}.dtw-leading-\[var\(--panel-label-line-height\,var\(--panel-line-height-xs\)\)\]{line-height:var(--panel-label-line-height,var(--panel-line-height-xs))}.dtw-text-\[color\:var\(--panel-action-accent-button-color\,var\(--panel-accent-content-color\)\)\]{color:var(--panel-action-accent-button-color,var(--panel-accent-content-color))}.dtw-text-\[color\:var\(--panel-action-outline-button-color\,var\(--panel-content-color\)\)\]{color:var(--panel-action-outline-button-color,var(--panel-content-color))}.dtw-text-\[color\:var\(--panel-balance-content-color\,var\(--panel-content-color\)\)\]{color:var(--panel-balance-content-color,var(--panel-content-color))}.dtw-text-\[color\:var\(--panel-balance-price-content-color\,var\(--panel-secondary-content-color\)\)\]{color:var(--panel-balance-price-content-color,var(--panel-secondary-content-color))}.dtw-text-\[color\:var\(--panel-content-color\)\]{color:var(--panel-content-color)}.dtw-text-\[color\:var\(--panel-error-content-color\)\]{color:var(--panel-error-content-color)}.dtw-text-\[color\:var\(--panel-icon-color\,var\(--panel-content-color\)\)\]{color:var(--panel-icon-color,var(--panel-content-color))}.dtw-text-\[color\:var\(--panel-input-button-content-color\,var\(--panel-content-color\)\)\]{color:var(--panel-input-button-content-color,var(--panel-content-color))}.dtw-text-\[color\:var\(--panel-input-content-color\,var\(--panel-content-color\)\)\]{color:var(--panel-input-content-color,var(--panel-content-color))}.dtw-text-\[color\:var\(--panel-input-loading-content-color\,var\(--panel-loading-content-color\)\)\]{color:var(--panel-input-loading-content-color,var(--panel-loading-content-color))}.dtw-text-\[color\:var\(--panel-loading-content-color\)\]{color:var(--panel-loading-content-color)}.dtw-text-\[color\:var\(--panel-popup-content-color\,var\(--panel-secondary-content-color\)\)\]{color:var(--panel-popup-content-color,var(--panel-secondary-content-color))}.dtw-text-\[color\:var\(--panel-secondary-content-color\)\]{color:var(--panel-secondary-content-color)}.dtw-text-\[color\:var\(--panel-tab-content-color\,var\(--panel-neutral-content-color\)\)\]{color:var(--panel-tab-content-color,var(--panel-neutral-content-color))}.dtw-text-\[color\:var\(--panel-tab-select-content-color\,var\(--panel-content-color\)\)\]{color:var(--panel-tab-select-content-color,var(--panel-content-color))}.dtw-text-\[color\:var\(--panel-warning-content-color\)\]{color:var(--panel-warning-content-color)}.dtw-text-error{--tw-text-opacity: 1;color:rgb(221 55 106 / var(--tw-text-opacity))}.dtw-text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.dtw-text-themeGray{--tw-text-opacity: 1;color:rgb(177 182 193 / var(--tw-text-opacity))}.dtw-text-themeGray-600{--tw-text-opacity: 1;color:rgb(157 162 173 / var(--tw-text-opacity))}.dtw-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dtw-text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity))}.dtw-opacity-0{opacity:0}.dtw-opacity-100{opacity:1}.dtw-opacity-50{opacity:.5}.dtw-opacity-\[var\(--panel-action-opacity\)\]{opacity:var(--panel-action-opacity)}.dtw-shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dtw-outline-none{outline:2px solid transparent;outline-offset:2px}.dtw-outline-0{outline-width:0px}.dtw-ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.dtw-ring-\[var\(--panel-popup-border-color\,var\(--panel-secondary-content-color\)\)\]{--tw-ring-color: var(--panel-popup-border-color,var(--panel-secondary-content-color))}.dtw-backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.dtw-backdrop-brightness-75{--tw-backdrop-brightness: brightness(.75);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.dtw-backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.dtw-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.dtw-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.dtw-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.dtw-duration-100{transition-duration:.1s}.dtw-duration-500{transition-duration:.5s}.dtw-duration-75{transition-duration:75ms}.dtw-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.dtw-ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.placeholder\:dtw-text-\[color\:var\(--panel-input-placeholder-color\,var\(--panel-secondary-content-color\)\)\]::-moz-placeholder{color:var(--panel-input-placeholder-color,var(--panel-secondary-content-color))}.placeholder\:dtw-text-\[color\:var\(--panel-input-placeholder-color\,var\(--panel-secondary-content-color\)\)\]::placeholder{color:var(--panel-input-placeholder-color,var(--panel-secondary-content-color))}.focus-within\:dtw-border-\[var\(--panel-input-focus-border-color\)\]:focus-within{border-color:var(--panel-input-focus-border-color)}.focus-within\:dtw-bg-\[var\(--panel-input-focus-bg\)\]:focus-within{background-color:var(--panel-input-focus-bg)}@keyframes dtw-spin{to{transform:rotate(360deg)}}.hover\:dtw-animate-spin:hover{animation:dtw-spin 1s linear infinite}.hover\:dtw-bg-\[var\(--panel-meta-hover-bg\,var\(--panel-neutral-color\)\)\]:hover{background-color:var(--panel-meta-hover-bg,var(--panel-neutral-color))}.hover\:dtw-bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.hover\:dtw-bg-themeBlue:hover{--tw-bg-opacity: 1;background-color:rgb(21 46 77 / var(--tw-bg-opacity))}.hover\:dtw-text-\[color\:var\(--panel-tab-hover-content-color\,var\(--panel-content-hover-color\)\)\]:hover{color:var(--panel-tab-hover-content-color,var(--panel-content-hover-color))}.hover\:dtw-text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:dtw-opacity-\[var\(--panel-action-hover-opacity\)\]:hover{opacity:var(--panel-action-hover-opacity)}.focus\:dtw-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:dtw-border-opacity-100:active{--tw-border-opacity: 1}.hover\:enabled\:dtw-border-\[var\(--panel-action-outline-button-border-hover-color\)\]:enabled:hover{border-color:var(--panel-action-outline-button-border-hover-color)}.hover\:enabled\:dtw-from-\[var\(--panel-action-accent-button-hover-bg-from\,var\(--panel-accent-hover-from-color\)\)\]:enabled:hover{--tw-gradient-from: var(--panel-action-accent-button-hover-bg-from,var(--panel-accent-hover-from-color)) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:enabled\:dtw-to-\[var\(--panel-action-accent-button-hover-bg-to\,var\(--panel-accent-hover-to-color\)\)\]:enabled:hover{--tw-gradient-to: var(--panel-action-accent-button-hover-bg-to,var(--panel-accent-hover-to-color)) var(--tw-gradient-to-position)}.disabled\:dtw-opacity-50:disabled{opacity:.5}.dtw-group:hover .group-hover\:dtw-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:dtw-h-10{height:2.5rem}.sm\:dtw-h-4{height:1rem}.sm\:dtw-h-5{height:1.25rem}.sm\:dtw-h-6{height:1.5rem}.sm\:dtw-h-8{height:2rem}.sm\:dtw-h-\[var\(--panel-icon-secondary-size-sm\)\]{height:var(--panel-icon-secondary-size-sm)}.sm\:dtw-h-\[var\(--panel-input-token-icon-size-sm\,var\(--panel-icon-size-sm\)\)\]{height:var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))}.sm\:dtw-w-10{width:2.5rem}.sm\:dtw-w-4{width:1rem}.sm\:dtw-w-5{width:1.25rem}.sm\:dtw-w-6{width:1.5rem}.sm\:dtw-w-8{width:2rem}.sm\:dtw-w-\[var\(--panel-icon-secondary-size-sm\)\]{width:var(--panel-icon-secondary-size-sm)}.sm\:dtw-w-\[var\(--panel-input-token-icon-size-sm\,var\(--panel-icon-size-sm\)\)\]{width:var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))}.sm\:dtw-text-\[length\:var\(--panel-input-token-font-size-sm\,var\(--panel-font-size\)\)\]{font-size:var(--panel-input-token-font-size-sm,var(--panel-font-size))}.sm\:dtw-leading-\[var\(--panel-input-token-line-height-sm\,var\(--panel-line-height\)\)\]{line-height:var(--panel-input-token-line-height-sm,var(--panel-line-height))}}@media (min-width: 768px){.md\:dtw-hidden{display:none}}@media (min-width: 1024px){.lg\:dtw-text-\[length\:var\(--panel-input-font-size-lg\,var\(--panel-font-size-lg\)\)\]{font-size:var(--panel-input-font-size-lg,var(--panel-font-size-lg))}.lg\:dtw-leading-\[var\(--panel-input-line-height-lg\,var\(--panel-line-height-lg\)\)\]{line-height:var(--panel-input-line-height-lg,var(--panel-line-height-lg))}}
@@ -0,0 +1,49 @@
1
+ export namespace COLORS {
2
+ const SUCCESS: string;
3
+ const ERROR: string;
4
+ const WARNING: string;
5
+ const INFO: string;
6
+ namespace WHITE {
7
+ const DEFAULT: string;
8
+ }
9
+ const DARK: {
10
+ DEFAULT: string;
11
+ 400: string;
12
+ 600: string;
13
+ 700: string;
14
+ 800: string;
15
+ 900: string;
16
+ };
17
+ const RED: {
18
+ DEFAULT: string;
19
+ 500: string;
20
+ 600: string;
21
+ 700: string;
22
+ };
23
+ const GRAY: {
24
+ DEFAULT: string;
25
+ 300: string;
26
+ 400: string;
27
+ 500: string;
28
+ 600: string;
29
+ 700: string;
30
+ 800: string;
31
+ };
32
+ const GREEN: {
33
+ DEFAULT: string;
34
+ 600: string;
35
+ 700: string;
36
+ };
37
+ namespace BLUE {
38
+ const DEFAULT_1: string;
39
+ export { DEFAULT_1 as DEFAULT };
40
+ export const dark: string;
41
+ }
42
+ const AMBER: {
43
+ 400: string;
44
+ };
45
+ namespace NETWORK {
46
+ const polygon: string;
47
+ const optimism: string;
48
+ }
49
+ }
@@ -0,0 +1,9 @@
1
+ export interface Balance {
2
+ balanceInUsd: string;
3
+ balanceInUsdNumber: number;
4
+ rawBalance: string;
5
+ includesStakedTokens: boolean;
6
+ }
7
+ export interface UserPoolBalances {
8
+ [poolAddress: string]: Balance;
9
+ }
@@ -0,0 +1,4 @@
1
+ export * from './theme.types';
2
+ export * from './synthetix-v3.types';
3
+ export * from './balance.types';
4
+ export * from './staking.types';
@@ -0,0 +1,6 @@
1
+ import type { Address } from '@dhedge/core-ui-kit/types';
2
+ export interface ContractStakeData {
3
+ dhedgePoolAddress: Address;
4
+ dhedgePoolAmount: bigint;
5
+ unstaked: boolean;
6
+ }
@@ -0,0 +1,24 @@
1
+ export declare const SYNTHETIX_V3_PERIOD: {
2
+ readonly DELEGATION: "DELEGATION";
3
+ readonly UNDELEGATION: "UNDELEGATION";
4
+ readonly WAIT: "WAIT";
5
+ readonly WITHDRAWAL: "WITHDRAWAL";
6
+ };
7
+ export type SynthetixV3PeriodType = (typeof SYNTHETIX_V3_PERIOD)[keyof typeof SYNTHETIX_V3_PERIOD];
8
+ export interface DayParams {
9
+ dayOfWeek: number;
10
+ hour: number;
11
+ }
12
+ export interface WeekPeriod {
13
+ start: DayParams;
14
+ end: DayParams;
15
+ }
16
+ export interface PeriodConfig {
17
+ id: SynthetixV3PeriodType;
18
+ name: string;
19
+ description?: string;
20
+ gradient: [string, string];
21
+ start: DayParams;
22
+ end: DayParams;
23
+ intraWeekRanges: WeekPeriod[];
24
+ }
@@ -0,0 +1,9 @@
1
+ export declare const THEME_TYPE: {
2
+ readonly ERROR: "error";
3
+ readonly WARNING: "warning";
4
+ readonly SUCCESS: "success";
5
+ readonly DEFAULT: "default";
6
+ readonly CUSTOM: "custom";
7
+ };
8
+ export type ThemeType = (typeof THEME_TYPE)[keyof typeof THEME_TYPE];
9
+ export type TokenIconSize = 'xs' | 'sm' | 'm' | 'lg' | 'xl';
@@ -0,0 +1,6 @@
1
+ import { Balance } from 'types';
2
+ export declare function formatBalanceInUsd(balance: string | undefined, tokenPrice: string | undefined, maximumFractionDigits?: number): {
3
+ balanceInUsd: string;
4
+ balanceInUsdNumber: number;
5
+ };
6
+ export declare const formatBalance: (balance: bigint | undefined, tokenPrice: bigint | undefined) => Omit<Balance, 'includesStakedTokens'>;
@@ -0,0 +1,2 @@
1
+ export declare function getTokenIconName(symbol: string): string;
2
+ export declare const buildIconLink: (tokenName: string) => string;
@@ -0,0 +1,39 @@
1
+ import type { SynthetixV3PeriodType } from 'types/synthetix-v3.types';
2
+ export declare const getDateRangeByPeriod: (period: SynthetixV3PeriodType) => {
3
+ from: Date;
4
+ to: Date;
5
+ intraWeekRanges: {
6
+ from: Date;
7
+ to: Date;
8
+ }[];
9
+ duration: {
10
+ percentage: number;
11
+ };
12
+ format: {
13
+ from: string;
14
+ to: string;
15
+ };
16
+ };
17
+ export declare const getRangeData: () => {
18
+ from: Date;
19
+ to: Date;
20
+ intraWeekRanges: {
21
+ from: Date;
22
+ to: Date;
23
+ }[];
24
+ duration: {
25
+ percentage: number;
26
+ };
27
+ format: {
28
+ from: string;
29
+ to: string;
30
+ };
31
+ id: SynthetixV3PeriodType;
32
+ name: string;
33
+ description?: string | undefined;
34
+ gradient: [string, string];
35
+ start: import("types/synthetix-v3.types").DayParams;
36
+ end: import("types/synthetix-v3.types").DayParams;
37
+ }[];
38
+ export declare const getCurrentRangeIndex: () => number;
39
+ export declare const getWithdrawalWindowStart: () => string;