@deframe-sdk/components 0.1.29 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -11060,6 +11060,300 @@ function OnchainDepositFormView({
11060
11060
  }
11061
11061
  );
11062
11062
  }
11063
+ var OnchainDepositFormSimpleView = ({
11064
+ // Token selector
11065
+ selectedToken,
11066
+ onTokenClick,
11067
+ selectedChain,
11068
+ // Address
11069
+ depositAddress,
11070
+ onAddressCopy,
11071
+ // Navigation
11072
+ onBack,
11073
+ onClose,
11074
+ // Labels
11075
+ labels,
11076
+ // Tab switcher
11077
+ activeTab,
11078
+ cryptoHref,
11079
+ pixHref
11080
+ }) => {
11081
+ var _a;
11082
+ const hasToken = selectedToken != null;
11083
+ const showAddressSection = hasToken && !!depositAddress;
11084
+ const panelBaseClasses = [
11085
+ "relative flex flex-col overflow-hidden w-[420px]",
11086
+ "rounded-[var(--deframe-widget-size-radius-md)]",
11087
+ "border border-[color:var(--deframe-widget-color-border-secondary)]",
11088
+ "font-[var(--deframe-widget-font-family)]"
11089
+ ].join(" ");
11090
+ const headerBaseClasses = [
11091
+ "flex items-center",
11092
+ "px-[var(--deframe-widget-size-padding-x-md)]",
11093
+ "py-[var(--deframe-widget-size-padding-y-md)]"
11094
+ ].join(" ");
11095
+ const titleBaseClasses = [
11096
+ "flex-1",
11097
+ "text-[15px]",
11098
+ "[font-weight:var(--deframe-widget-font-weight-semibold)]",
11099
+ "text-[color:var(--deframe-widget-color-text-primary)]"
11100
+ ].join(" ");
11101
+ const dividerClasses = "h-px bg-[var(--deframe-widget-color-border-secondary)]";
11102
+ const bodyBaseClasses = [
11103
+ "flex flex-col",
11104
+ "gap-[var(--deframe-widget-size-gap-md)]",
11105
+ "px-[var(--deframe-widget-size-padding-x-md)]",
11106
+ "py-[var(--deframe-widget-size-padding-y-md)]"
11107
+ ].join(" ");
11108
+ return /* @__PURE__ */ jsxs(
11109
+ "div",
11110
+ {
11111
+ "data-slot": "onchain-deposit-simple-panel",
11112
+ "data-test-id": "onchain-deposit-form-simple-view",
11113
+ className: panelBaseClasses,
11114
+ children: [
11115
+ /* @__PURE__ */ jsxs(
11116
+ "header",
11117
+ {
11118
+ "data-slot": "onchain-deposit-simple-header",
11119
+ "data-test-id": "onchain-deposit-form-simple-view-header",
11120
+ className: headerBaseClasses,
11121
+ children: [
11122
+ /* @__PURE__ */ jsx(
11123
+ "span",
11124
+ {
11125
+ "data-slot": "onchain-deposit-simple-title",
11126
+ "data-test-id": "onchain-deposit-form-simple-view-title",
11127
+ className: titleBaseClasses,
11128
+ children: labels.title
11129
+ }
11130
+ ),
11131
+ onClose && /* @__PURE__ */ jsx(
11132
+ CloseButton_default,
11133
+ {
11134
+ onClick: onClose,
11135
+ ariaLabel: "Close deposit panel",
11136
+ testId: "onchain-deposit-form-simple-view-close"
11137
+ }
11138
+ )
11139
+ ]
11140
+ }
11141
+ ),
11142
+ /* @__PURE__ */ jsx(
11143
+ "div",
11144
+ {
11145
+ "data-slot": "onchain-deposit-simple-divider",
11146
+ "data-test-id": "onchain-deposit-form-simple-view-divider",
11147
+ className: dividerClasses
11148
+ }
11149
+ ),
11150
+ /* @__PURE__ */ jsx(
11151
+ "nav",
11152
+ {
11153
+ "data-slot": "onchain-deposit-simple-tabs",
11154
+ "data-test-id": "onchain-deposit-form-simple-view-tabs",
11155
+ className: "px-[var(--deframe-widget-size-padding-x-md)] py-[var(--deframe-widget-size-padding-y-sm)]",
11156
+ children: /* @__PURE__ */ jsxs(
11157
+ "div",
11158
+ {
11159
+ role: "tablist",
11160
+ "data-test-id": "onchain-deposit-form-simple-view-tablist",
11161
+ className: twMerge(
11162
+ "inline-flex w-full rounded-[var(--deframe-widget-size-radius-md)]",
11163
+ "bg-[var(--deframe-widget-color-bg-secondary)]",
11164
+ "border border-[color:var(--deframe-widget-color-border-secondary)]",
11165
+ "p-[3px] gap-[2px]"
11166
+ ),
11167
+ children: [
11168
+ /* @__PURE__ */ jsx(
11169
+ "a",
11170
+ {
11171
+ href: cryptoHref != null ? cryptoHref : "/dashboard/deposit/onchain",
11172
+ role: "tab",
11173
+ "aria-selected": activeTab === "crypto",
11174
+ "aria-current": activeTab === "crypto" ? "page" : void 0,
11175
+ "aria-label": "Cripto",
11176
+ "data-test-id": "onchain-deposit-form-simple-view-tab-crypto",
11177
+ className: twMerge(
11178
+ "inline-flex flex-1 items-center justify-center",
11179
+ "gap-[var(--deframe-widget-size-gap-xs)]",
11180
+ "rounded-[var(--deframe-widget-size-radius-sm)]",
11181
+ "border-[length:var(--deframe-widget-size-border-sm)] border-solid border-transparent",
11182
+ "outline-none whitespace-nowrap transition-[background,color,border-color] duration-150",
11183
+ "font-[var(--deframe-widget-font-family)] [font-weight:var(--deframe-widget-font-weight-medium)]",
11184
+ "py-[5px] px-[var(--deframe-widget-size-padding-x-lg)]",
11185
+ "[font-size:var(--deframe-widget-font-size-md)] [line-height:var(--deframe-widget-font-leading-md)]",
11186
+ activeTab === "crypto" ? "text-[color:var(--deframe-widget-color-brand-primary)]" : "text-[color:var(--deframe-widget-color-text-secondary)] hover:bg-[var(--deframe-widget-color-bg-tertiary)]"
11187
+ ),
11188
+ children: "Cripto"
11189
+ }
11190
+ ),
11191
+ /* @__PURE__ */ jsx(
11192
+ "a",
11193
+ {
11194
+ href: pixHref != null ? pixHref : "/dashboard/deposit/onramp",
11195
+ role: "tab",
11196
+ "aria-selected": activeTab === "pix",
11197
+ "aria-current": activeTab === "pix" ? "page" : void 0,
11198
+ "aria-label": "PIX",
11199
+ "data-test-id": "onchain-deposit-form-simple-view-tab-pix",
11200
+ className: twMerge(
11201
+ "inline-flex flex-1 items-center justify-center",
11202
+ "gap-[var(--deframe-widget-size-gap-xs)]",
11203
+ "rounded-[var(--deframe-widget-size-radius-sm)]",
11204
+ "border-[length:var(--deframe-widget-size-border-sm)] border-solid border-transparent",
11205
+ "outline-none whitespace-nowrap transition-[background,color,border-color] duration-150",
11206
+ "font-[var(--deframe-widget-font-family)] [font-weight:var(--deframe-widget-font-weight-medium)]",
11207
+ "py-[5px] px-[var(--deframe-widget-size-padding-x-lg)]",
11208
+ "[font-size:var(--deframe-widget-font-size-md)] [line-height:var(--deframe-widget-font-leading-md)]",
11209
+ activeTab === "pix" ? "text-[color:var(--deframe-widget-color-brand-primary)]" : "text-[color:var(--deframe-widget-color-text-secondary)] hover:bg-[var(--deframe-widget-color-bg-tertiary)]"
11210
+ ),
11211
+ children: "PIX"
11212
+ }
11213
+ )
11214
+ ]
11215
+ }
11216
+ )
11217
+ }
11218
+ ),
11219
+ /* @__PURE__ */ jsx(
11220
+ "div",
11221
+ {
11222
+ "data-slot": "onchain-deposit-simple-divider-tabs",
11223
+ "data-test-id": "onchain-deposit-form-simple-view-divider-tabs",
11224
+ className: dividerClasses
11225
+ }
11226
+ ),
11227
+ /* @__PURE__ */ jsxs(
11228
+ "div",
11229
+ {
11230
+ "data-slot": "onchain-deposit-simple-body",
11231
+ "data-test-id": "onchain-deposit-form-simple-view-body",
11232
+ className: bodyBaseClasses,
11233
+ children: [
11234
+ /* @__PURE__ */ jsxs(
11235
+ "div",
11236
+ {
11237
+ "data-slot": "onchain-deposit-simple-token-card",
11238
+ "data-test-id": "onchain-deposit-form-simple-view-token-card",
11239
+ className: twMerge(
11240
+ "rounded-[var(--deframe-widget-size-radius-sm)]",
11241
+ "border border-[color:var(--deframe-widget-color-border-secondary)]",
11242
+ "bg-[var(--deframe-widget-color-bg-secondary)]",
11243
+ "px-[var(--deframe-widget-size-padding-x-md)] py-[var(--deframe-widget-size-padding-y-md)]"
11244
+ ),
11245
+ children: [
11246
+ /* @__PURE__ */ jsx(
11247
+ EarnTokenSelectorSimpleView,
11248
+ {
11249
+ selectedToken,
11250
+ onTokenClick,
11251
+ onNetworkAndAssetClick: onTokenClick,
11252
+ isLoading: false,
11253
+ selectTokenLabel: "SELECIONE AQUI",
11254
+ chainLabel: (_a = selectedChain == null ? void 0 : selectedChain.name) != null ? _a : "",
11255
+ chainImage: selectedChain == null ? void 0 : selectedChain.iconUrl
11256
+ }
11257
+ ),
11258
+ !hasToken && /* @__PURE__ */ jsx(
11259
+ "p",
11260
+ {
11261
+ "data-slot": "onchain-deposit-simple-empty-hint",
11262
+ "data-test-id": "onchain-deposit-form-simple-view-empty-hint",
11263
+ className: "mt-[var(--deframe-widget-size-gap-sm)] text-[13px] text-[color:var(--deframe-widget-color-text-tertiary)] font-[var(--deframe-widget-font-family)]",
11264
+ children: labels.tokenPlaceholder
11265
+ }
11266
+ )
11267
+ ]
11268
+ }
11269
+ ),
11270
+ /* @__PURE__ */ jsx(AnimatePresence, { children: showAddressSection && /* @__PURE__ */ jsxs(
11271
+ motion.div,
11272
+ {
11273
+ "data-slot": "onchain-deposit-simple-address-section",
11274
+ "data-test-id": "onchain-deposit-form-simple-view-address-section",
11275
+ initial: { opacity: 0, height: 0 },
11276
+ animate: { opacity: 1, height: "auto" },
11277
+ exit: { opacity: 0, height: 0 },
11278
+ transition: { duration: 0.2, ease: "easeOut" },
11279
+ style: { overflow: "hidden" },
11280
+ className: "flex flex-col gap-[var(--deframe-widget-size-gap-md)]",
11281
+ children: [
11282
+ /* @__PURE__ */ jsxs(
11283
+ "div",
11284
+ {
11285
+ "data-slot": "onchain-deposit-simple-address-card",
11286
+ "data-test-id": "onchain-deposit-form-simple-view-address-card",
11287
+ className: twMerge(
11288
+ "rounded-[var(--deframe-widget-size-radius-sm)]",
11289
+ "border border-[color:var(--deframe-widget-color-border-secondary)]",
11290
+ "bg-[var(--deframe-widget-color-bg-secondary)]",
11291
+ "px-[var(--deframe-widget-size-padding-x-md)] pt-[var(--deframe-widget-size-padding-y-sm)] pb-[var(--deframe-widget-size-padding-y-md)]"
11292
+ ),
11293
+ children: [
11294
+ /* @__PURE__ */ jsx(
11295
+ "p",
11296
+ {
11297
+ "data-test-id": "onchain-deposit-form-simple-view-address-label",
11298
+ className: "mb-[var(--deframe-widget-size-gap-sm)] text-[13px] text-[color:var(--deframe-widget-color-text-tertiary)] font-[var(--deframe-widget-font-family)]",
11299
+ children: "Endere\xE7o de dep\xF3sito"
11300
+ }
11301
+ ),
11302
+ /* @__PURE__ */ jsx(
11303
+ AddressDisplay,
11304
+ {
11305
+ address: depositAddress,
11306
+ onCopy: onAddressCopy
11307
+ }
11308
+ )
11309
+ ]
11310
+ }
11311
+ ),
11312
+ /* @__PURE__ */ jsx(
11313
+ EarnInlineNotificationSimpleView,
11314
+ {
11315
+ variant: "warning",
11316
+ message: labels.warnBannerTokenChain
11317
+ }
11318
+ )
11319
+ ]
11320
+ }
11321
+ ) })
11322
+ ]
11323
+ }
11324
+ ),
11325
+ /* @__PURE__ */ jsx(
11326
+ "footer",
11327
+ {
11328
+ "data-slot": "onchain-deposit-simple-footer",
11329
+ "data-test-id": "onchain-deposit-form-simple-view-footer",
11330
+ className: "px-[var(--deframe-widget-size-padding-x-md)] pb-[var(--deframe-widget-size-padding-y-md)]",
11331
+ children: /* @__PURE__ */ jsx(
11332
+ SecondaryButton,
11333
+ {
11334
+ type: "button",
11335
+ className: [
11336
+ "w-full h-12 rounded-[var(--deframe-widget-size-radius-sm)]",
11337
+ "text-[15px] text-[color:var(--deframe-widget-color-text-secondary)]",
11338
+ "border-[color:var(--deframe-widget-color-border-secondary)]",
11339
+ "outline-none",
11340
+ "transition-[background,color,border-color] duration-150",
11341
+ "hover:opacity-100",
11342
+ "hover:bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-tertiary)_60%,transparent)]",
11343
+ "hover:text-[color:var(--deframe-widget-color-text-primary)]"
11344
+ ].join(" "),
11345
+ onClick: onBack,
11346
+ "aria-label": labels.backLabel,
11347
+ "data-test-id": "onchain-deposit-form-simple-view-cancel",
11348
+ children: labels.backLabel
11349
+ }
11350
+ )
11351
+ }
11352
+ )
11353
+ ]
11354
+ }
11355
+ );
11356
+ };
11063
11357
 
11064
11358
  // src/utils/truncate-address.ts
11065
11359
  function truncateAddress(address, startChars = 6, endChars = 4) {
@@ -11254,6 +11548,23 @@ function OnchainDepositSuccessView({
11254
11548
  }
11255
11549
  );
11256
11550
  }
11551
+ var OnchainDepositSuccessSimpleView = ({
11552
+ onClose
11553
+ }) => {
11554
+ React6.useEffect(() => {
11555
+ if (!onClose) return;
11556
+ const timer = setTimeout(onClose, 5e3);
11557
+ return () => clearTimeout(timer);
11558
+ }, [onClose]);
11559
+ return /* @__PURE__ */ jsx("div", { "data-test-id": "onchain-deposit-success-simple-view", children: /* @__PURE__ */ jsx(
11560
+ EarnFeedbackOverlaySimpleView,
11561
+ {
11562
+ variant: "success",
11563
+ title: "Dep\xF3sito Confirmado!",
11564
+ subtitle: "Seu saldo foi atualizado."
11565
+ }
11566
+ ) });
11567
+ };
11257
11568
  function OnchainWithdrawFormView({
11258
11569
  selectedToken,
11259
11570
  onTokenClick,
@@ -11520,64 +11831,417 @@ function OnchainWithdrawFormView({
11520
11831
  }
11521
11832
  );
11522
11833
  }
11523
- function OnchainWithdrawChainSelectorView({
11524
- actionSheetId,
11525
- isOpen,
11526
- currentActionSheetId,
11834
+ var OnchainWithdrawFormSimpleView = ({
11835
+ // Token selector
11836
+ selectedToken,
11837
+ onTokenClick,
11838
+ selectedChain,
11839
+ // Amount
11840
+ amount,
11841
+ onAmountChange,
11842
+ formattedAmountUsd,
11843
+ formattedBalance,
11844
+ // Percentage (new optional props)
11845
+ onPercentageClick,
11846
+ maxLabel,
11847
+ // Destination address
11848
+ destinationAddress,
11849
+ onDestinationAddressChange,
11850
+ // Errors
11851
+ isBelowMinAmount,
11852
+ walletError,
11853
+ transferError,
11854
+ // Submit
11855
+ isSubmitDisabled,
11856
+ isProcessing,
11857
+ onSubmit,
11858
+ submitLabel,
11859
+ // Navigation
11860
+ onBack,
11527
11861
  onClose,
11528
- chains,
11529
- onChainClick,
11530
- title,
11531
- closeAriaLabel = "Close"
11532
- }) {
11533
- return /* @__PURE__ */ jsx(
11534
- ActionSheet,
11535
- {
11536
- id: actionSheetId,
11537
- isOpen,
11538
- currentActionSheetId,
11539
- onClose,
11540
- height: "auto",
11541
- position: "bottom",
11542
- closeOnBackdropClick: true,
11543
- children: /* @__PURE__ */ jsx(
11544
- "div",
11545
- {
11546
- className: "relative w-full max-w-2xl mx-auto h-full bg-[var(--deframe-widget-color-bg-primary)] shadow-lg overflow-y-auto h-screen",
11547
- "data-test-id": "onchain-withdraw-chain-selector",
11548
- children: /* @__PURE__ */ jsxs("div", { className: "w-full h-full px-[var(--deframe-widget-size-padding-x-md)] bg-[var(--deframe-widget-color-bg-primary)] text-[var(--deframe-widget-color-text-primary)] flex flex-col relative min-h-0", children: [
11549
- /* @__PURE__ */ jsx("div", { className: "w-full px-[var(--deframe-widget-size-padding-x-sm)] pr-[var(--deframe-widget-size-padding-x-md)] pt-[var(--deframe-widget-size-padding-y-sm)] pb-[var(--deframe-widget-size-padding-y-md)] border-b items-center border-[var(--deframe-widget-color-border-tertiary)] flex", children: /* @__PURE__ */ jsx(
11550
- "button",
11551
- {
11552
- onClick: onClose,
11553
- className: "w-12 h-12 rounded-full flex items-center justify-center text-[color:var(--deframe-widget-color-text-secondary)] hover:text-[color:var(--deframe-widget-color-brand-primary)] transition-colors cursor-pointer",
11554
- "aria-label": closeAriaLabel,
11555
- "data-test-id": "onchain-withdraw-chain-selector-close",
11556
- children: /* @__PURE__ */ jsx(MdOutlineClose, { className: "w-6 h-6" })
11557
- }
11558
- ) }),
11559
- /* @__PURE__ */ jsxs("div", { className: "w-full flex flex-col flex-1 min-h-0", children: [
11560
- /* @__PURE__ */ jsxs("div", { className: "flex-none p-6 pb-0", children: [
11561
- /* @__PURE__ */ jsx(
11562
- "div",
11563
- {
11564
- className: "text-h5 text-[color:var(--deframe-widget-color-text-secondary)] font-bold",
11565
- "data-test-id": "onchain-withdraw-chain-selector-title",
11566
- children: title
11567
- }
11568
- ),
11569
- /* @__PURE__ */ jsx("br", {})
11570
- ] }),
11571
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2 w-full px-6 pb-6 flex-1 min-h-0 overflow-y-auto", children: chains.map((chain) => /* @__PURE__ */ jsxs(
11572
- ListItem,
11573
- {
11574
- onClick: () => onChainClick(chain.chainId),
11575
- containerClassName: `border ${chain.isSelected ? "border-[var(--deframe-widget-color-brand-primary)] bg-[var(--deframe-widget-color-bg-secondary)]" : "border-[var(--deframe-widget-color-border-secondary)]"} hover:border-[var(--deframe-widget-color-border-secondary)] bg-[var(--deframe-widget-color-bg-secondary)] transition-colors cursor-pointer`,
11576
- "data-test-id": `onchain-withdraw-chain-${chain.chainId}`,
11577
- children: [
11578
- /* @__PURE__ */ jsx(ListItemLeftSide, { children: /* @__PURE__ */ jsx(
11579
- "img",
11580
- {
11862
+ // Labels
11863
+ labels
11864
+ }) => {
11865
+ var _a;
11866
+ const hasToken = selectedToken != null;
11867
+ const hasAmountError = !!walletError || isBelowMinAmount;
11868
+ const hasAddressError = !!transferError;
11869
+ const isSubmitDisabledInternal = !hasToken || isSubmitDisabled || isProcessing || !amount || amount === "0" || amount === "" || !destinationAddress.trim();
11870
+ const [cardHovered, setCardHovered] = React6__default.useState(false);
11871
+ const hideTimerRef = React6__default.useRef(void 0);
11872
+ function handleHoverStart() {
11873
+ clearTimeout(hideTimerRef.current);
11874
+ setCardHovered(true);
11875
+ }
11876
+ function handleHoverEnd() {
11877
+ hideTimerRef.current = setTimeout(() => setCardHovered(false), 150);
11878
+ }
11879
+ React6__default.useEffect(() => () => clearTimeout(hideTimerRef.current), []);
11880
+ const panelBaseClasses = [
11881
+ "relative flex flex-col overflow-hidden w-[420px]",
11882
+ "rounded-[var(--deframe-widget-size-radius-md)]",
11883
+ "border border-[color:var(--deframe-widget-color-border-secondary)]",
11884
+ "font-[var(--deframe-widget-font-family)]"
11885
+ ].join(" ");
11886
+ const headerBaseClasses = [
11887
+ "flex items-center",
11888
+ "px-[var(--deframe-widget-size-padding-x-md)]",
11889
+ "py-[var(--deframe-widget-size-padding-y-md)]"
11890
+ ].join(" ");
11891
+ const titleBaseClasses = [
11892
+ "flex-1",
11893
+ "text-[15px]",
11894
+ "[font-weight:var(--deframe-widget-font-weight-semibold)]",
11895
+ "text-[color:var(--deframe-widget-color-text-primary)]"
11896
+ ].join(" ");
11897
+ const dividerClasses = "h-px bg-[var(--deframe-widget-color-border-secondary)]";
11898
+ const bodyBaseClasses = [
11899
+ "flex flex-col",
11900
+ "gap-[var(--deframe-widget-size-gap-md)]",
11901
+ "px-[var(--deframe-widget-size-padding-x-md)]",
11902
+ "py-[var(--deframe-widget-size-padding-y-md)]"
11903
+ ].join(" ");
11904
+ const inputCardClasses = twMerge(
11905
+ "rounded-[var(--deframe-widget-size-radius-sm)]",
11906
+ "border",
11907
+ "px-[var(--deframe-widget-size-padding-x-md)] py-[var(--deframe-widget-size-padding-y-md)]",
11908
+ "transition-[border-color,background] duration-200",
11909
+ hasAmountError ? "border-[color:color-mix(in_srgb,var(--deframe-widget-color-state-error)_32%,transparent)] bg-[color:color-mix(in_srgb,var(--deframe-widget-color-state-error)_16%,transparent)]" : "border-[color:var(--deframe-widget-color-border-secondary)] bg-[var(--deframe-widget-color-bg-secondary)]"
11910
+ );
11911
+ const addressCardClasses = twMerge(
11912
+ "rounded-[var(--deframe-widget-size-radius-sm)]",
11913
+ "border",
11914
+ "px-[var(--deframe-widget-size-padding-x-md)] py-[var(--deframe-widget-size-padding-y-md)]",
11915
+ "transition-[border-color,background] duration-200",
11916
+ hasAddressError ? "border-[color:color-mix(in_srgb,var(--deframe-widget-color-state-error)_32%,transparent)] bg-[color:color-mix(in_srgb,var(--deframe-widget-color-state-error)_16%,transparent)]" : "border-[color:var(--deframe-widget-color-border-secondary)] bg-[var(--deframe-widget-color-bg-secondary)]"
11917
+ );
11918
+ const footerBaseClasses = [
11919
+ "flex gap-[var(--deframe-widget-size-gap-sm)]",
11920
+ "px-[var(--deframe-widget-size-padding-x-md)]",
11921
+ "pb-[var(--deframe-widget-size-padding-y-md)]"
11922
+ ].join(" ");
11923
+ const cancelButtonClasses = [
11924
+ "flex-1 h-12 rounded-[var(--deframe-widget-size-radius-sm)]",
11925
+ "text-[15px] text-[color:var(--deframe-widget-color-text-secondary)]",
11926
+ "border-[color:var(--deframe-widget-color-border-secondary)]",
11927
+ "outline-none",
11928
+ "transition-[background,color,border-color] duration-150",
11929
+ "hover:opacity-100",
11930
+ "hover:bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-tertiary)_60%,transparent)]",
11931
+ "hover:text-[color:var(--deframe-widget-color-text-primary)]"
11932
+ ].join(" ");
11933
+ const submitButtonClasses = [
11934
+ "flex-1 h-12 rounded-[var(--deframe-widget-size-radius-sm)]",
11935
+ "border-none",
11936
+ "text-[15px]",
11937
+ isSubmitDisabledInternal ? "text-[color:var(--deframe-widget-color-text-primary-disabled)]" : "text-[color:var(--deframe-widget-color-text-primary-dark)]",
11938
+ "outline-none",
11939
+ "transition-[background,color] duration-200"
11940
+ ].join(" ");
11941
+ return /* @__PURE__ */ jsxs(
11942
+ "div",
11943
+ {
11944
+ "data-slot": "onchain-withdraw-simple-panel",
11945
+ "data-test-id": "onchain-withdraw-form-simple-view",
11946
+ className: panelBaseClasses,
11947
+ children: [
11948
+ /* @__PURE__ */ jsxs(
11949
+ "header",
11950
+ {
11951
+ "data-slot": "onchain-withdraw-simple-header",
11952
+ "data-test-id": "onchain-withdraw-form-simple-view-header",
11953
+ className: headerBaseClasses,
11954
+ children: [
11955
+ /* @__PURE__ */ jsx(
11956
+ "span",
11957
+ {
11958
+ "data-slot": "onchain-withdraw-simple-title",
11959
+ "data-test-id": "onchain-withdraw-form-simple-view-title",
11960
+ className: titleBaseClasses,
11961
+ children: labels.title
11962
+ }
11963
+ ),
11964
+ onClose && /* @__PURE__ */ jsx(
11965
+ CloseButton_default,
11966
+ {
11967
+ onClick: onClose,
11968
+ ariaLabel: "Close withdrawal panel",
11969
+ testId: "onchain-withdraw-form-simple-view-close"
11970
+ }
11971
+ )
11972
+ ]
11973
+ }
11974
+ ),
11975
+ /* @__PURE__ */ jsx(
11976
+ "div",
11977
+ {
11978
+ "data-slot": "onchain-withdraw-simple-divider",
11979
+ "data-test-id": "onchain-withdraw-form-simple-view-divider",
11980
+ className: dividerClasses
11981
+ }
11982
+ ),
11983
+ /* @__PURE__ */ jsxs(
11984
+ "div",
11985
+ {
11986
+ "data-slot": "onchain-withdraw-simple-body",
11987
+ "data-test-id": "onchain-withdraw-form-simple-view-body",
11988
+ className: bodyBaseClasses,
11989
+ children: [
11990
+ /* @__PURE__ */ jsxs(
11991
+ "div",
11992
+ {
11993
+ "data-slot": "onchain-withdraw-simple-input-card",
11994
+ "data-test-id": "onchain-withdraw-form-simple-view-input-card",
11995
+ onMouseEnter: hasToken ? handleHoverStart : void 0,
11996
+ onMouseLeave: hasToken ? handleHoverEnd : void 0,
11997
+ className: inputCardClasses,
11998
+ children: [
11999
+ /* @__PURE__ */ jsxs(
12000
+ "div",
12001
+ {
12002
+ "data-slot": "onchain-withdraw-simple-input-top-row",
12003
+ "data-test-id": "onchain-withdraw-form-simple-view-top-row",
12004
+ className: "flex items-center gap-[var(--deframe-widget-size-gap-sm)]",
12005
+ children: [
12006
+ /* @__PURE__ */ jsx(
12007
+ EarnTokenSelectorSimpleView,
12008
+ {
12009
+ selectedToken,
12010
+ onTokenClick,
12011
+ onNetworkAndAssetClick: onTokenClick,
12012
+ isLoading: false,
12013
+ selectTokenLabel: "SELECIONE AQUI",
12014
+ chainLabel: (_a = selectedChain == null ? void 0 : selectedChain.name) != null ? _a : "",
12015
+ chainImage: selectedChain == null ? void 0 : selectedChain.iconUrl
12016
+ }
12017
+ ),
12018
+ /* @__PURE__ */ jsx(
12019
+ "div",
12020
+ {
12021
+ "data-test-id": "onchain-withdraw-form-simple-view-input-divider",
12022
+ className: "w-px h-10 bg-[var(--deframe-widget-color-border-secondary)] flex-shrink-0"
12023
+ }
12024
+ ),
12025
+ /* @__PURE__ */ jsx(
12026
+ EarnAmountInputSimpleView,
12027
+ {
12028
+ value: amount,
12029
+ onChange: (e) => onAmountChange(e.target.value),
12030
+ ariaLabel: "Amount to withdraw",
12031
+ dollarAmountFormatted: formattedAmountUsd
12032
+ }
12033
+ )
12034
+ ]
12035
+ }
12036
+ ),
12037
+ hasToken && formattedBalance && /* @__PURE__ */ jsx(
12038
+ "div",
12039
+ {
12040
+ "data-slot": "onchain-withdraw-simple-balance-row",
12041
+ "data-test-id": "onchain-withdraw-form-simple-view-balance-row",
12042
+ className: "mt-[var(--deframe-widget-size-gap-sm)]",
12043
+ children: /* @__PURE__ */ jsx("span", { className: "text-[13px] text-[color:var(--deframe-widget-color-text-tertiary)] font-[var(--deframe-widget-font-family)]", children: /* @__PURE__ */ jsxs(
12044
+ "span",
12045
+ {
12046
+ className: hasAmountError ? "text-[color:var(--deframe-widget-color-state-error)]" : "text-[color:var(--deframe-widget-color-text-secondary)]",
12047
+ children: [
12048
+ labels.balancePrefix,
12049
+ ": ",
12050
+ formattedBalance
12051
+ ]
12052
+ }
12053
+ ) })
12054
+ }
12055
+ ),
12056
+ !hasToken && /* @__PURE__ */ jsx(
12057
+ "p",
12058
+ {
12059
+ "data-slot": "onchain-withdraw-simple-empty-hint",
12060
+ "data-test-id": "onchain-withdraw-form-simple-view-empty-hint",
12061
+ className: "mt-[var(--deframe-widget-size-gap-sm)] text-[13px] text-[color:var(--deframe-widget-color-text-tertiary)] font-[var(--deframe-widget-font-family)]",
12062
+ children: labels.tokenPlaceholder
12063
+ }
12064
+ ),
12065
+ /* @__PURE__ */ jsx(AnimatePresence, { children: hasToken && onPercentageClick && cardHovered && /* @__PURE__ */ jsx(
12066
+ motion.div,
12067
+ {
12068
+ "data-slot": "onchain-withdraw-simple-chips-row",
12069
+ "data-test-id": "onchain-withdraw-form-simple-view-chips-row",
12070
+ initial: { opacity: 0, height: 0, marginTop: 0 },
12071
+ animate: { opacity: 1, height: "auto", marginTop: "var(--deframe-widget-size-gap-sm)" },
12072
+ exit: { opacity: 0, height: 0, marginTop: 0 },
12073
+ transition: { duration: 0.15, ease: "easeOut" },
12074
+ style: { overflow: "hidden" },
12075
+ onMouseEnter: handleHoverStart,
12076
+ onMouseLeave: handleHoverEnd,
12077
+ children: /* @__PURE__ */ jsx(
12078
+ EarnPercentageButtonsSimpleView,
12079
+ {
12080
+ onPercentageClick,
12081
+ maxLabel: maxLabel != null ? maxLabel : "M\xE1x."
12082
+ }
12083
+ )
12084
+ }
12085
+ ) }),
12086
+ (walletError || isBelowMinAmount) && /* @__PURE__ */ jsx("div", { className: "mt-[var(--deframe-widget-size-gap-sm)]", children: /* @__PURE__ */ jsx(
12087
+ EarnInlineNotificationSimpleView,
12088
+ {
12089
+ variant: "error",
12090
+ message: walletError != null ? walletError : labels.minAmountWarning
12091
+ }
12092
+ ) })
12093
+ ]
12094
+ }
12095
+ ),
12096
+ /* @__PURE__ */ jsxs(
12097
+ "div",
12098
+ {
12099
+ "data-slot": "onchain-withdraw-simple-address-card",
12100
+ "data-test-id": "onchain-withdraw-form-simple-view-address-card",
12101
+ className: addressCardClasses,
12102
+ children: [
12103
+ /* @__PURE__ */ jsx(
12104
+ "p",
12105
+ {
12106
+ "data-slot": "onchain-withdraw-simple-address-label",
12107
+ "data-test-id": "onchain-withdraw-form-simple-view-address-label",
12108
+ className: "mb-[var(--deframe-widget-size-gap-sm)] text-[13px] text-[color:var(--deframe-widget-color-text-tertiary)] font-[var(--deframe-widget-font-family)]",
12109
+ children: labels.destinationAddressLabel
12110
+ }
12111
+ ),
12112
+ /* @__PURE__ */ jsx(
12113
+ "input",
12114
+ {
12115
+ "data-slot": "onchain-withdraw-simple-address-input",
12116
+ "data-test-id": "onchain-withdraw-form-simple-view-address-input",
12117
+ type: "text",
12118
+ value: destinationAddress,
12119
+ onChange: (e) => onDestinationAddressChange(e.target.value),
12120
+ placeholder: labels.destinationAddressPlaceholder,
12121
+ disabled: isProcessing,
12122
+ "aria-label": labels.destinationAddressLabel,
12123
+ className: twMerge(
12124
+ "w-full bg-transparent outline-none",
12125
+ "text-[13px] [font-weight:var(--deframe-widget-font-weight-regular)]",
12126
+ "font-[var(--deframe-widget-font-family)]",
12127
+ "placeholder:text-[color:var(--deframe-widget-color-text-tertiary)]",
12128
+ "text-[color:var(--deframe-widget-color-text-primary)]",
12129
+ '[font-feature-settings:"tnum"]',
12130
+ "disabled:opacity-50 disabled:cursor-not-allowed"
12131
+ ),
12132
+ spellCheck: false,
12133
+ autoComplete: "off"
12134
+ }
12135
+ ),
12136
+ transferError && /* @__PURE__ */ jsx("div", { className: "mt-[var(--deframe-widget-size-gap-sm)]", children: /* @__PURE__ */ jsx(EarnInlineNotificationSimpleView, { variant: "error", message: transferError }) })
12137
+ ]
12138
+ }
12139
+ ),
12140
+ /* @__PURE__ */ jsx(
12141
+ EarnInlineNotificationSimpleView,
12142
+ {
12143
+ variant: "warning",
12144
+ message: labels.infoBanner
12145
+ }
12146
+ )
12147
+ ]
12148
+ }
12149
+ ),
12150
+ /* @__PURE__ */ jsxs(
12151
+ "footer",
12152
+ {
12153
+ "data-slot": "onchain-withdraw-simple-footer",
12154
+ "data-test-id": "onchain-withdraw-form-simple-view-footer",
12155
+ className: footerBaseClasses,
12156
+ children: [
12157
+ onBack && /* @__PURE__ */ jsx(
12158
+ SecondaryButton,
12159
+ {
12160
+ type: "button",
12161
+ className: cancelButtonClasses,
12162
+ onClick: onBack,
12163
+ "aria-label": "Cancel withdrawal",
12164
+ "data-test-id": "onchain-withdraw-form-simple-view-cancel",
12165
+ children: labels.backLabel
12166
+ }
12167
+ ),
12168
+ /* @__PURE__ */ jsx(
12169
+ PrimaryButton,
12170
+ {
12171
+ type: "button",
12172
+ className: submitButtonClasses,
12173
+ disabled: isSubmitDisabledInternal,
12174
+ onClick: onSubmit,
12175
+ "aria-label": submitLabel,
12176
+ "data-test-id": "onchain-withdraw-form-simple-view-submit",
12177
+ children: submitLabel
12178
+ }
12179
+ )
12180
+ ]
12181
+ }
12182
+ )
12183
+ ]
12184
+ }
12185
+ );
12186
+ };
12187
+ function OnchainWithdrawChainSelectorView({
12188
+ actionSheetId,
12189
+ isOpen,
12190
+ currentActionSheetId,
12191
+ onClose,
12192
+ chains,
12193
+ onChainClick,
12194
+ title,
12195
+ closeAriaLabel = "Close"
12196
+ }) {
12197
+ return /* @__PURE__ */ jsx(
12198
+ ActionSheet,
12199
+ {
12200
+ id: actionSheetId,
12201
+ isOpen,
12202
+ currentActionSheetId,
12203
+ onClose,
12204
+ height: "auto",
12205
+ position: "bottom",
12206
+ closeOnBackdropClick: true,
12207
+ children: /* @__PURE__ */ jsx(
12208
+ "div",
12209
+ {
12210
+ className: "relative w-full max-w-2xl mx-auto h-full bg-[var(--deframe-widget-color-bg-primary)] shadow-lg overflow-y-auto h-screen",
12211
+ "data-test-id": "onchain-withdraw-chain-selector",
12212
+ children: /* @__PURE__ */ jsxs("div", { className: "w-full h-full px-[var(--deframe-widget-size-padding-x-md)] bg-[var(--deframe-widget-color-bg-primary)] text-[var(--deframe-widget-color-text-primary)] flex flex-col relative min-h-0", children: [
12213
+ /* @__PURE__ */ jsx("div", { className: "w-full px-[var(--deframe-widget-size-padding-x-sm)] pr-[var(--deframe-widget-size-padding-x-md)] pt-[var(--deframe-widget-size-padding-y-sm)] pb-[var(--deframe-widget-size-padding-y-md)] border-b items-center border-[var(--deframe-widget-color-border-tertiary)] flex", children: /* @__PURE__ */ jsx(
12214
+ "button",
12215
+ {
12216
+ onClick: onClose,
12217
+ className: "w-12 h-12 rounded-full flex items-center justify-center text-[color:var(--deframe-widget-color-text-secondary)] hover:text-[color:var(--deframe-widget-color-brand-primary)] transition-colors cursor-pointer",
12218
+ "aria-label": closeAriaLabel,
12219
+ "data-test-id": "onchain-withdraw-chain-selector-close",
12220
+ children: /* @__PURE__ */ jsx(MdOutlineClose, { className: "w-6 h-6" })
12221
+ }
12222
+ ) }),
12223
+ /* @__PURE__ */ jsxs("div", { className: "w-full flex flex-col flex-1 min-h-0", children: [
12224
+ /* @__PURE__ */ jsxs("div", { className: "flex-none p-6 pb-0", children: [
12225
+ /* @__PURE__ */ jsx(
12226
+ "div",
12227
+ {
12228
+ className: "text-h5 text-[color:var(--deframe-widget-color-text-secondary)] font-bold",
12229
+ "data-test-id": "onchain-withdraw-chain-selector-title",
12230
+ children: title
12231
+ }
12232
+ ),
12233
+ /* @__PURE__ */ jsx("br", {})
12234
+ ] }),
12235
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2 w-full px-6 pb-6 flex-1 min-h-0 overflow-y-auto", children: chains.map((chain) => /* @__PURE__ */ jsxs(
12236
+ ListItem,
12237
+ {
12238
+ onClick: () => onChainClick(chain.chainId),
12239
+ containerClassName: `border ${chain.isSelected ? "border-[var(--deframe-widget-color-brand-primary)] bg-[var(--deframe-widget-color-bg-secondary)]" : "border-[var(--deframe-widget-color-border-secondary)]"} hover:border-[var(--deframe-widget-color-border-secondary)] bg-[var(--deframe-widget-color-bg-secondary)] transition-colors cursor-pointer`,
12240
+ "data-test-id": `onchain-withdraw-chain-${chain.chainId}`,
12241
+ children: [
12242
+ /* @__PURE__ */ jsx(ListItemLeftSide, { children: /* @__PURE__ */ jsx(
12243
+ "img",
12244
+ {
11581
12245
  src: chain.iconUrl,
11582
12246
  alt: chain.name,
11583
12247
  className: "w-8 h-8 rounded-full object-cover"
@@ -11904,6 +12568,297 @@ function OnchainWithdrawFailedView({
11904
12568
  }
11905
12569
  );
11906
12570
  }
12571
+ var OnchainWithdrawProcessingSimpleView = ({
12572
+ onClose: _onClose
12573
+ }) => {
12574
+ return /* @__PURE__ */ jsx("div", { "data-test-id": "onchain-withdraw-processing-simple-view", children: /* @__PURE__ */ jsx(
12575
+ EarnFeedbackOverlaySimpleView,
12576
+ {
12577
+ variant: "loading",
12578
+ title: "PROCESSANDO SAQUE...",
12579
+ subtitle: "Aguarde enquanto sua transa\xE7\xE3o \xE9 confirmada."
12580
+ }
12581
+ ) });
12582
+ };
12583
+ function WithdrawSignatureWarningIcon() {
12584
+ return /* @__PURE__ */ jsx(
12585
+ "div",
12586
+ {
12587
+ className: "w-20 h-20 rounded-full flex items-center justify-center",
12588
+ style: { background: "linear-gradient(180deg, #F6A700 0%, #F59E0B 100%)" },
12589
+ "data-test-id": "withdraw-signature-warning-icon",
12590
+ "data-slot": "withdraw-signature-warning-icon",
12591
+ children: /* @__PURE__ */ jsx("svg", { className: "w-8 h-8", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
12592
+ "path",
12593
+ {
12594
+ d: "M12 9V13M12 17H12.01M10.29 3.86L1.82 18A2 2 0 003.54 21H20.46A2 2 0 0022.18 18L13.71 3.86A2 2 0 0010.29 3.86Z",
12595
+ stroke: "#121212",
12596
+ strokeWidth: "2",
12597
+ strokeLinecap: "round",
12598
+ strokeLinejoin: "round"
12599
+ }
12600
+ ) })
12601
+ }
12602
+ );
12603
+ }
12604
+ function OnchainWithdrawSignatureWarningView({
12605
+ tokenSymbol,
12606
+ tokenLogoURI,
12607
+ formattedAmount,
12608
+ chainName,
12609
+ chainIconUrl,
12610
+ destinationAddress,
12611
+ blockchainCost,
12612
+ onCancel,
12613
+ onTryAgain,
12614
+ className
12615
+ }) {
12616
+ const [showDetails, setShowDetails] = useState(true);
12617
+ return /* @__PURE__ */ jsxs(
12618
+ "div",
12619
+ {
12620
+ className: twMerge(
12621
+ "w-full max-w-[620px] relative bg-[var(--deframe-widget-color-bg-primary)] lg:bg-[var(--deframe-widget-color-bg-secondary)] overflow-hidden mx-auto lg:my-[75px] rounded",
12622
+ className
12623
+ ),
12624
+ "data-test-id": "onchain-withdraw-signature-warning-view",
12625
+ children: [
12626
+ /* @__PURE__ */ jsx(
12627
+ "button",
12628
+ {
12629
+ onClick: onCancel,
12630
+ className: "absolute top-4 right-4 flex items-center justify-center w-8 h-8 text-[color:var(--deframe-widget-color-text-secondary)] hover:text-[color:var(--deframe-widget-color-text-primary)] transition cursor-pointer",
12631
+ "aria-label": "Fechar",
12632
+ "data-test-id": "onchain-withdraw-signature-warning-close",
12633
+ children: /* @__PURE__ */ jsx(MdOutlineClose, { className: "w-6 h-6" })
12634
+ }
12635
+ ),
12636
+ /* @__PURE__ */ jsx("div", { className: "p-6 lg:p-12", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col w-full items-center", children: [
12637
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4", children: [
12638
+ /* @__PURE__ */ jsx(WithdrawSignatureWarningIcon, {}),
12639
+ /* @__PURE__ */ jsx(
12640
+ "h2",
12641
+ {
12642
+ className: "text-[28px] [font-weight:var(--deframe-widget-font-weight-extrabold)] text-[color:var(--deframe-widget-color-text-primary)] leading-tight",
12643
+ "data-test-id": "onchain-withdraw-signature-warning-title",
12644
+ children: "Saque n\xE3o assinado"
12645
+ }
12646
+ ),
12647
+ /* @__PURE__ */ jsx(
12648
+ "p",
12649
+ {
12650
+ className: "text-[length:var(--deframe-widget-font-size-sm)] text-[color:var(--deframe-widget-color-text-secondary)] text-center",
12651
+ "data-test-id": "onchain-withdraw-signature-warning-subtitle",
12652
+ children: "A assinatura da transa\xE7\xE3o foi cancelada. Nenhum valor foi enviado."
12653
+ }
12654
+ )
12655
+ ] }),
12656
+ /* @__PURE__ */ jsx(
12657
+ "div",
12658
+ {
12659
+ className: "w-full mt-8 p-5 bg-[var(--deframe-widget-color-bg-tertiary)] rounded",
12660
+ "data-test-id": "onchain-withdraw-signature-warning-summary",
12661
+ children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4", children: [
12662
+ /* @__PURE__ */ jsxs("div", { className: "relative shrink-0", "data-test-id": "onchain-withdraw-signature-warning-token-icon", children: [
12663
+ /* @__PURE__ */ jsx("div", { className: "w-[32px] h-[32px] rounded-full bg-[var(--deframe-widget-color-bg-tertiary)] flex items-center justify-center overflow-hidden", children: tokenLogoURI ? /* @__PURE__ */ jsx("img", { src: tokenLogoURI, alt: tokenSymbol, className: "w-[32px] h-[32px] object-cover" }) : /* @__PURE__ */ jsx("span", { className: "text-[length:var(--deframe-widget-font-size-sm)] [font-weight:var(--deframe-widget-font-weight-bold)]", children: tokenSymbol.slice(0, 2).toUpperCase() }) }),
12664
+ chainIconUrl && /* @__PURE__ */ jsx("div", { className: "absolute -bottom-1 -right-1", children: /* @__PURE__ */ jsx(
12665
+ "img",
12666
+ {
12667
+ src: chainIconUrl,
12668
+ alt: chainName,
12669
+ className: "w-[16px] h-[16px] rounded-full object-cover",
12670
+ "data-test-id": "onchain-withdraw-signature-warning-chain-icon"
12671
+ }
12672
+ ) })
12673
+ ] }),
12674
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col flex-1 min-w-0", children: [
12675
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-[4px]", children: [
12676
+ /* @__PURE__ */ jsx(
12677
+ "span",
12678
+ {
12679
+ className: "text-[12px] text-[color:var(--deframe-widget-color-text-secondary)]",
12680
+ "data-test-id": "onchain-withdraw-signature-warning-sending-label",
12681
+ children: "Voc\xEA est\xE1 enviando"
12682
+ }
12683
+ ),
12684
+ /* @__PURE__ */ jsxs(
12685
+ "span",
12686
+ {
12687
+ className: "text-[20px] [font-weight:var(--deframe-widget-font-weight-semibold)] leading-tight",
12688
+ "data-test-id": "onchain-withdraw-signature-warning-amount",
12689
+ children: [
12690
+ formattedAmount,
12691
+ " ",
12692
+ tokenSymbol
12693
+ ]
12694
+ }
12695
+ )
12696
+ ] }),
12697
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-[4px] mt-4", children: [
12698
+ /* @__PURE__ */ jsx(
12699
+ "span",
12700
+ {
12701
+ className: "text-[12px] text-[color:var(--deframe-widget-color-text-secondary)]",
12702
+ "data-test-id": "onchain-withdraw-signature-warning-destination-label",
12703
+ children: "Para o endere\xE7o"
12704
+ }
12705
+ ),
12706
+ /* @__PURE__ */ jsx(
12707
+ "span",
12708
+ {
12709
+ className: "text-[length:var(--deframe-widget-font-size-sm)] [font-weight:var(--deframe-widget-font-weight-semibold)] break-all leading-snug",
12710
+ "data-test-id": "onchain-withdraw-signature-warning-destination-address",
12711
+ children: destinationAddress
12712
+ }
12713
+ )
12714
+ ] })
12715
+ ] })
12716
+ ] })
12717
+ }
12718
+ ),
12719
+ /* @__PURE__ */ jsxs(
12720
+ "div",
12721
+ {
12722
+ className: "w-full mt-4 bg-[var(--deframe-widget-color-bg-tertiary)] rounded",
12723
+ "data-test-id": "onchain-withdraw-signature-warning-details",
12724
+ children: [
12725
+ /* @__PURE__ */ jsxs(
12726
+ "button",
12727
+ {
12728
+ onClick: () => setShowDetails(!showDetails),
12729
+ className: "flex justify-between items-center w-full text-left cursor-pointer p-4",
12730
+ "aria-label": "Detalhes da transa\xE7\xE3o",
12731
+ "data-test-id": "onchain-withdraw-signature-warning-details-toggle",
12732
+ children: [
12733
+ /* @__PURE__ */ jsx("span", { className: "text-[length:var(--deframe-widget-font-size-sm)] [font-weight:var(--deframe-widget-font-weight-semibold)]", children: "Detalhes da transa\xE7\xE3o" }),
12734
+ /* @__PURE__ */ jsx(
12735
+ MdOutlineExpandMore,
12736
+ {
12737
+ className: twMerge(
12738
+ "transition-transform text-[color:var(--deframe-widget-color-text-secondary)]",
12739
+ showDetails && "rotate-180"
12740
+ )
12741
+ }
12742
+ )
12743
+ ]
12744
+ }
12745
+ ),
12746
+ showDetails && /* @__PURE__ */ jsxs("div", { className: "px-4 pb-4", "data-test-id": "onchain-withdraw-signature-warning-details-content", children: [
12747
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-2 border-b border-[color:var(--deframe-widget-color-border-secondary)]", children: [
12748
+ /* @__PURE__ */ jsx(
12749
+ "span",
12750
+ {
12751
+ className: "text-[12px] text-[color:var(--deframe-widget-color-text-secondary)]",
12752
+ "data-test-id": "onchain-withdraw-signature-warning-withdraw-amount-label",
12753
+ children: "Valor de retirada"
12754
+ }
12755
+ ),
12756
+ /* @__PURE__ */ jsxs(
12757
+ "span",
12758
+ {
12759
+ className: "text-[12px] [font-weight:var(--deframe-widget-font-weight-semibold)]",
12760
+ "data-test-id": "onchain-withdraw-signature-warning-withdraw-amount-value",
12761
+ children: [
12762
+ formattedAmount,
12763
+ " ",
12764
+ tokenSymbol
12765
+ ]
12766
+ }
12767
+ )
12768
+ ] }),
12769
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-2 border-b border-[color:var(--deframe-widget-color-border-secondary)]", children: [
12770
+ /* @__PURE__ */ jsx(
12771
+ "span",
12772
+ {
12773
+ className: "text-[12px] text-[color:var(--deframe-widget-color-text-secondary)]",
12774
+ "data-test-id": "onchain-withdraw-signature-warning-blockchain-cost-label",
12775
+ children: "Custo da blockchain"
12776
+ }
12777
+ ),
12778
+ /* @__PURE__ */ jsx(
12779
+ "span",
12780
+ {
12781
+ className: "text-[12px] [font-weight:var(--deframe-widget-font-weight-semibold)]",
12782
+ "data-test-id": "onchain-withdraw-signature-warning-blockchain-cost-value",
12783
+ children: blockchainCost
12784
+ }
12785
+ )
12786
+ ] }),
12787
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between py-2", children: [
12788
+ /* @__PURE__ */ jsx(
12789
+ "span",
12790
+ {
12791
+ className: "text-[12px] text-[color:var(--deframe-widget-color-text-secondary)]",
12792
+ "data-test-id": "onchain-withdraw-signature-warning-receive-label",
12793
+ children: "Voc\xEA receber\xE1"
12794
+ }
12795
+ ),
12796
+ /* @__PURE__ */ jsxs(
12797
+ "span",
12798
+ {
12799
+ className: "text-[12px] [font-weight:var(--deframe-widget-font-weight-semibold)]",
12800
+ "data-test-id": "onchain-withdraw-signature-warning-receive-value",
12801
+ children: [
12802
+ formattedAmount,
12803
+ " ",
12804
+ tokenSymbol
12805
+ ]
12806
+ }
12807
+ )
12808
+ ] })
12809
+ ] })
12810
+ ]
12811
+ }
12812
+ ),
12813
+ /* @__PURE__ */ jsxs(
12814
+ "div",
12815
+ {
12816
+ className: "w-full mt-8 flex gap-3",
12817
+ "data-test-id": "onchain-withdraw-signature-warning-actions",
12818
+ children: [
12819
+ /* @__PURE__ */ jsx(
12820
+ SecondaryButton,
12821
+ {
12822
+ className: "flex-1",
12823
+ onClick: onCancel,
12824
+ "data-test-id": "onchain-withdraw-signature-warning-cancel",
12825
+ children: "Cancelar"
12826
+ }
12827
+ ),
12828
+ /* @__PURE__ */ jsx(
12829
+ PrimaryButton,
12830
+ {
12831
+ className: "flex-1",
12832
+ onClick: onTryAgain,
12833
+ "data-test-id": "onchain-withdraw-signature-warning-retry",
12834
+ children: "Tente novamente"
12835
+ }
12836
+ )
12837
+ ]
12838
+ }
12839
+ )
12840
+ ] }) })
12841
+ ]
12842
+ }
12843
+ );
12844
+ }
12845
+ var OnchainWithdrawSignatureWarningSimpleView = ({
12846
+ onCancel
12847
+ }) => {
12848
+ React6.useEffect(() => {
12849
+ if (!onCancel) return;
12850
+ const timer = setTimeout(onCancel, 5e3);
12851
+ return () => clearTimeout(timer);
12852
+ }, [onCancel]);
12853
+ return /* @__PURE__ */ jsx("div", { "data-test-id": "onchain-withdraw-signature-warning-simple-view", children: /* @__PURE__ */ jsx(
12854
+ EarnFeedbackOverlaySimpleView,
12855
+ {
12856
+ variant: "warning",
12857
+ title: "Saque n\xE3o assinado",
12858
+ subtitle: "A assinatura da transa\xE7\xE3o foi cancelada."
12859
+ }
12860
+ ) });
12861
+ };
11907
12862
  var DashboardCard = ({ children, className }) => {
11908
12863
  return /* @__PURE__ */ jsx("div", { "data-test-id": "dashboard-card", className: twMerge("bg-[var(--deframe-widget-color-bg-subtle)] rounded", className), children });
11909
12864
  };
@@ -13189,6 +14144,6 @@ var DashboardViewSimple = ({
13189
14144
  );
13190
14145
  };
13191
14146
 
13192
- export { ActionButton, ActionSheet, AddressDisplay, ApyRange, BackButton, BackgroundContainer, BannerNotification, Chip, ChipGroup, ChooseANetworkView, ChooseAStrategyActionsheetView, ChooseAnAssetSwapView, ChooseNetworkAndAssetViewSimple, CloseButton_default as CloseButton, CollapsibleInfoRow, CollapsibleSection, ConfirmSwapButtonView, ConfirmSwapButtonViewSimple, ConnectWalletList, Currency, DashboardBalancesBreakdown, DashboardCard, DashboardInvestmentOpportunitiesView, DashboardPortfolioView, DashboardPortfolioViewSimple, DashboardRecentTransactionsView, DashboardRecentTransactionsViewSimple, DashboardStrategiesListView, DashboardTokenListView, DashboardTokensView, DashboardTokensViewSimple, DashboardTransactionsPlaceholder, DashboardView, DashboardViewSimple, DeframeComponentsProvider, DepositSuccessIcon, DetailsHeader, EarnAmountInputView, EarnBalanceCard, EarnBytecodeErrorView, EarnDepositFailedSimpleView, EarnDepositFailedView, EarnDepositFormView, EarnDepositFormViewSimple, EarnDepositProcessingSimpleView, EarnDepositProcessingView, EarnDepositSuccessSimpleView, EarnDepositSuccessView, EarnDepositWarningSimpleView, EarnDepositWarningView, EarnDesktopView, EarnExploreGridView, EarnFlowSkeletonSimple, EarnInvestedSectionView, EarnInvestmentDetailsView, EarnInvestmentSummaryView, EarnNoBalanceNotificationView, EarnOverviewView, EarnPercentageButtonsView, EarnPositionCardView, EarnRecentTransactionsView, EarnTokenSelectorView, EarnTxStatusCardView, EarnWithdrawFailedSimpleView, EarnWithdrawFailedView, EarnWithdrawFormView, EarnWithdrawFormViewSimple, EarnWithdrawProcessingSimpleView, EarnWithdrawProcessingView, EarnWithdrawSuccessSimpleView, EarnWithdrawSuccessView, EarnWithdrawTokenSelectorView, EarnWithdrawWarningSimpleView, EarnWithdrawWarningView, Currency as Fiat, FlexCol, FlexRow, GroupedStrategyListView, HighRiskBadge, HistoryDepositDetailsView, HistoryListSkeleton, HistoryListView, HistorySwapDetailsView, HistoryTabEmpty, HistoryWithdrawDetailsView, InfoLabel, InfoRow, InfoRowIconLabel, InfoRowIconValue, InfoRowWithIcon, InfoValue, Input2 as Input, InvestmentCrossChainProcessingView, Label, Link, ListItem, ListItemContent, ListItemLeftSide, ListItemRightSide, LoadingDots, LowRiskBadge, MediumRiskBadge, Navbar, OnchainDepositFormView, OnchainDepositSuccessView, OnchainWithdrawChainSelectorView, OnchainWithdrawFailedView, OnchainWithdrawFormView, OnchainWithdrawSuccessView, PercentageButton, PrimaryButton, ProcessingBadge, ProgressIndicator, ScrollableContent, SearchEmptyState, SearchInput, SecondaryButton, SectionCard, Select, SelectContent, SelectItem, SelectTrigger, Skeleton, StepDisplay, StepStatusIcon, StepStatusText, StrategyDetailsView, StrategyGridCard, SummaryDetails, SummaryDetailsCryptoControlV2, SwapAdvancedSettingsView, SwapAmountInputView, SwapCrossChainProcessingView, SwapFormView, SwapFormViewSimple, SwapFromCardView, SwapFromCardViewSimple, SwapHistoryView, SwapProcessingView, SwapProcessingViewSimple, SwapQuoteDetailsView, SwapSignatureWarningView, SwapSignatureWarningViewSimple, SwapSuccessView, SwapSuccessViewSimple, SwapToCardView, SwapToCardViewSimple, SwapTransactionFailedView, SwapTransactionFailedViewSimple, SwapWidgetFallbackView, Tabs, TabsContent, TabsList, TabsTrigger, TertiaryButton, Text_default as Text, TextAccent, TextBody, TextHeading, Title, TokenWithChainBadge, TransactionProcessingDetails, TransactionScreen, TransactionScreenIcon, TransactionScreenInvestmentCard, WalletBalances, WalletConnectPanel, WalletItem, ConnectWalletList as WalletList, WalletListContainer, WithdrawFailedIcon, WithdrawSuccessIcon, isDustValue, truncateAddress };
14147
+ export { ActionButton, ActionSheet, AddressDisplay, ApyRange, BackButton, BackgroundContainer, BannerNotification, Chip, ChipGroup, ChooseANetworkView, ChooseAStrategyActionsheetView, ChooseAnAssetSwapView, ChooseNetworkAndAssetViewSimple, CloseButton_default as CloseButton, CollapsibleInfoRow, CollapsibleSection, ConfirmSwapButtonView, ConfirmSwapButtonViewSimple, ConnectWalletList, Currency, DashboardBalancesBreakdown, DashboardCard, DashboardInvestmentOpportunitiesView, DashboardPortfolioView, DashboardPortfolioViewSimple, DashboardRecentTransactionsView, DashboardRecentTransactionsViewSimple, DashboardStrategiesListView, DashboardTokenListView, DashboardTokensView, DashboardTokensViewSimple, DashboardTransactionsPlaceholder, DashboardView, DashboardViewSimple, DeframeComponentsProvider, DepositSuccessIcon, DetailsHeader, EarnAmountInputView, EarnBalanceCard, EarnBytecodeErrorView, EarnDepositFailedSimpleView, EarnDepositFailedView, EarnDepositFormView, EarnDepositFormViewSimple, EarnDepositProcessingSimpleView, EarnDepositProcessingView, EarnDepositSuccessSimpleView, EarnDepositSuccessView, EarnDepositWarningSimpleView, EarnDepositWarningView, EarnDesktopView, EarnExploreGridView, EarnFlowSkeletonSimple, EarnInvestedSectionView, EarnInvestmentDetailsView, EarnInvestmentSummaryView, EarnNoBalanceNotificationView, EarnOverviewView, EarnPercentageButtonsView, EarnPositionCardView, EarnRecentTransactionsView, EarnTokenSelectorView, EarnTxStatusCardView, EarnWithdrawFailedSimpleView, EarnWithdrawFailedView, EarnWithdrawFormView, EarnWithdrawFormViewSimple, EarnWithdrawProcessingSimpleView, EarnWithdrawProcessingView, EarnWithdrawSuccessSimpleView, EarnWithdrawSuccessView, EarnWithdrawTokenSelectorView, EarnWithdrawWarningSimpleView, EarnWithdrawWarningView, Currency as Fiat, FlexCol, FlexRow, GroupedStrategyListView, HighRiskBadge, HistoryDepositDetailsView, HistoryListSkeleton, HistoryListView, HistorySwapDetailsView, HistoryTabEmpty, HistoryWithdrawDetailsView, InfoLabel, InfoRow, InfoRowIconLabel, InfoRowIconValue, InfoRowWithIcon, InfoValue, Input2 as Input, InvestmentCrossChainProcessingView, Label, Link, ListItem, ListItemContent, ListItemLeftSide, ListItemRightSide, LoadingDots, LowRiskBadge, MediumRiskBadge, Navbar, OnchainDepositFormSimpleView, OnchainDepositFormView, OnchainDepositSuccessSimpleView, OnchainDepositSuccessView, OnchainWithdrawChainSelectorView, OnchainWithdrawFailedView, OnchainWithdrawFormSimpleView, OnchainWithdrawFormView, OnchainWithdrawProcessingSimpleView, OnchainWithdrawSignatureWarningSimpleView, OnchainWithdrawSignatureWarningView, OnchainWithdrawSuccessView, PercentageButton, PrimaryButton, ProcessingBadge, ProgressIndicator, ScrollableContent, SearchEmptyState, SearchInput, SecondaryButton, SectionCard, Select, SelectContent, SelectItem, SelectTrigger, Skeleton, StepDisplay, StepStatusIcon, StepStatusText, StrategyDetailsView, StrategyGridCard, SummaryDetails, SummaryDetailsCryptoControlV2, SwapAdvancedSettingsView, SwapAmountInputView, SwapCrossChainProcessingView, SwapFormView, SwapFormViewSimple, SwapFromCardView, SwapFromCardViewSimple, SwapHistoryView, SwapProcessingView, SwapProcessingViewSimple, SwapQuoteDetailsView, SwapSignatureWarningView, SwapSignatureWarningViewSimple, SwapSuccessView, SwapSuccessViewSimple, SwapToCardView, SwapToCardViewSimple, SwapTransactionFailedView, SwapTransactionFailedViewSimple, SwapWidgetFallbackView, Tabs, TabsContent, TabsList, TabsTrigger, TertiaryButton, Text_default as Text, TextAccent, TextBody, TextHeading, Title, TokenWithChainBadge, TransactionProcessingDetails, TransactionScreen, TransactionScreenIcon, TransactionScreenInvestmentCard, WalletBalances, WalletConnectPanel, WalletItem, ConnectWalletList as WalletList, WalletListContainer, WithdrawFailedIcon, WithdrawSuccessIcon, isDustValue, truncateAddress };
13193
14148
  //# sourceMappingURL=index.mjs.map
13194
14149
  //# sourceMappingURL=index.mjs.map