@loafmarkets/ui 0.1.11 → 0.1.12
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.js +289 -1629
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +271 -1614
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -3
- package/src/assets/Loaf-logo-Banner.png +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as React5 from 'react';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
3
|
import { Slot } from '@radix-ui/react-slot';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
5
5
|
import { clsx } from 'clsx';
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
+
import styled6, { keyframes, css } from 'styled-components';
|
|
8
9
|
import { Newspaper, BedDouble, Bath, CarFront } from 'lucide-react';
|
|
9
10
|
import * as LightweightCharts from 'lightweight-charts';
|
|
10
11
|
|
|
12
|
+
// src/components/button.tsx
|
|
11
13
|
function cn(...inputs) {
|
|
12
14
|
return twMerge(clsx(inputs));
|
|
13
15
|
}
|
|
@@ -45,7 +47,7 @@ var buttonVariants = cva(
|
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
);
|
|
48
|
-
var Button =
|
|
50
|
+
var Button = React5.forwardRef(
|
|
49
51
|
({ className, variant, size, radius, asChild = false, ...props }, ref) => {
|
|
50
52
|
const Comp = asChild ? Slot : "button";
|
|
51
53
|
const coercedRadius = radius ?? (variant === "onboarding" || variant === "onboardingOutline" ? "square" : void 0);
|
|
@@ -84,11 +86,11 @@ var badgeVariants = cva(
|
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
);
|
|
87
|
-
var Badge =
|
|
89
|
+
var Badge = React5.forwardRef(
|
|
88
90
|
({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx("span", { ref, className: cn(badgeVariants({ variant, size }), className), ...props })
|
|
89
91
|
);
|
|
90
92
|
Badge.displayName = "Badge";
|
|
91
|
-
var Card =
|
|
93
|
+
var Card = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
92
94
|
"div",
|
|
93
95
|
{
|
|
94
96
|
ref,
|
|
@@ -100,11 +102,11 @@ var Card = o.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
|
100
102
|
}
|
|
101
103
|
));
|
|
102
104
|
Card.displayName = "Card";
|
|
103
|
-
var CardHeader =
|
|
105
|
+
var CardHeader = React5.forwardRef(
|
|
104
106
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
|
|
105
107
|
);
|
|
106
108
|
CardHeader.displayName = "CardHeader";
|
|
107
|
-
var CardTitle =
|
|
109
|
+
var CardTitle = React5.forwardRef(
|
|
108
110
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
109
111
|
"h3",
|
|
110
112
|
{
|
|
@@ -115,15 +117,15 @@ var CardTitle = o.forwardRef(
|
|
|
115
117
|
)
|
|
116
118
|
);
|
|
117
119
|
CardTitle.displayName = "CardTitle";
|
|
118
|
-
var CardDescription =
|
|
120
|
+
var CardDescription = React5.forwardRef(
|
|
119
121
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("p", { ref, className: cn("text-sm text-slate-500", className), ...props })
|
|
120
122
|
);
|
|
121
123
|
CardDescription.displayName = "CardDescription";
|
|
122
|
-
var CardContent =
|
|
124
|
+
var CardContent = React5.forwardRef(
|
|
123
125
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("px-6 pb-6 pt-2 text-sm text-slate-600", className), ...props })
|
|
124
126
|
);
|
|
125
127
|
CardContent.displayName = "CardContent";
|
|
126
|
-
var CardFooter =
|
|
128
|
+
var CardFooter = React5.forwardRef(
|
|
127
129
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center border-t border-slate-100 px-6 py-4", className), ...props })
|
|
128
130
|
);
|
|
129
131
|
CardFooter.displayName = "CardFooter";
|
|
@@ -141,7 +143,7 @@ var defaultFormatSignedCurrency = (value) => {
|
|
|
141
143
|
const sign = value >= 0 ? "+" : "-";
|
|
142
144
|
return `${sign}${defaultFormatCurrency(Math.abs(value))}`;
|
|
143
145
|
};
|
|
144
|
-
var PortfolioSummary =
|
|
146
|
+
var PortfolioSummary = React5.forwardRef(
|
|
145
147
|
({
|
|
146
148
|
availableCash,
|
|
147
149
|
portfolioValue,
|
|
@@ -214,12 +216,12 @@ var PortfolioSummary = o.forwardRef(
|
|
|
214
216
|
}
|
|
215
217
|
);
|
|
216
218
|
PortfolioSummary.displayName = "PortfolioSummary";
|
|
217
|
-
var clamp = (
|
|
218
|
-
var fmt0 = (
|
|
219
|
+
var clamp = (v, min, max) => Math.min(max, Math.max(min, v));
|
|
220
|
+
var fmt0 = (v) => Math.abs(v).toLocaleString(void 0, { maximumFractionDigits: 0 });
|
|
219
221
|
var normalizeLevels = (levels = []) => levels.filter((level) => Number.isFinite(level.price) && level.price > 0 && Number.isFinite(level.amount) && level.amount > 0);
|
|
220
222
|
var estimateMarketBuyFromUsd = (levels = [], usdAmount) => {
|
|
221
223
|
if (!Number.isFinite(usdAmount) || usdAmount <= 0) return { tokens: 0, value: 0, avgPrice: null };
|
|
222
|
-
const asks = normalizeLevels(levels).sort((
|
|
224
|
+
const asks = normalizeLevels(levels).sort((a, b) => a.price - b.price);
|
|
223
225
|
let remainingUsd = usdAmount;
|
|
224
226
|
let tokensFilled = 0;
|
|
225
227
|
let spent = 0;
|
|
@@ -240,7 +242,7 @@ var estimateMarketBuyFromUsd = (levels = [], usdAmount) => {
|
|
|
240
242
|
};
|
|
241
243
|
var estimateMarketBuyFromTokens = (levels = [], tokenAmount) => {
|
|
242
244
|
if (!Number.isFinite(tokenAmount) || tokenAmount <= 0) return { tokens: 0, value: 0, avgPrice: null };
|
|
243
|
-
const asks = normalizeLevels(levels).sort((
|
|
245
|
+
const asks = normalizeLevels(levels).sort((a, b) => a.price - b.price);
|
|
244
246
|
let remainingTokens = tokenAmount;
|
|
245
247
|
let tokensFilled = 0;
|
|
246
248
|
let spent = 0;
|
|
@@ -259,7 +261,7 @@ var estimateMarketBuyFromTokens = (levels = [], tokenAmount) => {
|
|
|
259
261
|
};
|
|
260
262
|
var estimateMarketSellFromTokens = (levels = [], tokenAmount) => {
|
|
261
263
|
if (!Number.isFinite(tokenAmount) || tokenAmount <= 0) return { tokens: 0, value: 0, avgPrice: null };
|
|
262
|
-
const bids = normalizeLevels(levels).sort((
|
|
264
|
+
const bids = normalizeLevels(levels).sort((a, b) => b.price - a.price);
|
|
263
265
|
let remainingTokens = tokenAmount;
|
|
264
266
|
let tokensFilled = 0;
|
|
265
267
|
let received = 0;
|
|
@@ -291,31 +293,31 @@ function HousePositionSlider({
|
|
|
291
293
|
className,
|
|
292
294
|
...props
|
|
293
295
|
}) {
|
|
294
|
-
const [orderMode, setOrderMode] =
|
|
295
|
-
const [buyTrackingMode, setBuyTrackingMode] =
|
|
296
|
-
const [deltaDollars, setDeltaDollars] =
|
|
297
|
-
const [deltaTokensBuy, setDeltaTokensBuy] =
|
|
298
|
-
const [deltaTokensSell, setDeltaTokensSell] =
|
|
299
|
-
const [isDragging, setIsDragging] =
|
|
300
|
-
const [visualTargetPct, setVisualTargetPct] =
|
|
301
|
-
const [orderType, setOrderType] =
|
|
302
|
-
const [limitPrice, setLimitPrice] =
|
|
303
|
-
const [limitPriceInput, setLimitPriceInput] =
|
|
304
|
-
const [limitPriceDirty, setLimitPriceDirty] =
|
|
305
|
-
const [ownershipInput, setOwnershipInput] =
|
|
306
|
-
const [tokenAmountInput, setTokenAmountInput] =
|
|
307
|
-
const houseRef =
|
|
296
|
+
const [orderMode, setOrderMode] = React5.useState("none");
|
|
297
|
+
const [buyTrackingMode, setBuyTrackingMode] = React5.useState("dollars");
|
|
298
|
+
const [deltaDollars, setDeltaDollars] = React5.useState(0);
|
|
299
|
+
const [deltaTokensBuy, setDeltaTokensBuy] = React5.useState(0);
|
|
300
|
+
const [deltaTokensSell, setDeltaTokensSell] = React5.useState(0);
|
|
301
|
+
const [isDragging, setIsDragging] = React5.useState(false);
|
|
302
|
+
const [visualTargetPct, setVisualTargetPct] = React5.useState(null);
|
|
303
|
+
const [orderType, setOrderType] = React5.useState(defaultOrderType);
|
|
304
|
+
const [limitPrice, setLimitPrice] = React5.useState(currentPrice);
|
|
305
|
+
const [limitPriceInput, setLimitPriceInput] = React5.useState(currentPrice.toFixed(2));
|
|
306
|
+
const [limitPriceDirty, setLimitPriceDirty] = React5.useState(false);
|
|
307
|
+
const [ownershipInput, setOwnershipInput] = React5.useState("");
|
|
308
|
+
const [tokenAmountInput, setTokenAmountInput] = React5.useState("");
|
|
309
|
+
const houseRef = React5.useRef(null);
|
|
308
310
|
const asks = orderbook?.asks ?? [];
|
|
309
311
|
const bids = orderbook?.bids ?? [];
|
|
310
|
-
|
|
312
|
+
React5.useEffect(() => {
|
|
311
313
|
if (orderType !== "limit") return;
|
|
312
314
|
if (limitPriceDirty) return;
|
|
313
315
|
setLimitPrice(currentPrice);
|
|
314
316
|
setLimitPriceInput(currentPrice.toFixed(2));
|
|
315
317
|
}, [currentPrice, limitPriceDirty, orderType]);
|
|
316
318
|
const effectivePrice = orderType === "limit" ? limitPrice : currentPrice;
|
|
317
|
-
const pendingBuyValue = pendingOrders.filter((
|
|
318
|
-
const pendingSellTokens = pendingOrders.filter((
|
|
319
|
+
const pendingBuyValue = pendingOrders.filter((o) => o.type === "buy").reduce((s, o) => s + o.value, 0);
|
|
320
|
+
const pendingSellTokens = pendingOrders.filter((o) => o.type === "sell").reduce((s, o) => s + Math.abs(o.tokens), 0);
|
|
319
321
|
const effectiveAvailableCash = Math.max(0, availableCash - pendingBuyValue);
|
|
320
322
|
const effectiveTokensHeld = Math.max(0, tokensHeld - pendingSellTokens);
|
|
321
323
|
const holdingsValue = tokensHeld * effectivePrice;
|
|
@@ -382,7 +384,7 @@ function HousePositionSlider({
|
|
|
382
384
|
const impliedDisplayTargetOwnership = clamp(targetOwnership + ownershipShift, 0, 100);
|
|
383
385
|
const displayTargetOwnership = visualTargetPct ?? impliedDisplayTargetOwnership;
|
|
384
386
|
const estFeeTokens = Math.abs(deltaValue) * 5e-3 / (effectivePrice || 1);
|
|
385
|
-
const resetOrder =
|
|
387
|
+
const resetOrder = React5.useCallback(() => {
|
|
386
388
|
setOrderMode("none");
|
|
387
389
|
setBuyTrackingMode("dollars");
|
|
388
390
|
setDeltaDollars(0);
|
|
@@ -390,7 +392,7 @@ function HousePositionSlider({
|
|
|
390
392
|
setDeltaTokensSell(0);
|
|
391
393
|
setVisualTargetPct(null);
|
|
392
394
|
}, []);
|
|
393
|
-
const updateOrderFromTargetValue =
|
|
395
|
+
const updateOrderFromTargetValue = React5.useCallback(
|
|
394
396
|
(newTargetValue) => {
|
|
395
397
|
const newDeltaValue = newTargetValue - holdingsValue;
|
|
396
398
|
if (newDeltaValue > 0) {
|
|
@@ -414,7 +416,7 @@ function HousePositionSlider({
|
|
|
414
416
|
},
|
|
415
417
|
[effectiveAvailableCash, effectivePrice, effectiveTokensHeld, holdingsValue, resetOrder, tokensHeld]
|
|
416
418
|
);
|
|
417
|
-
const updateOrderFromOwnership =
|
|
419
|
+
const updateOrderFromOwnership = React5.useCallback(
|
|
418
420
|
(newOwnershipPercent) => {
|
|
419
421
|
const nextOwnership = clamp(newOwnershipPercent, 0, 100);
|
|
420
422
|
const newTargetTokens = nextOwnership / 100 * totalTokens;
|
|
@@ -423,7 +425,7 @@ function HousePositionSlider({
|
|
|
423
425
|
},
|
|
424
426
|
[effectivePrice, totalTokens, updateOrderFromTargetValue]
|
|
425
427
|
);
|
|
426
|
-
const updateOrderFromTokenAmount =
|
|
428
|
+
const updateOrderFromTokenAmount = React5.useCallback(
|
|
427
429
|
(tokenAmountSigned) => {
|
|
428
430
|
if (tokenAmountSigned > 0) {
|
|
429
431
|
const maxTokens = effectiveAvailableCash / (effectivePrice || 1);
|
|
@@ -446,7 +448,7 @@ function HousePositionSlider({
|
|
|
446
448
|
},
|
|
447
449
|
[effectiveAvailableCash, effectivePrice, effectiveTokensHeld, resetOrder]
|
|
448
450
|
);
|
|
449
|
-
const updateOrderFromSlider =
|
|
451
|
+
const updateOrderFromSlider = React5.useCallback(
|
|
450
452
|
(pct) => {
|
|
451
453
|
const normalized = (pct - 50) / 50;
|
|
452
454
|
const magnitude = Math.min(Math.abs(normalized), 1);
|
|
@@ -490,12 +492,12 @@ function HousePositionSlider({
|
|
|
490
492
|
},
|
|
491
493
|
[effectiveAvailableCash, effectiveTokensHeld, resetOrder]
|
|
492
494
|
);
|
|
493
|
-
const handleDragAtClientY =
|
|
495
|
+
const handleDragAtClientY = React5.useCallback(
|
|
494
496
|
(clientY) => {
|
|
495
497
|
if (!houseRef.current) return;
|
|
496
498
|
const rect = houseRef.current.getBoundingClientRect();
|
|
497
|
-
const
|
|
498
|
-
const pct = clamp(100 -
|
|
499
|
+
const y = clientY - rect.top;
|
|
500
|
+
const pct = clamp(100 - y / rect.height * 100, 0, 100);
|
|
499
501
|
updateOrderFromSlider(pct);
|
|
500
502
|
},
|
|
501
503
|
[updateOrderFromSlider]
|
|
@@ -530,9 +532,9 @@ function HousePositionSlider({
|
|
|
530
532
|
const handleCancel = () => {
|
|
531
533
|
resetOrder();
|
|
532
534
|
};
|
|
533
|
-
const handleOrderTypeSelection = (
|
|
534
|
-
setOrderType(
|
|
535
|
-
if (
|
|
535
|
+
const handleOrderTypeSelection = (next) => {
|
|
536
|
+
setOrderType(next);
|
|
537
|
+
if (next === "limit") {
|
|
536
538
|
setLimitPriceDirty(false);
|
|
537
539
|
setLimitPrice(currentPrice);
|
|
538
540
|
setLimitPriceInput(currentPrice.toFixed(2));
|
|
@@ -788,8 +790,8 @@ function HousePositionSlider({
|
|
|
788
790
|
] })
|
|
789
791
|
] });
|
|
790
792
|
}
|
|
791
|
-
var clamp2 = (
|
|
792
|
-
var fmt02 = (
|
|
793
|
+
var clamp2 = (v, min, max) => Math.min(max, Math.max(min, v));
|
|
794
|
+
var fmt02 = (v) => Math.abs(v).toLocaleString(void 0, { maximumFractionDigits: 0 });
|
|
793
795
|
var styles = {
|
|
794
796
|
// SliderContainer @media (max-width: 1024px)
|
|
795
797
|
sliderContainer: {
|
|
@@ -1006,18 +1008,18 @@ function HousePositionSliderMobile({
|
|
|
1006
1008
|
className,
|
|
1007
1009
|
...props
|
|
1008
1010
|
}) {
|
|
1009
|
-
const [orderMode, setOrderMode] =
|
|
1010
|
-
const [deltaDollars, setDeltaDollars] =
|
|
1011
|
-
const [deltaTokensSell, setDeltaTokensSell] =
|
|
1012
|
-
const [deltaTokensBuy, setDeltaTokensBuy] =
|
|
1013
|
-
const [buyTrackingMode, setBuyTrackingMode] =
|
|
1014
|
-
const [orderType, setOrderType] =
|
|
1015
|
-
const [limitPrice, setLimitPrice] =
|
|
1016
|
-
const [limitPriceInput, setLimitPriceInput] =
|
|
1017
|
-
const [limitPriceDirty, setLimitPriceDirty] =
|
|
1018
|
-
const [tokenAmountInput, setTokenAmountInput] =
|
|
1019
|
-
const houseRef =
|
|
1020
|
-
|
|
1011
|
+
const [orderMode, setOrderMode] = React5.useState("none");
|
|
1012
|
+
const [deltaDollars, setDeltaDollars] = React5.useState(0);
|
|
1013
|
+
const [deltaTokensSell, setDeltaTokensSell] = React5.useState(0);
|
|
1014
|
+
const [deltaTokensBuy, setDeltaTokensBuy] = React5.useState(0);
|
|
1015
|
+
const [buyTrackingMode, setBuyTrackingMode] = React5.useState("dollars");
|
|
1016
|
+
const [orderType, setOrderType] = React5.useState(defaultOrderType);
|
|
1017
|
+
const [limitPrice, setLimitPrice] = React5.useState(currentPrice);
|
|
1018
|
+
const [limitPriceInput, setLimitPriceInput] = React5.useState(currentPrice.toFixed(2));
|
|
1019
|
+
const [limitPriceDirty, setLimitPriceDirty] = React5.useState(false);
|
|
1020
|
+
const [tokenAmountInput, setTokenAmountInput] = React5.useState("");
|
|
1021
|
+
const houseRef = React5.useRef(null);
|
|
1022
|
+
React5.useEffect(() => {
|
|
1021
1023
|
if (orderType !== "limit") return;
|
|
1022
1024
|
if (limitPriceDirty) return;
|
|
1023
1025
|
setLimitPrice(currentPrice);
|
|
@@ -1059,7 +1061,7 @@ function HousePositionSliderMobile({
|
|
|
1059
1061
|
const hasChange = orderMode !== "none" && (Math.abs(deltaTokens) > 1e-3 || Math.abs(deltaValue) > 0.01);
|
|
1060
1062
|
const targetOwnership = totalTokens > 0 ? targetTokens / totalTokens * 100 : 0;
|
|
1061
1063
|
const estFeeTokens = effectivePrice > 0 ? Math.abs(deltaValue) * 5e-3 / effectivePrice : 0;
|
|
1062
|
-
const updateOrderFromTargetValue =
|
|
1064
|
+
const updateOrderFromTargetValue = React5.useCallback(
|
|
1063
1065
|
(newTargetValue) => {
|
|
1064
1066
|
const newDeltaValue = newTargetValue - holdingsValue;
|
|
1065
1067
|
if (newDeltaValue > 0.01) {
|
|
@@ -1087,7 +1089,7 @@ function HousePositionSliderMobile({
|
|
|
1087
1089
|
},
|
|
1088
1090
|
[holdingsValue, availableCash, effectivePrice, tokensHeld]
|
|
1089
1091
|
);
|
|
1090
|
-
const updateOrderFromTokenAmount =
|
|
1092
|
+
const updateOrderFromTokenAmount = React5.useCallback(
|
|
1091
1093
|
(tokenAmount) => {
|
|
1092
1094
|
if (tokenAmount > 0) {
|
|
1093
1095
|
const maxTokens = effectivePrice > 0 ? availableCash / effectivePrice : 0;
|
|
@@ -1114,21 +1116,21 @@ function HousePositionSliderMobile({
|
|
|
1114
1116
|
},
|
|
1115
1117
|
[effectivePrice, availableCash, tokensHeld]
|
|
1116
1118
|
);
|
|
1117
|
-
const handleMarkerClick =
|
|
1119
|
+
const handleMarkerClick = React5.useCallback(
|
|
1118
1120
|
(pct) => {
|
|
1119
1121
|
const newTargetValue = pct / 100 * totalCapacity;
|
|
1120
1122
|
updateOrderFromTargetValue(newTargetValue);
|
|
1121
1123
|
},
|
|
1122
1124
|
[totalCapacity, updateOrderFromTargetValue]
|
|
1123
1125
|
);
|
|
1124
|
-
const onMouseDown =
|
|
1126
|
+
const onMouseDown = React5.useCallback(
|
|
1125
1127
|
(e) => {
|
|
1126
1128
|
e.preventDefault();
|
|
1127
1129
|
const move = (ev) => {
|
|
1128
1130
|
if (!houseRef.current) return;
|
|
1129
1131
|
const rect = houseRef.current.getBoundingClientRect();
|
|
1130
|
-
const
|
|
1131
|
-
const pct = clamp2(100 -
|
|
1132
|
+
const y = ev.clientY - rect.top;
|
|
1133
|
+
const pct = clamp2(100 - y / rect.height * 100, 0, 100);
|
|
1132
1134
|
const newTargetValue = pct / 100 * totalCapacity;
|
|
1133
1135
|
updateOrderFromTargetValue(newTargetValue);
|
|
1134
1136
|
};
|
|
@@ -1141,7 +1143,7 @@ function HousePositionSliderMobile({
|
|
|
1141
1143
|
},
|
|
1142
1144
|
[totalCapacity, updateOrderFromTargetValue]
|
|
1143
1145
|
);
|
|
1144
|
-
const onTouchStart =
|
|
1146
|
+
const onTouchStart = React5.useCallback(
|
|
1145
1147
|
(e) => {
|
|
1146
1148
|
e.preventDefault();
|
|
1147
1149
|
e.stopPropagation();
|
|
@@ -1151,8 +1153,8 @@ function HousePositionSliderMobile({
|
|
|
1151
1153
|
if (!houseRef.current) return;
|
|
1152
1154
|
const rect = houseRef.current.getBoundingClientRect();
|
|
1153
1155
|
const touch = ev.touches[0];
|
|
1154
|
-
const
|
|
1155
|
-
const pct = clamp2(100 -
|
|
1156
|
+
const y = touch.clientY - rect.top;
|
|
1157
|
+
const pct = clamp2(100 - y / rect.height * 100, 0, 100);
|
|
1156
1158
|
const newTargetValue = pct / 100 * totalCapacity;
|
|
1157
1159
|
updateOrderFromTargetValue(newTargetValue);
|
|
1158
1160
|
};
|
|
@@ -1528,1353 +1530,9 @@ function HousePositionSliderMobile({
|
|
|
1528
1530
|
);
|
|
1529
1531
|
}
|
|
1530
1532
|
|
|
1531
|
-
// ../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
1532
|
-
var __assign = function() {
|
|
1533
|
-
__assign = Object.assign || function __assign2(t) {
|
|
1534
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
1535
|
-
s = arguments[i];
|
|
1536
|
-
for (var p2 in s) if (Object.prototype.hasOwnProperty.call(s, p2)) t[p2] = s[p2];
|
|
1537
|
-
}
|
|
1538
|
-
return t;
|
|
1539
|
-
};
|
|
1540
|
-
return __assign.apply(this, arguments);
|
|
1541
|
-
};
|
|
1542
|
-
function __spreadArray(to, from2, pack) {
|
|
1543
|
-
if (pack || arguments.length === 2) for (var i = 0, l2 = from2.length, ar; i < l2; i++) {
|
|
1544
|
-
if (ar || !(i in from2)) {
|
|
1545
|
-
if (!ar) ar = Array.prototype.slice.call(from2, 0, i);
|
|
1546
|
-
ar[i] = from2[i];
|
|
1547
|
-
}
|
|
1548
|
-
}
|
|
1549
|
-
return to.concat(ar || Array.prototype.slice.call(from2));
|
|
1550
|
-
}
|
|
1551
|
-
|
|
1552
|
-
// ../../../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
|
|
1553
|
-
function memoize(fn) {
|
|
1554
|
-
var cache = /* @__PURE__ */ Object.create(null);
|
|
1555
|
-
return function(arg) {
|
|
1556
|
-
if (cache[arg] === void 0) cache[arg] = fn(arg);
|
|
1557
|
-
return cache[arg];
|
|
1558
|
-
};
|
|
1559
|
-
}
|
|
1560
|
-
|
|
1561
|
-
// ../../../node_modules/.pnpm/@emotion+is-prop-valid@1.4.0/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js
|
|
1562
|
-
var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
|
|
1563
|
-
var isPropValid = /* @__PURE__ */ memoize(
|
|
1564
|
-
function(prop) {
|
|
1565
|
-
return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
|
|
1566
|
-
}
|
|
1567
|
-
/* Z+1 */
|
|
1568
|
-
);
|
|
1569
|
-
|
|
1570
|
-
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Enum.js
|
|
1571
|
-
var MS = "-ms-";
|
|
1572
|
-
var MOZ = "-moz-";
|
|
1573
|
-
var WEBKIT = "-webkit-";
|
|
1574
|
-
var COMMENT = "comm";
|
|
1575
|
-
var RULESET = "rule";
|
|
1576
|
-
var DECLARATION = "decl";
|
|
1577
|
-
var IMPORT = "@import";
|
|
1578
|
-
var NAMESPACE = "@namespace";
|
|
1579
|
-
var KEYFRAMES = "@keyframes";
|
|
1580
|
-
var LAYER = "@layer";
|
|
1581
|
-
|
|
1582
|
-
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Utility.js
|
|
1583
|
-
var abs = Math.abs;
|
|
1584
|
-
var from = String.fromCharCode;
|
|
1585
|
-
var assign = Object.assign;
|
|
1586
|
-
function hash(value, length2) {
|
|
1587
|
-
return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
|
|
1588
|
-
}
|
|
1589
|
-
function trim(value) {
|
|
1590
|
-
return value.trim();
|
|
1591
|
-
}
|
|
1592
|
-
function match(value, pattern) {
|
|
1593
|
-
return (value = pattern.exec(value)) ? value[0] : value;
|
|
1594
|
-
}
|
|
1595
|
-
function replace(value, pattern, replacement) {
|
|
1596
|
-
return value.replace(pattern, replacement);
|
|
1597
|
-
}
|
|
1598
|
-
function indexof(value, search, position2) {
|
|
1599
|
-
return value.indexOf(search, position2);
|
|
1600
|
-
}
|
|
1601
|
-
function charat(value, index) {
|
|
1602
|
-
return value.charCodeAt(index) | 0;
|
|
1603
|
-
}
|
|
1604
|
-
function substr(value, begin, end) {
|
|
1605
|
-
return value.slice(begin, end);
|
|
1606
|
-
}
|
|
1607
|
-
function strlen(value) {
|
|
1608
|
-
return value.length;
|
|
1609
|
-
}
|
|
1610
|
-
function sizeof(value) {
|
|
1611
|
-
return value.length;
|
|
1612
|
-
}
|
|
1613
|
-
function append(value, array) {
|
|
1614
|
-
return array.push(value), value;
|
|
1615
|
-
}
|
|
1616
|
-
function combine(array, callback) {
|
|
1617
|
-
return array.map(callback).join("");
|
|
1618
|
-
}
|
|
1619
|
-
function filter(array, pattern) {
|
|
1620
|
-
return array.filter(function(value) {
|
|
1621
|
-
return !match(value, pattern);
|
|
1622
|
-
});
|
|
1623
|
-
}
|
|
1624
|
-
|
|
1625
|
-
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Tokenizer.js
|
|
1626
|
-
var line = 1;
|
|
1627
|
-
var column = 1;
|
|
1628
|
-
var length = 0;
|
|
1629
|
-
var position = 0;
|
|
1630
|
-
var character = 0;
|
|
1631
|
-
var characters = "";
|
|
1632
|
-
function node(value, root, parent, type, props, children, length2, siblings) {
|
|
1633
|
-
return { value, root, parent, type, props, children, line, column, length: length2, return: "", siblings };
|
|
1634
|
-
}
|
|
1635
|
-
function copy(root, props) {
|
|
1636
|
-
return assign(node("", null, null, "", null, null, 0, root.siblings), root, { length: -root.length }, props);
|
|
1637
|
-
}
|
|
1638
|
-
function lift(root) {
|
|
1639
|
-
while (root.root)
|
|
1640
|
-
root = copy(root.root, { children: [root] });
|
|
1641
|
-
append(root, root.siblings);
|
|
1642
|
-
}
|
|
1643
|
-
function char() {
|
|
1644
|
-
return character;
|
|
1645
|
-
}
|
|
1646
|
-
function prev() {
|
|
1647
|
-
character = position > 0 ? charat(characters, --position) : 0;
|
|
1648
|
-
if (column--, character === 10)
|
|
1649
|
-
column = 1, line--;
|
|
1650
|
-
return character;
|
|
1651
|
-
}
|
|
1652
|
-
function next() {
|
|
1653
|
-
character = position < length ? charat(characters, position++) : 0;
|
|
1654
|
-
if (column++, character === 10)
|
|
1655
|
-
column = 1, line++;
|
|
1656
|
-
return character;
|
|
1657
|
-
}
|
|
1658
|
-
function peek() {
|
|
1659
|
-
return charat(characters, position);
|
|
1660
|
-
}
|
|
1661
|
-
function caret() {
|
|
1662
|
-
return position;
|
|
1663
|
-
}
|
|
1664
|
-
function slice(begin, end) {
|
|
1665
|
-
return substr(characters, begin, end);
|
|
1666
|
-
}
|
|
1667
|
-
function token(type) {
|
|
1668
|
-
switch (type) {
|
|
1669
|
-
// \0 \t \n \r \s whitespace token
|
|
1670
|
-
case 0:
|
|
1671
|
-
case 9:
|
|
1672
|
-
case 10:
|
|
1673
|
-
case 13:
|
|
1674
|
-
case 32:
|
|
1675
|
-
return 5;
|
|
1676
|
-
// ! + , / > @ ~ isolate token
|
|
1677
|
-
case 33:
|
|
1678
|
-
case 43:
|
|
1679
|
-
case 44:
|
|
1680
|
-
case 47:
|
|
1681
|
-
case 62:
|
|
1682
|
-
case 64:
|
|
1683
|
-
case 126:
|
|
1684
|
-
// ; { } breakpoint token
|
|
1685
|
-
case 59:
|
|
1686
|
-
case 123:
|
|
1687
|
-
case 125:
|
|
1688
|
-
return 4;
|
|
1689
|
-
// : accompanied token
|
|
1690
|
-
case 58:
|
|
1691
|
-
return 3;
|
|
1692
|
-
// " ' ( [ opening delimit token
|
|
1693
|
-
case 34:
|
|
1694
|
-
case 39:
|
|
1695
|
-
case 40:
|
|
1696
|
-
case 91:
|
|
1697
|
-
return 2;
|
|
1698
|
-
// ) ] closing delimit token
|
|
1699
|
-
case 41:
|
|
1700
|
-
case 93:
|
|
1701
|
-
return 1;
|
|
1702
|
-
}
|
|
1703
|
-
return 0;
|
|
1704
|
-
}
|
|
1705
|
-
function alloc(value) {
|
|
1706
|
-
return line = column = 1, length = strlen(characters = value), position = 0, [];
|
|
1707
|
-
}
|
|
1708
|
-
function dealloc(value) {
|
|
1709
|
-
return characters = "", value;
|
|
1710
|
-
}
|
|
1711
|
-
function delimit(type) {
|
|
1712
|
-
return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));
|
|
1713
|
-
}
|
|
1714
|
-
function whitespace(type) {
|
|
1715
|
-
while (character = peek())
|
|
1716
|
-
if (character < 33)
|
|
1717
|
-
next();
|
|
1718
|
-
else
|
|
1719
|
-
break;
|
|
1720
|
-
return token(type) > 2 || token(character) > 3 ? "" : " ";
|
|
1721
|
-
}
|
|
1722
|
-
function escaping(index, count) {
|
|
1723
|
-
while (--count && next())
|
|
1724
|
-
if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
|
|
1725
|
-
break;
|
|
1726
|
-
return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));
|
|
1727
|
-
}
|
|
1728
|
-
function delimiter(type) {
|
|
1729
|
-
while (next())
|
|
1730
|
-
switch (character) {
|
|
1731
|
-
// ] ) " '
|
|
1732
|
-
case type:
|
|
1733
|
-
return position;
|
|
1734
|
-
// " '
|
|
1735
|
-
case 34:
|
|
1736
|
-
case 39:
|
|
1737
|
-
if (type !== 34 && type !== 39)
|
|
1738
|
-
delimiter(character);
|
|
1739
|
-
break;
|
|
1740
|
-
// (
|
|
1741
|
-
case 40:
|
|
1742
|
-
if (type === 41)
|
|
1743
|
-
delimiter(type);
|
|
1744
|
-
break;
|
|
1745
|
-
// \
|
|
1746
|
-
case 92:
|
|
1747
|
-
next();
|
|
1748
|
-
break;
|
|
1749
|
-
}
|
|
1750
|
-
return position;
|
|
1751
|
-
}
|
|
1752
|
-
function commenter(type, index) {
|
|
1753
|
-
while (next())
|
|
1754
|
-
if (type + character === 47 + 10)
|
|
1755
|
-
break;
|
|
1756
|
-
else if (type + character === 42 + 42 && peek() === 47)
|
|
1757
|
-
break;
|
|
1758
|
-
return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next());
|
|
1759
|
-
}
|
|
1760
|
-
function identifier(index) {
|
|
1761
|
-
while (!token(peek()))
|
|
1762
|
-
next();
|
|
1763
|
-
return slice(index, position);
|
|
1764
|
-
}
|
|
1765
|
-
|
|
1766
|
-
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Parser.js
|
|
1767
|
-
function compile(value) {
|
|
1768
|
-
return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value));
|
|
1769
|
-
}
|
|
1770
|
-
function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
|
|
1771
|
-
var index = 0;
|
|
1772
|
-
var offset = 0;
|
|
1773
|
-
var length2 = pseudo;
|
|
1774
|
-
var atrule = 0;
|
|
1775
|
-
var property = 0;
|
|
1776
|
-
var previous = 0;
|
|
1777
|
-
var variable = 1;
|
|
1778
|
-
var scanning = 1;
|
|
1779
|
-
var ampersand = 1;
|
|
1780
|
-
var character2 = 0;
|
|
1781
|
-
var type = "";
|
|
1782
|
-
var props = rules;
|
|
1783
|
-
var children = rulesets;
|
|
1784
|
-
var reference = rule;
|
|
1785
|
-
var characters2 = type;
|
|
1786
|
-
while (scanning)
|
|
1787
|
-
switch (previous = character2, character2 = next()) {
|
|
1788
|
-
// (
|
|
1789
|
-
case 40:
|
|
1790
|
-
if (previous != 108 && charat(characters2, length2 - 1) == 58) {
|
|
1791
|
-
if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f", abs(index ? points[index - 1] : 0)) != -1)
|
|
1792
|
-
ampersand = -1;
|
|
1793
|
-
break;
|
|
1794
|
-
}
|
|
1795
|
-
// " ' [
|
|
1796
|
-
case 34:
|
|
1797
|
-
case 39:
|
|
1798
|
-
case 91:
|
|
1799
|
-
characters2 += delimit(character2);
|
|
1800
|
-
break;
|
|
1801
|
-
// \t \n \r \s
|
|
1802
|
-
case 9:
|
|
1803
|
-
case 10:
|
|
1804
|
-
case 13:
|
|
1805
|
-
case 32:
|
|
1806
|
-
characters2 += whitespace(previous);
|
|
1807
|
-
break;
|
|
1808
|
-
// \
|
|
1809
|
-
case 92:
|
|
1810
|
-
characters2 += escaping(caret() - 1, 7);
|
|
1811
|
-
continue;
|
|
1812
|
-
// /
|
|
1813
|
-
case 47:
|
|
1814
|
-
switch (peek()) {
|
|
1815
|
-
case 42:
|
|
1816
|
-
case 47:
|
|
1817
|
-
append(comment(commenter(next(), caret()), root, parent, declarations), declarations);
|
|
1818
|
-
if ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters2) && substr(characters2, -1, void 0) !== " ") characters2 += " ";
|
|
1819
|
-
break;
|
|
1820
|
-
default:
|
|
1821
|
-
characters2 += "/";
|
|
1822
|
-
}
|
|
1823
|
-
break;
|
|
1824
|
-
// {
|
|
1825
|
-
case 123 * variable:
|
|
1826
|
-
points[index++] = strlen(characters2) * ampersand;
|
|
1827
|
-
// } ; \0
|
|
1828
|
-
case 125 * variable:
|
|
1829
|
-
case 59:
|
|
1830
|
-
case 0:
|
|
1831
|
-
switch (character2) {
|
|
1832
|
-
// \0 }
|
|
1833
|
-
case 0:
|
|
1834
|
-
case 125:
|
|
1835
|
-
scanning = 0;
|
|
1836
|
-
// ;
|
|
1837
|
-
case 59 + offset:
|
|
1838
|
-
if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
|
|
1839
|
-
if (property > 0 && (strlen(characters2) - length2 || variable === 0 && previous === 47))
|
|
1840
|
-
append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1, declarations) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2, declarations), declarations);
|
|
1841
|
-
break;
|
|
1842
|
-
// @ ;
|
|
1843
|
-
case 59:
|
|
1844
|
-
characters2 += ";";
|
|
1845
|
-
// { rule/at-rule
|
|
1846
|
-
default:
|
|
1847
|
-
append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2, rulesets), rulesets);
|
|
1848
|
-
if (character2 === 123)
|
|
1849
|
-
if (offset === 0)
|
|
1850
|
-
parse(characters2, root, reference, reference, props, rulesets, length2, points, children);
|
|
1851
|
-
else {
|
|
1852
|
-
switch (atrule) {
|
|
1853
|
-
// c(ontainer)
|
|
1854
|
-
case 99:
|
|
1855
|
-
if (charat(characters2, 3) === 110) break;
|
|
1856
|
-
// l(ayer)
|
|
1857
|
-
case 108:
|
|
1858
|
-
if (charat(characters2, 2) === 97) break;
|
|
1859
|
-
default:
|
|
1860
|
-
offset = 0;
|
|
1861
|
-
// d(ocument) m(edia) s(upports)
|
|
1862
|
-
case 100:
|
|
1863
|
-
case 109:
|
|
1864
|
-
case 115:
|
|
1865
|
-
}
|
|
1866
|
-
if (offset) parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2, children), children), rules, children, length2, points, rule ? props : children);
|
|
1867
|
-
else parse(characters2, reference, reference, reference, [""], children, 0, points, children);
|
|
1868
|
-
}
|
|
1869
|
-
}
|
|
1870
|
-
index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
|
|
1871
|
-
break;
|
|
1872
|
-
// :
|
|
1873
|
-
case 58:
|
|
1874
|
-
length2 = 1 + strlen(characters2), property = previous;
|
|
1875
|
-
default:
|
|
1876
|
-
if (variable < 1) {
|
|
1877
|
-
if (character2 == 123)
|
|
1878
|
-
--variable;
|
|
1879
|
-
else if (character2 == 125 && variable++ == 0 && prev() == 125)
|
|
1880
|
-
continue;
|
|
1881
|
-
}
|
|
1882
|
-
switch (characters2 += from(character2), character2 * variable) {
|
|
1883
|
-
// &
|
|
1884
|
-
case 38:
|
|
1885
|
-
ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
|
|
1886
|
-
break;
|
|
1887
|
-
// ,
|
|
1888
|
-
case 44:
|
|
1889
|
-
points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
|
|
1890
|
-
break;
|
|
1891
|
-
// @
|
|
1892
|
-
case 64:
|
|
1893
|
-
if (peek() === 45)
|
|
1894
|
-
characters2 += delimit(next());
|
|
1895
|
-
atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
|
|
1896
|
-
break;
|
|
1897
|
-
// -
|
|
1898
|
-
case 45:
|
|
1899
|
-
if (previous === 45 && strlen(characters2) == 2)
|
|
1900
|
-
variable = 0;
|
|
1901
|
-
}
|
|
1902
|
-
}
|
|
1903
|
-
return rulesets;
|
|
1904
|
-
}
|
|
1905
|
-
function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2, siblings) {
|
|
1906
|
-
var post = offset - 1;
|
|
1907
|
-
var rule = offset === 0 ? rules : [""];
|
|
1908
|
-
var size = sizeof(rule);
|
|
1909
|
-
for (var i = 0, j2 = 0, k2 = 0; i < index; ++i)
|
|
1910
|
-
for (var x2 = 0, y2 = substr(value, post + 1, post = abs(j2 = points[i])), z2 = value; x2 < size; ++x2)
|
|
1911
|
-
if (z2 = trim(j2 > 0 ? rule[x2] + " " + y2 : replace(y2, /&\f/g, rule[x2])))
|
|
1912
|
-
props[k2++] = z2;
|
|
1913
|
-
return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2, siblings);
|
|
1914
|
-
}
|
|
1915
|
-
function comment(value, root, parent, siblings) {
|
|
1916
|
-
return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings);
|
|
1917
|
-
}
|
|
1918
|
-
function declaration(value, root, parent, length2, siblings) {
|
|
1919
|
-
return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2, siblings);
|
|
1920
|
-
}
|
|
1921
|
-
|
|
1922
|
-
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Prefixer.js
|
|
1923
|
-
function prefix(value, length2, children) {
|
|
1924
|
-
switch (hash(value, length2)) {
|
|
1925
|
-
// color-adjust
|
|
1926
|
-
case 5103:
|
|
1927
|
-
return WEBKIT + "print-" + value + value;
|
|
1928
|
-
// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
|
|
1929
|
-
case 5737:
|
|
1930
|
-
case 4201:
|
|
1931
|
-
case 3177:
|
|
1932
|
-
case 3433:
|
|
1933
|
-
case 1641:
|
|
1934
|
-
case 4457:
|
|
1935
|
-
case 2921:
|
|
1936
|
-
// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
|
|
1937
|
-
case 5572:
|
|
1938
|
-
case 6356:
|
|
1939
|
-
case 5844:
|
|
1940
|
-
case 3191:
|
|
1941
|
-
case 6645:
|
|
1942
|
-
case 3005:
|
|
1943
|
-
// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
|
|
1944
|
-
case 4215:
|
|
1945
|
-
case 6389:
|
|
1946
|
-
case 5109:
|
|
1947
|
-
case 5365:
|
|
1948
|
-
case 5621:
|
|
1949
|
-
case 3829:
|
|
1950
|
-
// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position
|
|
1951
|
-
case 6391:
|
|
1952
|
-
case 5879:
|
|
1953
|
-
case 5623:
|
|
1954
|
-
case 6135:
|
|
1955
|
-
case 4599:
|
|
1956
|
-
return WEBKIT + value + value;
|
|
1957
|
-
// mask-composite
|
|
1958
|
-
case 4855:
|
|
1959
|
-
return WEBKIT + value.replace("add", "source-over").replace("substract", "source-out").replace("intersect", "source-in").replace("exclude", "xor") + value;
|
|
1960
|
-
// tab-size
|
|
1961
|
-
case 4789:
|
|
1962
|
-
return MOZ + value + value;
|
|
1963
|
-
// appearance, user-select, transform, hyphens, text-size-adjust
|
|
1964
|
-
case 5349:
|
|
1965
|
-
case 4246:
|
|
1966
|
-
case 4810:
|
|
1967
|
-
case 6968:
|
|
1968
|
-
case 2756:
|
|
1969
|
-
return WEBKIT + value + MOZ + value + MS + value + value;
|
|
1970
|
-
// writing-mode
|
|
1971
|
-
case 5936:
|
|
1972
|
-
switch (charat(value, length2 + 11)) {
|
|
1973
|
-
// vertical-l(r)
|
|
1974
|
-
case 114:
|
|
1975
|
-
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
|
|
1976
|
-
// vertical-r(l)
|
|
1977
|
-
case 108:
|
|
1978
|
-
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
|
|
1979
|
-
// horizontal(-)tb
|
|
1980
|
-
case 45:
|
|
1981
|
-
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
|
|
1982
|
-
}
|
|
1983
|
-
// flex, flex-direction, scroll-snap-type, writing-mode
|
|
1984
|
-
case 6828:
|
|
1985
|
-
case 4268:
|
|
1986
|
-
case 2903:
|
|
1987
|
-
return WEBKIT + value + MS + value + value;
|
|
1988
|
-
// order
|
|
1989
|
-
case 6165:
|
|
1990
|
-
return WEBKIT + value + MS + "flex-" + value + value;
|
|
1991
|
-
// align-items
|
|
1992
|
-
case 5187:
|
|
1993
|
-
return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
|
|
1994
|
-
// align-self
|
|
1995
|
-
case 5443:
|
|
1996
|
-
return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/g, "") + (!match(value, /flex-|baseline/) ? MS + "grid-row-" + replace(value, /flex-|-self/g, "") : "") + value;
|
|
1997
|
-
// align-content
|
|
1998
|
-
case 4675:
|
|
1999
|
-
return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/g, "") + value;
|
|
2000
|
-
// flex-shrink
|
|
2001
|
-
case 5548:
|
|
2002
|
-
return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
|
|
2003
|
-
// flex-basis
|
|
2004
|
-
case 5292:
|
|
2005
|
-
return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
|
|
2006
|
-
// flex-grow
|
|
2007
|
-
case 6060:
|
|
2008
|
-
return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
|
|
2009
|
-
// transition
|
|
2010
|
-
case 4554:
|
|
2011
|
-
return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
|
|
2012
|
-
// cursor
|
|
2013
|
-
case 6187:
|
|
2014
|
-
return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
|
|
2015
|
-
// background, background-image
|
|
2016
|
-
case 5495:
|
|
2017
|
-
case 3959:
|
|
2018
|
-
return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
|
|
2019
|
-
// justify-content
|
|
2020
|
-
case 4968:
|
|
2021
|
-
return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /space-between/, "justify") + WEBKIT + value + value;
|
|
2022
|
-
// justify-self
|
|
2023
|
-
case 4200:
|
|
2024
|
-
if (!match(value, /flex-|baseline/)) return MS + "grid-column-align" + substr(value, length2) + value;
|
|
2025
|
-
break;
|
|
2026
|
-
// grid-template-(columns|rows)
|
|
2027
|
-
case 2592:
|
|
2028
|
-
case 3360:
|
|
2029
|
-
return MS + replace(value, "template-", "") + value;
|
|
2030
|
-
// grid-(row|column)-start
|
|
2031
|
-
case 4384:
|
|
2032
|
-
case 3616:
|
|
2033
|
-
if (children && children.some(function(element, index) {
|
|
2034
|
-
return length2 = index, match(element.props, /grid-\w+-end/);
|
|
2035
|
-
})) {
|
|
2036
|
-
return ~indexof(value + (children = children[length2].value), "span", 0) ? value : MS + replace(value, "-start", "") + value + MS + "grid-row-span:" + (~indexof(children, "span", 0) ? match(children, /\d+/) : +match(children, /\d+/) - +match(value, /\d+/)) + ";";
|
|
2037
|
-
}
|
|
2038
|
-
return MS + replace(value, "-start", "") + value;
|
|
2039
|
-
// grid-(row|column)-end
|
|
2040
|
-
case 4896:
|
|
2041
|
-
case 4128:
|
|
2042
|
-
return children && children.some(function(element) {
|
|
2043
|
-
return match(element.props, /grid-\w+-start/);
|
|
2044
|
-
}) ? value : MS + replace(replace(value, "-end", "-span"), "span ", "") + value;
|
|
2045
|
-
// (margin|padding)-inline-(start|end)
|
|
2046
|
-
case 4095:
|
|
2047
|
-
case 3583:
|
|
2048
|
-
case 4068:
|
|
2049
|
-
case 2532:
|
|
2050
|
-
return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
|
|
2051
|
-
// (min|max)?(width|height|inline-size|block-size)
|
|
2052
|
-
case 8116:
|
|
2053
|
-
case 7059:
|
|
2054
|
-
case 5753:
|
|
2055
|
-
case 5535:
|
|
2056
|
-
case 5445:
|
|
2057
|
-
case 5701:
|
|
2058
|
-
case 4933:
|
|
2059
|
-
case 4677:
|
|
2060
|
-
case 5533:
|
|
2061
|
-
case 5789:
|
|
2062
|
-
case 5021:
|
|
2063
|
-
case 4765:
|
|
2064
|
-
if (strlen(value) - 1 - length2 > 6)
|
|
2065
|
-
switch (charat(value, length2 + 1)) {
|
|
2066
|
-
// (m)ax-content, (m)in-content
|
|
2067
|
-
case 109:
|
|
2068
|
-
if (charat(value, length2 + 4) !== 45)
|
|
2069
|
-
break;
|
|
2070
|
-
// (f)ill-available, (f)it-content
|
|
2071
|
-
case 102:
|
|
2072
|
-
return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
|
|
2073
|
-
// (s)tretch
|
|
2074
|
-
case 115:
|
|
2075
|
-
return ~indexof(value, "stretch", 0) ? prefix(replace(value, "stretch", "fill-available"), length2, children) + value : value;
|
|
2076
|
-
}
|
|
2077
|
-
break;
|
|
2078
|
-
// grid-(column|row)
|
|
2079
|
-
case 5152:
|
|
2080
|
-
case 5920:
|
|
2081
|
-
return replace(value, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function(_2, a2, b2, c2, d2, e, f2) {
|
|
2082
|
-
return MS + a2 + ":" + b2 + f2 + (c2 ? MS + a2 + "-span:" + (d2 ? e : +e - +b2) + f2 : "") + value;
|
|
2083
|
-
});
|
|
2084
|
-
// position: sticky
|
|
2085
|
-
case 4949:
|
|
2086
|
-
if (charat(value, length2 + 6) === 121)
|
|
2087
|
-
return replace(value, ":", ":" + WEBKIT) + value;
|
|
2088
|
-
break;
|
|
2089
|
-
// display: (flex|inline-flex|grid|inline-grid)
|
|
2090
|
-
case 6444:
|
|
2091
|
-
switch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {
|
|
2092
|
-
// (inline-)?fle(x)
|
|
2093
|
-
case 120:
|
|
2094
|
-
return replace(value, /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
|
|
2095
|
-
// (inline-)?gri(d)
|
|
2096
|
-
case 100:
|
|
2097
|
-
return replace(value, ":", ":" + MS) + value;
|
|
2098
|
-
}
|
|
2099
|
-
break;
|
|
2100
|
-
// scroll-margin, scroll-margin-(top|right|bottom|left)
|
|
2101
|
-
case 5719:
|
|
2102
|
-
case 2647:
|
|
2103
|
-
case 2135:
|
|
2104
|
-
case 3927:
|
|
2105
|
-
case 2391:
|
|
2106
|
-
return replace(value, "scroll-", "scroll-snap-") + value;
|
|
2107
|
-
}
|
|
2108
|
-
return value;
|
|
2109
|
-
}
|
|
2110
|
-
|
|
2111
|
-
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Serializer.js
|
|
2112
|
-
function serialize(children, callback) {
|
|
2113
|
-
var output = "";
|
|
2114
|
-
for (var i = 0; i < children.length; i++)
|
|
2115
|
-
output += callback(children[i], i, children, callback) || "";
|
|
2116
|
-
return output;
|
|
2117
|
-
}
|
|
2118
|
-
function stringify(element, index, children, callback) {
|
|
2119
|
-
switch (element.type) {
|
|
2120
|
-
case LAYER:
|
|
2121
|
-
if (element.children.length) break;
|
|
2122
|
-
case IMPORT:
|
|
2123
|
-
case NAMESPACE:
|
|
2124
|
-
case DECLARATION:
|
|
2125
|
-
return element.return = element.return || element.value;
|
|
2126
|
-
case COMMENT:
|
|
2127
|
-
return "";
|
|
2128
|
-
case KEYFRAMES:
|
|
2129
|
-
return element.return = element.value + "{" + serialize(element.children, callback) + "}";
|
|
2130
|
-
case RULESET:
|
|
2131
|
-
if (!strlen(element.value = element.props.join(","))) return "";
|
|
2132
|
-
}
|
|
2133
|
-
return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
|
|
2134
|
-
}
|
|
2135
|
-
|
|
2136
|
-
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Middleware.js
|
|
2137
|
-
function middleware(collection) {
|
|
2138
|
-
var length2 = sizeof(collection);
|
|
2139
|
-
return function(element, index, children, callback) {
|
|
2140
|
-
var output = "";
|
|
2141
|
-
for (var i = 0; i < length2; i++)
|
|
2142
|
-
output += collection[i](element, index, children, callback) || "";
|
|
2143
|
-
return output;
|
|
2144
|
-
};
|
|
2145
|
-
}
|
|
2146
|
-
function rulesheet(callback) {
|
|
2147
|
-
return function(element) {
|
|
2148
|
-
if (!element.root) {
|
|
2149
|
-
if (element = element.return)
|
|
2150
|
-
callback(element);
|
|
2151
|
-
}
|
|
2152
|
-
};
|
|
2153
|
-
}
|
|
2154
|
-
function prefixer(element, index, children, callback) {
|
|
2155
|
-
if (element.length > -1) {
|
|
2156
|
-
if (!element.return)
|
|
2157
|
-
switch (element.type) {
|
|
2158
|
-
case DECLARATION:
|
|
2159
|
-
element.return = prefix(element.value, element.length, children);
|
|
2160
|
-
return;
|
|
2161
|
-
case KEYFRAMES:
|
|
2162
|
-
return serialize([copy(element, { value: replace(element.value, "@", "@" + WEBKIT) })], callback);
|
|
2163
|
-
case RULESET:
|
|
2164
|
-
if (element.length)
|
|
2165
|
-
return combine(children = element.props, function(value) {
|
|
2166
|
-
switch (match(value, callback = /(::plac\w+|:read-\w+)/)) {
|
|
2167
|
-
// :read-(only|write)
|
|
2168
|
-
case ":read-only":
|
|
2169
|
-
case ":read-write":
|
|
2170
|
-
lift(copy(element, { props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")] }));
|
|
2171
|
-
lift(copy(element, { props: [value] }));
|
|
2172
|
-
assign(element, { props: filter(children, callback) });
|
|
2173
|
-
break;
|
|
2174
|
-
// :placeholder
|
|
2175
|
-
case "::placeholder":
|
|
2176
|
-
lift(copy(element, { props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")] }));
|
|
2177
|
-
lift(copy(element, { props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")] }));
|
|
2178
|
-
lift(copy(element, { props: [replace(value, /:(plac\w+)/, MS + "input-$1")] }));
|
|
2179
|
-
lift(copy(element, { props: [value] }));
|
|
2180
|
-
assign(element, { props: filter(children, callback) });
|
|
2181
|
-
break;
|
|
2182
|
-
}
|
|
2183
|
-
return "";
|
|
2184
|
-
});
|
|
2185
|
-
}
|
|
2186
|
-
}
|
|
2187
|
-
}
|
|
2188
|
-
|
|
2189
|
-
// ../../../node_modules/.pnpm/@emotion+unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js
|
|
2190
|
-
var unitlessKeys = {
|
|
2191
|
-
animationIterationCount: 1,
|
|
2192
|
-
aspectRatio: 1,
|
|
2193
|
-
borderImageOutset: 1,
|
|
2194
|
-
borderImageSlice: 1,
|
|
2195
|
-
borderImageWidth: 1,
|
|
2196
|
-
boxFlex: 1,
|
|
2197
|
-
boxFlexGroup: 1,
|
|
2198
|
-
boxOrdinalGroup: 1,
|
|
2199
|
-
columnCount: 1,
|
|
2200
|
-
columns: 1,
|
|
2201
|
-
flex: 1,
|
|
2202
|
-
flexGrow: 1,
|
|
2203
|
-
flexPositive: 1,
|
|
2204
|
-
flexShrink: 1,
|
|
2205
|
-
flexNegative: 1,
|
|
2206
|
-
flexOrder: 1,
|
|
2207
|
-
gridRow: 1,
|
|
2208
|
-
gridRowEnd: 1,
|
|
2209
|
-
gridRowSpan: 1,
|
|
2210
|
-
gridRowStart: 1,
|
|
2211
|
-
gridColumn: 1,
|
|
2212
|
-
gridColumnEnd: 1,
|
|
2213
|
-
gridColumnSpan: 1,
|
|
2214
|
-
gridColumnStart: 1,
|
|
2215
|
-
msGridRow: 1,
|
|
2216
|
-
msGridRowSpan: 1,
|
|
2217
|
-
msGridColumn: 1,
|
|
2218
|
-
msGridColumnSpan: 1,
|
|
2219
|
-
fontWeight: 1,
|
|
2220
|
-
lineHeight: 1,
|
|
2221
|
-
opacity: 1,
|
|
2222
|
-
order: 1,
|
|
2223
|
-
orphans: 1,
|
|
2224
|
-
scale: 1,
|
|
2225
|
-
tabSize: 1,
|
|
2226
|
-
widows: 1,
|
|
2227
|
-
zIndex: 1,
|
|
2228
|
-
zoom: 1,
|
|
2229
|
-
WebkitLineClamp: 1,
|
|
2230
|
-
// SVG-related properties
|
|
2231
|
-
fillOpacity: 1,
|
|
2232
|
-
floodOpacity: 1,
|
|
2233
|
-
stopOpacity: 1,
|
|
2234
|
-
strokeDasharray: 1,
|
|
2235
|
-
strokeDashoffset: 1,
|
|
2236
|
-
strokeMiterlimit: 1,
|
|
2237
|
-
strokeOpacity: 1,
|
|
2238
|
-
strokeWidth: 1
|
|
2239
|
-
};
|
|
2240
|
-
|
|
2241
|
-
// ../../../node_modules/.pnpm/styled-components@6.3.6_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/styled-components/dist/styled-components.esm.js
|
|
2242
|
-
var a = "undefined" != typeof process && void 0 !== process.env && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || "data-styled";
|
|
2243
|
-
var c = "active";
|
|
2244
|
-
var u = "data-styled-version";
|
|
2245
|
-
var l = "6.3.6";
|
|
2246
|
-
var p = "/*!sc*/\n";
|
|
2247
|
-
var d = "undefined" != typeof window && "undefined" != typeof document;
|
|
2248
|
-
var h = void 0 === o__default.createContext;
|
|
2249
|
-
var f = Boolean("boolean" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : "undefined" != typeof process && void 0 !== process.env && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && "" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? "false" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : "undefined" != typeof process && void 0 !== process.env && void 0 !== process.env.SC_DISABLE_SPEEDY && "" !== process.env.SC_DISABLE_SPEEDY ? "false" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : "production" !== process.env.NODE_ENV);
|
|
2250
|
-
var y = /invalid hook call/i;
|
|
2251
|
-
var v = /* @__PURE__ */ new Set();
|
|
2252
|
-
var g = function(t, n) {
|
|
2253
|
-
if ("production" !== process.env.NODE_ENV) {
|
|
2254
|
-
if (h) return;
|
|
2255
|
-
var r2 = n ? ' with the id of "'.concat(n, '"') : "", s = "The component ".concat(t).concat(r2, " has been created dynamically.\n") + "You may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.\nSee https://styled-components.com/docs/basics#define-styled-components-outside-of-the-render-method for more info.\n", i = console.error;
|
|
2256
|
-
try {
|
|
2257
|
-
var a2 = true;
|
|
2258
|
-
console.error = function(t2) {
|
|
2259
|
-
for (var n2 = [], o2 = 1; o2 < arguments.length; o2++) n2[o2 - 1] = arguments[o2];
|
|
2260
|
-
y.test(t2) ? (a2 = false, v.delete(s)) : i.apply(void 0, __spreadArray([t2], n2, false));
|
|
2261
|
-
}, "function" == typeof o__default.useState && o__default.useState(null), a2 && !v.has(s) && (console.warn(s), v.add(s));
|
|
2262
|
-
} catch (e) {
|
|
2263
|
-
y.test(e.message) && v.delete(s);
|
|
2264
|
-
} finally {
|
|
2265
|
-
console.error = i;
|
|
2266
|
-
}
|
|
2267
|
-
}
|
|
2268
|
-
};
|
|
2269
|
-
var S = Object.freeze([]);
|
|
2270
|
-
var w = Object.freeze({});
|
|
2271
|
-
function b(e, t, n) {
|
|
2272
|
-
return void 0 === n && (n = w), e.theme !== n.theme && e.theme || t || n.theme;
|
|
2273
|
-
}
|
|
2274
|
-
var C = /* @__PURE__ */ new Set(["a", "abbr", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "menu", "meter", "nav", "object", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "slot", "small", "span", "strong", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "u", "ul", "var", "video", "wbr", "circle", "clipPath", "defs", "ellipse", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence", "filter", "foreignObject", "g", "image", "line", "linearGradient", "marker", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "svg", "switch", "symbol", "text", "textPath", "tspan", "use"]);
|
|
2275
|
-
var E = /[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g;
|
|
2276
|
-
var N = /(^-|-$)/g;
|
|
2277
|
-
function A(e) {
|
|
2278
|
-
return e.replace(E, "-").replace(N, "");
|
|
2279
|
-
}
|
|
2280
|
-
var P = /(a)(d)/gi;
|
|
2281
|
-
var _ = function(e) {
|
|
2282
|
-
return String.fromCharCode(e + (e > 25 ? 39 : 97));
|
|
2283
|
-
};
|
|
2284
|
-
function I(e) {
|
|
2285
|
-
var t, n = "";
|
|
2286
|
-
for (t = Math.abs(e); t > 52; t = t / 52 | 0) n = _(t % 52) + n;
|
|
2287
|
-
return (_(t % 52) + n).replace(P, "$1-$2");
|
|
2288
|
-
}
|
|
2289
|
-
var O;
|
|
2290
|
-
var D = function(e, t) {
|
|
2291
|
-
for (var n = t.length; n; ) e = 33 * e ^ t.charCodeAt(--n);
|
|
2292
|
-
return e;
|
|
2293
|
-
};
|
|
2294
|
-
var T = function(e) {
|
|
2295
|
-
return D(5381, e);
|
|
2296
|
-
};
|
|
2297
|
-
function x(e) {
|
|
2298
|
-
return I(T(e) >>> 0);
|
|
2299
|
-
}
|
|
2300
|
-
function R(e) {
|
|
2301
|
-
return "production" !== process.env.NODE_ENV && "string" == typeof e && e || e.displayName || e.name || "Component";
|
|
2302
|
-
}
|
|
2303
|
-
function j(e) {
|
|
2304
|
-
return "string" == typeof e && ("production" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());
|
|
2305
|
-
}
|
|
2306
|
-
var k = "function" == typeof Symbol && Symbol.for;
|
|
2307
|
-
var M = k ? Symbol.for("react.memo") : 60115;
|
|
2308
|
-
var V = k ? Symbol.for("react.forward_ref") : 60112;
|
|
2309
|
-
var F = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true };
|
|
2310
|
-
var B = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true };
|
|
2311
|
-
var L = { $$typeof: true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true };
|
|
2312
|
-
var z = ((O = {})[V] = { $$typeof: true, render: true, defaultProps: true, displayName: true, propTypes: true }, O[M] = L, O);
|
|
2313
|
-
function G(e) {
|
|
2314
|
-
return ("type" in (t = e) && t.type.$$typeof) === M ? L : "$$typeof" in e ? z[e.$$typeof] : F;
|
|
2315
|
-
var t;
|
|
2316
|
-
}
|
|
2317
|
-
var $ = Object.defineProperty;
|
|
2318
|
-
var Y = Object.getOwnPropertyNames;
|
|
2319
|
-
var W = Object.getOwnPropertySymbols;
|
|
2320
|
-
var q = Object.getOwnPropertyDescriptor;
|
|
2321
|
-
var H = Object.getPrototypeOf;
|
|
2322
|
-
var U = Object.prototype;
|
|
2323
|
-
function J(e, t, n) {
|
|
2324
|
-
if ("string" != typeof t) {
|
|
2325
|
-
if (U) {
|
|
2326
|
-
var o2 = H(t);
|
|
2327
|
-
o2 && o2 !== U && J(e, o2, n);
|
|
2328
|
-
}
|
|
2329
|
-
var r2 = Y(t);
|
|
2330
|
-
W && (r2 = r2.concat(W(t)));
|
|
2331
|
-
for (var s = G(e), i = G(t), a2 = 0; a2 < r2.length; ++a2) {
|
|
2332
|
-
var c2 = r2[a2];
|
|
2333
|
-
if (!(c2 in B || n && n[c2] || i && c2 in i || s && c2 in s)) {
|
|
2334
|
-
var u2 = q(t, c2);
|
|
2335
|
-
try {
|
|
2336
|
-
$(e, c2, u2);
|
|
2337
|
-
} catch (e2) {
|
|
2338
|
-
}
|
|
2339
|
-
}
|
|
2340
|
-
}
|
|
2341
|
-
}
|
|
2342
|
-
return e;
|
|
2343
|
-
}
|
|
2344
|
-
function X(e) {
|
|
2345
|
-
return "function" == typeof e;
|
|
2346
|
-
}
|
|
2347
|
-
function Z(e) {
|
|
2348
|
-
return "object" == typeof e && "styledComponentId" in e;
|
|
2349
|
-
}
|
|
2350
|
-
function K(e, t) {
|
|
2351
|
-
return e && t ? "".concat(e, " ").concat(t) : e || t || "";
|
|
2352
|
-
}
|
|
2353
|
-
function Q(e, t) {
|
|
2354
|
-
if (0 === e.length) return "";
|
|
2355
|
-
for (var n = e[0], o2 = 1; o2 < e.length; o2++) n += e[o2];
|
|
2356
|
-
return n;
|
|
2357
|
-
}
|
|
2358
|
-
function ee(e) {
|
|
2359
|
-
return null !== e && "object" == typeof e && e.constructor.name === Object.name && !("props" in e && e.$$typeof);
|
|
2360
|
-
}
|
|
2361
|
-
function te(e, t, n) {
|
|
2362
|
-
if (void 0 === n && (n = false), !n && !ee(e) && !Array.isArray(e)) return t;
|
|
2363
|
-
if (Array.isArray(t)) for (var o2 = 0; o2 < t.length; o2++) e[o2] = te(e[o2], t[o2]);
|
|
2364
|
-
else if (ee(t)) for (var o2 in t) e[o2] = te(e[o2], t[o2]);
|
|
2365
|
-
return e;
|
|
2366
|
-
}
|
|
2367
|
-
function ne(e, t) {
|
|
2368
|
-
Object.defineProperty(e, "toString", { value: t });
|
|
2369
|
-
}
|
|
2370
|
-
var oe = "production" !== process.env.NODE_ENV ? { 1: "Cannot create styled-component for component: %s.\n\n", 2: "Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n", 3: "Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n", 4: "The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n", 5: "The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n", 6: "Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n", 7: 'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n', 8: 'ThemeProvider: Please make your "theme" prop an object.\n\n', 9: "Missing document `<head>`\n\n", 10: "Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n", 11: "_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n", 12: "It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n", 13: "%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n", 14: 'ThemeProvider: "theme" prop is required.\n\n', 15: "A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n", 16: "Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n", 17: "CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n", 18: "ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`" } : {};
|
|
2371
|
-
function re() {
|
|
2372
|
-
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
|
|
2373
|
-
for (var n = e[0], o2 = [], r2 = 1, s = e.length; r2 < s; r2 += 1) o2.push(e[r2]);
|
|
2374
|
-
return o2.forEach(function(e2) {
|
|
2375
|
-
n = n.replace(/%[a-z]/, e2);
|
|
2376
|
-
}), n;
|
|
2377
|
-
}
|
|
2378
|
-
function se(t) {
|
|
2379
|
-
for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
|
|
2380
|
-
return "production" === process.env.NODE_ENV ? new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(t, " for more information.").concat(n.length > 0 ? " Args: ".concat(n.join(", ")) : "")) : new Error(re.apply(void 0, __spreadArray([oe[t]], n, false)).trim());
|
|
2381
|
-
}
|
|
2382
|
-
var ie = function() {
|
|
2383
|
-
function e(e2) {
|
|
2384
|
-
this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e2;
|
|
2385
|
-
}
|
|
2386
|
-
return e.prototype.indexOfGroup = function(e2) {
|
|
2387
|
-
for (var t = 0, n = 0; n < e2; n++) t += this.groupSizes[n];
|
|
2388
|
-
return t;
|
|
2389
|
-
}, e.prototype.insertRules = function(e2, t) {
|
|
2390
|
-
if (e2 >= this.groupSizes.length) {
|
|
2391
|
-
for (var n = this.groupSizes, o2 = n.length, r2 = o2; e2 >= r2; ) if ((r2 <<= 1) < 0) throw se(16, "".concat(e2));
|
|
2392
|
-
this.groupSizes = new Uint32Array(r2), this.groupSizes.set(n), this.length = r2;
|
|
2393
|
-
for (var s = o2; s < r2; s++) this.groupSizes[s] = 0;
|
|
2394
|
-
}
|
|
2395
|
-
for (var i = this.indexOfGroup(e2 + 1), a2 = (s = 0, t.length); s < a2; s++) this.tag.insertRule(i, t[s]) && (this.groupSizes[e2]++, i++);
|
|
2396
|
-
}, e.prototype.clearGroup = function(e2) {
|
|
2397
|
-
if (e2 < this.length) {
|
|
2398
|
-
var t = this.groupSizes[e2], n = this.indexOfGroup(e2), o2 = n + t;
|
|
2399
|
-
this.groupSizes[e2] = 0;
|
|
2400
|
-
for (var r2 = n; r2 < o2; r2++) this.tag.deleteRule(n);
|
|
2401
|
-
}
|
|
2402
|
-
}, e.prototype.getGroup = function(e2) {
|
|
2403
|
-
var t = "";
|
|
2404
|
-
if (e2 >= this.length || 0 === this.groupSizes[e2]) return t;
|
|
2405
|
-
for (var n = this.groupSizes[e2], o2 = this.indexOfGroup(e2), r2 = o2 + n, s = o2; s < r2; s++) t += "".concat(this.tag.getRule(s)).concat(p);
|
|
2406
|
-
return t;
|
|
2407
|
-
}, e;
|
|
2408
|
-
}();
|
|
2409
|
-
var ae = 1 << 30;
|
|
2410
|
-
var ce = /* @__PURE__ */ new Map();
|
|
2411
|
-
var ue = /* @__PURE__ */ new Map();
|
|
2412
|
-
var le = 1;
|
|
2413
|
-
var pe = function(e) {
|
|
2414
|
-
if (ce.has(e)) return ce.get(e);
|
|
2415
|
-
for (; ue.has(le); ) le++;
|
|
2416
|
-
var t = le++;
|
|
2417
|
-
if ("production" !== process.env.NODE_ENV && ((0 | t) < 0 || t > ae)) throw se(16, "".concat(t));
|
|
2418
|
-
return ce.set(e, t), ue.set(t, e), t;
|
|
2419
|
-
};
|
|
2420
|
-
var de = function(e, t) {
|
|
2421
|
-
le = t + 1, ce.set(e, t), ue.set(t, e);
|
|
2422
|
-
};
|
|
2423
|
-
var he = "style[".concat(a, "][").concat(u, '="').concat(l, '"]');
|
|
2424
|
-
var fe = new RegExp("^".concat(a, '\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'));
|
|
2425
|
-
var me = function(e, t, n) {
|
|
2426
|
-
for (var o2, r2 = n.split(","), s = 0, i = r2.length; s < i; s++) (o2 = r2[s]) && e.registerName(t, o2);
|
|
2427
|
-
};
|
|
2428
|
-
var ye = function(e, t) {
|
|
2429
|
-
for (var n, o2 = (null !== (n = t.textContent) && void 0 !== n ? n : "").split(p), r2 = [], s = 0, i = o2.length; s < i; s++) {
|
|
2430
|
-
var a2 = o2[s].trim();
|
|
2431
|
-
if (a2) {
|
|
2432
|
-
var c2 = a2.match(fe);
|
|
2433
|
-
if (c2) {
|
|
2434
|
-
var u2 = 0 | parseInt(c2[1], 10), l2 = c2[2];
|
|
2435
|
-
0 !== u2 && (de(l2, u2), me(e, l2, c2[3]), e.getTag().insertRules(u2, r2)), r2.length = 0;
|
|
2436
|
-
} else r2.push(a2);
|
|
2437
|
-
}
|
|
2438
|
-
}
|
|
2439
|
-
};
|
|
2440
|
-
var ve = function(e) {
|
|
2441
|
-
for (var t = document.querySelectorAll(he), n = 0, o2 = t.length; n < o2; n++) {
|
|
2442
|
-
var r2 = t[n];
|
|
2443
|
-
r2 && r2.getAttribute(a) !== c && (ye(e, r2), r2.parentNode && r2.parentNode.removeChild(r2));
|
|
2444
|
-
}
|
|
2445
|
-
};
|
|
2446
|
-
function ge() {
|
|
2447
|
-
return "undefined" != typeof __webpack_nonce__ ? __webpack_nonce__ : null;
|
|
2448
|
-
}
|
|
2449
|
-
var Se = function(e) {
|
|
2450
|
-
var t = document.head, n = e || t, o2 = document.createElement("style"), r2 = function(e2) {
|
|
2451
|
-
var t2 = Array.from(e2.querySelectorAll("style[".concat(a, "]")));
|
|
2452
|
-
return t2[t2.length - 1];
|
|
2453
|
-
}(n), s = void 0 !== r2 ? r2.nextSibling : null;
|
|
2454
|
-
o2.setAttribute(a, c), o2.setAttribute(u, l);
|
|
2455
|
-
var i = ge();
|
|
2456
|
-
return i && o2.setAttribute("nonce", i), n.insertBefore(o2, s), o2;
|
|
2457
|
-
};
|
|
2458
|
-
var we = function() {
|
|
2459
|
-
function e(e2) {
|
|
2460
|
-
this.element = Se(e2), this.element.appendChild(document.createTextNode("")), this.sheet = function(e3) {
|
|
2461
|
-
if (e3.sheet) return e3.sheet;
|
|
2462
|
-
for (var t = document.styleSheets, n = 0, o2 = t.length; n < o2; n++) {
|
|
2463
|
-
var r2 = t[n];
|
|
2464
|
-
if (r2.ownerNode === e3) return r2;
|
|
2465
|
-
}
|
|
2466
|
-
throw se(17);
|
|
2467
|
-
}(this.element), this.length = 0;
|
|
2468
|
-
}
|
|
2469
|
-
return e.prototype.insertRule = function(e2, t) {
|
|
2470
|
-
try {
|
|
2471
|
-
return this.sheet.insertRule(t, e2), this.length++, true;
|
|
2472
|
-
} catch (e3) {
|
|
2473
|
-
return false;
|
|
2474
|
-
}
|
|
2475
|
-
}, e.prototype.deleteRule = function(e2) {
|
|
2476
|
-
this.sheet.deleteRule(e2), this.length--;
|
|
2477
|
-
}, e.prototype.getRule = function(e2) {
|
|
2478
|
-
var t = this.sheet.cssRules[e2];
|
|
2479
|
-
return t && t.cssText ? t.cssText : "";
|
|
2480
|
-
}, e;
|
|
2481
|
-
}();
|
|
2482
|
-
var be = function() {
|
|
2483
|
-
function e(e2) {
|
|
2484
|
-
this.element = Se(e2), this.nodes = this.element.childNodes, this.length = 0;
|
|
2485
|
-
}
|
|
2486
|
-
return e.prototype.insertRule = function(e2, t) {
|
|
2487
|
-
if (e2 <= this.length && e2 >= 0) {
|
|
2488
|
-
var n = document.createTextNode(t);
|
|
2489
|
-
return this.element.insertBefore(n, this.nodes[e2] || null), this.length++, true;
|
|
2490
|
-
}
|
|
2491
|
-
return false;
|
|
2492
|
-
}, e.prototype.deleteRule = function(e2) {
|
|
2493
|
-
this.element.removeChild(this.nodes[e2]), this.length--;
|
|
2494
|
-
}, e.prototype.getRule = function(e2) {
|
|
2495
|
-
return e2 < this.length ? this.nodes[e2].textContent : "";
|
|
2496
|
-
}, e;
|
|
2497
|
-
}();
|
|
2498
|
-
var Ce = function() {
|
|
2499
|
-
function e(e2) {
|
|
2500
|
-
this.rules = [], this.length = 0;
|
|
2501
|
-
}
|
|
2502
|
-
return e.prototype.insertRule = function(e2, t) {
|
|
2503
|
-
return e2 <= this.length && (this.rules.splice(e2, 0, t), this.length++, true);
|
|
2504
|
-
}, e.prototype.deleteRule = function(e2) {
|
|
2505
|
-
this.rules.splice(e2, 1), this.length--;
|
|
2506
|
-
}, e.prototype.getRule = function(e2) {
|
|
2507
|
-
return e2 < this.length ? this.rules[e2] : "";
|
|
2508
|
-
}, e;
|
|
2509
|
-
}();
|
|
2510
|
-
var Ee = d;
|
|
2511
|
-
var Ne = { isServer: !d, useCSSOMInjection: !f };
|
|
2512
|
-
var Ae = function() {
|
|
2513
|
-
function e(e2, n, o2) {
|
|
2514
|
-
void 0 === e2 && (e2 = w), void 0 === n && (n = {});
|
|
2515
|
-
var r2 = this;
|
|
2516
|
-
this.options = __assign(__assign({}, Ne), e2), this.gs = n, this.names = new Map(o2), this.server = !!e2.isServer, !this.server && d && Ee && (Ee = false, ve(this)), ne(this, function() {
|
|
2517
|
-
return function(e3) {
|
|
2518
|
-
for (var t = e3.getTag(), n2 = t.length, o3 = "", r3 = function(n3) {
|
|
2519
|
-
var r4 = function(e4) {
|
|
2520
|
-
return ue.get(e4);
|
|
2521
|
-
}(n3);
|
|
2522
|
-
if (void 0 === r4) return "continue";
|
|
2523
|
-
var s2 = e3.names.get(r4), i = t.getGroup(n3);
|
|
2524
|
-
if (void 0 === s2 || !s2.size || 0 === i.length) return "continue";
|
|
2525
|
-
var c2 = "".concat(a, ".g").concat(n3, '[id="').concat(r4, '"]'), u2 = "";
|
|
2526
|
-
void 0 !== s2 && s2.forEach(function(e4) {
|
|
2527
|
-
e4.length > 0 && (u2 += "".concat(e4, ","));
|
|
2528
|
-
}), o3 += "".concat(i).concat(c2, '{content:"').concat(u2, '"}').concat(p);
|
|
2529
|
-
}, s = 0; s < n2; s++) r3(s);
|
|
2530
|
-
return o3;
|
|
2531
|
-
}(r2);
|
|
2532
|
-
});
|
|
2533
|
-
}
|
|
2534
|
-
return e.registerId = function(e2) {
|
|
2535
|
-
return pe(e2);
|
|
2536
|
-
}, e.prototype.rehydrate = function() {
|
|
2537
|
-
!this.server && d && ve(this);
|
|
2538
|
-
}, e.prototype.reconstructWithOptions = function(n, o2) {
|
|
2539
|
-
return void 0 === o2 && (o2 = true), new e(__assign(__assign({}, this.options), n), this.gs, o2 && this.names || void 0);
|
|
2540
|
-
}, e.prototype.allocateGSInstance = function(e2) {
|
|
2541
|
-
return this.gs[e2] = (this.gs[e2] || 0) + 1;
|
|
2542
|
-
}, e.prototype.getTag = function() {
|
|
2543
|
-
return this.tag || (this.tag = (e2 = function(e3) {
|
|
2544
|
-
var t = e3.useCSSOMInjection, n = e3.target;
|
|
2545
|
-
return e3.isServer ? new Ce(n) : t ? new we(n) : new be(n);
|
|
2546
|
-
}(this.options), new ie(e2)));
|
|
2547
|
-
var e2;
|
|
2548
|
-
}, e.prototype.hasNameForId = function(e2, t) {
|
|
2549
|
-
return this.names.has(e2) && this.names.get(e2).has(t);
|
|
2550
|
-
}, e.prototype.registerName = function(e2, t) {
|
|
2551
|
-
if (pe(e2), this.names.has(e2)) this.names.get(e2).add(t);
|
|
2552
|
-
else {
|
|
2553
|
-
var n = /* @__PURE__ */ new Set();
|
|
2554
|
-
n.add(t), this.names.set(e2, n);
|
|
2555
|
-
}
|
|
2556
|
-
}, e.prototype.insertRules = function(e2, t, n) {
|
|
2557
|
-
this.registerName(e2, t), this.getTag().insertRules(pe(e2), n);
|
|
2558
|
-
}, e.prototype.clearNames = function(e2) {
|
|
2559
|
-
this.names.has(e2) && this.names.get(e2).clear();
|
|
2560
|
-
}, e.prototype.clearRules = function(e2) {
|
|
2561
|
-
this.getTag().clearGroup(pe(e2)), this.clearNames(e2);
|
|
2562
|
-
}, e.prototype.clearTag = function() {
|
|
2563
|
-
this.tag = void 0;
|
|
2564
|
-
}, e;
|
|
2565
|
-
}();
|
|
2566
|
-
var Pe = /&/g;
|
|
2567
|
-
var _e = 47;
|
|
2568
|
-
function Ie(e) {
|
|
2569
|
-
if (-1 === e.indexOf("}")) return false;
|
|
2570
|
-
for (var t = e.length, n = 0, o2 = 0, r2 = false, s = 0; s < t; s++) {
|
|
2571
|
-
var i = e.charCodeAt(s);
|
|
2572
|
-
if (0 !== o2 || r2 || i !== _e || 42 !== e.charCodeAt(s + 1)) if (r2) 42 === i && e.charCodeAt(s + 1) === _e && (r2 = false, s++);
|
|
2573
|
-
else if (34 !== i && 39 !== i || 0 !== s && 92 === e.charCodeAt(s - 1)) {
|
|
2574
|
-
if (0 === o2) {
|
|
2575
|
-
if (123 === i) n++;
|
|
2576
|
-
else if (125 === i && --n < 0) return true;
|
|
2577
|
-
}
|
|
2578
|
-
} else 0 === o2 ? o2 = i : o2 === i && (o2 = 0);
|
|
2579
|
-
else r2 = true, s++;
|
|
2580
|
-
}
|
|
2581
|
-
return 0 !== n || 0 !== o2;
|
|
2582
|
-
}
|
|
2583
|
-
function Oe(e, t) {
|
|
2584
|
-
return e.map(function(e2) {
|
|
2585
|
-
return "rule" === e2.type && (e2.value = "".concat(t, " ").concat(e2.value), e2.value = e2.value.replaceAll(",", ",".concat(t, " ")), e2.props = e2.props.map(function(e3) {
|
|
2586
|
-
return "".concat(t, " ").concat(e3);
|
|
2587
|
-
})), Array.isArray(e2.children) && "@keyframes" !== e2.type && (e2.children = Oe(e2.children, t)), e2;
|
|
2588
|
-
});
|
|
2589
|
-
}
|
|
2590
|
-
function De(e) {
|
|
2591
|
-
var t, n, o2, r2 = w , i = r2.options, a2 = void 0 === i ? w : i, c2 = r2.plugins, u2 = void 0 === c2 ? S : c2, l2 = function(e2, o3, r3) {
|
|
2592
|
-
return r3.startsWith(n) && r3.endsWith(n) && r3.replaceAll(n, "").length > 0 ? ".".concat(t) : e2;
|
|
2593
|
-
}, p2 = u2.slice();
|
|
2594
|
-
p2.push(function(e2) {
|
|
2595
|
-
e2.type === RULESET && e2.value.includes("&") && (e2.props[0] = e2.props[0].replace(Pe, n).replace(o2, l2));
|
|
2596
|
-
}), a2.prefix && p2.push(prefixer), p2.push(stringify);
|
|
2597
|
-
var d2 = function(e2, r3, i2, c3) {
|
|
2598
|
-
void 0 === r3 && (r3 = ""), void 0 === i2 && (i2 = ""), void 0 === c3 && (c3 = "&"), t = c3, n = r3, o2 = new RegExp("\\".concat(n, "\\b"), "g");
|
|
2599
|
-
var u3 = function(e3) {
|
|
2600
|
-
if (!Ie(e3)) return e3;
|
|
2601
|
-
for (var t2 = e3.length, n2 = "", o3 = 0, r4 = 0, s = 0, i3 = false, a3 = 0; a3 < t2; a3++) {
|
|
2602
|
-
var c4 = e3.charCodeAt(a3);
|
|
2603
|
-
if (0 !== s || i3 || c4 !== _e || 42 !== e3.charCodeAt(a3 + 1)) if (i3) 42 === c4 && e3.charCodeAt(a3 + 1) === _e && (i3 = false, a3++);
|
|
2604
|
-
else if (34 !== c4 && 39 !== c4 || 0 !== a3 && 92 === e3.charCodeAt(a3 - 1)) {
|
|
2605
|
-
if (0 === s) if (123 === c4) r4++;
|
|
2606
|
-
else if (125 === c4) {
|
|
2607
|
-
if (--r4 < 0) {
|
|
2608
|
-
for (var u4 = a3 + 1; u4 < t2; ) {
|
|
2609
|
-
var l4 = e3.charCodeAt(u4);
|
|
2610
|
-
if (59 === l4 || 10 === l4) break;
|
|
2611
|
-
u4++;
|
|
2612
|
-
}
|
|
2613
|
-
u4 < t2 && 59 === e3.charCodeAt(u4) && u4++, r4 = 0, a3 = u4 - 1, o3 = u4;
|
|
2614
|
-
continue;
|
|
2615
|
-
}
|
|
2616
|
-
0 === r4 && (n2 += e3.substring(o3, a3 + 1), o3 = a3 + 1);
|
|
2617
|
-
} else 59 === c4 && 0 === r4 && (n2 += e3.substring(o3, a3 + 1), o3 = a3 + 1);
|
|
2618
|
-
} else 0 === s ? s = c4 : s === c4 && (s = 0);
|
|
2619
|
-
else i3 = true, a3++;
|
|
2620
|
-
}
|
|
2621
|
-
if (o3 < t2) {
|
|
2622
|
-
var p3 = e3.substring(o3);
|
|
2623
|
-
Ie(p3) || (n2 += p3);
|
|
2624
|
-
}
|
|
2625
|
-
return n2;
|
|
2626
|
-
}(function(e3) {
|
|
2627
|
-
if (-1 === e3.indexOf("//")) return e3;
|
|
2628
|
-
for (var t2 = e3.length, n2 = [], o3 = 0, r4 = 0, s = 0, i3 = 0; r4 < t2; ) {
|
|
2629
|
-
var a3 = e3.charCodeAt(r4);
|
|
2630
|
-
if (34 !== a3 && 39 !== a3 || 0 !== r4 && 92 === e3.charCodeAt(r4 - 1)) if (0 === s) if (40 === a3 && r4 >= 3 && 108 == (32 | e3.charCodeAt(r4 - 1)) && 114 == (32 | e3.charCodeAt(r4 - 2)) && 117 == (32 | e3.charCodeAt(r4 - 3))) i3 = 1, r4++;
|
|
2631
|
-
else if (i3 > 0) 41 === a3 ? i3-- : 40 === a3 && i3++, r4++;
|
|
2632
|
-
else if (a3 === _e && r4 + 1 < t2 && e3.charCodeAt(r4 + 1) === _e) {
|
|
2633
|
-
for (r4 > o3 && n2.push(e3.substring(o3, r4)); r4 < t2 && 10 !== e3.charCodeAt(r4); ) r4++;
|
|
2634
|
-
o3 = r4;
|
|
2635
|
-
} else r4++;
|
|
2636
|
-
else r4++;
|
|
2637
|
-
else 0 === s ? s = a3 : s === a3 && (s = 0), r4++;
|
|
2638
|
-
}
|
|
2639
|
-
return 0 === o3 ? e3 : (o3 < t2 && n2.push(e3.substring(o3)), n2.join(""));
|
|
2640
|
-
}(e2)), l3 = compile(i2 || r3 ? "".concat(i2, " ").concat(r3, " { ").concat(u3, " }") : u3);
|
|
2641
|
-
a2.namespace && (l3 = Oe(l3, a2.namespace));
|
|
2642
|
-
var d3 = [];
|
|
2643
|
-
return serialize(l3, middleware(p2.concat(rulesheet(function(e3) {
|
|
2644
|
-
return d3.push(e3);
|
|
2645
|
-
})))), d3;
|
|
2646
|
-
};
|
|
2647
|
-
return d2.hash = u2.length ? u2.reduce(function(e2, t2) {
|
|
2648
|
-
return t2.name || se(15), D(e2, t2.name);
|
|
2649
|
-
}, 5381).toString() : "", d2;
|
|
2650
|
-
}
|
|
2651
|
-
var Te = new Ae();
|
|
2652
|
-
var xe = De();
|
|
2653
|
-
var Re = { shouldForwardProp: void 0, styleSheet: Te, stylis: xe };
|
|
2654
|
-
var je = h ? { Provider: function(e) {
|
|
2655
|
-
return e.children;
|
|
2656
|
-
}, Consumer: function(e) {
|
|
2657
|
-
return (0, e.children)(Re);
|
|
2658
|
-
} } : o__default.createContext(Re);
|
|
2659
|
-
je.Consumer;
|
|
2660
|
-
h ? { } : o__default.createContext(void 0);
|
|
2661
|
-
function Ve() {
|
|
2662
|
-
return !h && o__default.useContext ? o__default.useContext(je) : Re;
|
|
2663
|
-
}
|
|
2664
|
-
var Be = function() {
|
|
2665
|
-
function e(e2, t) {
|
|
2666
|
-
var n = this;
|
|
2667
|
-
this.inject = function(e3, t2) {
|
|
2668
|
-
void 0 === t2 && (t2 = xe);
|
|
2669
|
-
var o2 = n.name + t2.hash;
|
|
2670
|
-
e3.hasNameForId(n.id, o2) || e3.insertRules(n.id, o2, t2(n.rules, o2, "@keyframes"));
|
|
2671
|
-
}, this.name = e2, this.id = "sc-keyframes-".concat(e2), this.rules = t, ne(this, function() {
|
|
2672
|
-
throw se(12, String(n.name));
|
|
2673
|
-
});
|
|
2674
|
-
}
|
|
2675
|
-
return e.prototype.getName = function(e2) {
|
|
2676
|
-
return void 0 === e2 && (e2 = xe), this.name + e2.hash;
|
|
2677
|
-
}, e;
|
|
2678
|
-
}();
|
|
2679
|
-
function Le(e, t) {
|
|
2680
|
-
return null == t || "boolean" == typeof t || "" === t ? "" : "number" != typeof t || 0 === t || e in unitlessKeys || e.startsWith("--") ? String(t).trim() : "".concat(t, "px");
|
|
2681
|
-
}
|
|
2682
|
-
var ze = function(e) {
|
|
2683
|
-
return e >= "A" && e <= "Z";
|
|
2684
|
-
};
|
|
2685
|
-
function Ge(e) {
|
|
2686
|
-
for (var t = "", n = 0; n < e.length; n++) {
|
|
2687
|
-
var o2 = e[n];
|
|
2688
|
-
if (1 === n && "-" === o2 && "-" === e[0]) return e;
|
|
2689
|
-
ze(o2) ? t += "-" + o2.toLowerCase() : t += o2;
|
|
2690
|
-
}
|
|
2691
|
-
return t.startsWith("ms-") ? "-" + t : t;
|
|
2692
|
-
}
|
|
2693
|
-
var $e = function(e) {
|
|
2694
|
-
return null == e || false === e || "" === e;
|
|
2695
|
-
};
|
|
2696
|
-
var Ye = function(t) {
|
|
2697
|
-
var n = [];
|
|
2698
|
-
for (var o2 in t) {
|
|
2699
|
-
var r2 = t[o2];
|
|
2700
|
-
t.hasOwnProperty(o2) && !$e(r2) && (Array.isArray(r2) && r2.isCss || X(r2) ? n.push("".concat(Ge(o2), ":"), r2, ";") : ee(r2) ? n.push.apply(n, __spreadArray(__spreadArray(["".concat(o2, " {")], Ye(r2), false), ["}"], false)) : n.push("".concat(Ge(o2), ": ").concat(Le(o2, r2), ";")));
|
|
2701
|
-
}
|
|
2702
|
-
return n;
|
|
2703
|
-
};
|
|
2704
|
-
function We(e, t, n, o2) {
|
|
2705
|
-
if ($e(e)) return [];
|
|
2706
|
-
if (Z(e)) return [".".concat(e.styledComponentId)];
|
|
2707
|
-
if (X(e)) {
|
|
2708
|
-
if (!X(s = e) || s.prototype && s.prototype.isReactComponent || !t) return [e];
|
|
2709
|
-
var r2 = e(t);
|
|
2710
|
-
return "production" === process.env.NODE_ENV || "object" != typeof r2 || Array.isArray(r2) || r2 instanceof Be || ee(r2) || null === r2 || console.error("".concat(R(e), " is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.")), We(r2, t, n, o2);
|
|
2711
|
-
}
|
|
2712
|
-
var s;
|
|
2713
|
-
return e instanceof Be ? n ? (e.inject(n, o2), [e.getName(o2)]) : [e] : ee(e) ? Ye(e) : Array.isArray(e) ? Array.prototype.concat.apply(S, e.map(function(e2) {
|
|
2714
|
-
return We(e2, t, n, o2);
|
|
2715
|
-
})) : [e.toString()];
|
|
2716
|
-
}
|
|
2717
|
-
function qe(e) {
|
|
2718
|
-
for (var t = 0; t < e.length; t += 1) {
|
|
2719
|
-
var n = e[t];
|
|
2720
|
-
if (X(n) && !Z(n)) return false;
|
|
2721
|
-
}
|
|
2722
|
-
return true;
|
|
2723
|
-
}
|
|
2724
|
-
var He = T(l);
|
|
2725
|
-
var Ue = function() {
|
|
2726
|
-
function e(e2, t, n) {
|
|
2727
|
-
this.rules = e2, this.staticRulesId = "", this.isStatic = "production" === process.env.NODE_ENV && (void 0 === n || n.isStatic) && qe(e2), this.componentId = t, this.baseHash = D(He, t), this.baseStyle = n, Ae.registerId(t);
|
|
2728
|
-
}
|
|
2729
|
-
return e.prototype.generateAndInjectStyles = function(e2, t, n) {
|
|
2730
|
-
var o2 = this.baseStyle ? this.baseStyle.generateAndInjectStyles(e2, t, n).className : "";
|
|
2731
|
-
if (this.isStatic && !n.hash) if (this.staticRulesId && t.hasNameForId(this.componentId, this.staticRulesId)) o2 = K(o2, this.staticRulesId);
|
|
2732
|
-
else {
|
|
2733
|
-
var r2 = Q(We(this.rules, e2, t, n)), s = I(D(this.baseHash, r2) >>> 0);
|
|
2734
|
-
if (!t.hasNameForId(this.componentId, s)) {
|
|
2735
|
-
var i = n(r2, ".".concat(s), void 0, this.componentId);
|
|
2736
|
-
t.insertRules(this.componentId, s, i);
|
|
2737
|
-
}
|
|
2738
|
-
o2 = K(o2, s), this.staticRulesId = s;
|
|
2739
|
-
}
|
|
2740
|
-
else {
|
|
2741
|
-
for (var a2 = D(this.baseHash, n.hash), c2 = "", u2 = 0; u2 < this.rules.length; u2++) {
|
|
2742
|
-
var l2 = this.rules[u2];
|
|
2743
|
-
if ("string" == typeof l2) c2 += l2, "production" !== process.env.NODE_ENV && (a2 = D(a2, l2));
|
|
2744
|
-
else if (l2) {
|
|
2745
|
-
var p2 = Q(We(l2, e2, t, n));
|
|
2746
|
-
a2 = D(a2, p2 + u2), c2 += p2;
|
|
2747
|
-
}
|
|
2748
|
-
}
|
|
2749
|
-
if (c2) {
|
|
2750
|
-
var d2 = I(a2 >>> 0);
|
|
2751
|
-
if (!t.hasNameForId(this.componentId, d2)) {
|
|
2752
|
-
var h2 = n(c2, ".".concat(d2), void 0, this.componentId);
|
|
2753
|
-
t.insertRules(this.componentId, d2, h2);
|
|
2754
|
-
}
|
|
2755
|
-
o2 = K(o2, d2);
|
|
2756
|
-
}
|
|
2757
|
-
}
|
|
2758
|
-
return { className: o2, css: "undefined" == typeof window ? t.getTag().getGroup(pe(this.componentId)) : "" };
|
|
2759
|
-
}, e;
|
|
2760
|
-
}();
|
|
2761
|
-
var Je = h ? { Provider: function(e) {
|
|
2762
|
-
return e.children;
|
|
2763
|
-
}, Consumer: function(e) {
|
|
2764
|
-
return (0, e.children)(void 0);
|
|
2765
|
-
} } : o__default.createContext(void 0);
|
|
2766
|
-
Je.Consumer;
|
|
2767
|
-
var Qe = {};
|
|
2768
|
-
var et = /* @__PURE__ */ new Set();
|
|
2769
|
-
function tt(e, s, i) {
|
|
2770
|
-
var a2 = Z(e), c2 = e, u2 = !j(e), p2 = s.attrs, d2 = void 0 === p2 ? S : p2, f2 = s.componentId, m = void 0 === f2 ? function(e2, t) {
|
|
2771
|
-
var n = "string" != typeof e2 ? "sc" : A(e2);
|
|
2772
|
-
Qe[n] = (Qe[n] || 0) + 1;
|
|
2773
|
-
var o2 = "".concat(n, "-").concat(x(l + n + Qe[n]));
|
|
2774
|
-
return t ? "".concat(t, "-").concat(o2) : o2;
|
|
2775
|
-
}(s.displayName, s.parentComponentId) : f2, y2 = s.displayName, v2 = void 0 === y2 ? function(e2) {
|
|
2776
|
-
return j(e2) ? "styled.".concat(e2) : "Styled(".concat(R(e2), ")");
|
|
2777
|
-
}(e) : y2, E2 = s.displayName && s.componentId ? "".concat(A(s.displayName), "-").concat(s.componentId) : s.componentId || m, N2 = a2 && c2.attrs ? c2.attrs.concat(d2).filter(Boolean) : d2, P2 = s.shouldForwardProp;
|
|
2778
|
-
if (a2 && c2.shouldForwardProp) {
|
|
2779
|
-
var _2 = c2.shouldForwardProp;
|
|
2780
|
-
if (s.shouldForwardProp) {
|
|
2781
|
-
var I2 = s.shouldForwardProp;
|
|
2782
|
-
P2 = function(e2, t) {
|
|
2783
|
-
return _2(e2, t) && I2(e2, t);
|
|
2784
|
-
};
|
|
2785
|
-
} else P2 = _2;
|
|
2786
|
-
}
|
|
2787
|
-
var O2 = new Ue(i, E2, a2 ? c2.componentStyle : void 0);
|
|
2788
|
-
function D2(e2, s2) {
|
|
2789
|
-
return function(e3, s3, i2) {
|
|
2790
|
-
var a3 = e3.attrs, c3 = e3.componentStyle, u3 = e3.defaultProps, l2 = e3.foldedComponentIds, p3 = e3.styledComponentId, d3 = e3.target, f3 = o__default.useContext ? o__default.useContext(Je) : void 0, m2 = Ve(), y3 = e3.shouldForwardProp || m2.shouldForwardProp;
|
|
2791
|
-
"production" !== process.env.NODE_ENV && o__default.useDebugValue && o__default.useDebugValue(p3);
|
|
2792
|
-
var v3 = b(s3, f3, u3) || w, g2 = function(e4, n, o2) {
|
|
2793
|
-
for (var r2, s4 = __assign(__assign({}, n), { className: void 0, theme: o2 }), i3 = 0; i3 < e4.length; i3 += 1) {
|
|
2794
|
-
var a4 = X(r2 = e4[i3]) ? r2(s4) : r2;
|
|
2795
|
-
for (var c4 in a4) "className" === c4 ? s4.className = K(s4.className, a4[c4]) : "style" === c4 ? s4.style = __assign(__assign({}, s4.style), a4[c4]) : s4[c4] = a4[c4];
|
|
2796
|
-
}
|
|
2797
|
-
return "className" in n && "string" == typeof n.className && (s4.className = K(s4.className, n.className)), s4;
|
|
2798
|
-
}(a3, s3, v3), S2 = g2.as || d3, E3 = {};
|
|
2799
|
-
for (var N3 in g2) void 0 === g2[N3] || "$" === N3[0] || "as" === N3 || "theme" === N3 && g2.theme === v3 || ("forwardedAs" === N3 ? E3.as = g2.forwardedAs : y3 && !y3(N3, S2) || (E3[N3] = g2[N3], y3 || "development" !== process.env.NODE_ENV || isPropValid(N3) || et.has(N3) || !C.has(S2) || (et.add(N3), console.warn('styled-components: it looks like an unknown prop "'.concat(N3, '" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));
|
|
2800
|
-
var A2 = function(e4, t) {
|
|
2801
|
-
var n = Ve(), r2 = e4.generateAndInjectStyles(t, n.styleSheet, n.stylis);
|
|
2802
|
-
return "production" !== process.env.NODE_ENV && o__default.useDebugValue && o__default.useDebugValue(r2.className), r2;
|
|
2803
|
-
}(c3, g2), P3 = A2.className, _3 = A2.css;
|
|
2804
|
-
"production" !== process.env.NODE_ENV && e3.warnTooManyClasses && e3.warnTooManyClasses(P3);
|
|
2805
|
-
var I3 = K(l2, p3);
|
|
2806
|
-
P3 && (I3 += " " + P3), g2.className && (I3 += " " + g2.className), E3[j(S2) && !C.has(S2) ? "class" : "className"] = I3, i2 && (E3.ref = i2);
|
|
2807
|
-
var O3 = createElement(S2, E3);
|
|
2808
|
-
return h && _3 ? o__default.createElement(o__default.Fragment, null, o__default.createElement("style", { precedence: "styled-components", href: "sc-".concat(p3, "-").concat(P3), children: _3 }), O3) : O3;
|
|
2809
|
-
}(T2, e2, s2);
|
|
2810
|
-
}
|
|
2811
|
-
D2.displayName = v2;
|
|
2812
|
-
var T2 = o__default.forwardRef(D2);
|
|
2813
|
-
return T2.attrs = N2, T2.componentStyle = O2, T2.displayName = v2, T2.shouldForwardProp = P2, T2.foldedComponentIds = a2 ? K(c2.foldedComponentIds, c2.styledComponentId) : "", T2.styledComponentId = E2, T2.target = a2 ? c2.target : e, Object.defineProperty(T2, "defaultProps", { get: function() {
|
|
2814
|
-
return this._foldedDefaultProps;
|
|
2815
|
-
}, set: function(e2) {
|
|
2816
|
-
this._foldedDefaultProps = a2 ? function(e3) {
|
|
2817
|
-
for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
|
|
2818
|
-
for (var o2 = 0, r2 = t; o2 < r2.length; o2++) te(e3, r2[o2], true);
|
|
2819
|
-
return e3;
|
|
2820
|
-
}({}, c2.defaultProps, e2) : e2;
|
|
2821
|
-
} }), "production" !== process.env.NODE_ENV && (g(v2, E2), T2.warnTooManyClasses = /* @__PURE__ */ function(e2, t) {
|
|
2822
|
-
var n = {}, o2 = false;
|
|
2823
|
-
return function(r2) {
|
|
2824
|
-
if (!o2 && (n[r2] = true, Object.keys(n).length >= 200)) {
|
|
2825
|
-
var s2 = t ? ' with the id of "'.concat(t, '"') : "";
|
|
2826
|
-
console.warn("Over ".concat(200, " classes were generated for component ").concat(e2).concat(s2, ".\n") + "Consider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n <Component />"), o2 = true, n = {};
|
|
2827
|
-
}
|
|
2828
|
-
};
|
|
2829
|
-
}(v2, E2)), ne(T2, function() {
|
|
2830
|
-
return ".".concat(T2.styledComponentId);
|
|
2831
|
-
}), u2 && J(T2, e, { attrs: true, componentStyle: true, displayName: true, foldedComponentIds: true, shouldForwardProp: true, styledComponentId: true, target: true }), T2;
|
|
2832
|
-
}
|
|
2833
|
-
function nt(e, t) {
|
|
2834
|
-
for (var n = [e[0]], o2 = 0, r2 = t.length; o2 < r2; o2 += 1) n.push(t[o2], e[o2 + 1]);
|
|
2835
|
-
return n;
|
|
2836
|
-
}
|
|
2837
|
-
var ot = function(e) {
|
|
2838
|
-
return Object.assign(e, { isCss: true });
|
|
2839
|
-
};
|
|
2840
|
-
function rt(t) {
|
|
2841
|
-
for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
|
|
2842
|
-
if (X(t) || ee(t)) return ot(We(nt(S, __spreadArray([t], n, true))));
|
|
2843
|
-
var r2 = t;
|
|
2844
|
-
return 0 === n.length && 1 === r2.length && "string" == typeof r2[0] ? We(r2) : ot(We(nt(r2, n)));
|
|
2845
|
-
}
|
|
2846
|
-
function st(n, o2, r2) {
|
|
2847
|
-
if (void 0 === r2 && (r2 = w), !o2) throw se(1, o2);
|
|
2848
|
-
var s = function(t) {
|
|
2849
|
-
for (var s2 = [], i = 1; i < arguments.length; i++) s2[i - 1] = arguments[i];
|
|
2850
|
-
return n(o2, r2, rt.apply(void 0, __spreadArray([t], s2, false)));
|
|
2851
|
-
};
|
|
2852
|
-
return s.attrs = function(e) {
|
|
2853
|
-
return st(n, o2, __assign(__assign({}, r2), { attrs: Array.prototype.concat(r2.attrs, e).filter(Boolean) }));
|
|
2854
|
-
}, s.withConfig = function(e) {
|
|
2855
|
-
return st(n, o2, __assign(__assign({}, r2), e));
|
|
2856
|
-
}, s;
|
|
2857
|
-
}
|
|
2858
|
-
var it = function(e) {
|
|
2859
|
-
return st(tt, e);
|
|
2860
|
-
};
|
|
2861
|
-
var at = it;
|
|
2862
|
-
C.forEach(function(e) {
|
|
2863
|
-
at[e] = it(e);
|
|
2864
|
-
});
|
|
2865
|
-
function lt(t) {
|
|
2866
|
-
for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
|
|
2867
|
-
"production" !== process.env.NODE_ENV && "undefined" != typeof navigator && "ReactNative" === navigator.product && console.warn("`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.");
|
|
2868
|
-
var r2 = Q(rt.apply(void 0, __spreadArray([t], n, false))), s = x(r2);
|
|
2869
|
-
return new Be(s, r2);
|
|
2870
|
-
}
|
|
2871
|
-
"production" !== process.env.NODE_ENV && "undefined" != typeof navigator && "ReactNative" === navigator.product && console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native");
|
|
2872
|
-
var mt = "__sc-".concat(a, "__");
|
|
2873
|
-
"production" !== process.env.NODE_ENV && "test" !== process.env.NODE_ENV && "undefined" != typeof window && (window[mt] || (window[mt] = 0), 1 === window[mt] && console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://styled-components.com/docs/faqs#why-am-i-getting-a-warning-about-several-instances-of-module-on-the-page for more info."), window[mt] += 1);
|
|
2874
|
-
|
|
2875
1533
|
// src/assets/Loaf-logo-Banner.png
|
|
2876
1534
|
var Loaf_logo_Banner_default = "./Loaf-logo-Banner-DYV62HAW.png";
|
|
2877
|
-
var pulse =
|
|
1535
|
+
var pulse = keyframes`
|
|
2878
1536
|
0%, 100% {
|
|
2879
1537
|
opacity: 0.45;
|
|
2880
1538
|
transform: scale(1);
|
|
@@ -2884,7 +1542,7 @@ var pulse = lt`
|
|
|
2884
1542
|
transform: scale(1.08);
|
|
2885
1543
|
}
|
|
2886
1544
|
`;
|
|
2887
|
-
var shimmer =
|
|
1545
|
+
var shimmer = keyframes`
|
|
2888
1546
|
0% {
|
|
2889
1547
|
background-position: -100% 0;
|
|
2890
1548
|
}
|
|
@@ -2892,7 +1550,7 @@ var shimmer = lt`
|
|
|
2892
1550
|
background-position: 200% 0;
|
|
2893
1551
|
}
|
|
2894
1552
|
`;
|
|
2895
|
-
var LogoContainer =
|
|
1553
|
+
var LogoContainer = styled6.span`
|
|
2896
1554
|
display: inline-flex;
|
|
2897
1555
|
align-items: center;
|
|
2898
1556
|
gap: 0.35rem;
|
|
@@ -2911,7 +1569,7 @@ var LogoContainer = at.span`
|
|
|
2911
1569
|
transition: all 0.3s ease;
|
|
2912
1570
|
line-height: 1.4;
|
|
2913
1571
|
|
|
2914
|
-
${({ $isGlowing }) => $isGlowing ?
|
|
1572
|
+
${({ $isGlowing }) => $isGlowing ? css`
|
|
2915
1573
|
border-color: rgba(240, 185, 11, 1);
|
|
2916
1574
|
box-shadow:
|
|
2917
1575
|
0 0 25px rgba(240, 185, 11, 0.8),
|
|
@@ -2977,7 +1635,7 @@ var LogoContainer = at.span`
|
|
|
2977
1635
|
pointer-events: none;
|
|
2978
1636
|
}
|
|
2979
1637
|
`;
|
|
2980
|
-
var IconWrapper =
|
|
1638
|
+
var IconWrapper = styled6.span`
|
|
2981
1639
|
display: flex;
|
|
2982
1640
|
align-items: center;
|
|
2983
1641
|
justify-content: center;
|
|
@@ -2990,7 +1648,7 @@ var IconWrapper = at.span`
|
|
|
2990
1648
|
height: 14px;
|
|
2991
1649
|
}
|
|
2992
1650
|
`;
|
|
2993
|
-
var IconCircle =
|
|
1651
|
+
var IconCircle = styled6.span`
|
|
2994
1652
|
position: absolute;
|
|
2995
1653
|
width: ${({ size }) => size}px;
|
|
2996
1654
|
height: ${({ size }) => size}px;
|
|
@@ -3001,7 +1659,7 @@ var IconCircle = at.span`
|
|
|
3001
1659
|
transform-origin: center;
|
|
3002
1660
|
will-change: transform, opacity;
|
|
3003
1661
|
`;
|
|
3004
|
-
var IconCore =
|
|
1662
|
+
var IconCore = styled6.span`
|
|
3005
1663
|
width: 5px;
|
|
3006
1664
|
height: 5px;
|
|
3007
1665
|
background: linear-gradient(135deg, #0ecb81 0%, #2ecc71 100%);
|
|
@@ -3010,14 +1668,14 @@ var IconCore = at.span`
|
|
|
3010
1668
|
position: relative;
|
|
3011
1669
|
z-index: 1;
|
|
3012
1670
|
`;
|
|
3013
|
-
var LogoText =
|
|
1671
|
+
var LogoText = styled6.span`
|
|
3014
1672
|
display: inline-flex;
|
|
3015
1673
|
align-items: center;
|
|
3016
1674
|
gap: 0.2rem;
|
|
3017
1675
|
position: relative;
|
|
3018
1676
|
z-index: 1;
|
|
3019
1677
|
`;
|
|
3020
|
-
var LoafLogoImage =
|
|
1678
|
+
var LoafLogoImage = styled6.img`
|
|
3021
1679
|
height: 20px;
|
|
3022
1680
|
position: relative;
|
|
3023
1681
|
z-index: 1;
|
|
@@ -3026,7 +1684,7 @@ var LoafLogoImage = at.img`
|
|
|
3026
1684
|
height: 18px;
|
|
3027
1685
|
}
|
|
3028
1686
|
`;
|
|
3029
|
-
var LiquidityText =
|
|
1687
|
+
var LiquidityText = styled6.span`
|
|
3030
1688
|
font-size: 0.65rem;
|
|
3031
1689
|
font-weight: 400;
|
|
3032
1690
|
background: linear-gradient(135deg, #f0b90b 0%, #ffd700 50%, #f0b90b 100%);
|
|
@@ -3043,7 +1701,7 @@ var LiquidityText = at.span`
|
|
|
3043
1701
|
letter-spacing: 0.1px;
|
|
3044
1702
|
}
|
|
3045
1703
|
`;
|
|
3046
|
-
var LoafLiquidityBadge =
|
|
1704
|
+
var LoafLiquidityBadge = React5.forwardRef(
|
|
3047
1705
|
({ className, isGlowing, onClick, children, ...props }, ref) => {
|
|
3048
1706
|
return /* @__PURE__ */ jsxs(
|
|
3049
1707
|
LogoContainer,
|
|
@@ -3072,8 +1730,8 @@ var LoafLiquidityBadge = o.forwardRef(
|
|
|
3072
1730
|
);
|
|
3073
1731
|
LoafLiquidityBadge.displayName = "LoafLiquidityBadge";
|
|
3074
1732
|
function useViewportCompact(breakpoint) {
|
|
3075
|
-
const [isCompact, setIsCompact] =
|
|
3076
|
-
|
|
1733
|
+
const [isCompact, setIsCompact] = React5.useState(false);
|
|
1734
|
+
React5.useEffect(() => {
|
|
3077
1735
|
if (typeof window === "undefined") return;
|
|
3078
1736
|
const check = () => setIsCompact(window.innerWidth <= breakpoint);
|
|
3079
1737
|
check();
|
|
@@ -3122,7 +1780,7 @@ var DEPTH_ROW_HEIGHT_PX = 34;
|
|
|
3122
1780
|
var COMPACT_ROWS_VISIBLE = 5;
|
|
3123
1781
|
var COMPACT_ROW_HEIGHT_PX = 30;
|
|
3124
1782
|
var COMPACT_BREAKPOINT_PX = 1024;
|
|
3125
|
-
var Orderbook =
|
|
1783
|
+
var Orderbook = React5.forwardRef(
|
|
3126
1784
|
({
|
|
3127
1785
|
asks,
|
|
3128
1786
|
bids,
|
|
@@ -3140,20 +1798,20 @@ var Orderbook = o.forwardRef(
|
|
|
3140
1798
|
className,
|
|
3141
1799
|
...props
|
|
3142
1800
|
}, ref) => {
|
|
3143
|
-
const [tab, setTab] =
|
|
3144
|
-
const [tradeFilter, setTradeFilter] =
|
|
1801
|
+
const [tab, setTab] = React5.useState(defaultTab);
|
|
1802
|
+
const [tradeFilter, setTradeFilter] = React5.useState("all");
|
|
3145
1803
|
const viewportCompact = useViewportCompact(COMPACT_BREAKPOINT_PX);
|
|
3146
|
-
|
|
1804
|
+
React5.useEffect(() => {
|
|
3147
1805
|
setTab(defaultTab);
|
|
3148
1806
|
}, [defaultTab]);
|
|
3149
|
-
const handleTab = (
|
|
3150
|
-
setTab(
|
|
3151
|
-
onTabChange?.(
|
|
1807
|
+
const handleTab = (next) => {
|
|
1808
|
+
setTab(next);
|
|
1809
|
+
onTabChange?.(next);
|
|
3152
1810
|
};
|
|
3153
1811
|
const isCompact = variant === "compact" || variant === "auto" && viewportCompact;
|
|
3154
1812
|
const sectionHeight = isCompact ? COMPACT_ROWS_VISIBLE * COMPACT_ROW_HEIGHT_PX : LEVEL_ROWS_VISIBLE * DEPTH_ROW_HEIGHT_PX;
|
|
3155
|
-
const maxAskDepth = Math.max(1, ...asks.map((
|
|
3156
|
-
const maxBidDepth = Math.max(1, ...bids.map((
|
|
1813
|
+
const maxAskDepth = Math.max(1, ...asks.map((l) => l.depth ?? l.amount));
|
|
1814
|
+
const maxBidDepth = Math.max(1, ...bids.map((l) => l.depth ?? l.amount));
|
|
3157
1815
|
const midClass = midChangePercent == null ? "text-white" : midChangePercent >= 0 ? "text-[#0ecb81]" : "text-[#f6465d]";
|
|
3158
1816
|
const tradeFiltered = trades.filter((t) => tradeFilter === "all" || t.type === tradeFilter);
|
|
3159
1817
|
const layoutProps = {
|
|
@@ -3325,17 +1983,17 @@ function DesktopOrderbookLayout({
|
|
|
3325
1983
|
{
|
|
3326
1984
|
className: "divide-y divide-white/5 overflow-y-auto",
|
|
3327
1985
|
style: { height: `${sectionHeight}px`, scrollbarGutter: "stable" },
|
|
3328
|
-
children: asks.map((
|
|
1986
|
+
children: asks.map((l, idx) => /* @__PURE__ */ jsx(
|
|
3329
1987
|
DepthRow,
|
|
3330
1988
|
{
|
|
3331
1989
|
side: "ask",
|
|
3332
|
-
price:
|
|
3333
|
-
amount:
|
|
3334
|
-
depthPct: (
|
|
1990
|
+
price: l.price,
|
|
1991
|
+
amount: l.amount,
|
|
1992
|
+
depthPct: (l.depth ?? l.amount) / maxAskDepth * 100,
|
|
3335
1993
|
precision,
|
|
3336
1994
|
amountPrecision
|
|
3337
1995
|
},
|
|
3338
|
-
`ask-${idx}-${
|
|
1996
|
+
`ask-${idx}-${l.price}-${l.amount}`
|
|
3339
1997
|
))
|
|
3340
1998
|
}
|
|
3341
1999
|
),
|
|
@@ -3356,17 +2014,17 @@ function DesktopOrderbookLayout({
|
|
|
3356
2014
|
{
|
|
3357
2015
|
className: "divide-y divide-white/5 overflow-y-auto",
|
|
3358
2016
|
style: { height: `${sectionHeight}px`, scrollbarGutter: "stable" },
|
|
3359
|
-
children: bids.map((
|
|
2017
|
+
children: bids.map((l, idx) => /* @__PURE__ */ jsx(
|
|
3360
2018
|
DepthRow,
|
|
3361
2019
|
{
|
|
3362
2020
|
side: "bid",
|
|
3363
|
-
price:
|
|
3364
|
-
amount:
|
|
3365
|
-
depthPct: (
|
|
2021
|
+
price: l.price,
|
|
2022
|
+
amount: l.amount,
|
|
2023
|
+
depthPct: (l.depth ?? l.amount) / maxBidDepth * 100,
|
|
3366
2024
|
precision,
|
|
3367
2025
|
amountPrecision
|
|
3368
2026
|
},
|
|
3369
|
-
`bid-${idx}-${
|
|
2027
|
+
`bid-${idx}-${l.price}-${l.amount}`
|
|
3370
2028
|
))
|
|
3371
2029
|
}
|
|
3372
2030
|
)
|
|
@@ -3394,8 +2052,8 @@ function MobileOrderbookLayout({
|
|
|
3394
2052
|
midClass,
|
|
3395
2053
|
sectionHeight
|
|
3396
2054
|
}) {
|
|
3397
|
-
const visibleAsks =
|
|
3398
|
-
const visibleBids =
|
|
2055
|
+
const visibleAsks = React5.useMemo(() => asks.slice(0, COMPACT_ROWS_VISIBLE), [asks]);
|
|
2056
|
+
const visibleBids = React5.useMemo(() => bids.slice(0, COMPACT_ROWS_VISIBLE), [bids]);
|
|
3399
2057
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3400
2058
|
/* @__PURE__ */ jsx("div", { className: "px-3 pt-2", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
3401
2059
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -3430,18 +2088,18 @@ function MobileOrderbookLayout({
|
|
|
3430
2088
|
}
|
|
3431
2089
|
)
|
|
3432
2090
|
] }),
|
|
3433
|
-
tab === "trades" ? /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1 text-[0.6rem] text-white/70", children: ["all", "buy", "sell"].map((
|
|
2091
|
+
tab === "trades" ? /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1 text-[0.6rem] text-white/70", children: ["all", "buy", "sell"].map((filter) => /* @__PURE__ */ jsx(
|
|
3434
2092
|
"button",
|
|
3435
2093
|
{
|
|
3436
2094
|
type: "button",
|
|
3437
|
-
onClick: () => setTradeFilter(
|
|
2095
|
+
onClick: () => setTradeFilter(filter),
|
|
3438
2096
|
className: cn(
|
|
3439
2097
|
"rounded-md border border-white/15 px-2 py-1",
|
|
3440
|
-
tradeFilter ===
|
|
2098
|
+
tradeFilter === filter ? "bg-white/15 text-white" : "hover:bg-white/10"
|
|
3441
2099
|
),
|
|
3442
|
-
children:
|
|
2100
|
+
children: filter === "all" ? "All" : filter === "buy" ? "Buy" : "Sell"
|
|
3443
2101
|
},
|
|
3444
|
-
|
|
2102
|
+
filter
|
|
3445
2103
|
)) }) : /* @__PURE__ */ jsx("div", { className: "hidden text-xs text-white/70 sm:flex", children: rightHeader })
|
|
3446
2104
|
] }) }),
|
|
3447
2105
|
tab === "orderbook" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col overflow-hidden px-3 pb-2", children: [
|
|
@@ -3464,17 +2122,17 @@ function MobileOrderbookLayout({
|
|
|
3464
2122
|
]
|
|
3465
2123
|
}
|
|
3466
2124
|
),
|
|
3467
|
-
/* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column" }, children: visibleAsks.map((
|
|
2125
|
+
/* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column" }, children: visibleAsks.map((l, idx) => /* @__PURE__ */ jsx(
|
|
3468
2126
|
MobileDepthRow,
|
|
3469
2127
|
{
|
|
3470
2128
|
side: "ask",
|
|
3471
|
-
price:
|
|
3472
|
-
amount:
|
|
3473
|
-
depthPct: (
|
|
2129
|
+
price: l.price,
|
|
2130
|
+
amount: l.amount,
|
|
2131
|
+
depthPct: (l.depth ?? l.amount) / maxAskDepth * 100,
|
|
3474
2132
|
precision,
|
|
3475
2133
|
amountPrecision
|
|
3476
2134
|
},
|
|
3477
|
-
`mobile-ask-${idx}-${
|
|
2135
|
+
`mobile-ask-${idx}-${l.price}-${l.amount}`
|
|
3478
2136
|
)) }),
|
|
3479
2137
|
/* @__PURE__ */ jsxs(
|
|
3480
2138
|
"div",
|
|
@@ -3508,17 +2166,17 @@ function MobileOrderbookLayout({
|
|
|
3508
2166
|
]
|
|
3509
2167
|
}
|
|
3510
2168
|
),
|
|
3511
|
-
/* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column" }, children: visibleBids.map((
|
|
2169
|
+
/* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column" }, children: visibleBids.map((l, idx) => /* @__PURE__ */ jsx(
|
|
3512
2170
|
MobileDepthRow,
|
|
3513
2171
|
{
|
|
3514
2172
|
side: "bid",
|
|
3515
|
-
price:
|
|
3516
|
-
amount:
|
|
3517
|
-
depthPct: (
|
|
2173
|
+
price: l.price,
|
|
2174
|
+
amount: l.amount,
|
|
2175
|
+
depthPct: (l.depth ?? l.amount) / maxBidDepth * 100,
|
|
3518
2176
|
precision,
|
|
3519
2177
|
amountPrecision
|
|
3520
2178
|
},
|
|
3521
|
-
`mobile-bid-${idx}-${
|
|
2179
|
+
`mobile-bid-${idx}-${l.price}-${l.amount}`
|
|
3522
2180
|
)) })
|
|
3523
2181
|
] }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col overflow-hidden px-3 pb-2", children: [
|
|
3524
2182
|
/* @__PURE__ */ jsxs(
|
|
@@ -3600,7 +2258,7 @@ function MobileDepthRow({
|
|
|
3600
2258
|
}
|
|
3601
2259
|
);
|
|
3602
2260
|
}
|
|
3603
|
-
var PropertyTour =
|
|
2261
|
+
var PropertyTour = React5.forwardRef(
|
|
3604
2262
|
({
|
|
3605
2263
|
className,
|
|
3606
2264
|
title,
|
|
@@ -3613,13 +2271,13 @@ var PropertyTour = o.forwardRef(
|
|
|
3613
2271
|
playsInline = true,
|
|
3614
2272
|
...props
|
|
3615
2273
|
}, ref) => {
|
|
3616
|
-
const videoRef =
|
|
3617
|
-
|
|
2274
|
+
const videoRef = React5.useRef(null);
|
|
2275
|
+
React5.useEffect(() => {
|
|
3618
2276
|
const video = videoRef.current;
|
|
3619
2277
|
if (!video) return;
|
|
3620
2278
|
const handleFullscreenChange = () => {
|
|
3621
|
-
const
|
|
3622
|
-
const isFullscreen = !!(
|
|
2279
|
+
const d = document;
|
|
2280
|
+
const isFullscreen = !!(d.fullscreenElement || d.webkitFullscreenElement || d.mozFullScreenElement || d.msFullscreenElement);
|
|
3623
2281
|
if (isFullscreen) {
|
|
3624
2282
|
video.style.objectFit = "contain";
|
|
3625
2283
|
video.style.width = "100vw";
|
|
@@ -3737,7 +2395,7 @@ var formatDate = (value) => {
|
|
|
3737
2395
|
year: "numeric"
|
|
3738
2396
|
});
|
|
3739
2397
|
};
|
|
3740
|
-
var PropertyNewsUpdates =
|
|
2398
|
+
var PropertyNewsUpdates = React5.forwardRef(
|
|
3741
2399
|
({
|
|
3742
2400
|
className,
|
|
3743
2401
|
heading = "Property News & Headlines",
|
|
@@ -3747,14 +2405,14 @@ var PropertyNewsUpdates = o.forwardRef(
|
|
|
3747
2405
|
highlightFirst = true,
|
|
3748
2406
|
...props
|
|
3749
2407
|
}, ref) => {
|
|
3750
|
-
const [page, setPage] =
|
|
3751
|
-
|
|
2408
|
+
const [page, setPage] = React5.useState(0);
|
|
2409
|
+
React5.useEffect(() => {
|
|
3752
2410
|
ensureAnimationsInjected();
|
|
3753
2411
|
}, []);
|
|
3754
2412
|
const hasItems = Array.isArray(items) && items.length > 0;
|
|
3755
|
-
const totalPages =
|
|
3756
|
-
|
|
3757
|
-
setPage((
|
|
2413
|
+
const totalPages = React5.useMemo(() => hasItems ? Math.max(1, Math.ceil(items.length / ITEMS_PER_PAGE)) : 1, [hasItems, items.length]);
|
|
2414
|
+
React5.useEffect(() => {
|
|
2415
|
+
setPage((prev) => Math.min(prev, totalPages - 1));
|
|
3758
2416
|
}, [totalPages]);
|
|
3759
2417
|
const paginatedItems = hasItems ? items.slice(page * ITEMS_PER_PAGE, page * ITEMS_PER_PAGE + ITEMS_PER_PAGE) : [];
|
|
3760
2418
|
return /* @__PURE__ */ jsxs(
|
|
@@ -3866,7 +2524,7 @@ var PropertyNewsUpdates = o.forwardRef(
|
|
|
3866
2524
|
"button",
|
|
3867
2525
|
{
|
|
3868
2526
|
type: "button",
|
|
3869
|
-
onClick: () => setPage((
|
|
2527
|
+
onClick: () => setPage((prev) => Math.max(0, prev - 1)),
|
|
3870
2528
|
disabled: page === 0,
|
|
3871
2529
|
className: cn(
|
|
3872
2530
|
"rounded-full border border-white/15 px-3 py-1 uppercase tracking-[0.2em]",
|
|
@@ -3885,7 +2543,7 @@ var PropertyNewsUpdates = o.forwardRef(
|
|
|
3885
2543
|
"button",
|
|
3886
2544
|
{
|
|
3887
2545
|
type: "button",
|
|
3888
|
-
onClick: () => setPage((
|
|
2546
|
+
onClick: () => setPage((prev) => Math.min(totalPages - 1, prev + 1)),
|
|
3889
2547
|
disabled: page >= totalPages - 1,
|
|
3890
2548
|
className: cn(
|
|
3891
2549
|
"rounded-full border border-white/15 px-3 py-1 uppercase tracking-[0.2em]",
|
|
@@ -3907,7 +2565,7 @@ var defaultFormat = (value) => new Intl.NumberFormat("en-US", {
|
|
|
3907
2565
|
notation: value >= 1e5 ? "compact" : "standard",
|
|
3908
2566
|
maximumFractionDigits: value >= 1e3 ? 0 : 2
|
|
3909
2567
|
}).format(value);
|
|
3910
|
-
var TradingSlider =
|
|
2568
|
+
var TradingSlider = React5.forwardRef(
|
|
3911
2569
|
({
|
|
3912
2570
|
label = "Trade size",
|
|
3913
2571
|
helperText = "Drag to pick the desired notional.",
|
|
@@ -3925,7 +2583,7 @@ var TradingSlider = o.forwardRef(
|
|
|
3925
2583
|
...rest
|
|
3926
2584
|
}, ref) => {
|
|
3927
2585
|
const isControlled = value !== void 0;
|
|
3928
|
-
const [internalValue, setInternalValue] =
|
|
2586
|
+
const [internalValue, setInternalValue] = React5.useState(
|
|
3929
2587
|
defaultValue ?? (typeof min === "number" ? min : 0)
|
|
3930
2588
|
);
|
|
3931
2589
|
const currentValue = isControlled ? Number(value) : internalValue;
|
|
@@ -3933,11 +2591,11 @@ var TradingSlider = o.forwardRef(
|
|
|
3933
2591
|
const parsedMax = Number(max ?? 100);
|
|
3934
2592
|
const percent = (currentValue - parsedMin) / (parsedMax - parsedMin || 1) * 100;
|
|
3935
2593
|
const handleChange = (event) => {
|
|
3936
|
-
const
|
|
2594
|
+
const next = Number(event.target.value);
|
|
3937
2595
|
if (!isControlled) {
|
|
3938
|
-
setInternalValue(
|
|
2596
|
+
setInternalValue(next);
|
|
3939
2597
|
}
|
|
3940
|
-
onValueChange?.(
|
|
2598
|
+
onValueChange?.(next, event);
|
|
3941
2599
|
};
|
|
3942
2600
|
return /* @__PURE__ */ jsxs("div", { className: cn("rounded-3xl border border-slate-200 bg-white p-6 shadow-sm", className), children: [
|
|
3943
2601
|
/* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between gap-4", children: [
|
|
@@ -3987,7 +2645,7 @@ var TradingSlider = o.forwardRef(
|
|
|
3987
2645
|
}
|
|
3988
2646
|
);
|
|
3989
2647
|
TradingSlider.displayName = "TradingSlider";
|
|
3990
|
-
var MobileToggleContainer =
|
|
2648
|
+
var MobileToggleContainer = styled6.div`
|
|
3991
2649
|
display: none;
|
|
3992
2650
|
|
|
3993
2651
|
@media (max-width: 1024px) {
|
|
@@ -4005,7 +2663,7 @@ var MobileToggleContainer = at.div`
|
|
|
4005
2663
|
box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.3);
|
|
4006
2664
|
}
|
|
4007
2665
|
`;
|
|
4008
|
-
var MobileToggleButton =
|
|
2666
|
+
var MobileToggleButton = styled6.button`
|
|
4009
2667
|
flex: 1;
|
|
4010
2668
|
padding: 0.75rem;
|
|
4011
2669
|
background-color: ${(props) => props.active ? "var(--color-accent)" : "transparent"};
|
|
@@ -4028,7 +2686,7 @@ var MobileToggleButton = at.button`
|
|
|
4028
2686
|
padding: 0.6rem 0.5rem;
|
|
4029
2687
|
}
|
|
4030
2688
|
`;
|
|
4031
|
-
var MobileTradeNav =
|
|
2689
|
+
var MobileTradeNav = React5.forwardRef(
|
|
4032
2690
|
({ className, items, activeId, onChange, ...props }, ref) => {
|
|
4033
2691
|
return /* @__PURE__ */ jsx(MobileToggleContainer, { ref, className: cn(className), ...props, children: items.map((item) => /* @__PURE__ */ jsxs(
|
|
4034
2692
|
MobileToggleButton,
|
|
@@ -4342,7 +3000,7 @@ function TradeConfirmationModal({
|
|
|
4342
3000
|
] })
|
|
4343
3001
|
] }) });
|
|
4344
3002
|
}
|
|
4345
|
-
var pulse2 =
|
|
3003
|
+
var pulse2 = keyframes`
|
|
4346
3004
|
0%, 100% {
|
|
4347
3005
|
opacity: 0.45;
|
|
4348
3006
|
transform: scale(1);
|
|
@@ -4352,7 +3010,7 @@ var pulse2 = lt`
|
|
|
4352
3010
|
transform: scale(1.08);
|
|
4353
3011
|
}
|
|
4354
3012
|
`;
|
|
4355
|
-
var shimmer2 =
|
|
3013
|
+
var shimmer2 = keyframes`
|
|
4356
3014
|
0% {
|
|
4357
3015
|
background-position: -100% 0;
|
|
4358
3016
|
}
|
|
@@ -4360,7 +3018,7 @@ var shimmer2 = lt`
|
|
|
4360
3018
|
background-position: 200% 0;
|
|
4361
3019
|
}
|
|
4362
3020
|
`;
|
|
4363
|
-
var LogoContainer2 =
|
|
3021
|
+
var LogoContainer2 = styled6.span`
|
|
4364
3022
|
display: inline-flex;
|
|
4365
3023
|
align-items: center;
|
|
4366
3024
|
gap: 0.35rem;
|
|
@@ -4455,7 +3113,7 @@ var LogoContainer2 = at.span`
|
|
|
4455
3113
|
pointer-events: none;
|
|
4456
3114
|
}
|
|
4457
3115
|
`;
|
|
4458
|
-
var IconWrapper2 =
|
|
3116
|
+
var IconWrapper2 = styled6.div`
|
|
4459
3117
|
display: flex;
|
|
4460
3118
|
align-items: center;
|
|
4461
3119
|
justify-content: center;
|
|
@@ -4473,7 +3131,7 @@ var IconWrapper2 = at.div`
|
|
|
4473
3131
|
height: 14px;
|
|
4474
3132
|
}
|
|
4475
3133
|
`;
|
|
4476
|
-
var IconCircle2 =
|
|
3134
|
+
var IconCircle2 = styled6.div`
|
|
4477
3135
|
position: absolute;
|
|
4478
3136
|
width: ${(props) => props.$size}px;
|
|
4479
3137
|
height: ${(props) => props.$size}px;
|
|
@@ -4484,7 +3142,7 @@ var IconCircle2 = at.div`
|
|
|
4484
3142
|
transform-origin: center;
|
|
4485
3143
|
will-change: transform, opacity;
|
|
4486
3144
|
`;
|
|
4487
|
-
var IconCore2 =
|
|
3145
|
+
var IconCore2 = styled6.div`
|
|
4488
3146
|
width: 5px;
|
|
4489
3147
|
height: 5px;
|
|
4490
3148
|
background: linear-gradient(135deg, #0ecb81 0%, #2ecc71 100%);
|
|
@@ -4493,7 +3151,7 @@ var IconCore2 = at.div`
|
|
|
4493
3151
|
position: relative;
|
|
4494
3152
|
z-index: 1;
|
|
4495
3153
|
`;
|
|
4496
|
-
var LogoText2 =
|
|
3154
|
+
var LogoText2 = styled6.span`
|
|
4497
3155
|
display: inline-flex;
|
|
4498
3156
|
align-items: center;
|
|
4499
3157
|
gap: 0.2rem;
|
|
@@ -4501,7 +3159,7 @@ var LogoText2 = at.span`
|
|
|
4501
3159
|
z-index: 1;
|
|
4502
3160
|
vertical-align: middle;
|
|
4503
3161
|
`;
|
|
4504
|
-
var LoafLogoImage2 =
|
|
3162
|
+
var LoafLogoImage2 = styled6.img`
|
|
4505
3163
|
height: 20px;
|
|
4506
3164
|
position: relative;
|
|
4507
3165
|
z-index: 1;
|
|
@@ -4514,7 +3172,7 @@ var LoafLogoImage2 = at.img`
|
|
|
4514
3172
|
height: 18px;
|
|
4515
3173
|
}
|
|
4516
3174
|
`;
|
|
4517
|
-
var LiquidityText2 =
|
|
3175
|
+
var LiquidityText2 = styled6.span`
|
|
4518
3176
|
font-size: 0.65rem;
|
|
4519
3177
|
font-weight: 400;
|
|
4520
3178
|
background: linear-gradient(135deg, #f0b90b 0%, #ffd700 50%, #f0b90b 100%);
|
|
@@ -4679,7 +3337,7 @@ var formatPercent = (value, fractionDigits = 2) => {
|
|
|
4679
3337
|
if (value == null || Number.isNaN(value)) return "\u2014";
|
|
4680
3338
|
return `${value.toFixed(fractionDigits)}%`;
|
|
4681
3339
|
};
|
|
4682
|
-
var YourOrders =
|
|
3340
|
+
var YourOrders = React5.forwardRef(
|
|
4683
3341
|
({
|
|
4684
3342
|
className,
|
|
4685
3343
|
title,
|
|
@@ -4691,10 +3349,10 @@ var YourOrders = o.forwardRef(
|
|
|
4691
3349
|
renderTabContent,
|
|
4692
3350
|
...props
|
|
4693
3351
|
}, ref) => {
|
|
4694
|
-
const [internalActiveTab, setInternalActiveTab] =
|
|
4695
|
-
const [page, setPage] =
|
|
3352
|
+
const [internalActiveTab, setInternalActiveTab] = React5.useState(tabs?.[0]?.id ?? "portfolio");
|
|
3353
|
+
const [page, setPage] = React5.useState(0);
|
|
4696
3354
|
const effectiveActiveTabId = activeTabId ?? internalActiveTab;
|
|
4697
|
-
|
|
3355
|
+
React5.useEffect(() => {
|
|
4698
3356
|
setPage(0);
|
|
4699
3357
|
}, [effectiveActiveTabId]);
|
|
4700
3358
|
const handleTabChange = (tabId) => {
|
|
@@ -5044,7 +3702,7 @@ var getPriceScaleOptions = (data) => {
|
|
|
5044
3702
|
borderColor: "rgba(230, 200, 126, 0.25)",
|
|
5045
3703
|
textColor: "rgba(230, 200, 126, 0.7)"
|
|
5046
3704
|
};
|
|
5047
|
-
const prices = data.flatMap((
|
|
3705
|
+
const prices = data.flatMap((d) => [d.open, d.high, d.low, d.close]);
|
|
5048
3706
|
const minPrice = Math.min(...prices);
|
|
5049
3707
|
const maxPrice = Math.max(...prices);
|
|
5050
3708
|
const priceRange = maxPrice - minPrice;
|
|
@@ -5079,7 +3737,7 @@ function createCandlestickSeries(chart, options) {
|
|
|
5079
3737
|
}
|
|
5080
3738
|
throw new Error("Candlestick series API is not available in the current lightweight-charts version.");
|
|
5081
3739
|
}
|
|
5082
|
-
var PriceChart =
|
|
3740
|
+
var PriceChart = React5.forwardRef(
|
|
5083
3741
|
({
|
|
5084
3742
|
className,
|
|
5085
3743
|
title = "Price Chart",
|
|
@@ -5093,18 +3751,18 @@ var PriceChart = o.forwardRef(
|
|
|
5093
3751
|
height = 301.52,
|
|
5094
3752
|
...props
|
|
5095
3753
|
}, ref) => {
|
|
5096
|
-
const containerRef =
|
|
5097
|
-
const chartRef =
|
|
5098
|
-
const seriesRef =
|
|
5099
|
-
const priceLineRef =
|
|
5100
|
-
const [hoveredRange, setHoveredRange] =
|
|
5101
|
-
const [dropdownOpen, setDropdownOpen] =
|
|
5102
|
-
const dropdownRef =
|
|
5103
|
-
const isAutoScrollRef =
|
|
3754
|
+
const containerRef = React5.useRef(null);
|
|
3755
|
+
const chartRef = React5.useRef(null);
|
|
3756
|
+
const seriesRef = React5.useRef(null);
|
|
3757
|
+
const priceLineRef = React5.useRef(null);
|
|
3758
|
+
const [hoveredRange, setHoveredRange] = React5.useState(null);
|
|
3759
|
+
const [dropdownOpen, setDropdownOpen] = React5.useState(false);
|
|
3760
|
+
const dropdownRef = React5.useRef(null);
|
|
3761
|
+
const isAutoScrollRef = React5.useRef(true);
|
|
5104
3762
|
const visibleRanges = ranges.slice(0, VISIBLE_RANGE_COUNT);
|
|
5105
3763
|
const dropdownRanges = ranges.slice(VISIBLE_RANGE_COUNT);
|
|
5106
3764
|
const selectedInDropdown = dropdownRanges.includes(selectedRange);
|
|
5107
|
-
|
|
3765
|
+
React5.useEffect(() => {
|
|
5108
3766
|
const handleClickOutside = (e) => {
|
|
5109
3767
|
if (dropdownRef.current && !dropdownRef.current.contains(e.target)) {
|
|
5110
3768
|
setDropdownOpen(false);
|
|
@@ -5113,25 +3771,25 @@ var PriceChart = o.forwardRef(
|
|
|
5113
3771
|
document.addEventListener("mousedown", handleClickOutside);
|
|
5114
3772
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
5115
3773
|
}, []);
|
|
5116
|
-
const resolvedPrice =
|
|
3774
|
+
const resolvedPrice = React5.useMemo(() => {
|
|
5117
3775
|
if (price != null) return price;
|
|
5118
3776
|
const last = data.at(-1);
|
|
5119
3777
|
return last?.close;
|
|
5120
3778
|
}, [data, price]);
|
|
5121
|
-
const inferredChangePercent =
|
|
3779
|
+
const inferredChangePercent = React5.useMemo(() => {
|
|
5122
3780
|
if (changePercent != null) return changePercent;
|
|
5123
3781
|
const first = data[0]?.open;
|
|
5124
3782
|
const last = data.at(-1)?.close;
|
|
5125
3783
|
if (first == null || last == null || first === 0) return void 0;
|
|
5126
3784
|
return (last - first) / first * 100;
|
|
5127
3785
|
}, [changePercent, data]);
|
|
5128
|
-
const dollarChange =
|
|
3786
|
+
const dollarChange = React5.useMemo(() => {
|
|
5129
3787
|
const first = data[0]?.open;
|
|
5130
3788
|
const last = data.at(-1)?.close;
|
|
5131
3789
|
if (first == null || last == null) return void 0;
|
|
5132
3790
|
return last - first;
|
|
5133
3791
|
}, [data]);
|
|
5134
|
-
|
|
3792
|
+
React5.useEffect(() => {
|
|
5135
3793
|
const el = containerRef.current;
|
|
5136
3794
|
if (!el) return;
|
|
5137
3795
|
const chart = LightweightCharts.createChart(el, {
|
|
@@ -5163,8 +3821,8 @@ var PriceChart = o.forwardRef(
|
|
|
5163
3821
|
seriesRef.current = series;
|
|
5164
3822
|
const handleVisibleRangeChange = () => {
|
|
5165
3823
|
const timeScale2 = chart.timeScale();
|
|
5166
|
-
const
|
|
5167
|
-
const atRightEdge =
|
|
3824
|
+
const position = timeScale2.scrollPosition();
|
|
3825
|
+
const atRightEdge = position <= 0.01;
|
|
5168
3826
|
isAutoScrollRef.current = atRightEdge;
|
|
5169
3827
|
};
|
|
5170
3828
|
const timeScale = chart.timeScale();
|
|
@@ -5176,7 +3834,7 @@ var PriceChart = o.forwardRef(
|
|
|
5176
3834
|
chart.remove();
|
|
5177
3835
|
};
|
|
5178
3836
|
}, []);
|
|
5179
|
-
|
|
3837
|
+
React5.useEffect(() => {
|
|
5180
3838
|
const chart = chartRef.current;
|
|
5181
3839
|
if (!chart) return;
|
|
5182
3840
|
const effectiveRange = selectedRange ?? ranges?.[0] ?? "1D";
|
|
@@ -5184,7 +3842,7 @@ var PriceChart = o.forwardRef(
|
|
|
5184
3842
|
timeScale: getTimeScaleOptions(effectiveRange)
|
|
5185
3843
|
});
|
|
5186
3844
|
}, [selectedRange, ranges]);
|
|
5187
|
-
|
|
3845
|
+
React5.useEffect(() => {
|
|
5188
3846
|
const chart = chartRef.current;
|
|
5189
3847
|
const series = seriesRef.current;
|
|
5190
3848
|
if (!chart || !series) return;
|
|
@@ -5242,9 +3900,9 @@ var PriceChart = o.forwardRef(
|
|
|
5242
3900
|
/* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col gap-3 md:w-auto", children: [
|
|
5243
3901
|
/* @__PURE__ */ jsx(CardTitle, { className: "m-0 text-[1.1rem] font-semibold text-white", children: title }),
|
|
5244
3902
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
5245
|
-
visibleRanges.map((
|
|
5246
|
-
const active =
|
|
5247
|
-
const hovered = hoveredRange ===
|
|
3903
|
+
visibleRanges.map((r) => {
|
|
3904
|
+
const active = r === selectedRange;
|
|
3905
|
+
const hovered = hoveredRange === r;
|
|
5248
3906
|
const style = {
|
|
5249
3907
|
...btnBaseStyle,
|
|
5250
3908
|
...hovered ? btnHoverStyle : null,
|
|
@@ -5254,16 +3912,16 @@ var PriceChart = o.forwardRef(
|
|
|
5254
3912
|
"button",
|
|
5255
3913
|
{
|
|
5256
3914
|
type: "button",
|
|
5257
|
-
onClick: () => onRangeChange?.(
|
|
5258
|
-
onMouseEnter: () => setHoveredRange(
|
|
5259
|
-
onMouseLeave: () => setHoveredRange((
|
|
3915
|
+
onClick: () => onRangeChange?.(r),
|
|
3916
|
+
onMouseEnter: () => setHoveredRange(r),
|
|
3917
|
+
onMouseLeave: () => setHoveredRange((prev) => prev === r ? null : prev),
|
|
5260
3918
|
style,
|
|
5261
3919
|
className: cn(
|
|
5262
3920
|
"rounded border px-3 py-1 text-[0.85rem] font-medium transition-all duration-200"
|
|
5263
3921
|
),
|
|
5264
|
-
children:
|
|
3922
|
+
children: r
|
|
5265
3923
|
},
|
|
5266
|
-
|
|
3924
|
+
r
|
|
5267
3925
|
);
|
|
5268
3926
|
}),
|
|
5269
3927
|
selectedInDropdown && selectedRange ? /* @__PURE__ */ jsx(
|
|
@@ -5286,9 +3944,9 @@ var PriceChart = o.forwardRef(
|
|
|
5286
3944
|
"button",
|
|
5287
3945
|
{
|
|
5288
3946
|
type: "button",
|
|
5289
|
-
onClick: () => setDropdownOpen((
|
|
3947
|
+
onClick: () => setDropdownOpen((prev) => !prev),
|
|
5290
3948
|
onMouseEnter: () => setHoveredRange("__dropdown__"),
|
|
5291
|
-
onMouseLeave: () => setHoveredRange((
|
|
3949
|
+
onMouseLeave: () => setHoveredRange((prev) => prev === "__dropdown__" ? null : prev),
|
|
5292
3950
|
style: {
|
|
5293
3951
|
...btnBaseStyle,
|
|
5294
3952
|
...hoveredRange === "__dropdown__" ? btnHoverStyle : null
|
|
@@ -5311,23 +3969,23 @@ var PriceChart = o.forwardRef(
|
|
|
5311
3969
|
]
|
|
5312
3970
|
}
|
|
5313
3971
|
),
|
|
5314
|
-
dropdownOpen && /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-full z-50 mt-1 min-w-[80px] rounded border border-white/10 bg-black/90 py-1 backdrop-blur-md", children: dropdownRanges.map((
|
|
5315
|
-
const active =
|
|
3972
|
+
dropdownOpen && /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-full z-50 mt-1 min-w-[80px] rounded border border-white/10 bg-black/90 py-1 backdrop-blur-md", children: dropdownRanges.map((r) => {
|
|
3973
|
+
const active = r === selectedRange;
|
|
5316
3974
|
return /* @__PURE__ */ jsx(
|
|
5317
3975
|
"button",
|
|
5318
3976
|
{
|
|
5319
3977
|
type: "button",
|
|
5320
3978
|
onClick: () => {
|
|
5321
|
-
onRangeChange?.(
|
|
3979
|
+
onRangeChange?.(r);
|
|
5322
3980
|
setDropdownOpen(false);
|
|
5323
3981
|
},
|
|
5324
3982
|
className: cn(
|
|
5325
3983
|
"block w-full px-3 py-1.5 text-left text-[0.85rem] font-medium transition-colors hover:bg-white/10",
|
|
5326
3984
|
active ? "bg-[#e6c87e]/20 text-[#e6c87e]" : "text-white/70"
|
|
5327
3985
|
),
|
|
5328
|
-
children:
|
|
3986
|
+
children: r
|
|
5329
3987
|
},
|
|
5330
|
-
|
|
3988
|
+
r
|
|
5331
3989
|
);
|
|
5332
3990
|
}) })
|
|
5333
3991
|
] })
|
|
@@ -5389,7 +4047,7 @@ var formatPrice3 = (value, currencySymbol) => {
|
|
|
5389
4047
|
maximumFractionDigits: 3
|
|
5390
4048
|
})}`;
|
|
5391
4049
|
};
|
|
5392
|
-
var PropertyHeroHeader =
|
|
4050
|
+
var PropertyHeroHeader = React5.forwardRef(
|
|
5393
4051
|
({
|
|
5394
4052
|
className,
|
|
5395
4053
|
imageUrl,
|
|
@@ -5410,8 +4068,8 @@ var PropertyHeroHeader = o.forwardRef(
|
|
|
5410
4068
|
const isPositive = changePercent == null ? void 0 : changePercent >= 0;
|
|
5411
4069
|
const accentColor = "#e6c87e";
|
|
5412
4070
|
const tradeHoverColor = "#f5dd9a";
|
|
5413
|
-
const [isTradeInteracting, setIsTradeInteracting] =
|
|
5414
|
-
const [isOfferInteracting, setIsOfferInteracting] =
|
|
4071
|
+
const [isTradeInteracting, setIsTradeInteracting] = React5.useState(false);
|
|
4072
|
+
const [isOfferInteracting, setIsOfferInteracting] = React5.useState(false);
|
|
5415
4073
|
const hasAmenities = beds != null || baths != null || cars != null || propertyTypeLabel != null;
|
|
5416
4074
|
const headingStyle = {
|
|
5417
4075
|
fontSize: "clamp(1.6rem, 4vw, 2.5rem)",
|
|
@@ -5576,7 +4234,7 @@ var PropertyHeroHeader = o.forwardRef(
|
|
|
5576
4234
|
}
|
|
5577
4235
|
);
|
|
5578
4236
|
PropertyHeroHeader.displayName = "PropertyHeroHeader";
|
|
5579
|
-
var OuterWrapper =
|
|
4237
|
+
var OuterWrapper = styled6.div`
|
|
5580
4238
|
width: 100%;
|
|
5581
4239
|
max-width: 1200px;
|
|
5582
4240
|
margin: 0 auto;
|
|
@@ -5584,7 +4242,7 @@ var OuterWrapper = at.div`
|
|
|
5584
4242
|
flex-direction: column;
|
|
5585
4243
|
gap: 0.5rem;
|
|
5586
4244
|
`;
|
|
5587
|
-
var HeroContainer =
|
|
4245
|
+
var HeroContainer = styled6.div`
|
|
5588
4246
|
position: relative;
|
|
5589
4247
|
width: 100%;
|
|
5590
4248
|
height: 500px;
|
|
@@ -5616,7 +4274,7 @@ var HeroContainer = at.div`
|
|
|
5616
4274
|
height: 200px;
|
|
5617
4275
|
}
|
|
5618
4276
|
`;
|
|
5619
|
-
var MobileAmenities =
|
|
4277
|
+
var MobileAmenities = styled6.div`
|
|
5620
4278
|
display: none;
|
|
5621
4279
|
align-items: center;
|
|
5622
4280
|
justify-content: space-between;
|
|
@@ -5633,7 +4291,7 @@ var MobileAmenities = at.div`
|
|
|
5633
4291
|
flex-wrap: wrap;
|
|
5634
4292
|
}
|
|
5635
4293
|
`;
|
|
5636
|
-
var MobileAmenity =
|
|
4294
|
+
var MobileAmenity = styled6.span`
|
|
5637
4295
|
display: inline-flex;
|
|
5638
4296
|
align-items: center;
|
|
5639
4297
|
gap: 0.35rem;
|
|
@@ -5642,7 +4300,7 @@ var MobileAmenity = at.span`
|
|
|
5642
4300
|
background: rgba(255, 255, 255, 0.08);
|
|
5643
4301
|
font-weight: 500;
|
|
5644
4302
|
`;
|
|
5645
|
-
var HeroImage =
|
|
4303
|
+
var HeroImage = styled6.img`
|
|
5646
4304
|
position: absolute;
|
|
5647
4305
|
inset: 0;
|
|
5648
4306
|
width: 100%;
|
|
@@ -5654,13 +4312,13 @@ var HeroImage = at.img`
|
|
|
5654
4312
|
min-width: 110%;
|
|
5655
4313
|
transition: transform 0.5s ease-out;
|
|
5656
4314
|
`;
|
|
5657
|
-
var HeroGradient =
|
|
4315
|
+
var HeroGradient = styled6.div`
|
|
5658
4316
|
position: absolute;
|
|
5659
4317
|
inset: 0;
|
|
5660
4318
|
z-index: 1;
|
|
5661
4319
|
background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.25) 45%, rgba(0, 0, 0, 0.75) 100%);
|
|
5662
4320
|
`;
|
|
5663
|
-
var ActionButtons =
|
|
4321
|
+
var ActionButtons = styled6.div`
|
|
5664
4322
|
display: flex;
|
|
5665
4323
|
flex-wrap: wrap;
|
|
5666
4324
|
align-items: center;
|
|
@@ -5675,7 +4333,7 @@ var ActionButtons = at.div`
|
|
|
5675
4333
|
display: none;
|
|
5676
4334
|
}
|
|
5677
4335
|
`;
|
|
5678
|
-
var InfoCard =
|
|
4336
|
+
var InfoCard = styled6.div`
|
|
5679
4337
|
display: inline-block;
|
|
5680
4338
|
width: fit-content;
|
|
5681
4339
|
max-width: 70%;
|
|
@@ -5700,7 +4358,7 @@ var InfoCard = at.div`
|
|
|
5700
4358
|
max-width: 95%;
|
|
5701
4359
|
}
|
|
5702
4360
|
`;
|
|
5703
|
-
var InfoRow =
|
|
4361
|
+
var InfoRow = styled6.div`
|
|
5704
4362
|
display: grid;
|
|
5705
4363
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
5706
4364
|
align-items: center;
|
|
@@ -5711,7 +4369,7 @@ var InfoRow = at.div`
|
|
|
5711
4369
|
gap: 0.5rem;
|
|
5712
4370
|
}
|
|
5713
4371
|
`;
|
|
5714
|
-
var LocationText =
|
|
4372
|
+
var LocationText = styled6.span`
|
|
5715
4373
|
font-size: clamp(1rem, 2.6vw, 1.25rem);
|
|
5716
4374
|
color: rgba(255, 255, 255, 0.9);
|
|
5717
4375
|
font-weight: 500;
|
|
@@ -5719,7 +4377,7 @@ var LocationText = at.span`
|
|
|
5719
4377
|
text-overflow: ellipsis;
|
|
5720
4378
|
white-space: nowrap;
|
|
5721
4379
|
`;
|
|
5722
|
-
var PriceBlock =
|
|
4380
|
+
var PriceBlock = styled6.span`
|
|
5723
4381
|
display: flex;
|
|
5724
4382
|
align-items: center;
|
|
5725
4383
|
font-size: clamp(1rem, 2.2vw, 1.25rem);
|
|
@@ -5866,8 +4524,8 @@ var Header = ({
|
|
|
5866
4524
|
parsed.searchParams.set(authReturnParam, nextUrl);
|
|
5867
4525
|
finalUrl = parsed.toString();
|
|
5868
4526
|
} catch {
|
|
5869
|
-
const
|
|
5870
|
-
finalUrl = `${authLoginUrl}${
|
|
4527
|
+
const delimiter = authLoginUrl.includes("?") ? "&" : "?";
|
|
4528
|
+
finalUrl = `${authLoginUrl}${delimiter}${encodeURIComponent(authReturnParam)}=${encodeURIComponent(nextUrl)}`;
|
|
5871
4529
|
}
|
|
5872
4530
|
}
|
|
5873
4531
|
if (typeof window !== "undefined") {
|
|
@@ -6106,7 +4764,7 @@ var Header = ({
|
|
|
6106
4764
|
] });
|
|
6107
4765
|
};
|
|
6108
4766
|
Header.displayName = "Header";
|
|
6109
|
-
var Overlay =
|
|
4767
|
+
var Overlay = styled6.div`
|
|
6110
4768
|
display: ${(props) => props.$isOpen ? "block" : "none"};
|
|
6111
4769
|
position: fixed;
|
|
6112
4770
|
top: 0;
|
|
@@ -6117,7 +4775,7 @@ var Overlay = at.div`
|
|
|
6117
4775
|
backdrop-filter: blur(3px);
|
|
6118
4776
|
z-index: 999;
|
|
6119
4777
|
`;
|
|
6120
|
-
var MobileOnlyButton =
|
|
4778
|
+
var MobileOnlyButton = styled6.button.attrs({ type: "button" })`
|
|
6121
4779
|
display: none;
|
|
6122
4780
|
background-color: ${(props) => props.$isOpen ? "rgba(240, 185, 11, 0.2)" : "#f0b90b"};
|
|
6123
4781
|
color: ${(props) => props.$isOpen ? "#ffffff" : "#0b0e11"};
|
|
@@ -6148,7 +4806,7 @@ var MobileOnlyButton = at.button.attrs({ type: "button" })`
|
|
|
6148
4806
|
display: flex;
|
|
6149
4807
|
}
|
|
6150
4808
|
`;
|
|
6151
|
-
var HeaderContainer =
|
|
4809
|
+
var HeaderContainer = styled6.header`
|
|
6152
4810
|
display: flex;
|
|
6153
4811
|
justify-content: space-between;
|
|
6154
4812
|
align-items: center;
|
|
@@ -6168,7 +4826,7 @@ var HeaderContainer = at.header`
|
|
|
6168
4826
|
padding: 0 1rem;
|
|
6169
4827
|
}
|
|
6170
4828
|
`;
|
|
6171
|
-
var Logo =
|
|
4829
|
+
var Logo = styled6.div`
|
|
6172
4830
|
display: flex;
|
|
6173
4831
|
align-items: center;
|
|
6174
4832
|
margin-right: 24px;
|
|
@@ -6189,11 +4847,11 @@ var Logo = at.div`
|
|
|
6189
4847
|
}
|
|
6190
4848
|
}
|
|
6191
4849
|
`;
|
|
6192
|
-
var LogoLink =
|
|
4850
|
+
var LogoLink = styled6.a`
|
|
6193
4851
|
display: inline-flex;
|
|
6194
4852
|
align-items: center;
|
|
6195
4853
|
`;
|
|
6196
|
-
var Nav =
|
|
4854
|
+
var Nav = styled6.nav`
|
|
6197
4855
|
display: flex;
|
|
6198
4856
|
flex-direction: column;
|
|
6199
4857
|
|
|
@@ -6243,7 +4901,7 @@ var Nav = at.nav`
|
|
|
6243
4901
|
}
|
|
6244
4902
|
}
|
|
6245
4903
|
`;
|
|
6246
|
-
var NavLink =
|
|
4904
|
+
var NavLink = styled6.a`
|
|
6247
4905
|
margin: 0 12px;
|
|
6248
4906
|
color: #eaecef;
|
|
6249
4907
|
font-weight: 500;
|
|
@@ -6302,7 +4960,7 @@ var NavLink = at.a`
|
|
|
6302
4960
|
}
|
|
6303
4961
|
}
|
|
6304
4962
|
`;
|
|
6305
|
-
var Button2 =
|
|
4963
|
+
var Button2 = styled6.button.attrs({ type: "button" })`
|
|
6306
4964
|
padding: 0.5rem 1rem;
|
|
6307
4965
|
border-radius: 6px;
|
|
6308
4966
|
font-weight: 500;
|
|
@@ -6340,7 +4998,7 @@ var Button2 = at.button.attrs({ type: "button" })`
|
|
|
6340
4998
|
margin-left: 0.5rem;
|
|
6341
4999
|
}
|
|
6342
5000
|
`;
|
|
6343
|
-
var UserMenu =
|
|
5001
|
+
var UserMenu = styled6.div`
|
|
6344
5002
|
position: relative;
|
|
6345
5003
|
margin-left: 0.75rem;
|
|
6346
5004
|
height: 56px;
|
|
@@ -6351,7 +5009,7 @@ var UserMenu = at.div`
|
|
|
6351
5009
|
margin-left: auto;
|
|
6352
5010
|
}
|
|
6353
5011
|
`;
|
|
6354
|
-
var UserButton =
|
|
5012
|
+
var UserButton = styled6.button.attrs({ type: "button" })`
|
|
6355
5013
|
display: flex;
|
|
6356
5014
|
align-items: center;
|
|
6357
5015
|
background: transparent;
|
|
@@ -6376,7 +5034,7 @@ var UserButton = at.button.attrs({ type: "button" })`
|
|
|
6376
5034
|
transform: ${(props) => props.isOpen ? "rotate(180deg)" : "rotate(0)"};
|
|
6377
5035
|
}
|
|
6378
5036
|
`;
|
|
6379
|
-
var DropdownMenu =
|
|
5037
|
+
var DropdownMenu = styled6.div`
|
|
6380
5038
|
position: absolute;
|
|
6381
5039
|
top: 100%;
|
|
6382
5040
|
left: 0;
|
|
@@ -6402,7 +5060,7 @@ var DropdownMenu = at.div`
|
|
|
6402
5060
|
display: block;
|
|
6403
5061
|
}
|
|
6404
5062
|
`;
|
|
6405
|
-
var MenuItem =
|
|
5063
|
+
var MenuItem = styled6.div`
|
|
6406
5064
|
padding: 0.75rem 1.25rem;
|
|
6407
5065
|
cursor: pointer;
|
|
6408
5066
|
transition: all 0.2s ease;
|
|
@@ -6422,7 +5080,7 @@ var MenuItem = at.div`
|
|
|
6422
5080
|
color: #f6465d;
|
|
6423
5081
|
}
|
|
6424
5082
|
`;
|
|
6425
|
-
var MobileMenuHeader =
|
|
5083
|
+
var MobileMenuHeader = styled6.div`
|
|
6426
5084
|
display: flex;
|
|
6427
5085
|
justify-content: flex-end;
|
|
6428
5086
|
align-items: center;
|
|
@@ -6431,7 +5089,7 @@ var MobileMenuHeader = at.div`
|
|
|
6431
5089
|
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
|
|
6432
5090
|
background: rgba(0, 0, 0, 0.2);
|
|
6433
5091
|
`;
|
|
6434
|
-
var MobileMenuClose =
|
|
5092
|
+
var MobileMenuClose = styled6.button.attrs({ type: "button" })`
|
|
6435
5093
|
background: none;
|
|
6436
5094
|
border: none;
|
|
6437
5095
|
color: #eaecef;
|
|
@@ -6442,7 +5100,7 @@ var MobileMenuClose = at.button.attrs({ type: "button" })`
|
|
|
6442
5100
|
align-items: center;
|
|
6443
5101
|
justify-content: center;
|
|
6444
5102
|
`;
|
|
6445
|
-
var SearchBar =
|
|
5103
|
+
var SearchBar = styled6.div`
|
|
6446
5104
|
display: flex;
|
|
6447
5105
|
align-items: center;
|
|
6448
5106
|
background: rgba(255, 255, 255, 0.03);
|
|
@@ -6478,7 +5136,7 @@ var SearchBar = at.div`
|
|
|
6478
5136
|
}
|
|
6479
5137
|
}
|
|
6480
5138
|
`;
|
|
6481
|
-
var MobileNavItem =
|
|
5139
|
+
var MobileNavItem = styled6.div`
|
|
6482
5140
|
display: flex;
|
|
6483
5141
|
align-items: center;
|
|
6484
5142
|
padding: 14px 20px;
|
|
@@ -6496,10 +5154,10 @@ var MobileNavItem = at.div`
|
|
|
6496
5154
|
padding-left: 24px;
|
|
6497
5155
|
}
|
|
6498
5156
|
`;
|
|
6499
|
-
var PropertySubheader =
|
|
5157
|
+
var PropertySubheader = React5.forwardRef(
|
|
6500
5158
|
({ className, tabs, activeTabId, onTabChange, actions, ...props }, ref) => {
|
|
6501
|
-
const tabsContainerRef =
|
|
6502
|
-
|
|
5159
|
+
const tabsContainerRef = React5.useRef(null);
|
|
5160
|
+
React5.useEffect(() => {
|
|
6503
5161
|
const container = tabsContainerRef.current;
|
|
6504
5162
|
if (!container) return;
|
|
6505
5163
|
const isMobile = window.innerWidth <= 768;
|
|
@@ -6689,12 +5347,11 @@ var LoginPopup = ({
|
|
|
6689
5347
|
setLoading(false);
|
|
6690
5348
|
return;
|
|
6691
5349
|
}
|
|
6692
|
-
setView("otp");
|
|
6693
|
-
setOtp(Array(OTP_INPUT_LENGTH).fill(""));
|
|
6694
5350
|
try {
|
|
6695
5351
|
await onSendEmailCode({ email, isSignUp, handle: normalizedHandle ?? null });
|
|
5352
|
+
setView("otp");
|
|
5353
|
+
setOtp(Array(OTP_INPUT_LENGTH).fill(""));
|
|
6696
5354
|
} catch (err) {
|
|
6697
|
-
setView("email");
|
|
6698
5355
|
setError(err instanceof Error ? err.message : "Failed to send verification code");
|
|
6699
5356
|
} finally {
|
|
6700
5357
|
setLoading(false);
|
|
@@ -6910,7 +5567,7 @@ var LoginPopup = ({
|
|
|
6910
5567
|
}
|
|
6911
5568
|
return null;
|
|
6912
5569
|
};
|
|
6913
|
-
var Overlay2 =
|
|
5570
|
+
var Overlay2 = styled6.div`
|
|
6914
5571
|
position: fixed;
|
|
6915
5572
|
top: 0;
|
|
6916
5573
|
left: 0;
|
|
@@ -6933,7 +5590,7 @@ var Overlay2 = at.div`
|
|
|
6933
5590
|
}
|
|
6934
5591
|
}
|
|
6935
5592
|
`;
|
|
6936
|
-
var PopupContainer =
|
|
5593
|
+
var PopupContainer = styled6.div`
|
|
6937
5594
|
background-color: var(--color-background, #0a0a0a);
|
|
6938
5595
|
border: 1px solid rgba(230, 198, 86, 0.3);
|
|
6939
5596
|
border-radius: var(--border-radius, 12px);
|
|
@@ -6960,7 +5617,7 @@ var PopupContainer = at.div`
|
|
|
6960
5617
|
max-width: 90%;
|
|
6961
5618
|
}
|
|
6962
5619
|
`;
|
|
6963
|
-
var CloseButton =
|
|
5620
|
+
var CloseButton = styled6.button`
|
|
6964
5621
|
position: absolute;
|
|
6965
5622
|
top: 1rem;
|
|
6966
5623
|
right: 1rem;
|
|
@@ -6979,7 +5636,7 @@ var CloseButton = at.button`
|
|
|
6979
5636
|
color: var(--color-accent, #e6c656);
|
|
6980
5637
|
}
|
|
6981
5638
|
`;
|
|
6982
|
-
var Title =
|
|
5639
|
+
var Title = styled6.h2`
|
|
6983
5640
|
font-size: 1.75rem;
|
|
6984
5641
|
font-weight: 600;
|
|
6985
5642
|
color: var(--color-text, #eaecef);
|
|
@@ -6991,21 +5648,21 @@ var Title = at.h2`
|
|
|
6991
5648
|
justify-content: center;
|
|
6992
5649
|
gap: 1rem;
|
|
6993
5650
|
`;
|
|
6994
|
-
var LogoContainer3 =
|
|
5651
|
+
var LogoContainer3 = styled6.div`
|
|
6995
5652
|
display: flex;
|
|
6996
5653
|
justify-content: center;
|
|
6997
5654
|
margin-bottom: 0.5rem;
|
|
6998
5655
|
`;
|
|
6999
|
-
var LogoImage =
|
|
5656
|
+
var LogoImage = styled6.img`
|
|
7000
5657
|
height: 60px;
|
|
7001
5658
|
`;
|
|
7002
|
-
var ButtonsContainer =
|
|
5659
|
+
var ButtonsContainer = styled6.div`
|
|
7003
5660
|
display: flex;
|
|
7004
5661
|
flex-direction: column;
|
|
7005
5662
|
gap: 1rem;
|
|
7006
5663
|
margin-bottom: 1.5rem;
|
|
7007
5664
|
`;
|
|
7008
|
-
var LoginButton =
|
|
5665
|
+
var LoginButton = styled6.button`
|
|
7009
5666
|
display: flex;
|
|
7010
5667
|
align-items: center;
|
|
7011
5668
|
justify-content: center;
|
|
@@ -7031,7 +5688,7 @@ var LoginButton = at.button`
|
|
|
7031
5688
|
color: var(--color-accent, #e6c656);
|
|
7032
5689
|
}
|
|
7033
5690
|
`;
|
|
7034
|
-
var Divider =
|
|
5691
|
+
var Divider = styled6.div`
|
|
7035
5692
|
display: flex;
|
|
7036
5693
|
align-items: center;
|
|
7037
5694
|
margin: 1.5rem 0;
|
|
@@ -7044,13 +5701,13 @@ var Divider = at.div`
|
|
|
7044
5701
|
background-color: rgba(230, 198, 86, 0.2);
|
|
7045
5702
|
}
|
|
7046
5703
|
`;
|
|
7047
|
-
var InfoText =
|
|
5704
|
+
var InfoText = styled6.p`
|
|
7048
5705
|
color: var(--color-text-secondary, #848e9c);
|
|
7049
5706
|
font-size: 0.875rem;
|
|
7050
5707
|
text-align: center;
|
|
7051
5708
|
line-height: 1.5;
|
|
7052
5709
|
`;
|
|
7053
|
-
var AnnotationContainer =
|
|
5710
|
+
var AnnotationContainer = styled6.div`
|
|
7054
5711
|
display: flex;
|
|
7055
5712
|
flex-direction: column;
|
|
7056
5713
|
gap: 0.75rem;
|
|
@@ -7058,7 +5715,7 @@ var AnnotationContainer = at.div`
|
|
|
7058
5715
|
padding-top: 1.5rem;
|
|
7059
5716
|
border-top: 1px solid rgba(230, 198, 86, 0.2);
|
|
7060
5717
|
`;
|
|
7061
|
-
var Annotation =
|
|
5718
|
+
var Annotation = styled6.div`
|
|
7062
5719
|
display: flex;
|
|
7063
5720
|
align-items: flex-start;
|
|
7064
5721
|
gap: 1rem;
|
|
@@ -7073,22 +5730,22 @@ var Annotation = at.div`
|
|
|
7073
5730
|
color: var(--color-accent, #e6c656);
|
|
7074
5731
|
}
|
|
7075
5732
|
`;
|
|
7076
|
-
var AnnotationText =
|
|
5733
|
+
var AnnotationText = styled6.span`
|
|
7077
5734
|
flex: 1;
|
|
7078
5735
|
line-height: 1.4;
|
|
7079
5736
|
`;
|
|
7080
|
-
var AnnotationLabel =
|
|
5737
|
+
var AnnotationLabel = styled6.span`
|
|
7081
5738
|
color: var(--color-text, #eaecef);
|
|
7082
5739
|
font-weight: 500;
|
|
7083
5740
|
margin-right: 0.25rem;
|
|
7084
5741
|
`;
|
|
7085
|
-
var EmailFormContainer =
|
|
5742
|
+
var EmailFormContainer = styled6.div`
|
|
7086
5743
|
display: flex;
|
|
7087
5744
|
flex-direction: column;
|
|
7088
5745
|
gap: 1rem;
|
|
7089
5746
|
margin-bottom: 1.5rem;
|
|
7090
5747
|
`;
|
|
7091
|
-
var EmailInput =
|
|
5748
|
+
var EmailInput = styled6.input`
|
|
7092
5749
|
width: 100%;
|
|
7093
5750
|
padding: 1rem 1.25rem;
|
|
7094
5751
|
background-color: var(--color-background-light, #1a1a1a);
|
|
@@ -7107,12 +5764,12 @@ var EmailInput = at.input`
|
|
|
7107
5764
|
color: var(--color-text-secondary, #848e9c);
|
|
7108
5765
|
}
|
|
7109
5766
|
`;
|
|
7110
|
-
var OTPContainer =
|
|
5767
|
+
var OTPContainer = styled6.div`
|
|
7111
5768
|
display: flex;
|
|
7112
5769
|
gap: 0.5rem;
|
|
7113
5770
|
justify-content: center;
|
|
7114
5771
|
`;
|
|
7115
|
-
var OTPInput =
|
|
5772
|
+
var OTPInput = styled6.input`
|
|
7116
5773
|
width: 48px;
|
|
7117
5774
|
height: 56px;
|
|
7118
5775
|
text-align: center;
|
|
@@ -7130,7 +5787,7 @@ var OTPInput = at.input`
|
|
|
7130
5787
|
box-shadow: 0 0 0 2px rgba(230, 198, 86, 0.2);
|
|
7131
5788
|
}
|
|
7132
5789
|
`;
|
|
7133
|
-
var SubmitButton =
|
|
5790
|
+
var SubmitButton = styled6.button`
|
|
7134
5791
|
width: 100%;
|
|
7135
5792
|
padding: 1rem;
|
|
7136
5793
|
background-color: var(--color-accent, #e6c656);
|
|
@@ -7153,7 +5810,7 @@ var SubmitButton = at.button`
|
|
|
7153
5810
|
cursor: not-allowed;
|
|
7154
5811
|
}
|
|
7155
5812
|
`;
|
|
7156
|
-
var BackButton =
|
|
5813
|
+
var BackButton = styled6.button`
|
|
7157
5814
|
background: none;
|
|
7158
5815
|
border: none;
|
|
7159
5816
|
color: var(--color-text-secondary, #848e9c);
|
|
@@ -7168,7 +5825,7 @@ var BackButton = at.button`
|
|
|
7168
5825
|
color: var(--color-accent, #e6c656);
|
|
7169
5826
|
}
|
|
7170
5827
|
`;
|
|
7171
|
-
var StatusMessage =
|
|
5828
|
+
var StatusMessage = styled6.p`
|
|
7172
5829
|
color: ${(props) => props.$error ? "#f6465d" : "#0ecb81"};
|
|
7173
5830
|
font-size: 0.875rem;
|
|
7174
5831
|
text-align: center;
|
|
@@ -7236,7 +5893,7 @@ var MiniLiveFeed = () => {
|
|
|
7236
5893
|
const initial = Array.from({ length: 5 }, generatePurchase);
|
|
7237
5894
|
setPurchases(initial);
|
|
7238
5895
|
const interval = setInterval(() => {
|
|
7239
|
-
setPurchases((
|
|
5896
|
+
setPurchases((prev) => [generatePurchase(), ...prev.slice(0, 5)]);
|
|
7240
5897
|
}, 2e3 + Math.random() * 2e3);
|
|
7241
5898
|
return () => clearInterval(interval);
|
|
7242
5899
|
}, []);
|
|
@@ -7352,7 +6009,7 @@ var MiniLiveFeed = () => {
|
|
|
7352
6009
|
);
|
|
7353
6010
|
};
|
|
7354
6011
|
LoginPopup.displayName = "LoginPopup";
|
|
7355
|
-
var PropertyCompareBar =
|
|
6012
|
+
var PropertyCompareBar = React5.forwardRef(
|
|
7356
6013
|
({
|
|
7357
6014
|
className,
|
|
7358
6015
|
addresses,
|
|
@@ -7363,7 +6020,7 @@ var PropertyCompareBar = o.forwardRef(
|
|
|
7363
6020
|
price,
|
|
7364
6021
|
...props
|
|
7365
6022
|
}, ref) => {
|
|
7366
|
-
const normalizedAddresses =
|
|
6023
|
+
const normalizedAddresses = React5.useMemo(() => {
|
|
7367
6024
|
return addresses.map(
|
|
7368
6025
|
(option) => typeof option === "string" ? { id: option, label: option } : option
|
|
7369
6026
|
);
|
|
@@ -7371,11 +6028,11 @@ var PropertyCompareBar = o.forwardRef(
|
|
|
7371
6028
|
const hasAddresses = normalizedAddresses.length > 0;
|
|
7372
6029
|
const firstAddressId = normalizedAddresses[0]?.id;
|
|
7373
6030
|
const isControlled = selectedAddressId !== void 0;
|
|
7374
|
-
const [internalSelectedId, setInternalSelectedId] =
|
|
6031
|
+
const [internalSelectedId, setInternalSelectedId] = React5.useState(
|
|
7375
6032
|
() => isControlled ? void 0 : firstAddressId
|
|
7376
6033
|
);
|
|
7377
6034
|
const resolvedSelectedId = isControlled ? selectedAddressId : internalSelectedId;
|
|
7378
|
-
|
|
6035
|
+
React5.useEffect(() => {
|
|
7379
6036
|
if (!isControlled) {
|
|
7380
6037
|
setInternalSelectedId((current) => {
|
|
7381
6038
|
if (current != null && normalizedAddresses.some((option) => option.id === current)) {
|
|
@@ -7386,9 +6043,9 @@ var PropertyCompareBar = o.forwardRef(
|
|
|
7386
6043
|
}
|
|
7387
6044
|
}, [firstAddressId, isControlled, normalizedAddresses]);
|
|
7388
6045
|
const selectedOption = normalizedAddresses.find((option) => option.id === resolvedSelectedId) ?? normalizedAddresses[0];
|
|
7389
|
-
const [isDropdownOpen, setIsDropdownOpen] =
|
|
7390
|
-
const dropdownRef =
|
|
7391
|
-
|
|
6046
|
+
const [isDropdownOpen, setIsDropdownOpen] = React5.useState(false);
|
|
6047
|
+
const dropdownRef = React5.useRef(null);
|
|
6048
|
+
React5.useEffect(() => {
|
|
7392
6049
|
if (!isDropdownOpen) return;
|
|
7393
6050
|
const handleClick = (event) => {
|
|
7394
6051
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
@@ -7458,7 +6115,7 @@ var PropertyCompareBar = o.forwardRef(
|
|
|
7458
6115
|
formattedPropertyChange ? /* @__PURE__ */ jsx(PropertyValueChange, { $isPositive: propertyValue?.change != null ? propertyValue.change >= 0 : void 0, children: formattedPropertyChange }) : null
|
|
7459
6116
|
] }) : null;
|
|
7460
6117
|
return /* @__PURE__ */ jsxs(PropertySelectorContainer, { ref, className, $variant: propertyValueVariant, ...props, children: [
|
|
7461
|
-
/* @__PURE__ */ jsxs(PropertySelector, { ref: dropdownRef, onClick: () => hasAddresses && setIsDropdownOpen((
|
|
6118
|
+
/* @__PURE__ */ jsxs(PropertySelector, { ref: dropdownRef, onClick: () => hasAddresses && setIsDropdownOpen((prev) => !prev), children: [
|
|
7462
6119
|
/* @__PURE__ */ jsxs(PropertyAddress, { children: [
|
|
7463
6120
|
selectedOption ? selectedOption.label : hasAddresses ? "Select address" : "No addresses available",
|
|
7464
6121
|
/* @__PURE__ */ jsx(
|
|
@@ -7495,7 +6152,7 @@ var PropertyCompareBar = o.forwardRef(
|
|
|
7495
6152
|
}
|
|
7496
6153
|
);
|
|
7497
6154
|
PropertyCompareBar.displayName = "PropertyCompareBar";
|
|
7498
|
-
var PropertySelectorContainer =
|
|
6155
|
+
var PropertySelectorContainer = styled6.div`
|
|
7499
6156
|
display: flex;
|
|
7500
6157
|
align-items: center;
|
|
7501
6158
|
justify-content: space-between;
|
|
@@ -7522,7 +6179,7 @@ var PropertySelectorContainer = at.div`
|
|
|
7522
6179
|
@media (max-width: 600px) {
|
|
7523
6180
|
width: 100%;
|
|
7524
6181
|
|
|
7525
|
-
${({ $variant }) => $variant === "pill" ?
|
|
6182
|
+
${({ $variant }) => $variant === "pill" ? css`
|
|
7526
6183
|
display: grid;
|
|
7527
6184
|
grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 1fr);
|
|
7528
6185
|
gap: 0.35rem;
|
|
@@ -7541,7 +6198,7 @@ var PropertySelectorContainer = at.div`
|
|
|
7541
6198
|
justify-self: end;
|
|
7542
6199
|
text-align: right;
|
|
7543
6200
|
}
|
|
7544
|
-
` :
|
|
6201
|
+
` : css`
|
|
7545
6202
|
flex-direction: row;
|
|
7546
6203
|
align-items: center;
|
|
7547
6204
|
justify-content: space-between;
|
|
@@ -7549,7 +6206,7 @@ var PropertySelectorContainer = at.div`
|
|
|
7549
6206
|
`};
|
|
7550
6207
|
}
|
|
7551
6208
|
`;
|
|
7552
|
-
var PropertySelector =
|
|
6209
|
+
var PropertySelector = styled6.div`
|
|
7553
6210
|
position: relative;
|
|
7554
6211
|
display: flex;
|
|
7555
6212
|
align-items: center;
|
|
@@ -7563,7 +6220,7 @@ var PropertySelector = at.div`
|
|
|
7563
6220
|
}
|
|
7564
6221
|
}
|
|
7565
6222
|
`;
|
|
7566
|
-
var PropertyAddress =
|
|
6223
|
+
var PropertyAddress = styled6.div`
|
|
7567
6224
|
font-size: 1.125rem;
|
|
7568
6225
|
font-weight: 600;
|
|
7569
6226
|
display: flex;
|
|
@@ -7584,7 +6241,7 @@ var PropertyAddress = at.div`
|
|
|
7584
6241
|
white-space: normal;
|
|
7585
6242
|
}
|
|
7586
6243
|
`;
|
|
7587
|
-
var PropertySelectorDropdown =
|
|
6244
|
+
var PropertySelectorDropdown = styled6.div`
|
|
7588
6245
|
position: absolute;
|
|
7589
6246
|
top: 100%;
|
|
7590
6247
|
left: 0;
|
|
@@ -7597,7 +6254,7 @@ var PropertySelectorDropdown = at.div`
|
|
|
7597
6254
|
overflow: hidden;
|
|
7598
6255
|
display: ${(props) => props.$isOpen ? "block" : "none"};
|
|
7599
6256
|
`;
|
|
7600
|
-
var PropertySelectorOption =
|
|
6257
|
+
var PropertySelectorOption = styled6.div`
|
|
7601
6258
|
padding: 0.75rem 1rem;
|
|
7602
6259
|
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
7603
6260
|
cursor: pointer;
|
|
@@ -7611,17 +6268,17 @@ var PropertySelectorOption = at.div`
|
|
|
7611
6268
|
border-bottom: none;
|
|
7612
6269
|
}
|
|
7613
6270
|
`;
|
|
7614
|
-
var PropertySelectorName =
|
|
6271
|
+
var PropertySelectorName = styled6.div`
|
|
7615
6272
|
font-weight: 600;
|
|
7616
6273
|
`;
|
|
7617
|
-
var PropertyValueBlock =
|
|
6274
|
+
var PropertyValueBlock = styled6.div`
|
|
7618
6275
|
display: flex;
|
|
7619
6276
|
align-items: center;
|
|
7620
6277
|
gap: 0.5rem;
|
|
7621
6278
|
margin-left: 1rem;
|
|
7622
6279
|
white-space: nowrap;
|
|
7623
6280
|
|
|
7624
|
-
${({ $variant }) => $variant === "card" &&
|
|
6281
|
+
${({ $variant }) => $variant === "card" && css`
|
|
7625
6282
|
margin-left: auto;
|
|
7626
6283
|
flex-direction: row;
|
|
7627
6284
|
align-items: center;
|
|
@@ -7648,7 +6305,7 @@ var PropertyValueBlock = at.div`
|
|
|
7648
6305
|
}
|
|
7649
6306
|
`}
|
|
7650
6307
|
|
|
7651
|
-
${({ $variant }) => $variant === "pill" &&
|
|
6308
|
+
${({ $variant }) => $variant === "pill" && css`
|
|
7652
6309
|
margin-left: auto;
|
|
7653
6310
|
margin-right: 1rem;
|
|
7654
6311
|
background: #191919;
|
|
@@ -7682,7 +6339,7 @@ var PropertyValueBlock = at.div`
|
|
|
7682
6339
|
white-space: normal;
|
|
7683
6340
|
}
|
|
7684
6341
|
`;
|
|
7685
|
-
var PropertyValueLabel =
|
|
6342
|
+
var PropertyValueLabel = styled6.span`
|
|
7686
6343
|
font-size: 0.7rem;
|
|
7687
6344
|
color: var(--color-text-secondary, rgba(255, 255, 255, 0.6));
|
|
7688
6345
|
text-transform: uppercase;
|
|
@@ -7693,7 +6350,7 @@ var PropertyValueLabel = at.span`
|
|
|
7693
6350
|
letter-spacing: 0.4px;
|
|
7694
6351
|
}
|
|
7695
6352
|
`;
|
|
7696
|
-
var PropertyValueAmount =
|
|
6353
|
+
var PropertyValueAmount = styled6.span`
|
|
7697
6354
|
font-size: 1.1rem;
|
|
7698
6355
|
font-weight: 600;
|
|
7699
6356
|
color: #fff;
|
|
@@ -7702,7 +6359,7 @@ var PropertyValueAmount = at.span`
|
|
|
7702
6359
|
font-size: 0.95rem;
|
|
7703
6360
|
}
|
|
7704
6361
|
`;
|
|
7705
|
-
var PropertyValueChange =
|
|
6362
|
+
var PropertyValueChange = styled6.span`
|
|
7706
6363
|
font-size: 0.75rem;
|
|
7707
6364
|
font-weight: 500;
|
|
7708
6365
|
color: ${(props) => props.$isPositive == null ? "var(--color-text-secondary, rgba(255, 255, 255, 0.6))" : props.$isPositive ? "var(--color-positive, #0ecb81)" : "var(--color-negative, #f6465d)"};
|
|
@@ -7711,10 +6368,10 @@ var PropertyValueChange = at.span`
|
|
|
7711
6368
|
font-size: 0.65rem;
|
|
7712
6369
|
}
|
|
7713
6370
|
`;
|
|
7714
|
-
var PriceBlock2 =
|
|
6371
|
+
var PriceBlock2 = styled6.div`
|
|
7715
6372
|
display: none;
|
|
7716
6373
|
|
|
7717
|
-
${({ $variant }) => $variant === "pill" &&
|
|
6374
|
+
${({ $variant }) => $variant === "pill" && css`
|
|
7718
6375
|
@media (max-width: 600px) {
|
|
7719
6376
|
display: flex;
|
|
7720
6377
|
flex: none;
|
|
@@ -7726,13 +6383,13 @@ var PriceBlock2 = at.div`
|
|
|
7726
6383
|
}
|
|
7727
6384
|
`}
|
|
7728
6385
|
`;
|
|
7729
|
-
var PriceAmount =
|
|
6386
|
+
var PriceAmount = styled6.span`
|
|
7730
6387
|
font-size: 1.6rem;
|
|
7731
6388
|
font-weight: 600;
|
|
7732
6389
|
color: #fff;
|
|
7733
6390
|
letter-spacing: 0.2px;
|
|
7734
6391
|
`;
|
|
7735
|
-
var PriceChange =
|
|
6392
|
+
var PriceChange = styled6.span`
|
|
7736
6393
|
font-size: 0.85rem;
|
|
7737
6394
|
font-weight: 500;
|
|
7738
6395
|
display: inline-flex;
|