@loafmarkets/ui 0.0.8 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +17 -7
- package/dist/index.d.ts +17 -7
- package/dist/index.js +1921 -241
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1921 -241
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as o from 'react';
|
|
2
|
+
import o__default, { createElement } from 'react';
|
|
2
3
|
import { Slot } from '@radix-ui/react-slot';
|
|
3
4
|
import { cva } from 'class-variance-authority';
|
|
4
5
|
import { clsx } from 'clsx';
|
|
@@ -7,7 +8,6 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
7
8
|
import { Newspaper, BedDouble, Bath, CarFront } from 'lucide-react';
|
|
8
9
|
import { createChart } from 'lightweight-charts';
|
|
9
10
|
|
|
10
|
-
// src/components/button.tsx
|
|
11
11
|
function cn(...inputs) {
|
|
12
12
|
return twMerge(clsx(inputs));
|
|
13
13
|
}
|
|
@@ -42,7 +42,7 @@ var buttonVariants = cva(
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
);
|
|
45
|
-
var Button =
|
|
45
|
+
var Button = o.forwardRef(
|
|
46
46
|
({ className, variant, size, radius, asChild = false, ...props }, ref) => {
|
|
47
47
|
const Comp = asChild ? Slot : "button";
|
|
48
48
|
return /* @__PURE__ */ jsx(
|
|
@@ -80,11 +80,11 @@ var badgeVariants = cva(
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
);
|
|
83
|
-
var Badge =
|
|
83
|
+
var Badge = o.forwardRef(
|
|
84
84
|
({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx("span", { ref, className: cn(badgeVariants({ variant, size }), className), ...props })
|
|
85
85
|
);
|
|
86
86
|
Badge.displayName = "Badge";
|
|
87
|
-
var Card =
|
|
87
|
+
var Card = o.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
88
88
|
"div",
|
|
89
89
|
{
|
|
90
90
|
ref,
|
|
@@ -96,11 +96,11 @@ var Card = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
|
|
|
96
96
|
}
|
|
97
97
|
));
|
|
98
98
|
Card.displayName = "Card";
|
|
99
|
-
var CardHeader =
|
|
99
|
+
var CardHeader = o.forwardRef(
|
|
100
100
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
|
|
101
101
|
);
|
|
102
102
|
CardHeader.displayName = "CardHeader";
|
|
103
|
-
var CardTitle =
|
|
103
|
+
var CardTitle = o.forwardRef(
|
|
104
104
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
105
105
|
"h3",
|
|
106
106
|
{
|
|
@@ -111,15 +111,15 @@ var CardTitle = React5.forwardRef(
|
|
|
111
111
|
)
|
|
112
112
|
);
|
|
113
113
|
CardTitle.displayName = "CardTitle";
|
|
114
|
-
var CardDescription =
|
|
114
|
+
var CardDescription = o.forwardRef(
|
|
115
115
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("p", { ref, className: cn("text-sm text-slate-500", className), ...props })
|
|
116
116
|
);
|
|
117
117
|
CardDescription.displayName = "CardDescription";
|
|
118
|
-
var CardContent =
|
|
118
|
+
var CardContent = o.forwardRef(
|
|
119
119
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("px-6 pb-6 pt-2 text-sm text-slate-600", className), ...props })
|
|
120
120
|
);
|
|
121
121
|
CardContent.displayName = "CardContent";
|
|
122
|
-
var CardFooter =
|
|
122
|
+
var CardFooter = o.forwardRef(
|
|
123
123
|
({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center border-t border-slate-100 px-6 py-4", className), ...props })
|
|
124
124
|
);
|
|
125
125
|
CardFooter.displayName = "CardFooter";
|
|
@@ -137,7 +137,7 @@ var defaultFormatSignedCurrency = (value) => {
|
|
|
137
137
|
const sign = value >= 0 ? "+" : "-";
|
|
138
138
|
return `${sign}${defaultFormatCurrency(Math.abs(value))}`;
|
|
139
139
|
};
|
|
140
|
-
var PortfolioSummary =
|
|
140
|
+
var PortfolioSummary = o.forwardRef(
|
|
141
141
|
({
|
|
142
142
|
availableCash,
|
|
143
143
|
portfolioValue,
|
|
@@ -210,12 +210,12 @@ var PortfolioSummary = React5.forwardRef(
|
|
|
210
210
|
}
|
|
211
211
|
);
|
|
212
212
|
PortfolioSummary.displayName = "PortfolioSummary";
|
|
213
|
-
var clamp = (
|
|
214
|
-
var fmt0 = (
|
|
213
|
+
var clamp = (v2, min, max) => Math.min(max, Math.max(min, v2));
|
|
214
|
+
var fmt0 = (v2) => Math.abs(v2).toLocaleString(void 0, { maximumFractionDigits: 0 });
|
|
215
215
|
var normalizeLevels = (levels = []) => levels.filter((level) => Number.isFinite(level.price) && level.price > 0 && Number.isFinite(level.amount) && level.amount > 0);
|
|
216
216
|
var estimateMarketBuyFromUsd = (levels = [], usdAmount) => {
|
|
217
217
|
if (!Number.isFinite(usdAmount) || usdAmount <= 0) return { tokens: 0, value: 0, avgPrice: null };
|
|
218
|
-
const asks = normalizeLevels(levels).sort((
|
|
218
|
+
const asks = normalizeLevels(levels).sort((a2, b2) => a2.price - b2.price);
|
|
219
219
|
let remainingUsd = usdAmount;
|
|
220
220
|
let tokensFilled = 0;
|
|
221
221
|
let spent = 0;
|
|
@@ -236,7 +236,7 @@ var estimateMarketBuyFromUsd = (levels = [], usdAmount) => {
|
|
|
236
236
|
};
|
|
237
237
|
var estimateMarketBuyFromTokens = (levels = [], tokenAmount) => {
|
|
238
238
|
if (!Number.isFinite(tokenAmount) || tokenAmount <= 0) return { tokens: 0, value: 0, avgPrice: null };
|
|
239
|
-
const asks = normalizeLevels(levels).sort((
|
|
239
|
+
const asks = normalizeLevels(levels).sort((a2, b2) => a2.price - b2.price);
|
|
240
240
|
let remainingTokens = tokenAmount;
|
|
241
241
|
let tokensFilled = 0;
|
|
242
242
|
let spent = 0;
|
|
@@ -255,7 +255,7 @@ var estimateMarketBuyFromTokens = (levels = [], tokenAmount) => {
|
|
|
255
255
|
};
|
|
256
256
|
var estimateMarketSellFromTokens = (levels = [], tokenAmount) => {
|
|
257
257
|
if (!Number.isFinite(tokenAmount) || tokenAmount <= 0) return { tokens: 0, value: 0, avgPrice: null };
|
|
258
|
-
const bids = normalizeLevels(levels).sort((
|
|
258
|
+
const bids = normalizeLevels(levels).sort((a2, b2) => b2.price - a2.price);
|
|
259
259
|
let remainingTokens = tokenAmount;
|
|
260
260
|
let tokensFilled = 0;
|
|
261
261
|
let received = 0;
|
|
@@ -287,31 +287,31 @@ function HousePositionSlider({
|
|
|
287
287
|
className,
|
|
288
288
|
...props
|
|
289
289
|
}) {
|
|
290
|
-
const [orderMode, setOrderMode] =
|
|
291
|
-
const [buyTrackingMode, setBuyTrackingMode] =
|
|
292
|
-
const [deltaDollars, setDeltaDollars] =
|
|
293
|
-
const [deltaTokensBuy, setDeltaTokensBuy] =
|
|
294
|
-
const [deltaTokensSell, setDeltaTokensSell] =
|
|
295
|
-
const [isDragging, setIsDragging] =
|
|
296
|
-
const [visualTargetPct, setVisualTargetPct] =
|
|
297
|
-
const [orderType, setOrderType] =
|
|
298
|
-
const [limitPrice, setLimitPrice] =
|
|
299
|
-
const [limitPriceInput, setLimitPriceInput] =
|
|
300
|
-
const [limitPriceDirty, setLimitPriceDirty] =
|
|
301
|
-
const [ownershipInput, setOwnershipInput] =
|
|
302
|
-
const [tokenAmountInput, setTokenAmountInput] =
|
|
303
|
-
const houseRef =
|
|
290
|
+
const [orderMode, setOrderMode] = o.useState("none");
|
|
291
|
+
const [buyTrackingMode, setBuyTrackingMode] = o.useState("dollars");
|
|
292
|
+
const [deltaDollars, setDeltaDollars] = o.useState(0);
|
|
293
|
+
const [deltaTokensBuy, setDeltaTokensBuy] = o.useState(0);
|
|
294
|
+
const [deltaTokensSell, setDeltaTokensSell] = o.useState(0);
|
|
295
|
+
const [isDragging, setIsDragging] = o.useState(false);
|
|
296
|
+
const [visualTargetPct, setVisualTargetPct] = o.useState(null);
|
|
297
|
+
const [orderType, setOrderType] = o.useState(defaultOrderType);
|
|
298
|
+
const [limitPrice, setLimitPrice] = o.useState(currentPrice);
|
|
299
|
+
const [limitPriceInput, setLimitPriceInput] = o.useState(currentPrice.toFixed(2));
|
|
300
|
+
const [limitPriceDirty, setLimitPriceDirty] = o.useState(false);
|
|
301
|
+
const [ownershipInput, setOwnershipInput] = o.useState("");
|
|
302
|
+
const [tokenAmountInput, setTokenAmountInput] = o.useState("");
|
|
303
|
+
const houseRef = o.useRef(null);
|
|
304
304
|
const asks = orderbook?.asks ?? [];
|
|
305
305
|
const bids = orderbook?.bids ?? [];
|
|
306
|
-
|
|
306
|
+
o.useEffect(() => {
|
|
307
307
|
if (orderType !== "limit") return;
|
|
308
308
|
if (limitPriceDirty) return;
|
|
309
309
|
setLimitPrice(currentPrice);
|
|
310
310
|
setLimitPriceInput(currentPrice.toFixed(2));
|
|
311
311
|
}, [currentPrice, limitPriceDirty, orderType]);
|
|
312
312
|
const effectivePrice = orderType === "limit" ? limitPrice : currentPrice;
|
|
313
|
-
const pendingBuyValue = pendingOrders.filter((
|
|
314
|
-
const pendingSellTokens = pendingOrders.filter((
|
|
313
|
+
const pendingBuyValue = pendingOrders.filter((o2) => o2.type === "buy").reduce((s, o2) => s + o2.value, 0);
|
|
314
|
+
const pendingSellTokens = pendingOrders.filter((o2) => o2.type === "sell").reduce((s, o2) => s + Math.abs(o2.tokens), 0);
|
|
315
315
|
const effectiveAvailableCash = Math.max(0, availableCash - pendingBuyValue);
|
|
316
316
|
const effectiveTokensHeld = Math.max(0, tokensHeld - pendingSellTokens);
|
|
317
317
|
const holdingsValue = tokensHeld * effectivePrice;
|
|
@@ -378,7 +378,7 @@ function HousePositionSlider({
|
|
|
378
378
|
const impliedDisplayTargetOwnership = clamp(targetOwnership + ownershipShift, 0, 100);
|
|
379
379
|
const displayTargetOwnership = visualTargetPct ?? impliedDisplayTargetOwnership;
|
|
380
380
|
const estFeeTokens = Math.abs(deltaValue) * 5e-3 / (effectivePrice || 1);
|
|
381
|
-
const resetOrder =
|
|
381
|
+
const resetOrder = o.useCallback(() => {
|
|
382
382
|
setOrderMode("none");
|
|
383
383
|
setBuyTrackingMode("dollars");
|
|
384
384
|
setDeltaDollars(0);
|
|
@@ -386,7 +386,7 @@ function HousePositionSlider({
|
|
|
386
386
|
setDeltaTokensSell(0);
|
|
387
387
|
setVisualTargetPct(null);
|
|
388
388
|
}, []);
|
|
389
|
-
const updateOrderFromTargetValue =
|
|
389
|
+
const updateOrderFromTargetValue = o.useCallback(
|
|
390
390
|
(newTargetValue) => {
|
|
391
391
|
const newDeltaValue = newTargetValue - holdingsValue;
|
|
392
392
|
if (newDeltaValue > 0) {
|
|
@@ -410,7 +410,7 @@ function HousePositionSlider({
|
|
|
410
410
|
},
|
|
411
411
|
[effectiveAvailableCash, effectivePrice, effectiveTokensHeld, holdingsValue, resetOrder, tokensHeld]
|
|
412
412
|
);
|
|
413
|
-
const updateOrderFromOwnership =
|
|
413
|
+
const updateOrderFromOwnership = o.useCallback(
|
|
414
414
|
(newOwnershipPercent) => {
|
|
415
415
|
const nextOwnership = clamp(newOwnershipPercent, 0, 100);
|
|
416
416
|
const newTargetTokens = nextOwnership / 100 * totalTokens;
|
|
@@ -419,7 +419,7 @@ function HousePositionSlider({
|
|
|
419
419
|
},
|
|
420
420
|
[effectivePrice, totalTokens, updateOrderFromTargetValue]
|
|
421
421
|
);
|
|
422
|
-
const updateOrderFromTokenAmount =
|
|
422
|
+
const updateOrderFromTokenAmount = o.useCallback(
|
|
423
423
|
(tokenAmountSigned) => {
|
|
424
424
|
if (tokenAmountSigned > 0) {
|
|
425
425
|
const maxTokens = effectiveAvailableCash / (effectivePrice || 1);
|
|
@@ -442,7 +442,7 @@ function HousePositionSlider({
|
|
|
442
442
|
},
|
|
443
443
|
[effectiveAvailableCash, effectivePrice, effectiveTokensHeld, resetOrder]
|
|
444
444
|
);
|
|
445
|
-
const updateOrderFromSlider =
|
|
445
|
+
const updateOrderFromSlider = o.useCallback(
|
|
446
446
|
(pct) => {
|
|
447
447
|
const normalized = (pct - 50) / 50;
|
|
448
448
|
const magnitude = Math.min(Math.abs(normalized), 1);
|
|
@@ -486,12 +486,12 @@ function HousePositionSlider({
|
|
|
486
486
|
},
|
|
487
487
|
[effectiveAvailableCash, effectiveTokensHeld, resetOrder]
|
|
488
488
|
);
|
|
489
|
-
const handleDragAtClientY =
|
|
489
|
+
const handleDragAtClientY = o.useCallback(
|
|
490
490
|
(clientY) => {
|
|
491
491
|
if (!houseRef.current) return;
|
|
492
492
|
const rect = houseRef.current.getBoundingClientRect();
|
|
493
|
-
const
|
|
494
|
-
const pct = clamp(100 -
|
|
493
|
+
const y2 = clientY - rect.top;
|
|
494
|
+
const pct = clamp(100 - y2 / rect.height * 100, 0, 100);
|
|
495
495
|
updateOrderFromSlider(pct);
|
|
496
496
|
},
|
|
497
497
|
[updateOrderFromSlider]
|
|
@@ -526,9 +526,9 @@ function HousePositionSlider({
|
|
|
526
526
|
const handleCancel = () => {
|
|
527
527
|
resetOrder();
|
|
528
528
|
};
|
|
529
|
-
const handleOrderTypeSelection = (
|
|
530
|
-
setOrderType(
|
|
531
|
-
if (
|
|
529
|
+
const handleOrderTypeSelection = (next2) => {
|
|
530
|
+
setOrderType(next2);
|
|
531
|
+
if (next2 === "limit") {
|
|
532
532
|
setLimitPriceDirty(false);
|
|
533
533
|
setLimitPrice(currentPrice);
|
|
534
534
|
setLimitPriceInput(currentPrice.toFixed(2));
|
|
@@ -784,6 +784,1547 @@ function HousePositionSlider({
|
|
|
784
784
|
] })
|
|
785
785
|
] });
|
|
786
786
|
}
|
|
787
|
+
|
|
788
|
+
// ../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
789
|
+
var __assign = function() {
|
|
790
|
+
__assign = Object.assign || function __assign2(t) {
|
|
791
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
792
|
+
s = arguments[i];
|
|
793
|
+
for (var p2 in s) if (Object.prototype.hasOwnProperty.call(s, p2)) t[p2] = s[p2];
|
|
794
|
+
}
|
|
795
|
+
return t;
|
|
796
|
+
};
|
|
797
|
+
return __assign.apply(this, arguments);
|
|
798
|
+
};
|
|
799
|
+
function __spreadArray(to, from2, pack) {
|
|
800
|
+
if (pack || arguments.length === 2) for (var i = 0, l2 = from2.length, ar; i < l2; i++) {
|
|
801
|
+
if (ar || !(i in from2)) {
|
|
802
|
+
if (!ar) ar = Array.prototype.slice.call(from2, 0, i);
|
|
803
|
+
ar[i] = from2[i];
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
return to.concat(ar || Array.prototype.slice.call(from2));
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
// ../../../node_modules/.pnpm/@emotion+memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
|
|
810
|
+
function memoize(fn) {
|
|
811
|
+
var cache = /* @__PURE__ */ Object.create(null);
|
|
812
|
+
return function(arg) {
|
|
813
|
+
if (cache[arg] === void 0) cache[arg] = fn(arg);
|
|
814
|
+
return cache[arg];
|
|
815
|
+
};
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
// ../../../node_modules/.pnpm/@emotion+is-prop-valid@1.4.0/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js
|
|
819
|
+
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)-.*))$/;
|
|
820
|
+
var isPropValid = /* @__PURE__ */ memoize(
|
|
821
|
+
function(prop) {
|
|
822
|
+
return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
|
|
823
|
+
}
|
|
824
|
+
/* Z+1 */
|
|
825
|
+
);
|
|
826
|
+
|
|
827
|
+
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Enum.js
|
|
828
|
+
var MS = "-ms-";
|
|
829
|
+
var MOZ = "-moz-";
|
|
830
|
+
var WEBKIT = "-webkit-";
|
|
831
|
+
var COMMENT = "comm";
|
|
832
|
+
var RULESET = "rule";
|
|
833
|
+
var DECLARATION = "decl";
|
|
834
|
+
var IMPORT = "@import";
|
|
835
|
+
var NAMESPACE = "@namespace";
|
|
836
|
+
var KEYFRAMES = "@keyframes";
|
|
837
|
+
var LAYER = "@layer";
|
|
838
|
+
|
|
839
|
+
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Utility.js
|
|
840
|
+
var abs = Math.abs;
|
|
841
|
+
var from = String.fromCharCode;
|
|
842
|
+
var assign = Object.assign;
|
|
843
|
+
function hash(value, length2) {
|
|
844
|
+
return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
|
|
845
|
+
}
|
|
846
|
+
function trim(value) {
|
|
847
|
+
return value.trim();
|
|
848
|
+
}
|
|
849
|
+
function match(value, pattern) {
|
|
850
|
+
return (value = pattern.exec(value)) ? value[0] : value;
|
|
851
|
+
}
|
|
852
|
+
function replace(value, pattern, replacement) {
|
|
853
|
+
return value.replace(pattern, replacement);
|
|
854
|
+
}
|
|
855
|
+
function indexof(value, search, position2) {
|
|
856
|
+
return value.indexOf(search, position2);
|
|
857
|
+
}
|
|
858
|
+
function charat(value, index) {
|
|
859
|
+
return value.charCodeAt(index) | 0;
|
|
860
|
+
}
|
|
861
|
+
function substr(value, begin, end) {
|
|
862
|
+
return value.slice(begin, end);
|
|
863
|
+
}
|
|
864
|
+
function strlen(value) {
|
|
865
|
+
return value.length;
|
|
866
|
+
}
|
|
867
|
+
function sizeof(value) {
|
|
868
|
+
return value.length;
|
|
869
|
+
}
|
|
870
|
+
function append(value, array) {
|
|
871
|
+
return array.push(value), value;
|
|
872
|
+
}
|
|
873
|
+
function combine(array, callback) {
|
|
874
|
+
return array.map(callback).join("");
|
|
875
|
+
}
|
|
876
|
+
function filter(array, pattern) {
|
|
877
|
+
return array.filter(function(value) {
|
|
878
|
+
return !match(value, pattern);
|
|
879
|
+
});
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Tokenizer.js
|
|
883
|
+
var line = 1;
|
|
884
|
+
var column = 1;
|
|
885
|
+
var length = 0;
|
|
886
|
+
var position = 0;
|
|
887
|
+
var character = 0;
|
|
888
|
+
var characters = "";
|
|
889
|
+
function node(value, root, parent, type, props, children, length2, siblings) {
|
|
890
|
+
return { value, root, parent, type, props, children, line, column, length: length2, return: "", siblings };
|
|
891
|
+
}
|
|
892
|
+
function copy(root, props) {
|
|
893
|
+
return assign(node("", null, null, "", null, null, 0, root.siblings), root, { length: -root.length }, props);
|
|
894
|
+
}
|
|
895
|
+
function lift(root) {
|
|
896
|
+
while (root.root)
|
|
897
|
+
root = copy(root.root, { children: [root] });
|
|
898
|
+
append(root, root.siblings);
|
|
899
|
+
}
|
|
900
|
+
function char() {
|
|
901
|
+
return character;
|
|
902
|
+
}
|
|
903
|
+
function prev() {
|
|
904
|
+
character = position > 0 ? charat(characters, --position) : 0;
|
|
905
|
+
if (column--, character === 10)
|
|
906
|
+
column = 1, line--;
|
|
907
|
+
return character;
|
|
908
|
+
}
|
|
909
|
+
function next() {
|
|
910
|
+
character = position < length ? charat(characters, position++) : 0;
|
|
911
|
+
if (column++, character === 10)
|
|
912
|
+
column = 1, line++;
|
|
913
|
+
return character;
|
|
914
|
+
}
|
|
915
|
+
function peek() {
|
|
916
|
+
return charat(characters, position);
|
|
917
|
+
}
|
|
918
|
+
function caret() {
|
|
919
|
+
return position;
|
|
920
|
+
}
|
|
921
|
+
function slice(begin, end) {
|
|
922
|
+
return substr(characters, begin, end);
|
|
923
|
+
}
|
|
924
|
+
function token(type) {
|
|
925
|
+
switch (type) {
|
|
926
|
+
// \0 \t \n \r \s whitespace token
|
|
927
|
+
case 0:
|
|
928
|
+
case 9:
|
|
929
|
+
case 10:
|
|
930
|
+
case 13:
|
|
931
|
+
case 32:
|
|
932
|
+
return 5;
|
|
933
|
+
// ! + , / > @ ~ isolate token
|
|
934
|
+
case 33:
|
|
935
|
+
case 43:
|
|
936
|
+
case 44:
|
|
937
|
+
case 47:
|
|
938
|
+
case 62:
|
|
939
|
+
case 64:
|
|
940
|
+
case 126:
|
|
941
|
+
// ; { } breakpoint token
|
|
942
|
+
case 59:
|
|
943
|
+
case 123:
|
|
944
|
+
case 125:
|
|
945
|
+
return 4;
|
|
946
|
+
// : accompanied token
|
|
947
|
+
case 58:
|
|
948
|
+
return 3;
|
|
949
|
+
// " ' ( [ opening delimit token
|
|
950
|
+
case 34:
|
|
951
|
+
case 39:
|
|
952
|
+
case 40:
|
|
953
|
+
case 91:
|
|
954
|
+
return 2;
|
|
955
|
+
// ) ] closing delimit token
|
|
956
|
+
case 41:
|
|
957
|
+
case 93:
|
|
958
|
+
return 1;
|
|
959
|
+
}
|
|
960
|
+
return 0;
|
|
961
|
+
}
|
|
962
|
+
function alloc(value) {
|
|
963
|
+
return line = column = 1, length = strlen(characters = value), position = 0, [];
|
|
964
|
+
}
|
|
965
|
+
function dealloc(value) {
|
|
966
|
+
return characters = "", value;
|
|
967
|
+
}
|
|
968
|
+
function delimit(type) {
|
|
969
|
+
return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));
|
|
970
|
+
}
|
|
971
|
+
function whitespace(type) {
|
|
972
|
+
while (character = peek())
|
|
973
|
+
if (character < 33)
|
|
974
|
+
next();
|
|
975
|
+
else
|
|
976
|
+
break;
|
|
977
|
+
return token(type) > 2 || token(character) > 3 ? "" : " ";
|
|
978
|
+
}
|
|
979
|
+
function escaping(index, count) {
|
|
980
|
+
while (--count && next())
|
|
981
|
+
if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
|
|
982
|
+
break;
|
|
983
|
+
return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));
|
|
984
|
+
}
|
|
985
|
+
function delimiter(type) {
|
|
986
|
+
while (next())
|
|
987
|
+
switch (character) {
|
|
988
|
+
// ] ) " '
|
|
989
|
+
case type:
|
|
990
|
+
return position;
|
|
991
|
+
// " '
|
|
992
|
+
case 34:
|
|
993
|
+
case 39:
|
|
994
|
+
if (type !== 34 && type !== 39)
|
|
995
|
+
delimiter(character);
|
|
996
|
+
break;
|
|
997
|
+
// (
|
|
998
|
+
case 40:
|
|
999
|
+
if (type === 41)
|
|
1000
|
+
delimiter(type);
|
|
1001
|
+
break;
|
|
1002
|
+
// \
|
|
1003
|
+
case 92:
|
|
1004
|
+
next();
|
|
1005
|
+
break;
|
|
1006
|
+
}
|
|
1007
|
+
return position;
|
|
1008
|
+
}
|
|
1009
|
+
function commenter(type, index) {
|
|
1010
|
+
while (next())
|
|
1011
|
+
if (type + character === 47 + 10)
|
|
1012
|
+
break;
|
|
1013
|
+
else if (type + character === 42 + 42 && peek() === 47)
|
|
1014
|
+
break;
|
|
1015
|
+
return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next());
|
|
1016
|
+
}
|
|
1017
|
+
function identifier(index) {
|
|
1018
|
+
while (!token(peek()))
|
|
1019
|
+
next();
|
|
1020
|
+
return slice(index, position);
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Parser.js
|
|
1024
|
+
function compile(value) {
|
|
1025
|
+
return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value));
|
|
1026
|
+
}
|
|
1027
|
+
function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
|
|
1028
|
+
var index = 0;
|
|
1029
|
+
var offset = 0;
|
|
1030
|
+
var length2 = pseudo;
|
|
1031
|
+
var atrule = 0;
|
|
1032
|
+
var property = 0;
|
|
1033
|
+
var previous = 0;
|
|
1034
|
+
var variable = 1;
|
|
1035
|
+
var scanning = 1;
|
|
1036
|
+
var ampersand = 1;
|
|
1037
|
+
var character2 = 0;
|
|
1038
|
+
var type = "";
|
|
1039
|
+
var props = rules;
|
|
1040
|
+
var children = rulesets;
|
|
1041
|
+
var reference = rule;
|
|
1042
|
+
var characters2 = type;
|
|
1043
|
+
while (scanning)
|
|
1044
|
+
switch (previous = character2, character2 = next()) {
|
|
1045
|
+
// (
|
|
1046
|
+
case 40:
|
|
1047
|
+
if (previous != 108 && charat(characters2, length2 - 1) == 58) {
|
|
1048
|
+
if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f", abs(index ? points[index - 1] : 0)) != -1)
|
|
1049
|
+
ampersand = -1;
|
|
1050
|
+
break;
|
|
1051
|
+
}
|
|
1052
|
+
// " ' [
|
|
1053
|
+
case 34:
|
|
1054
|
+
case 39:
|
|
1055
|
+
case 91:
|
|
1056
|
+
characters2 += delimit(character2);
|
|
1057
|
+
break;
|
|
1058
|
+
// \t \n \r \s
|
|
1059
|
+
case 9:
|
|
1060
|
+
case 10:
|
|
1061
|
+
case 13:
|
|
1062
|
+
case 32:
|
|
1063
|
+
characters2 += whitespace(previous);
|
|
1064
|
+
break;
|
|
1065
|
+
// \
|
|
1066
|
+
case 92:
|
|
1067
|
+
characters2 += escaping(caret() - 1, 7);
|
|
1068
|
+
continue;
|
|
1069
|
+
// /
|
|
1070
|
+
case 47:
|
|
1071
|
+
switch (peek()) {
|
|
1072
|
+
case 42:
|
|
1073
|
+
case 47:
|
|
1074
|
+
append(comment(commenter(next(), caret()), root, parent, declarations), declarations);
|
|
1075
|
+
if ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters2) && substr(characters2, -1, void 0) !== " ") characters2 += " ";
|
|
1076
|
+
break;
|
|
1077
|
+
default:
|
|
1078
|
+
characters2 += "/";
|
|
1079
|
+
}
|
|
1080
|
+
break;
|
|
1081
|
+
// {
|
|
1082
|
+
case 123 * variable:
|
|
1083
|
+
points[index++] = strlen(characters2) * ampersand;
|
|
1084
|
+
// } ; \0
|
|
1085
|
+
case 125 * variable:
|
|
1086
|
+
case 59:
|
|
1087
|
+
case 0:
|
|
1088
|
+
switch (character2) {
|
|
1089
|
+
// \0 }
|
|
1090
|
+
case 0:
|
|
1091
|
+
case 125:
|
|
1092
|
+
scanning = 0;
|
|
1093
|
+
// ;
|
|
1094
|
+
case 59 + offset:
|
|
1095
|
+
if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
|
|
1096
|
+
if (property > 0 && (strlen(characters2) - length2 || variable === 0 && previous === 47))
|
|
1097
|
+
append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1, declarations) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2, declarations), declarations);
|
|
1098
|
+
break;
|
|
1099
|
+
// @ ;
|
|
1100
|
+
case 59:
|
|
1101
|
+
characters2 += ";";
|
|
1102
|
+
// { rule/at-rule
|
|
1103
|
+
default:
|
|
1104
|
+
append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2, rulesets), rulesets);
|
|
1105
|
+
if (character2 === 123)
|
|
1106
|
+
if (offset === 0)
|
|
1107
|
+
parse(characters2, root, reference, reference, props, rulesets, length2, points, children);
|
|
1108
|
+
else {
|
|
1109
|
+
switch (atrule) {
|
|
1110
|
+
// c(ontainer)
|
|
1111
|
+
case 99:
|
|
1112
|
+
if (charat(characters2, 3) === 110) break;
|
|
1113
|
+
// l(ayer)
|
|
1114
|
+
case 108:
|
|
1115
|
+
if (charat(characters2, 2) === 97) break;
|
|
1116
|
+
default:
|
|
1117
|
+
offset = 0;
|
|
1118
|
+
// d(ocument) m(edia) s(upports)
|
|
1119
|
+
case 100:
|
|
1120
|
+
case 109:
|
|
1121
|
+
case 115:
|
|
1122
|
+
}
|
|
1123
|
+
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);
|
|
1124
|
+
else parse(characters2, reference, reference, reference, [""], children, 0, points, children);
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
|
|
1128
|
+
break;
|
|
1129
|
+
// :
|
|
1130
|
+
case 58:
|
|
1131
|
+
length2 = 1 + strlen(characters2), property = previous;
|
|
1132
|
+
default:
|
|
1133
|
+
if (variable < 1) {
|
|
1134
|
+
if (character2 == 123)
|
|
1135
|
+
--variable;
|
|
1136
|
+
else if (character2 == 125 && variable++ == 0 && prev() == 125)
|
|
1137
|
+
continue;
|
|
1138
|
+
}
|
|
1139
|
+
switch (characters2 += from(character2), character2 * variable) {
|
|
1140
|
+
// &
|
|
1141
|
+
case 38:
|
|
1142
|
+
ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
|
|
1143
|
+
break;
|
|
1144
|
+
// ,
|
|
1145
|
+
case 44:
|
|
1146
|
+
points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
|
|
1147
|
+
break;
|
|
1148
|
+
// @
|
|
1149
|
+
case 64:
|
|
1150
|
+
if (peek() === 45)
|
|
1151
|
+
characters2 += delimit(next());
|
|
1152
|
+
atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
|
|
1153
|
+
break;
|
|
1154
|
+
// -
|
|
1155
|
+
case 45:
|
|
1156
|
+
if (previous === 45 && strlen(characters2) == 2)
|
|
1157
|
+
variable = 0;
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
return rulesets;
|
|
1161
|
+
}
|
|
1162
|
+
function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2, siblings) {
|
|
1163
|
+
var post = offset - 1;
|
|
1164
|
+
var rule = offset === 0 ? rules : [""];
|
|
1165
|
+
var size = sizeof(rule);
|
|
1166
|
+
for (var i = 0, j2 = 0, k2 = 0; i < index; ++i)
|
|
1167
|
+
for (var x2 = 0, y2 = substr(value, post + 1, post = abs(j2 = points[i])), z2 = value; x2 < size; ++x2)
|
|
1168
|
+
if (z2 = trim(j2 > 0 ? rule[x2] + " " + y2 : replace(y2, /&\f/g, rule[x2])))
|
|
1169
|
+
props[k2++] = z2;
|
|
1170
|
+
return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2, siblings);
|
|
1171
|
+
}
|
|
1172
|
+
function comment(value, root, parent, siblings) {
|
|
1173
|
+
return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings);
|
|
1174
|
+
}
|
|
1175
|
+
function declaration(value, root, parent, length2, siblings) {
|
|
1176
|
+
return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2, siblings);
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Prefixer.js
|
|
1180
|
+
function prefix(value, length2, children) {
|
|
1181
|
+
switch (hash(value, length2)) {
|
|
1182
|
+
// color-adjust
|
|
1183
|
+
case 5103:
|
|
1184
|
+
return WEBKIT + "print-" + value + value;
|
|
1185
|
+
// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
|
|
1186
|
+
case 5737:
|
|
1187
|
+
case 4201:
|
|
1188
|
+
case 3177:
|
|
1189
|
+
case 3433:
|
|
1190
|
+
case 1641:
|
|
1191
|
+
case 4457:
|
|
1192
|
+
case 2921:
|
|
1193
|
+
// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
|
|
1194
|
+
case 5572:
|
|
1195
|
+
case 6356:
|
|
1196
|
+
case 5844:
|
|
1197
|
+
case 3191:
|
|
1198
|
+
case 6645:
|
|
1199
|
+
case 3005:
|
|
1200
|
+
// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
|
|
1201
|
+
case 4215:
|
|
1202
|
+
case 6389:
|
|
1203
|
+
case 5109:
|
|
1204
|
+
case 5365:
|
|
1205
|
+
case 5621:
|
|
1206
|
+
case 3829:
|
|
1207
|
+
// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position
|
|
1208
|
+
case 6391:
|
|
1209
|
+
case 5879:
|
|
1210
|
+
case 5623:
|
|
1211
|
+
case 6135:
|
|
1212
|
+
case 4599:
|
|
1213
|
+
return WEBKIT + value + value;
|
|
1214
|
+
// mask-composite
|
|
1215
|
+
case 4855:
|
|
1216
|
+
return WEBKIT + value.replace("add", "source-over").replace("substract", "source-out").replace("intersect", "source-in").replace("exclude", "xor") + value;
|
|
1217
|
+
// tab-size
|
|
1218
|
+
case 4789:
|
|
1219
|
+
return MOZ + value + value;
|
|
1220
|
+
// appearance, user-select, transform, hyphens, text-size-adjust
|
|
1221
|
+
case 5349:
|
|
1222
|
+
case 4246:
|
|
1223
|
+
case 4810:
|
|
1224
|
+
case 6968:
|
|
1225
|
+
case 2756:
|
|
1226
|
+
return WEBKIT + value + MOZ + value + MS + value + value;
|
|
1227
|
+
// writing-mode
|
|
1228
|
+
case 5936:
|
|
1229
|
+
switch (charat(value, length2 + 11)) {
|
|
1230
|
+
// vertical-l(r)
|
|
1231
|
+
case 114:
|
|
1232
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
|
|
1233
|
+
// vertical-r(l)
|
|
1234
|
+
case 108:
|
|
1235
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
|
|
1236
|
+
// horizontal(-)tb
|
|
1237
|
+
case 45:
|
|
1238
|
+
return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
|
|
1239
|
+
}
|
|
1240
|
+
// flex, flex-direction, scroll-snap-type, writing-mode
|
|
1241
|
+
case 6828:
|
|
1242
|
+
case 4268:
|
|
1243
|
+
case 2903:
|
|
1244
|
+
return WEBKIT + value + MS + value + value;
|
|
1245
|
+
// order
|
|
1246
|
+
case 6165:
|
|
1247
|
+
return WEBKIT + value + MS + "flex-" + value + value;
|
|
1248
|
+
// align-items
|
|
1249
|
+
case 5187:
|
|
1250
|
+
return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
|
|
1251
|
+
// align-self
|
|
1252
|
+
case 5443:
|
|
1253
|
+
return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/g, "") + (!match(value, /flex-|baseline/) ? MS + "grid-row-" + replace(value, /flex-|-self/g, "") : "") + value;
|
|
1254
|
+
// align-content
|
|
1255
|
+
case 4675:
|
|
1256
|
+
return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/g, "") + value;
|
|
1257
|
+
// flex-shrink
|
|
1258
|
+
case 5548:
|
|
1259
|
+
return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
|
|
1260
|
+
// flex-basis
|
|
1261
|
+
case 5292:
|
|
1262
|
+
return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
|
|
1263
|
+
// flex-grow
|
|
1264
|
+
case 6060:
|
|
1265
|
+
return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
|
|
1266
|
+
// transition
|
|
1267
|
+
case 4554:
|
|
1268
|
+
return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
|
|
1269
|
+
// cursor
|
|
1270
|
+
case 6187:
|
|
1271
|
+
return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
|
|
1272
|
+
// background, background-image
|
|
1273
|
+
case 5495:
|
|
1274
|
+
case 3959:
|
|
1275
|
+
return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
|
|
1276
|
+
// justify-content
|
|
1277
|
+
case 4968:
|
|
1278
|
+
return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /space-between/, "justify") + WEBKIT + value + value;
|
|
1279
|
+
// justify-self
|
|
1280
|
+
case 4200:
|
|
1281
|
+
if (!match(value, /flex-|baseline/)) return MS + "grid-column-align" + substr(value, length2) + value;
|
|
1282
|
+
break;
|
|
1283
|
+
// grid-template-(columns|rows)
|
|
1284
|
+
case 2592:
|
|
1285
|
+
case 3360:
|
|
1286
|
+
return MS + replace(value, "template-", "") + value;
|
|
1287
|
+
// grid-(row|column)-start
|
|
1288
|
+
case 4384:
|
|
1289
|
+
case 3616:
|
|
1290
|
+
if (children && children.some(function(element, index) {
|
|
1291
|
+
return length2 = index, match(element.props, /grid-\w+-end/);
|
|
1292
|
+
})) {
|
|
1293
|
+
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+/)) + ";";
|
|
1294
|
+
}
|
|
1295
|
+
return MS + replace(value, "-start", "") + value;
|
|
1296
|
+
// grid-(row|column)-end
|
|
1297
|
+
case 4896:
|
|
1298
|
+
case 4128:
|
|
1299
|
+
return children && children.some(function(element) {
|
|
1300
|
+
return match(element.props, /grid-\w+-start/);
|
|
1301
|
+
}) ? value : MS + replace(replace(value, "-end", "-span"), "span ", "") + value;
|
|
1302
|
+
// (margin|padding)-inline-(start|end)
|
|
1303
|
+
case 4095:
|
|
1304
|
+
case 3583:
|
|
1305
|
+
case 4068:
|
|
1306
|
+
case 2532:
|
|
1307
|
+
return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
|
|
1308
|
+
// (min|max)?(width|height|inline-size|block-size)
|
|
1309
|
+
case 8116:
|
|
1310
|
+
case 7059:
|
|
1311
|
+
case 5753:
|
|
1312
|
+
case 5535:
|
|
1313
|
+
case 5445:
|
|
1314
|
+
case 5701:
|
|
1315
|
+
case 4933:
|
|
1316
|
+
case 4677:
|
|
1317
|
+
case 5533:
|
|
1318
|
+
case 5789:
|
|
1319
|
+
case 5021:
|
|
1320
|
+
case 4765:
|
|
1321
|
+
if (strlen(value) - 1 - length2 > 6)
|
|
1322
|
+
switch (charat(value, length2 + 1)) {
|
|
1323
|
+
// (m)ax-content, (m)in-content
|
|
1324
|
+
case 109:
|
|
1325
|
+
if (charat(value, length2 + 4) !== 45)
|
|
1326
|
+
break;
|
|
1327
|
+
// (f)ill-available, (f)it-content
|
|
1328
|
+
case 102:
|
|
1329
|
+
return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
|
|
1330
|
+
// (s)tretch
|
|
1331
|
+
case 115:
|
|
1332
|
+
return ~indexof(value, "stretch", 0) ? prefix(replace(value, "stretch", "fill-available"), length2, children) + value : value;
|
|
1333
|
+
}
|
|
1334
|
+
break;
|
|
1335
|
+
// grid-(column|row)
|
|
1336
|
+
case 5152:
|
|
1337
|
+
case 5920:
|
|
1338
|
+
return replace(value, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function(_2, a2, b2, c2, d2, e, f2) {
|
|
1339
|
+
return MS + a2 + ":" + b2 + f2 + (c2 ? MS + a2 + "-span:" + (d2 ? e : +e - +b2) + f2 : "") + value;
|
|
1340
|
+
});
|
|
1341
|
+
// position: sticky
|
|
1342
|
+
case 4949:
|
|
1343
|
+
if (charat(value, length2 + 6) === 121)
|
|
1344
|
+
return replace(value, ":", ":" + WEBKIT) + value;
|
|
1345
|
+
break;
|
|
1346
|
+
// display: (flex|inline-flex|grid|inline-grid)
|
|
1347
|
+
case 6444:
|
|
1348
|
+
switch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {
|
|
1349
|
+
// (inline-)?fle(x)
|
|
1350
|
+
case 120:
|
|
1351
|
+
return replace(value, /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
|
|
1352
|
+
// (inline-)?gri(d)
|
|
1353
|
+
case 100:
|
|
1354
|
+
return replace(value, ":", ":" + MS) + value;
|
|
1355
|
+
}
|
|
1356
|
+
break;
|
|
1357
|
+
// scroll-margin, scroll-margin-(top|right|bottom|left)
|
|
1358
|
+
case 5719:
|
|
1359
|
+
case 2647:
|
|
1360
|
+
case 2135:
|
|
1361
|
+
case 3927:
|
|
1362
|
+
case 2391:
|
|
1363
|
+
return replace(value, "scroll-", "scroll-snap-") + value;
|
|
1364
|
+
}
|
|
1365
|
+
return value;
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Serializer.js
|
|
1369
|
+
function serialize(children, callback) {
|
|
1370
|
+
var output = "";
|
|
1371
|
+
for (var i = 0; i < children.length; i++)
|
|
1372
|
+
output += callback(children[i], i, children, callback) || "";
|
|
1373
|
+
return output;
|
|
1374
|
+
}
|
|
1375
|
+
function stringify(element, index, children, callback) {
|
|
1376
|
+
switch (element.type) {
|
|
1377
|
+
case LAYER:
|
|
1378
|
+
if (element.children.length) break;
|
|
1379
|
+
case IMPORT:
|
|
1380
|
+
case NAMESPACE:
|
|
1381
|
+
case DECLARATION:
|
|
1382
|
+
return element.return = element.return || element.value;
|
|
1383
|
+
case COMMENT:
|
|
1384
|
+
return "";
|
|
1385
|
+
case KEYFRAMES:
|
|
1386
|
+
return element.return = element.value + "{" + serialize(element.children, callback) + "}";
|
|
1387
|
+
case RULESET:
|
|
1388
|
+
if (!strlen(element.value = element.props.join(","))) return "";
|
|
1389
|
+
}
|
|
1390
|
+
return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
// ../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Middleware.js
|
|
1394
|
+
function middleware(collection) {
|
|
1395
|
+
var length2 = sizeof(collection);
|
|
1396
|
+
return function(element, index, children, callback) {
|
|
1397
|
+
var output = "";
|
|
1398
|
+
for (var i = 0; i < length2; i++)
|
|
1399
|
+
output += collection[i](element, index, children, callback) || "";
|
|
1400
|
+
return output;
|
|
1401
|
+
};
|
|
1402
|
+
}
|
|
1403
|
+
function rulesheet(callback) {
|
|
1404
|
+
return function(element) {
|
|
1405
|
+
if (!element.root) {
|
|
1406
|
+
if (element = element.return)
|
|
1407
|
+
callback(element);
|
|
1408
|
+
}
|
|
1409
|
+
};
|
|
1410
|
+
}
|
|
1411
|
+
function prefixer(element, index, children, callback) {
|
|
1412
|
+
if (element.length > -1) {
|
|
1413
|
+
if (!element.return)
|
|
1414
|
+
switch (element.type) {
|
|
1415
|
+
case DECLARATION:
|
|
1416
|
+
element.return = prefix(element.value, element.length, children);
|
|
1417
|
+
return;
|
|
1418
|
+
case KEYFRAMES:
|
|
1419
|
+
return serialize([copy(element, { value: replace(element.value, "@", "@" + WEBKIT) })], callback);
|
|
1420
|
+
case RULESET:
|
|
1421
|
+
if (element.length)
|
|
1422
|
+
return combine(children = element.props, function(value) {
|
|
1423
|
+
switch (match(value, callback = /(::plac\w+|:read-\w+)/)) {
|
|
1424
|
+
// :read-(only|write)
|
|
1425
|
+
case ":read-only":
|
|
1426
|
+
case ":read-write":
|
|
1427
|
+
lift(copy(element, { props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")] }));
|
|
1428
|
+
lift(copy(element, { props: [value] }));
|
|
1429
|
+
assign(element, { props: filter(children, callback) });
|
|
1430
|
+
break;
|
|
1431
|
+
// :placeholder
|
|
1432
|
+
case "::placeholder":
|
|
1433
|
+
lift(copy(element, { props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")] }));
|
|
1434
|
+
lift(copy(element, { props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")] }));
|
|
1435
|
+
lift(copy(element, { props: [replace(value, /:(plac\w+)/, MS + "input-$1")] }));
|
|
1436
|
+
lift(copy(element, { props: [value] }));
|
|
1437
|
+
assign(element, { props: filter(children, callback) });
|
|
1438
|
+
break;
|
|
1439
|
+
}
|
|
1440
|
+
return "";
|
|
1441
|
+
});
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1446
|
+
// ../../../node_modules/.pnpm/@emotion+unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js
|
|
1447
|
+
var unitlessKeys = {
|
|
1448
|
+
animationIterationCount: 1,
|
|
1449
|
+
aspectRatio: 1,
|
|
1450
|
+
borderImageOutset: 1,
|
|
1451
|
+
borderImageSlice: 1,
|
|
1452
|
+
borderImageWidth: 1,
|
|
1453
|
+
boxFlex: 1,
|
|
1454
|
+
boxFlexGroup: 1,
|
|
1455
|
+
boxOrdinalGroup: 1,
|
|
1456
|
+
columnCount: 1,
|
|
1457
|
+
columns: 1,
|
|
1458
|
+
flex: 1,
|
|
1459
|
+
flexGrow: 1,
|
|
1460
|
+
flexPositive: 1,
|
|
1461
|
+
flexShrink: 1,
|
|
1462
|
+
flexNegative: 1,
|
|
1463
|
+
flexOrder: 1,
|
|
1464
|
+
gridRow: 1,
|
|
1465
|
+
gridRowEnd: 1,
|
|
1466
|
+
gridRowSpan: 1,
|
|
1467
|
+
gridRowStart: 1,
|
|
1468
|
+
gridColumn: 1,
|
|
1469
|
+
gridColumnEnd: 1,
|
|
1470
|
+
gridColumnSpan: 1,
|
|
1471
|
+
gridColumnStart: 1,
|
|
1472
|
+
msGridRow: 1,
|
|
1473
|
+
msGridRowSpan: 1,
|
|
1474
|
+
msGridColumn: 1,
|
|
1475
|
+
msGridColumnSpan: 1,
|
|
1476
|
+
fontWeight: 1,
|
|
1477
|
+
lineHeight: 1,
|
|
1478
|
+
opacity: 1,
|
|
1479
|
+
order: 1,
|
|
1480
|
+
orphans: 1,
|
|
1481
|
+
scale: 1,
|
|
1482
|
+
tabSize: 1,
|
|
1483
|
+
widows: 1,
|
|
1484
|
+
zIndex: 1,
|
|
1485
|
+
zoom: 1,
|
|
1486
|
+
WebkitLineClamp: 1,
|
|
1487
|
+
// SVG-related properties
|
|
1488
|
+
fillOpacity: 1,
|
|
1489
|
+
floodOpacity: 1,
|
|
1490
|
+
stopOpacity: 1,
|
|
1491
|
+
strokeDasharray: 1,
|
|
1492
|
+
strokeDashoffset: 1,
|
|
1493
|
+
strokeMiterlimit: 1,
|
|
1494
|
+
strokeOpacity: 1,
|
|
1495
|
+
strokeWidth: 1
|
|
1496
|
+
};
|
|
1497
|
+
|
|
1498
|
+
// ../../../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
|
|
1499
|
+
var a = "undefined" != typeof process && void 0 !== process.env && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || "data-styled";
|
|
1500
|
+
var c = "active";
|
|
1501
|
+
var u = "data-styled-version";
|
|
1502
|
+
var l = "6.3.6";
|
|
1503
|
+
var p = "/*!sc*/\n";
|
|
1504
|
+
var d = "undefined" != typeof window && "undefined" != typeof document;
|
|
1505
|
+
var h = void 0 === o__default.createContext;
|
|
1506
|
+
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);
|
|
1507
|
+
var y = /invalid hook call/i;
|
|
1508
|
+
var v = /* @__PURE__ */ new Set();
|
|
1509
|
+
var g = function(t, n) {
|
|
1510
|
+
if ("production" !== process.env.NODE_ENV) {
|
|
1511
|
+
if (h) return;
|
|
1512
|
+
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;
|
|
1513
|
+
try {
|
|
1514
|
+
var a2 = true;
|
|
1515
|
+
console.error = function(t2) {
|
|
1516
|
+
for (var n2 = [], o2 = 1; o2 < arguments.length; o2++) n2[o2 - 1] = arguments[o2];
|
|
1517
|
+
y.test(t2) ? (a2 = false, v.delete(s)) : i.apply(void 0, __spreadArray([t2], n2, false));
|
|
1518
|
+
}, "function" == typeof o__default.useState && o__default.useState(null), a2 && !v.has(s) && (console.warn(s), v.add(s));
|
|
1519
|
+
} catch (e) {
|
|
1520
|
+
y.test(e.message) && v.delete(s);
|
|
1521
|
+
} finally {
|
|
1522
|
+
console.error = i;
|
|
1523
|
+
}
|
|
1524
|
+
}
|
|
1525
|
+
};
|
|
1526
|
+
var S = Object.freeze([]);
|
|
1527
|
+
var w = Object.freeze({});
|
|
1528
|
+
function b(e, t, n) {
|
|
1529
|
+
return void 0 === n && (n = w), e.theme !== n.theme && e.theme || t || n.theme;
|
|
1530
|
+
}
|
|
1531
|
+
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"]);
|
|
1532
|
+
var E = /[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g;
|
|
1533
|
+
var N = /(^-|-$)/g;
|
|
1534
|
+
function A(e) {
|
|
1535
|
+
return e.replace(E, "-").replace(N, "");
|
|
1536
|
+
}
|
|
1537
|
+
var P = /(a)(d)/gi;
|
|
1538
|
+
var _ = function(e) {
|
|
1539
|
+
return String.fromCharCode(e + (e > 25 ? 39 : 97));
|
|
1540
|
+
};
|
|
1541
|
+
function I(e) {
|
|
1542
|
+
var t, n = "";
|
|
1543
|
+
for (t = Math.abs(e); t > 52; t = t / 52 | 0) n = _(t % 52) + n;
|
|
1544
|
+
return (_(t % 52) + n).replace(P, "$1-$2");
|
|
1545
|
+
}
|
|
1546
|
+
var O;
|
|
1547
|
+
var D = function(e, t) {
|
|
1548
|
+
for (var n = t.length; n; ) e = 33 * e ^ t.charCodeAt(--n);
|
|
1549
|
+
return e;
|
|
1550
|
+
};
|
|
1551
|
+
var T = function(e) {
|
|
1552
|
+
return D(5381, e);
|
|
1553
|
+
};
|
|
1554
|
+
function x(e) {
|
|
1555
|
+
return I(T(e) >>> 0);
|
|
1556
|
+
}
|
|
1557
|
+
function R(e) {
|
|
1558
|
+
return "production" !== process.env.NODE_ENV && "string" == typeof e && e || e.displayName || e.name || "Component";
|
|
1559
|
+
}
|
|
1560
|
+
function j(e) {
|
|
1561
|
+
return "string" == typeof e && ("production" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());
|
|
1562
|
+
}
|
|
1563
|
+
var k = "function" == typeof Symbol && Symbol.for;
|
|
1564
|
+
var M = k ? Symbol.for("react.memo") : 60115;
|
|
1565
|
+
var V = k ? Symbol.for("react.forward_ref") : 60112;
|
|
1566
|
+
var F = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true };
|
|
1567
|
+
var B = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true };
|
|
1568
|
+
var L = { $$typeof: true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true };
|
|
1569
|
+
var z = ((O = {})[V] = { $$typeof: true, render: true, defaultProps: true, displayName: true, propTypes: true }, O[M] = L, O);
|
|
1570
|
+
function G(e) {
|
|
1571
|
+
return ("type" in (t = e) && t.type.$$typeof) === M ? L : "$$typeof" in e ? z[e.$$typeof] : F;
|
|
1572
|
+
var t;
|
|
1573
|
+
}
|
|
1574
|
+
var $ = Object.defineProperty;
|
|
1575
|
+
var Y = Object.getOwnPropertyNames;
|
|
1576
|
+
var W = Object.getOwnPropertySymbols;
|
|
1577
|
+
var q = Object.getOwnPropertyDescriptor;
|
|
1578
|
+
var H = Object.getPrototypeOf;
|
|
1579
|
+
var U = Object.prototype;
|
|
1580
|
+
function J(e, t, n) {
|
|
1581
|
+
if ("string" != typeof t) {
|
|
1582
|
+
if (U) {
|
|
1583
|
+
var o2 = H(t);
|
|
1584
|
+
o2 && o2 !== U && J(e, o2, n);
|
|
1585
|
+
}
|
|
1586
|
+
var r2 = Y(t);
|
|
1587
|
+
W && (r2 = r2.concat(W(t)));
|
|
1588
|
+
for (var s = G(e), i = G(t), a2 = 0; a2 < r2.length; ++a2) {
|
|
1589
|
+
var c2 = r2[a2];
|
|
1590
|
+
if (!(c2 in B || n && n[c2] || i && c2 in i || s && c2 in s)) {
|
|
1591
|
+
var u2 = q(t, c2);
|
|
1592
|
+
try {
|
|
1593
|
+
$(e, c2, u2);
|
|
1594
|
+
} catch (e2) {
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1599
|
+
return e;
|
|
1600
|
+
}
|
|
1601
|
+
function X(e) {
|
|
1602
|
+
return "function" == typeof e;
|
|
1603
|
+
}
|
|
1604
|
+
function Z(e) {
|
|
1605
|
+
return "object" == typeof e && "styledComponentId" in e;
|
|
1606
|
+
}
|
|
1607
|
+
function K(e, t) {
|
|
1608
|
+
return e && t ? "".concat(e, " ").concat(t) : e || t || "";
|
|
1609
|
+
}
|
|
1610
|
+
function Q(e, t) {
|
|
1611
|
+
if (0 === e.length) return "";
|
|
1612
|
+
for (var n = e[0], o2 = 1; o2 < e.length; o2++) n += e[o2];
|
|
1613
|
+
return n;
|
|
1614
|
+
}
|
|
1615
|
+
function ee(e) {
|
|
1616
|
+
return null !== e && "object" == typeof e && e.constructor.name === Object.name && !("props" in e && e.$$typeof);
|
|
1617
|
+
}
|
|
1618
|
+
function te(e, t, n) {
|
|
1619
|
+
if (void 0 === n && (n = false), !n && !ee(e) && !Array.isArray(e)) return t;
|
|
1620
|
+
if (Array.isArray(t)) for (var o2 = 0; o2 < t.length; o2++) e[o2] = te(e[o2], t[o2]);
|
|
1621
|
+
else if (ee(t)) for (var o2 in t) e[o2] = te(e[o2], t[o2]);
|
|
1622
|
+
return e;
|
|
1623
|
+
}
|
|
1624
|
+
function ne(e, t) {
|
|
1625
|
+
Object.defineProperty(e, "toString", { value: t });
|
|
1626
|
+
}
|
|
1627
|
+
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>`" } : {};
|
|
1628
|
+
function re() {
|
|
1629
|
+
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
|
|
1630
|
+
for (var n = e[0], o2 = [], r2 = 1, s = e.length; r2 < s; r2 += 1) o2.push(e[r2]);
|
|
1631
|
+
return o2.forEach(function(e2) {
|
|
1632
|
+
n = n.replace(/%[a-z]/, e2);
|
|
1633
|
+
}), n;
|
|
1634
|
+
}
|
|
1635
|
+
function se(t) {
|
|
1636
|
+
for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
|
|
1637
|
+
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());
|
|
1638
|
+
}
|
|
1639
|
+
var ie = function() {
|
|
1640
|
+
function e(e2) {
|
|
1641
|
+
this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e2;
|
|
1642
|
+
}
|
|
1643
|
+
return e.prototype.indexOfGroup = function(e2) {
|
|
1644
|
+
for (var t = 0, n = 0; n < e2; n++) t += this.groupSizes[n];
|
|
1645
|
+
return t;
|
|
1646
|
+
}, e.prototype.insertRules = function(e2, t) {
|
|
1647
|
+
if (e2 >= this.groupSizes.length) {
|
|
1648
|
+
for (var n = this.groupSizes, o2 = n.length, r2 = o2; e2 >= r2; ) if ((r2 <<= 1) < 0) throw se(16, "".concat(e2));
|
|
1649
|
+
this.groupSizes = new Uint32Array(r2), this.groupSizes.set(n), this.length = r2;
|
|
1650
|
+
for (var s = o2; s < r2; s++) this.groupSizes[s] = 0;
|
|
1651
|
+
}
|
|
1652
|
+
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++);
|
|
1653
|
+
}, e.prototype.clearGroup = function(e2) {
|
|
1654
|
+
if (e2 < this.length) {
|
|
1655
|
+
var t = this.groupSizes[e2], n = this.indexOfGroup(e2), o2 = n + t;
|
|
1656
|
+
this.groupSizes[e2] = 0;
|
|
1657
|
+
for (var r2 = n; r2 < o2; r2++) this.tag.deleteRule(n);
|
|
1658
|
+
}
|
|
1659
|
+
}, e.prototype.getGroup = function(e2) {
|
|
1660
|
+
var t = "";
|
|
1661
|
+
if (e2 >= this.length || 0 === this.groupSizes[e2]) return t;
|
|
1662
|
+
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);
|
|
1663
|
+
return t;
|
|
1664
|
+
}, e;
|
|
1665
|
+
}();
|
|
1666
|
+
var ae = 1 << 30;
|
|
1667
|
+
var ce = /* @__PURE__ */ new Map();
|
|
1668
|
+
var ue = /* @__PURE__ */ new Map();
|
|
1669
|
+
var le = 1;
|
|
1670
|
+
var pe = function(e) {
|
|
1671
|
+
if (ce.has(e)) return ce.get(e);
|
|
1672
|
+
for (; ue.has(le); ) le++;
|
|
1673
|
+
var t = le++;
|
|
1674
|
+
if ("production" !== process.env.NODE_ENV && ((0 | t) < 0 || t > ae)) throw se(16, "".concat(t));
|
|
1675
|
+
return ce.set(e, t), ue.set(t, e), t;
|
|
1676
|
+
};
|
|
1677
|
+
var de = function(e, t) {
|
|
1678
|
+
le = t + 1, ce.set(e, t), ue.set(t, e);
|
|
1679
|
+
};
|
|
1680
|
+
var he = "style[".concat(a, "][").concat(u, '="').concat(l, '"]');
|
|
1681
|
+
var fe = new RegExp("^".concat(a, '\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'));
|
|
1682
|
+
var me = function(e, t, n) {
|
|
1683
|
+
for (var o2, r2 = n.split(","), s = 0, i = r2.length; s < i; s++) (o2 = r2[s]) && e.registerName(t, o2);
|
|
1684
|
+
};
|
|
1685
|
+
var ye = function(e, t) {
|
|
1686
|
+
for (var n, o2 = (null !== (n = t.textContent) && void 0 !== n ? n : "").split(p), r2 = [], s = 0, i = o2.length; s < i; s++) {
|
|
1687
|
+
var a2 = o2[s].trim();
|
|
1688
|
+
if (a2) {
|
|
1689
|
+
var c2 = a2.match(fe);
|
|
1690
|
+
if (c2) {
|
|
1691
|
+
var u2 = 0 | parseInt(c2[1], 10), l2 = c2[2];
|
|
1692
|
+
0 !== u2 && (de(l2, u2), me(e, l2, c2[3]), e.getTag().insertRules(u2, r2)), r2.length = 0;
|
|
1693
|
+
} else r2.push(a2);
|
|
1694
|
+
}
|
|
1695
|
+
}
|
|
1696
|
+
};
|
|
1697
|
+
var ve = function(e) {
|
|
1698
|
+
for (var t = document.querySelectorAll(he), n = 0, o2 = t.length; n < o2; n++) {
|
|
1699
|
+
var r2 = t[n];
|
|
1700
|
+
r2 && r2.getAttribute(a) !== c && (ye(e, r2), r2.parentNode && r2.parentNode.removeChild(r2));
|
|
1701
|
+
}
|
|
1702
|
+
};
|
|
1703
|
+
function ge() {
|
|
1704
|
+
return "undefined" != typeof __webpack_nonce__ ? __webpack_nonce__ : null;
|
|
1705
|
+
}
|
|
1706
|
+
var Se = function(e) {
|
|
1707
|
+
var t = document.head, n = e || t, o2 = document.createElement("style"), r2 = function(e2) {
|
|
1708
|
+
var t2 = Array.from(e2.querySelectorAll("style[".concat(a, "]")));
|
|
1709
|
+
return t2[t2.length - 1];
|
|
1710
|
+
}(n), s = void 0 !== r2 ? r2.nextSibling : null;
|
|
1711
|
+
o2.setAttribute(a, c), o2.setAttribute(u, l);
|
|
1712
|
+
var i = ge();
|
|
1713
|
+
return i && o2.setAttribute("nonce", i), n.insertBefore(o2, s), o2;
|
|
1714
|
+
};
|
|
1715
|
+
var we = function() {
|
|
1716
|
+
function e(e2) {
|
|
1717
|
+
this.element = Se(e2), this.element.appendChild(document.createTextNode("")), this.sheet = function(e3) {
|
|
1718
|
+
if (e3.sheet) return e3.sheet;
|
|
1719
|
+
for (var t = document.styleSheets, n = 0, o2 = t.length; n < o2; n++) {
|
|
1720
|
+
var r2 = t[n];
|
|
1721
|
+
if (r2.ownerNode === e3) return r2;
|
|
1722
|
+
}
|
|
1723
|
+
throw se(17);
|
|
1724
|
+
}(this.element), this.length = 0;
|
|
1725
|
+
}
|
|
1726
|
+
return e.prototype.insertRule = function(e2, t) {
|
|
1727
|
+
try {
|
|
1728
|
+
return this.sheet.insertRule(t, e2), this.length++, true;
|
|
1729
|
+
} catch (e3) {
|
|
1730
|
+
return false;
|
|
1731
|
+
}
|
|
1732
|
+
}, e.prototype.deleteRule = function(e2) {
|
|
1733
|
+
this.sheet.deleteRule(e2), this.length--;
|
|
1734
|
+
}, e.prototype.getRule = function(e2) {
|
|
1735
|
+
var t = this.sheet.cssRules[e2];
|
|
1736
|
+
return t && t.cssText ? t.cssText : "";
|
|
1737
|
+
}, e;
|
|
1738
|
+
}();
|
|
1739
|
+
var be = function() {
|
|
1740
|
+
function e(e2) {
|
|
1741
|
+
this.element = Se(e2), this.nodes = this.element.childNodes, this.length = 0;
|
|
1742
|
+
}
|
|
1743
|
+
return e.prototype.insertRule = function(e2, t) {
|
|
1744
|
+
if (e2 <= this.length && e2 >= 0) {
|
|
1745
|
+
var n = document.createTextNode(t);
|
|
1746
|
+
return this.element.insertBefore(n, this.nodes[e2] || null), this.length++, true;
|
|
1747
|
+
}
|
|
1748
|
+
return false;
|
|
1749
|
+
}, e.prototype.deleteRule = function(e2) {
|
|
1750
|
+
this.element.removeChild(this.nodes[e2]), this.length--;
|
|
1751
|
+
}, e.prototype.getRule = function(e2) {
|
|
1752
|
+
return e2 < this.length ? this.nodes[e2].textContent : "";
|
|
1753
|
+
}, e;
|
|
1754
|
+
}();
|
|
1755
|
+
var Ce = function() {
|
|
1756
|
+
function e(e2) {
|
|
1757
|
+
this.rules = [], this.length = 0;
|
|
1758
|
+
}
|
|
1759
|
+
return e.prototype.insertRule = function(e2, t) {
|
|
1760
|
+
return e2 <= this.length && (this.rules.splice(e2, 0, t), this.length++, true);
|
|
1761
|
+
}, e.prototype.deleteRule = function(e2) {
|
|
1762
|
+
this.rules.splice(e2, 1), this.length--;
|
|
1763
|
+
}, e.prototype.getRule = function(e2) {
|
|
1764
|
+
return e2 < this.length ? this.rules[e2] : "";
|
|
1765
|
+
}, e;
|
|
1766
|
+
}();
|
|
1767
|
+
var Ee = d;
|
|
1768
|
+
var Ne = { isServer: !d, useCSSOMInjection: !f };
|
|
1769
|
+
var Ae = function() {
|
|
1770
|
+
function e(e2, n, o2) {
|
|
1771
|
+
void 0 === e2 && (e2 = w), void 0 === n && (n = {});
|
|
1772
|
+
var r2 = this;
|
|
1773
|
+
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() {
|
|
1774
|
+
return function(e3) {
|
|
1775
|
+
for (var t = e3.getTag(), n2 = t.length, o3 = "", r3 = function(n3) {
|
|
1776
|
+
var r4 = function(e4) {
|
|
1777
|
+
return ue.get(e4);
|
|
1778
|
+
}(n3);
|
|
1779
|
+
if (void 0 === r4) return "continue";
|
|
1780
|
+
var s2 = e3.names.get(r4), i = t.getGroup(n3);
|
|
1781
|
+
if (void 0 === s2 || !s2.size || 0 === i.length) return "continue";
|
|
1782
|
+
var c2 = "".concat(a, ".g").concat(n3, '[id="').concat(r4, '"]'), u2 = "";
|
|
1783
|
+
void 0 !== s2 && s2.forEach(function(e4) {
|
|
1784
|
+
e4.length > 0 && (u2 += "".concat(e4, ","));
|
|
1785
|
+
}), o3 += "".concat(i).concat(c2, '{content:"').concat(u2, '"}').concat(p);
|
|
1786
|
+
}, s = 0; s < n2; s++) r3(s);
|
|
1787
|
+
return o3;
|
|
1788
|
+
}(r2);
|
|
1789
|
+
});
|
|
1790
|
+
}
|
|
1791
|
+
return e.registerId = function(e2) {
|
|
1792
|
+
return pe(e2);
|
|
1793
|
+
}, e.prototype.rehydrate = function() {
|
|
1794
|
+
!this.server && d && ve(this);
|
|
1795
|
+
}, e.prototype.reconstructWithOptions = function(n, o2) {
|
|
1796
|
+
return void 0 === o2 && (o2 = true), new e(__assign(__assign({}, this.options), n), this.gs, o2 && this.names || void 0);
|
|
1797
|
+
}, e.prototype.allocateGSInstance = function(e2) {
|
|
1798
|
+
return this.gs[e2] = (this.gs[e2] || 0) + 1;
|
|
1799
|
+
}, e.prototype.getTag = function() {
|
|
1800
|
+
return this.tag || (this.tag = (e2 = function(e3) {
|
|
1801
|
+
var t = e3.useCSSOMInjection, n = e3.target;
|
|
1802
|
+
return e3.isServer ? new Ce(n) : t ? new we(n) : new be(n);
|
|
1803
|
+
}(this.options), new ie(e2)));
|
|
1804
|
+
var e2;
|
|
1805
|
+
}, e.prototype.hasNameForId = function(e2, t) {
|
|
1806
|
+
return this.names.has(e2) && this.names.get(e2).has(t);
|
|
1807
|
+
}, e.prototype.registerName = function(e2, t) {
|
|
1808
|
+
if (pe(e2), this.names.has(e2)) this.names.get(e2).add(t);
|
|
1809
|
+
else {
|
|
1810
|
+
var n = /* @__PURE__ */ new Set();
|
|
1811
|
+
n.add(t), this.names.set(e2, n);
|
|
1812
|
+
}
|
|
1813
|
+
}, e.prototype.insertRules = function(e2, t, n) {
|
|
1814
|
+
this.registerName(e2, t), this.getTag().insertRules(pe(e2), n);
|
|
1815
|
+
}, e.prototype.clearNames = function(e2) {
|
|
1816
|
+
this.names.has(e2) && this.names.get(e2).clear();
|
|
1817
|
+
}, e.prototype.clearRules = function(e2) {
|
|
1818
|
+
this.getTag().clearGroup(pe(e2)), this.clearNames(e2);
|
|
1819
|
+
}, e.prototype.clearTag = function() {
|
|
1820
|
+
this.tag = void 0;
|
|
1821
|
+
}, e;
|
|
1822
|
+
}();
|
|
1823
|
+
var Pe = /&/g;
|
|
1824
|
+
var _e = 47;
|
|
1825
|
+
function Ie(e) {
|
|
1826
|
+
if (-1 === e.indexOf("}")) return false;
|
|
1827
|
+
for (var t = e.length, n = 0, o2 = 0, r2 = false, s = 0; s < t; s++) {
|
|
1828
|
+
var i = e.charCodeAt(s);
|
|
1829
|
+
if (0 !== o2 || r2 || i !== _e || 42 !== e.charCodeAt(s + 1)) if (r2) 42 === i && e.charCodeAt(s + 1) === _e && (r2 = false, s++);
|
|
1830
|
+
else if (34 !== i && 39 !== i || 0 !== s && 92 === e.charCodeAt(s - 1)) {
|
|
1831
|
+
if (0 === o2) {
|
|
1832
|
+
if (123 === i) n++;
|
|
1833
|
+
else if (125 === i && --n < 0) return true;
|
|
1834
|
+
}
|
|
1835
|
+
} else 0 === o2 ? o2 = i : o2 === i && (o2 = 0);
|
|
1836
|
+
else r2 = true, s++;
|
|
1837
|
+
}
|
|
1838
|
+
return 0 !== n || 0 !== o2;
|
|
1839
|
+
}
|
|
1840
|
+
function Oe(e, t) {
|
|
1841
|
+
return e.map(function(e2) {
|
|
1842
|
+
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) {
|
|
1843
|
+
return "".concat(t, " ").concat(e3);
|
|
1844
|
+
})), Array.isArray(e2.children) && "@keyframes" !== e2.type && (e2.children = Oe(e2.children, t)), e2;
|
|
1845
|
+
});
|
|
1846
|
+
}
|
|
1847
|
+
function De(e) {
|
|
1848
|
+
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) {
|
|
1849
|
+
return r3.startsWith(n) && r3.endsWith(n) && r3.replaceAll(n, "").length > 0 ? ".".concat(t) : e2;
|
|
1850
|
+
}, p2 = u2.slice();
|
|
1851
|
+
p2.push(function(e2) {
|
|
1852
|
+
e2.type === RULESET && e2.value.includes("&") && (e2.props[0] = e2.props[0].replace(Pe, n).replace(o2, l2));
|
|
1853
|
+
}), a2.prefix && p2.push(prefixer), p2.push(stringify);
|
|
1854
|
+
var d2 = function(e2, r3, i2, c3) {
|
|
1855
|
+
void 0 === r3 && (r3 = ""), void 0 === i2 && (i2 = ""), void 0 === c3 && (c3 = "&"), t = c3, n = r3, o2 = new RegExp("\\".concat(n, "\\b"), "g");
|
|
1856
|
+
var u3 = function(e3) {
|
|
1857
|
+
if (!Ie(e3)) return e3;
|
|
1858
|
+
for (var t2 = e3.length, n2 = "", o3 = 0, r4 = 0, s = 0, i3 = false, a3 = 0; a3 < t2; a3++) {
|
|
1859
|
+
var c4 = e3.charCodeAt(a3);
|
|
1860
|
+
if (0 !== s || i3 || c4 !== _e || 42 !== e3.charCodeAt(a3 + 1)) if (i3) 42 === c4 && e3.charCodeAt(a3 + 1) === _e && (i3 = false, a3++);
|
|
1861
|
+
else if (34 !== c4 && 39 !== c4 || 0 !== a3 && 92 === e3.charCodeAt(a3 - 1)) {
|
|
1862
|
+
if (0 === s) if (123 === c4) r4++;
|
|
1863
|
+
else if (125 === c4) {
|
|
1864
|
+
if (--r4 < 0) {
|
|
1865
|
+
for (var u4 = a3 + 1; u4 < t2; ) {
|
|
1866
|
+
var l4 = e3.charCodeAt(u4);
|
|
1867
|
+
if (59 === l4 || 10 === l4) break;
|
|
1868
|
+
u4++;
|
|
1869
|
+
}
|
|
1870
|
+
u4 < t2 && 59 === e3.charCodeAt(u4) && u4++, r4 = 0, a3 = u4 - 1, o3 = u4;
|
|
1871
|
+
continue;
|
|
1872
|
+
}
|
|
1873
|
+
0 === r4 && (n2 += e3.substring(o3, a3 + 1), o3 = a3 + 1);
|
|
1874
|
+
} else 59 === c4 && 0 === r4 && (n2 += e3.substring(o3, a3 + 1), o3 = a3 + 1);
|
|
1875
|
+
} else 0 === s ? s = c4 : s === c4 && (s = 0);
|
|
1876
|
+
else i3 = true, a3++;
|
|
1877
|
+
}
|
|
1878
|
+
if (o3 < t2) {
|
|
1879
|
+
var p3 = e3.substring(o3);
|
|
1880
|
+
Ie(p3) || (n2 += p3);
|
|
1881
|
+
}
|
|
1882
|
+
return n2;
|
|
1883
|
+
}(function(e3) {
|
|
1884
|
+
if (-1 === e3.indexOf("//")) return e3;
|
|
1885
|
+
for (var t2 = e3.length, n2 = [], o3 = 0, r4 = 0, s = 0, i3 = 0; r4 < t2; ) {
|
|
1886
|
+
var a3 = e3.charCodeAt(r4);
|
|
1887
|
+
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++;
|
|
1888
|
+
else if (i3 > 0) 41 === a3 ? i3-- : 40 === a3 && i3++, r4++;
|
|
1889
|
+
else if (a3 === _e && r4 + 1 < t2 && e3.charCodeAt(r4 + 1) === _e) {
|
|
1890
|
+
for (r4 > o3 && n2.push(e3.substring(o3, r4)); r4 < t2 && 10 !== e3.charCodeAt(r4); ) r4++;
|
|
1891
|
+
o3 = r4;
|
|
1892
|
+
} else r4++;
|
|
1893
|
+
else r4++;
|
|
1894
|
+
else 0 === s ? s = a3 : s === a3 && (s = 0), r4++;
|
|
1895
|
+
}
|
|
1896
|
+
return 0 === o3 ? e3 : (o3 < t2 && n2.push(e3.substring(o3)), n2.join(""));
|
|
1897
|
+
}(e2)), l3 = compile(i2 || r3 ? "".concat(i2, " ").concat(r3, " { ").concat(u3, " }") : u3);
|
|
1898
|
+
a2.namespace && (l3 = Oe(l3, a2.namespace));
|
|
1899
|
+
var d3 = [];
|
|
1900
|
+
return serialize(l3, middleware(p2.concat(rulesheet(function(e3) {
|
|
1901
|
+
return d3.push(e3);
|
|
1902
|
+
})))), d3;
|
|
1903
|
+
};
|
|
1904
|
+
return d2.hash = u2.length ? u2.reduce(function(e2, t2) {
|
|
1905
|
+
return t2.name || se(15), D(e2, t2.name);
|
|
1906
|
+
}, 5381).toString() : "", d2;
|
|
1907
|
+
}
|
|
1908
|
+
var Te = new Ae();
|
|
1909
|
+
var xe = De();
|
|
1910
|
+
var Re = { shouldForwardProp: void 0, styleSheet: Te, stylis: xe };
|
|
1911
|
+
var je = h ? { Provider: function(e) {
|
|
1912
|
+
return e.children;
|
|
1913
|
+
}, Consumer: function(e) {
|
|
1914
|
+
return (0, e.children)(Re);
|
|
1915
|
+
} } : o__default.createContext(Re);
|
|
1916
|
+
je.Consumer;
|
|
1917
|
+
h ? { } : o__default.createContext(void 0);
|
|
1918
|
+
function Ve() {
|
|
1919
|
+
return !h && o__default.useContext ? o__default.useContext(je) : Re;
|
|
1920
|
+
}
|
|
1921
|
+
var Be = function() {
|
|
1922
|
+
function e(e2, t) {
|
|
1923
|
+
var n = this;
|
|
1924
|
+
this.inject = function(e3, t2) {
|
|
1925
|
+
void 0 === t2 && (t2 = xe);
|
|
1926
|
+
var o2 = n.name + t2.hash;
|
|
1927
|
+
e3.hasNameForId(n.id, o2) || e3.insertRules(n.id, o2, t2(n.rules, o2, "@keyframes"));
|
|
1928
|
+
}, this.name = e2, this.id = "sc-keyframes-".concat(e2), this.rules = t, ne(this, function() {
|
|
1929
|
+
throw se(12, String(n.name));
|
|
1930
|
+
});
|
|
1931
|
+
}
|
|
1932
|
+
return e.prototype.getName = function(e2) {
|
|
1933
|
+
return void 0 === e2 && (e2 = xe), this.name + e2.hash;
|
|
1934
|
+
}, e;
|
|
1935
|
+
}();
|
|
1936
|
+
function Le(e, t) {
|
|
1937
|
+
return null == t || "boolean" == typeof t || "" === t ? "" : "number" != typeof t || 0 === t || e in unitlessKeys || e.startsWith("--") ? String(t).trim() : "".concat(t, "px");
|
|
1938
|
+
}
|
|
1939
|
+
var ze = function(e) {
|
|
1940
|
+
return e >= "A" && e <= "Z";
|
|
1941
|
+
};
|
|
1942
|
+
function Ge(e) {
|
|
1943
|
+
for (var t = "", n = 0; n < e.length; n++) {
|
|
1944
|
+
var o2 = e[n];
|
|
1945
|
+
if (1 === n && "-" === o2 && "-" === e[0]) return e;
|
|
1946
|
+
ze(o2) ? t += "-" + o2.toLowerCase() : t += o2;
|
|
1947
|
+
}
|
|
1948
|
+
return t.startsWith("ms-") ? "-" + t : t;
|
|
1949
|
+
}
|
|
1950
|
+
var $e = function(e) {
|
|
1951
|
+
return null == e || false === e || "" === e;
|
|
1952
|
+
};
|
|
1953
|
+
var Ye = function(t) {
|
|
1954
|
+
var n = [];
|
|
1955
|
+
for (var o2 in t) {
|
|
1956
|
+
var r2 = t[o2];
|
|
1957
|
+
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), ";")));
|
|
1958
|
+
}
|
|
1959
|
+
return n;
|
|
1960
|
+
};
|
|
1961
|
+
function We(e, t, n, o2) {
|
|
1962
|
+
if ($e(e)) return [];
|
|
1963
|
+
if (Z(e)) return [".".concat(e.styledComponentId)];
|
|
1964
|
+
if (X(e)) {
|
|
1965
|
+
if (!X(s = e) || s.prototype && s.prototype.isReactComponent || !t) return [e];
|
|
1966
|
+
var r2 = e(t);
|
|
1967
|
+
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);
|
|
1968
|
+
}
|
|
1969
|
+
var s;
|
|
1970
|
+
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) {
|
|
1971
|
+
return We(e2, t, n, o2);
|
|
1972
|
+
})) : [e.toString()];
|
|
1973
|
+
}
|
|
1974
|
+
function qe(e) {
|
|
1975
|
+
for (var t = 0; t < e.length; t += 1) {
|
|
1976
|
+
var n = e[t];
|
|
1977
|
+
if (X(n) && !Z(n)) return false;
|
|
1978
|
+
}
|
|
1979
|
+
return true;
|
|
1980
|
+
}
|
|
1981
|
+
var He = T(l);
|
|
1982
|
+
var Ue = function() {
|
|
1983
|
+
function e(e2, t, n) {
|
|
1984
|
+
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);
|
|
1985
|
+
}
|
|
1986
|
+
return e.prototype.generateAndInjectStyles = function(e2, t, n) {
|
|
1987
|
+
var o2 = this.baseStyle ? this.baseStyle.generateAndInjectStyles(e2, t, n).className : "";
|
|
1988
|
+
if (this.isStatic && !n.hash) if (this.staticRulesId && t.hasNameForId(this.componentId, this.staticRulesId)) o2 = K(o2, this.staticRulesId);
|
|
1989
|
+
else {
|
|
1990
|
+
var r2 = Q(We(this.rules, e2, t, n)), s = I(D(this.baseHash, r2) >>> 0);
|
|
1991
|
+
if (!t.hasNameForId(this.componentId, s)) {
|
|
1992
|
+
var i = n(r2, ".".concat(s), void 0, this.componentId);
|
|
1993
|
+
t.insertRules(this.componentId, s, i);
|
|
1994
|
+
}
|
|
1995
|
+
o2 = K(o2, s), this.staticRulesId = s;
|
|
1996
|
+
}
|
|
1997
|
+
else {
|
|
1998
|
+
for (var a2 = D(this.baseHash, n.hash), c2 = "", u2 = 0; u2 < this.rules.length; u2++) {
|
|
1999
|
+
var l2 = this.rules[u2];
|
|
2000
|
+
if ("string" == typeof l2) c2 += l2, "production" !== process.env.NODE_ENV && (a2 = D(a2, l2));
|
|
2001
|
+
else if (l2) {
|
|
2002
|
+
var p2 = Q(We(l2, e2, t, n));
|
|
2003
|
+
a2 = D(a2, p2 + u2), c2 += p2;
|
|
2004
|
+
}
|
|
2005
|
+
}
|
|
2006
|
+
if (c2) {
|
|
2007
|
+
var d2 = I(a2 >>> 0);
|
|
2008
|
+
if (!t.hasNameForId(this.componentId, d2)) {
|
|
2009
|
+
var h2 = n(c2, ".".concat(d2), void 0, this.componentId);
|
|
2010
|
+
t.insertRules(this.componentId, d2, h2);
|
|
2011
|
+
}
|
|
2012
|
+
o2 = K(o2, d2);
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
2015
|
+
return { className: o2, css: "undefined" == typeof window ? t.getTag().getGroup(pe(this.componentId)) : "" };
|
|
2016
|
+
}, e;
|
|
2017
|
+
}();
|
|
2018
|
+
var Je = h ? { Provider: function(e) {
|
|
2019
|
+
return e.children;
|
|
2020
|
+
}, Consumer: function(e) {
|
|
2021
|
+
return (0, e.children)(void 0);
|
|
2022
|
+
} } : o__default.createContext(void 0);
|
|
2023
|
+
Je.Consumer;
|
|
2024
|
+
var Qe = {};
|
|
2025
|
+
var et = /* @__PURE__ */ new Set();
|
|
2026
|
+
function tt(e, s, i) {
|
|
2027
|
+
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) {
|
|
2028
|
+
var n = "string" != typeof e2 ? "sc" : A(e2);
|
|
2029
|
+
Qe[n] = (Qe[n] || 0) + 1;
|
|
2030
|
+
var o2 = "".concat(n, "-").concat(x(l + n + Qe[n]));
|
|
2031
|
+
return t ? "".concat(t, "-").concat(o2) : o2;
|
|
2032
|
+
}(s.displayName, s.parentComponentId) : f2, y2 = s.displayName, v2 = void 0 === y2 ? function(e2) {
|
|
2033
|
+
return j(e2) ? "styled.".concat(e2) : "Styled(".concat(R(e2), ")");
|
|
2034
|
+
}(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;
|
|
2035
|
+
if (a2 && c2.shouldForwardProp) {
|
|
2036
|
+
var _2 = c2.shouldForwardProp;
|
|
2037
|
+
if (s.shouldForwardProp) {
|
|
2038
|
+
var I2 = s.shouldForwardProp;
|
|
2039
|
+
P2 = function(e2, t) {
|
|
2040
|
+
return _2(e2, t) && I2(e2, t);
|
|
2041
|
+
};
|
|
2042
|
+
} else P2 = _2;
|
|
2043
|
+
}
|
|
2044
|
+
var O2 = new Ue(i, E2, a2 ? c2.componentStyle : void 0);
|
|
2045
|
+
function D2(e2, s2) {
|
|
2046
|
+
return function(e3, s3, i2) {
|
|
2047
|
+
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;
|
|
2048
|
+
"production" !== process.env.NODE_ENV && o__default.useDebugValue && o__default.useDebugValue(p3);
|
|
2049
|
+
var v3 = b(s3, f3, u3) || w, g2 = function(e4, n, o2) {
|
|
2050
|
+
for (var r2, s4 = __assign(__assign({}, n), { className: void 0, theme: o2 }), i3 = 0; i3 < e4.length; i3 += 1) {
|
|
2051
|
+
var a4 = X(r2 = e4[i3]) ? r2(s4) : r2;
|
|
2052
|
+
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];
|
|
2053
|
+
}
|
|
2054
|
+
return "className" in n && "string" == typeof n.className && (s4.className = K(s4.className, n.className)), s4;
|
|
2055
|
+
}(a3, s3, v3), S2 = g2.as || d3, E3 = {};
|
|
2056
|
+
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.)')))));
|
|
2057
|
+
var A2 = function(e4, t) {
|
|
2058
|
+
var n = Ve(), r2 = e4.generateAndInjectStyles(t, n.styleSheet, n.stylis);
|
|
2059
|
+
return "production" !== process.env.NODE_ENV && o__default.useDebugValue && o__default.useDebugValue(r2.className), r2;
|
|
2060
|
+
}(c3, g2), P3 = A2.className, _3 = A2.css;
|
|
2061
|
+
"production" !== process.env.NODE_ENV && e3.warnTooManyClasses && e3.warnTooManyClasses(P3);
|
|
2062
|
+
var I3 = K(l2, p3);
|
|
2063
|
+
P3 && (I3 += " " + P3), g2.className && (I3 += " " + g2.className), E3[j(S2) && !C.has(S2) ? "class" : "className"] = I3, i2 && (E3.ref = i2);
|
|
2064
|
+
var O3 = createElement(S2, E3);
|
|
2065
|
+
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;
|
|
2066
|
+
}(T2, e2, s2);
|
|
2067
|
+
}
|
|
2068
|
+
D2.displayName = v2;
|
|
2069
|
+
var T2 = o__default.forwardRef(D2);
|
|
2070
|
+
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() {
|
|
2071
|
+
return this._foldedDefaultProps;
|
|
2072
|
+
}, set: function(e2) {
|
|
2073
|
+
this._foldedDefaultProps = a2 ? function(e3) {
|
|
2074
|
+
for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
|
|
2075
|
+
for (var o2 = 0, r2 = t; o2 < r2.length; o2++) te(e3, r2[o2], true);
|
|
2076
|
+
return e3;
|
|
2077
|
+
}({}, c2.defaultProps, e2) : e2;
|
|
2078
|
+
} }), "production" !== process.env.NODE_ENV && (g(v2, E2), T2.warnTooManyClasses = /* @__PURE__ */ function(e2, t) {
|
|
2079
|
+
var n = {}, o2 = false;
|
|
2080
|
+
return function(r2) {
|
|
2081
|
+
if (!o2 && (n[r2] = true, Object.keys(n).length >= 200)) {
|
|
2082
|
+
var s2 = t ? ' with the id of "'.concat(t, '"') : "";
|
|
2083
|
+
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 = {};
|
|
2084
|
+
}
|
|
2085
|
+
};
|
|
2086
|
+
}(v2, E2)), ne(T2, function() {
|
|
2087
|
+
return ".".concat(T2.styledComponentId);
|
|
2088
|
+
}), u2 && J(T2, e, { attrs: true, componentStyle: true, displayName: true, foldedComponentIds: true, shouldForwardProp: true, styledComponentId: true, target: true }), T2;
|
|
2089
|
+
}
|
|
2090
|
+
function nt(e, t) {
|
|
2091
|
+
for (var n = [e[0]], o2 = 0, r2 = t.length; o2 < r2; o2 += 1) n.push(t[o2], e[o2 + 1]);
|
|
2092
|
+
return n;
|
|
2093
|
+
}
|
|
2094
|
+
var ot = function(e) {
|
|
2095
|
+
return Object.assign(e, { isCss: true });
|
|
2096
|
+
};
|
|
2097
|
+
function rt(t) {
|
|
2098
|
+
for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
|
|
2099
|
+
if (X(t) || ee(t)) return ot(We(nt(S, __spreadArray([t], n, true))));
|
|
2100
|
+
var r2 = t;
|
|
2101
|
+
return 0 === n.length && 1 === r2.length && "string" == typeof r2[0] ? We(r2) : ot(We(nt(r2, n)));
|
|
2102
|
+
}
|
|
2103
|
+
function st(n, o2, r2) {
|
|
2104
|
+
if (void 0 === r2 && (r2 = w), !o2) throw se(1, o2);
|
|
2105
|
+
var s = function(t) {
|
|
2106
|
+
for (var s2 = [], i = 1; i < arguments.length; i++) s2[i - 1] = arguments[i];
|
|
2107
|
+
return n(o2, r2, rt.apply(void 0, __spreadArray([t], s2, false)));
|
|
2108
|
+
};
|
|
2109
|
+
return s.attrs = function(e) {
|
|
2110
|
+
return st(n, o2, __assign(__assign({}, r2), { attrs: Array.prototype.concat(r2.attrs, e).filter(Boolean) }));
|
|
2111
|
+
}, s.withConfig = function(e) {
|
|
2112
|
+
return st(n, o2, __assign(__assign({}, r2), e));
|
|
2113
|
+
}, s;
|
|
2114
|
+
}
|
|
2115
|
+
var it = function(e) {
|
|
2116
|
+
return st(tt, e);
|
|
2117
|
+
};
|
|
2118
|
+
var at = it;
|
|
2119
|
+
C.forEach(function(e) {
|
|
2120
|
+
at[e] = it(e);
|
|
2121
|
+
});
|
|
2122
|
+
function lt(t) {
|
|
2123
|
+
for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
|
|
2124
|
+
"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.");
|
|
2125
|
+
var r2 = Q(rt.apply(void 0, __spreadArray([t], n, false))), s = x(r2);
|
|
2126
|
+
return new Be(s, r2);
|
|
2127
|
+
}
|
|
2128
|
+
"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");
|
|
2129
|
+
var mt = "__sc-".concat(a, "__");
|
|
2130
|
+
"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);
|
|
2131
|
+
var pulse = lt`
|
|
2132
|
+
0%, 100% {
|
|
2133
|
+
opacity: 0.45;
|
|
2134
|
+
transform: scale(1);
|
|
2135
|
+
}
|
|
2136
|
+
50% {
|
|
2137
|
+
opacity: 0.7;
|
|
2138
|
+
transform: scale(1.08);
|
|
2139
|
+
}
|
|
2140
|
+
`;
|
|
2141
|
+
var shimmer = lt`
|
|
2142
|
+
0% {
|
|
2143
|
+
background-position: -100% 0;
|
|
2144
|
+
}
|
|
2145
|
+
100% {
|
|
2146
|
+
background-position: 200% 0;
|
|
2147
|
+
}
|
|
2148
|
+
`;
|
|
2149
|
+
var LogoContainer = at.span`
|
|
2150
|
+
display: inline-flex;
|
|
2151
|
+
align-items: center;
|
|
2152
|
+
gap: 0.35rem;
|
|
2153
|
+
padding: 0.35rem 0.6rem;
|
|
2154
|
+
background: linear-gradient(
|
|
2155
|
+
135deg,
|
|
2156
|
+
rgba(240, 185, 11, 0.05) 0%,
|
|
2157
|
+
rgba(240, 185, 11, 0.1) 50%,
|
|
2158
|
+
rgba(240, 185, 11, 0.05) 100%
|
|
2159
|
+
);
|
|
2160
|
+
border: 1px solid rgba(240, 185, 11, 0.3);
|
|
2161
|
+
border-radius: 5px;
|
|
2162
|
+
position: relative;
|
|
2163
|
+
overflow: visible;
|
|
2164
|
+
cursor: pointer;
|
|
2165
|
+
transition: all 0.3s ease;
|
|
2166
|
+
line-height: 1.4;
|
|
2167
|
+
|
|
2168
|
+
${({ $isGlowing }) => $isGlowing ? rt`
|
|
2169
|
+
border-color: rgba(240, 185, 11, 1);
|
|
2170
|
+
box-shadow:
|
|
2171
|
+
0 0 25px rgba(240, 185, 11, 0.8),
|
|
2172
|
+
0 0 40px rgba(240, 185, 11, 0.5),
|
|
2173
|
+
inset 0 0 20px rgba(240, 185, 11, 0.3);
|
|
2174
|
+
background: linear-gradient(
|
|
2175
|
+
135deg,
|
|
2176
|
+
rgba(240, 185, 11, 0.2) 0%,
|
|
2177
|
+
rgba(240, 185, 11, 0.3) 50%,
|
|
2178
|
+
rgba(240, 185, 11, 0.2) 100%
|
|
2179
|
+
);
|
|
2180
|
+
animation: quickPulse 0.35s ease-out;
|
|
2181
|
+
|
|
2182
|
+
@keyframes quickPulse {
|
|
2183
|
+
0% {
|
|
2184
|
+
transform: scale(1);
|
|
2185
|
+
}
|
|
2186
|
+
50% {
|
|
2187
|
+
transform: scale(1.05);
|
|
2188
|
+
}
|
|
2189
|
+
100% {
|
|
2190
|
+
transform: scale(1);
|
|
2191
|
+
}
|
|
2192
|
+
}
|
|
2193
|
+
` : null}
|
|
2194
|
+
|
|
2195
|
+
@media (max-width: 768px) {
|
|
2196
|
+
padding: 0.3rem 0.4rem 0.3rem 0.25rem;
|
|
2197
|
+
gap: 0.25rem;
|
|
2198
|
+
border-radius: 4px;
|
|
2199
|
+
transition: none;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
@media (max-width: 480px) {
|
|
2203
|
+
padding: 0.2rem 0.3rem 0.2rem 0.2rem;
|
|
2204
|
+
gap: 0.2rem;
|
|
2205
|
+
}
|
|
2206
|
+
|
|
2207
|
+
@media (hover: hover) and (pointer: fine) {
|
|
2208
|
+
&:hover {
|
|
2209
|
+
border-color: rgba(240, 185, 11, 0.6);
|
|
2210
|
+
background: linear-gradient(
|
|
2211
|
+
135deg,
|
|
2212
|
+
rgba(240, 185, 11, 0.1) 0%,
|
|
2213
|
+
rgba(240, 185, 11, 0.15) 50%,
|
|
2214
|
+
rgba(240, 185, 11, 0.1) 100%
|
|
2215
|
+
);
|
|
2216
|
+
transform: translateY(-1px);
|
|
2217
|
+
box-shadow: 0 4px 12px rgba(240, 185, 11, 0.2);
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
|
|
2221
|
+
&::before {
|
|
2222
|
+
content: "";
|
|
2223
|
+
position: absolute;
|
|
2224
|
+
top: 0;
|
|
2225
|
+
left: 0;
|
|
2226
|
+
right: 0;
|
|
2227
|
+
bottom: 0;
|
|
2228
|
+
background: linear-gradient(90deg, transparent, rgba(240, 185, 11, 0.1), transparent);
|
|
2229
|
+
background-size: 200% 100%;
|
|
2230
|
+
animation: ${shimmer} 3s infinite;
|
|
2231
|
+
pointer-events: none;
|
|
2232
|
+
}
|
|
2233
|
+
`;
|
|
2234
|
+
var IconWrapper = at.span`
|
|
2235
|
+
display: flex;
|
|
2236
|
+
align-items: center;
|
|
2237
|
+
justify-content: center;
|
|
2238
|
+
position: relative;
|
|
2239
|
+
width: 16px;
|
|
2240
|
+
height: 16px;
|
|
2241
|
+
|
|
2242
|
+
@media (max-width: 480px) {
|
|
2243
|
+
width: 14px;
|
|
2244
|
+
height: 14px;
|
|
2245
|
+
}
|
|
2246
|
+
`;
|
|
2247
|
+
var IconCircle = at.span`
|
|
2248
|
+
position: absolute;
|
|
2249
|
+
width: ${({ size }) => size}px;
|
|
2250
|
+
height: ${({ size }) => size}px;
|
|
2251
|
+
border: 2px solid ${({ color }) => color};
|
|
2252
|
+
border-radius: 50%;
|
|
2253
|
+
animation: ${pulse} ${({ duration }) => duration}s infinite cubic-bezier(0.4, 0, 0.6, 1);
|
|
2254
|
+
animation-delay: ${({ delay }) => delay}s;
|
|
2255
|
+
transform-origin: center;
|
|
2256
|
+
will-change: transform, opacity;
|
|
2257
|
+
`;
|
|
2258
|
+
var IconCore = at.span`
|
|
2259
|
+
width: 5px;
|
|
2260
|
+
height: 5px;
|
|
2261
|
+
background: linear-gradient(135deg, #0ecb81 0%, #2ecc71 100%);
|
|
2262
|
+
border-radius: 50%;
|
|
2263
|
+
box-shadow: 0 0 6px rgba(14, 203, 129, 0.6);
|
|
2264
|
+
position: relative;
|
|
2265
|
+
z-index: 1;
|
|
2266
|
+
`;
|
|
2267
|
+
var LogoText = at.span`
|
|
2268
|
+
display: inline-flex;
|
|
2269
|
+
align-items: center;
|
|
2270
|
+
gap: 0.2rem;
|
|
2271
|
+
position: relative;
|
|
2272
|
+
z-index: 1;
|
|
2273
|
+
`;
|
|
2274
|
+
var LoafLogoImage = at.img`
|
|
2275
|
+
height: 20px;
|
|
2276
|
+
position: relative;
|
|
2277
|
+
z-index: 1;
|
|
2278
|
+
|
|
2279
|
+
@media (max-width: 480px) {
|
|
2280
|
+
height: 18px;
|
|
2281
|
+
}
|
|
2282
|
+
`;
|
|
2283
|
+
var LiquidityText = at.span`
|
|
2284
|
+
font-size: 0.65rem;
|
|
2285
|
+
font-weight: 400;
|
|
2286
|
+
background: linear-gradient(135deg, #f0b90b 0%, #ffd700 50%, #f0b90b 100%);
|
|
2287
|
+
background-size: 200% auto;
|
|
2288
|
+
-webkit-background-clip: text;
|
|
2289
|
+
-webkit-text-fill-color: transparent;
|
|
2290
|
+
background-clip: text;
|
|
2291
|
+
letter-spacing: 0.3px;
|
|
2292
|
+
opacity: 0.75;
|
|
2293
|
+
line-height: 1;
|
|
2294
|
+
|
|
2295
|
+
@media (max-width: 480px) {
|
|
2296
|
+
font-size: 0.55rem;
|
|
2297
|
+
letter-spacing: 0.1px;
|
|
2298
|
+
}
|
|
2299
|
+
`;
|
|
2300
|
+
var LoafLiquidityBadge = o.forwardRef(
|
|
2301
|
+
({ className, isGlowing, onClick, children, ...props }, ref) => {
|
|
2302
|
+
return /* @__PURE__ */ jsxs(
|
|
2303
|
+
LogoContainer,
|
|
2304
|
+
{
|
|
2305
|
+
ref,
|
|
2306
|
+
onClick,
|
|
2307
|
+
$isGlowing: isGlowing,
|
|
2308
|
+
className,
|
|
2309
|
+
role: onClick ? "button" : void 0,
|
|
2310
|
+
...props,
|
|
2311
|
+
children: [
|
|
2312
|
+
/* @__PURE__ */ jsxs(LogoText, { children: [
|
|
2313
|
+
/* @__PURE__ */ jsx(LoafLogoImage, { src: "/Loaf-logo-Banner.png", alt: "Loaf" }),
|
|
2314
|
+
/* @__PURE__ */ jsx(LiquidityText, { children: children ?? "Liquidity" })
|
|
2315
|
+
] }),
|
|
2316
|
+
/* @__PURE__ */ jsxs(IconWrapper, { children: [
|
|
2317
|
+
/* @__PURE__ */ jsx(IconCore, {}),
|
|
2318
|
+
/* @__PURE__ */ jsx(IconCircle, { size: 10, color: "rgba(14, 203, 129, 0.5)", duration: 4, delay: 0 }),
|
|
2319
|
+
/* @__PURE__ */ jsx(IconCircle, { size: 13, color: "rgba(14, 203, 129, 0.35)", duration: 5.2, delay: 0.7 }),
|
|
2320
|
+
/* @__PURE__ */ jsx(IconCircle, { size: 16, color: "rgba(14, 203, 129, 0.25)", duration: 6.3, delay: 1.3 })
|
|
2321
|
+
] })
|
|
2322
|
+
]
|
|
2323
|
+
}
|
|
2324
|
+
);
|
|
2325
|
+
}
|
|
2326
|
+
);
|
|
2327
|
+
LoafLiquidityBadge.displayName = "LoafLiquidityBadge";
|
|
787
2328
|
var formatNumber = (value, precision) => value.toFixed(precision);
|
|
788
2329
|
function DepthRow({
|
|
789
2330
|
side,
|
|
@@ -822,7 +2363,7 @@ var clamp2 = (value, min, max) => Math.min(max, Math.max(min, value));
|
|
|
822
2363
|
var LEVEL_ROWS_VISIBLE = 6;
|
|
823
2364
|
var DEPTH_ROW_HEIGHT_PX = 34;
|
|
824
2365
|
var SECTION_HEIGHT = LEVEL_ROWS_VISIBLE * DEPTH_ROW_HEIGHT_PX;
|
|
825
|
-
var Orderbook =
|
|
2366
|
+
var Orderbook = o.forwardRef(
|
|
826
2367
|
({
|
|
827
2368
|
asks,
|
|
828
2369
|
bids,
|
|
@@ -835,21 +2376,21 @@ var Orderbook = React5.forwardRef(
|
|
|
835
2376
|
amountPrecision = 2,
|
|
836
2377
|
defaultTab = "orderbook",
|
|
837
2378
|
onTabChange,
|
|
838
|
-
rightHeader,
|
|
2379
|
+
rightHeader = /* @__PURE__ */ jsx(LoafLiquidityBadge, { className: "text-[0.6rem]" }),
|
|
839
2380
|
className,
|
|
840
2381
|
...props
|
|
841
2382
|
}, ref) => {
|
|
842
|
-
const [tab, setTab] =
|
|
843
|
-
const [tradeFilter, setTradeFilter] =
|
|
844
|
-
|
|
2383
|
+
const [tab, setTab] = o.useState(defaultTab);
|
|
2384
|
+
const [tradeFilter, setTradeFilter] = o.useState("all");
|
|
2385
|
+
o.useEffect(() => {
|
|
845
2386
|
setTab(defaultTab);
|
|
846
2387
|
}, [defaultTab]);
|
|
847
|
-
const handleTab = (
|
|
848
|
-
setTab(
|
|
849
|
-
onTabChange?.(
|
|
2388
|
+
const handleTab = (next2) => {
|
|
2389
|
+
setTab(next2);
|
|
2390
|
+
onTabChange?.(next2);
|
|
850
2391
|
};
|
|
851
|
-
const maxAskDepth = Math.max(1, ...asks.map((
|
|
852
|
-
const maxBidDepth = Math.max(1, ...bids.map((
|
|
2392
|
+
const maxAskDepth = Math.max(1, ...asks.map((l2) => l2.depth ?? l2.amount));
|
|
2393
|
+
const maxBidDepth = Math.max(1, ...bids.map((l2) => l2.depth ?? l2.amount));
|
|
853
2394
|
const midClass = midChangePercent == null ? "text-white" : midChangePercent >= 0 ? "text-[#0ecb81]" : "text-[#f6465d]";
|
|
854
2395
|
const tradeFiltered = trades.filter((t) => tradeFilter === "all" || t.type === tradeFilter);
|
|
855
2396
|
return /* @__PURE__ */ jsxs(
|
|
@@ -857,7 +2398,7 @@ var Orderbook = React5.forwardRef(
|
|
|
857
2398
|
{
|
|
858
2399
|
ref,
|
|
859
2400
|
className: cn(
|
|
860
|
-
"w-full max-w-[520px] overflow-hidden rounded-[12px] border border-white/10 bg-
|
|
2401
|
+
"w-full max-w-[520px] overflow-hidden rounded-[12px] border border-white/10 bg-[#111111] text-white shadow-md",
|
|
861
2402
|
className
|
|
862
2403
|
),
|
|
863
2404
|
...props,
|
|
@@ -967,17 +2508,17 @@ var Orderbook = React5.forwardRef(
|
|
|
967
2508
|
{
|
|
968
2509
|
className: "divide-y divide-white/5 overflow-y-auto",
|
|
969
2510
|
style: { height: `${SECTION_HEIGHT}px`, scrollbarGutter: "stable" },
|
|
970
|
-
children: asks.map((
|
|
2511
|
+
children: asks.map((l2, idx) => /* @__PURE__ */ jsx(
|
|
971
2512
|
DepthRow,
|
|
972
2513
|
{
|
|
973
2514
|
side: "ask",
|
|
974
|
-
price:
|
|
975
|
-
amount:
|
|
976
|
-
depthPct: (
|
|
2515
|
+
price: l2.price,
|
|
2516
|
+
amount: l2.amount,
|
|
2517
|
+
depthPct: (l2.depth ?? l2.amount) / maxAskDepth * 100,
|
|
977
2518
|
precision,
|
|
978
2519
|
amountPrecision
|
|
979
2520
|
},
|
|
980
|
-
`ask-${idx}-${
|
|
2521
|
+
`ask-${idx}-${l2.price}-${l2.amount}`
|
|
981
2522
|
))
|
|
982
2523
|
}
|
|
983
2524
|
),
|
|
@@ -998,17 +2539,17 @@ var Orderbook = React5.forwardRef(
|
|
|
998
2539
|
{
|
|
999
2540
|
className: "divide-y divide-white/5 overflow-y-auto",
|
|
1000
2541
|
style: { height: `${SECTION_HEIGHT}px`, scrollbarGutter: "stable" },
|
|
1001
|
-
children: bids.map((
|
|
2542
|
+
children: bids.map((l2, idx) => /* @__PURE__ */ jsx(
|
|
1002
2543
|
DepthRow,
|
|
1003
2544
|
{
|
|
1004
2545
|
side: "bid",
|
|
1005
|
-
price:
|
|
1006
|
-
amount:
|
|
1007
|
-
depthPct: (
|
|
2546
|
+
price: l2.price,
|
|
2547
|
+
amount: l2.amount,
|
|
2548
|
+
depthPct: (l2.depth ?? l2.amount) / maxBidDepth * 100,
|
|
1008
2549
|
precision,
|
|
1009
2550
|
amountPrecision
|
|
1010
2551
|
},
|
|
1011
|
-
`bid-${idx}-${
|
|
2552
|
+
`bid-${idx}-${l2.price}-${l2.amount}`
|
|
1012
2553
|
))
|
|
1013
2554
|
}
|
|
1014
2555
|
)
|
|
@@ -1020,7 +2561,7 @@ var Orderbook = React5.forwardRef(
|
|
|
1020
2561
|
}
|
|
1021
2562
|
);
|
|
1022
2563
|
Orderbook.displayName = "Orderbook";
|
|
1023
|
-
var PropertyTour =
|
|
2564
|
+
var PropertyTour = o.forwardRef(
|
|
1024
2565
|
({
|
|
1025
2566
|
className,
|
|
1026
2567
|
title,
|
|
@@ -1033,13 +2574,13 @@ var PropertyTour = React5.forwardRef(
|
|
|
1033
2574
|
playsInline = true,
|
|
1034
2575
|
...props
|
|
1035
2576
|
}, ref) => {
|
|
1036
|
-
const videoRef =
|
|
1037
|
-
|
|
2577
|
+
const videoRef = o.useRef(null);
|
|
2578
|
+
o.useEffect(() => {
|
|
1038
2579
|
const video = videoRef.current;
|
|
1039
2580
|
if (!video) return;
|
|
1040
2581
|
const handleFullscreenChange = () => {
|
|
1041
|
-
const
|
|
1042
|
-
const isFullscreen = !!(
|
|
2582
|
+
const d2 = document;
|
|
2583
|
+
const isFullscreen = !!(d2.fullscreenElement || d2.webkitFullscreenElement || d2.mozFullScreenElement || d2.msFullscreenElement);
|
|
1043
2584
|
if (isFullscreen) {
|
|
1044
2585
|
video.style.objectFit = "contain";
|
|
1045
2586
|
video.style.width = "100vw";
|
|
@@ -1084,7 +2625,7 @@ var PropertyTour = React5.forwardRef(
|
|
|
1084
2625
|
{
|
|
1085
2626
|
ref,
|
|
1086
2627
|
className: cn(
|
|
1087
|
-
"w-full max-w-[820px] rounded-[12px] border border-white/10 bg-
|
|
2628
|
+
"w-full max-w-[820px] rounded-[12px] border border-white/10 bg-[#111111] text-white backdrop-blur-md",
|
|
1088
2629
|
className
|
|
1089
2630
|
),
|
|
1090
2631
|
...props,
|
|
@@ -1157,7 +2698,7 @@ var formatDate = (value) => {
|
|
|
1157
2698
|
year: "numeric"
|
|
1158
2699
|
});
|
|
1159
2700
|
};
|
|
1160
|
-
var PropertyNewsUpdates =
|
|
2701
|
+
var PropertyNewsUpdates = o.forwardRef(
|
|
1161
2702
|
({
|
|
1162
2703
|
className,
|
|
1163
2704
|
heading = "Property News & Headlines",
|
|
@@ -1167,14 +2708,14 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
1167
2708
|
highlightFirst = true,
|
|
1168
2709
|
...props
|
|
1169
2710
|
}, ref) => {
|
|
1170
|
-
const [page, setPage] =
|
|
1171
|
-
|
|
2711
|
+
const [page, setPage] = o.useState(0);
|
|
2712
|
+
o.useEffect(() => {
|
|
1172
2713
|
ensureAnimationsInjected();
|
|
1173
2714
|
}, []);
|
|
1174
2715
|
const hasItems = Array.isArray(items) && items.length > 0;
|
|
1175
|
-
const totalPages =
|
|
1176
|
-
|
|
1177
|
-
setPage((
|
|
2716
|
+
const totalPages = o.useMemo(() => hasItems ? Math.max(1, Math.ceil(items.length / ITEMS_PER_PAGE)) : 1, [hasItems, items.length]);
|
|
2717
|
+
o.useEffect(() => {
|
|
2718
|
+
setPage((prev2) => Math.min(prev2, totalPages - 1));
|
|
1178
2719
|
}, [totalPages]);
|
|
1179
2720
|
const paginatedItems = hasItems ? items.slice(page * ITEMS_PER_PAGE, page * ITEMS_PER_PAGE + ITEMS_PER_PAGE) : [];
|
|
1180
2721
|
return /* @__PURE__ */ jsxs(
|
|
@@ -1286,7 +2827,7 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
1286
2827
|
"button",
|
|
1287
2828
|
{
|
|
1288
2829
|
type: "button",
|
|
1289
|
-
onClick: () => setPage((
|
|
2830
|
+
onClick: () => setPage((prev2) => Math.max(0, prev2 - 1)),
|
|
1290
2831
|
disabled: page === 0,
|
|
1291
2832
|
className: cn(
|
|
1292
2833
|
"rounded-full border border-white/15 px-3 py-1 uppercase tracking-[0.2em]",
|
|
@@ -1305,7 +2846,7 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
1305
2846
|
"button",
|
|
1306
2847
|
{
|
|
1307
2848
|
type: "button",
|
|
1308
|
-
onClick: () => setPage((
|
|
2849
|
+
onClick: () => setPage((prev2) => Math.min(totalPages - 1, prev2 + 1)),
|
|
1309
2850
|
disabled: page >= totalPages - 1,
|
|
1310
2851
|
className: cn(
|
|
1311
2852
|
"rounded-full border border-white/15 px-3 py-1 uppercase tracking-[0.2em]",
|
|
@@ -1321,18 +2862,17 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
1321
2862
|
}
|
|
1322
2863
|
);
|
|
1323
2864
|
PropertyNewsUpdates.displayName = "PropertyNewsUpdates";
|
|
1324
|
-
var PropertyCompareBar =
|
|
2865
|
+
var PropertyCompareBar = o.forwardRef(
|
|
1325
2866
|
({
|
|
1326
2867
|
className,
|
|
1327
2868
|
addresses,
|
|
1328
2869
|
selectedAddressId,
|
|
1329
2870
|
onSelectAddress,
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
compareIcon,
|
|
2871
|
+
propertyValue,
|
|
2872
|
+
propertyValueVariant = "classic",
|
|
1333
2873
|
...props
|
|
1334
2874
|
}, ref) => {
|
|
1335
|
-
const normalizedAddresses =
|
|
2875
|
+
const normalizedAddresses = o.useMemo(() => {
|
|
1336
2876
|
return addresses.map(
|
|
1337
2877
|
(option) => typeof option === "string" ? { id: option, label: option } : option
|
|
1338
2878
|
);
|
|
@@ -1340,11 +2880,11 @@ var PropertyCompareBar = React5.forwardRef(
|
|
|
1340
2880
|
const hasAddresses = normalizedAddresses.length > 0;
|
|
1341
2881
|
const firstAddressId = normalizedAddresses[0]?.id;
|
|
1342
2882
|
const isControlled = selectedAddressId !== void 0;
|
|
1343
|
-
const [internalSelectedId, setInternalSelectedId] =
|
|
2883
|
+
const [internalSelectedId, setInternalSelectedId] = o.useState(
|
|
1344
2884
|
() => isControlled ? void 0 : firstAddressId
|
|
1345
2885
|
);
|
|
1346
2886
|
const resolvedSelectedId = isControlled ? selectedAddressId : internalSelectedId;
|
|
1347
|
-
|
|
2887
|
+
o.useEffect(() => {
|
|
1348
2888
|
if (!isControlled) {
|
|
1349
2889
|
setInternalSelectedId((current) => {
|
|
1350
2890
|
if (current != null && normalizedAddresses.some((option) => option.id === current)) {
|
|
@@ -1355,9 +2895,9 @@ var PropertyCompareBar = React5.forwardRef(
|
|
|
1355
2895
|
}
|
|
1356
2896
|
}, [firstAddressId, isControlled, normalizedAddresses]);
|
|
1357
2897
|
const selectedOption = normalizedAddresses.find((option) => option.id === resolvedSelectedId) ?? normalizedAddresses[0];
|
|
1358
|
-
const [isDropdownOpen, setIsDropdownOpen] =
|
|
1359
|
-
const dropdownRef =
|
|
1360
|
-
|
|
2898
|
+
const [isDropdownOpen, setIsDropdownOpen] = o.useState(false);
|
|
2899
|
+
const dropdownRef = o.useRef(null);
|
|
2900
|
+
o.useEffect(() => {
|
|
1361
2901
|
if (!isDropdownOpen) return;
|
|
1362
2902
|
const handleClick = (event) => {
|
|
1363
2903
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
@@ -1376,7 +2916,6 @@ var PropertyCompareBar = React5.forwardRef(
|
|
|
1376
2916
|
document.removeEventListener("keydown", handleKey);
|
|
1377
2917
|
};
|
|
1378
2918
|
}, [isDropdownOpen]);
|
|
1379
|
-
const defaultCompareIcon = /* @__PURE__ */ jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M4 4h7v7H4V4zm0 9h7v7H4v-7zm9-9h7v7h-7V4zm0 9h7v7h-7v-7z" }) });
|
|
1380
2919
|
const handleAddressSelect = (addressId) => {
|
|
1381
2920
|
if (!isControlled) {
|
|
1382
2921
|
setInternalSelectedId(addressId);
|
|
@@ -1384,81 +2923,206 @@ var PropertyCompareBar = React5.forwardRef(
|
|
|
1384
2923
|
onSelectAddress?.(addressId);
|
|
1385
2924
|
setIsDropdownOpen(false);
|
|
1386
2925
|
};
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
!hasAddresses && "text-white/40"
|
|
1408
|
-
),
|
|
1409
|
-
children: [
|
|
1410
|
-
/* @__PURE__ */ jsx("span", { className: "truncate", children: selectedOption ? selectedOption.label : hasAddresses ? "Select address" : "No addresses available" }),
|
|
1411
|
-
/* @__PURE__ */ jsx("span", { className: "ml-3 flex items-center text-white/60 transition-transform", "aria-hidden": true, children: /* @__PURE__ */ jsx(
|
|
1412
|
-
"svg",
|
|
1413
|
-
{
|
|
1414
|
-
width: "16",
|
|
1415
|
-
height: "16",
|
|
1416
|
-
viewBox: "0 0 24 24",
|
|
1417
|
-
fill: "currentColor",
|
|
1418
|
-
className: cn("transition-transform", isDropdownOpen && "rotate-180"),
|
|
1419
|
-
children: /* @__PURE__ */ jsx("path", { d: "M7 10l5 5 5-5H7z" })
|
|
1420
|
-
}
|
|
1421
|
-
) })
|
|
1422
|
-
]
|
|
1423
|
-
}
|
|
1424
|
-
),
|
|
1425
|
-
isDropdownOpen && hasAddresses ? /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-[calc(100%+8px)] z-20 w-full rounded-[12px] border border-white/10 py-1 shadow-[0_25px_55px_rgba(0,0,0,0.6)] bg-black", children: normalizedAddresses.map((option) => {
|
|
1426
|
-
const active = option.id === resolvedSelectedId;
|
|
1427
|
-
return /* @__PURE__ */ jsx(
|
|
1428
|
-
"button",
|
|
1429
|
-
{
|
|
1430
|
-
type: "button",
|
|
1431
|
-
className: cn(
|
|
1432
|
-
"flex w-full items-center px-4 py-2 text-left text-[14px] text-white/80 transition hover:bg-white/5 hover:text-white",
|
|
1433
|
-
active && "text-white"
|
|
1434
|
-
),
|
|
1435
|
-
onClick: () => handleAddressSelect(option.id),
|
|
1436
|
-
children: option.label
|
|
1437
|
-
},
|
|
1438
|
-
option.id
|
|
1439
|
-
);
|
|
1440
|
-
}) }) : null
|
|
1441
|
-
] }),
|
|
1442
|
-
/* @__PURE__ */ jsxs(
|
|
1443
|
-
Button,
|
|
2926
|
+
const propertyValueLabel = propertyValue?.label ?? "Property Value";
|
|
2927
|
+
const propertyValueCurrency = propertyValue?.currencySymbol ?? "$";
|
|
2928
|
+
const propertyValueFormat = propertyValue?.formatOptions ?? {
|
|
2929
|
+
minimumFractionDigits: 2,
|
|
2930
|
+
maximumFractionDigits: 2
|
|
2931
|
+
};
|
|
2932
|
+
const formattedPropertyValue = propertyValue == null ? null : `${propertyValueCurrency}${propertyValue.value.toLocaleString(
|
|
2933
|
+
void 0,
|
|
2934
|
+
propertyValueFormat
|
|
2935
|
+
)}`;
|
|
2936
|
+
const formattedPropertyChange = propertyValue?.change == null ? null : `${propertyValue.change >= 0 ? "+" : "-"}${propertyValueCurrency}${Math.abs(
|
|
2937
|
+
propertyValue.change
|
|
2938
|
+
).toLocaleString(void 0, propertyValueFormat)}`;
|
|
2939
|
+
propertyValue?.change == null ? void 0 : propertyValue.change >= 0 ? "text-[#0ecb81]" : "text-[#f6465d]";
|
|
2940
|
+
return /* @__PURE__ */ jsxs(PropertySelectorContainer, { ref, className, $variant: propertyValueVariant, ...props, children: [
|
|
2941
|
+
/* @__PURE__ */ jsxs(PropertySelector, { ref: dropdownRef, onClick: () => hasAddresses && setIsDropdownOpen((prev2) => !prev2), children: [
|
|
2942
|
+
/* @__PURE__ */ jsxs(PropertyAddress, { children: [
|
|
2943
|
+
selectedOption ? selectedOption.label : hasAddresses ? "Select address" : "No addresses available",
|
|
2944
|
+
/* @__PURE__ */ jsx(
|
|
2945
|
+
"svg",
|
|
1444
2946
|
{
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
]
|
|
2947
|
+
className: "dropdown-icon",
|
|
2948
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2949
|
+
width: "20",
|
|
2950
|
+
height: "20",
|
|
2951
|
+
viewBox: "0 0 24 24",
|
|
2952
|
+
fill: "currentColor",
|
|
2953
|
+
style: { transform: isDropdownOpen ? "rotate(180deg)" : void 0 },
|
|
2954
|
+
children: /* @__PURE__ */ jsx("path", { d: "M7 10l5 5 5-5H7z" })
|
|
1454
2955
|
}
|
|
1455
2956
|
)
|
|
1456
|
-
]
|
|
1457
|
-
|
|
1458
|
-
|
|
2957
|
+
] }),
|
|
2958
|
+
/* @__PURE__ */ jsx(PropertySelectorDropdown, { $isOpen: isDropdownOpen && hasAddresses, children: normalizedAddresses.map((option) => /* @__PURE__ */ jsx(
|
|
2959
|
+
PropertySelectorOption,
|
|
2960
|
+
{
|
|
2961
|
+
onClick: (event) => {
|
|
2962
|
+
event.stopPropagation();
|
|
2963
|
+
handleAddressSelect(option.id);
|
|
2964
|
+
},
|
|
2965
|
+
children: /* @__PURE__ */ jsx(PropertySelectorName, { children: option.label })
|
|
2966
|
+
},
|
|
2967
|
+
option.id
|
|
2968
|
+
)) })
|
|
2969
|
+
] }),
|
|
2970
|
+
formattedPropertyValue ? /* @__PURE__ */ jsxs(PropertyValueBlock, { $variant: propertyValueVariant, children: [
|
|
2971
|
+
/* @__PURE__ */ jsx(PropertyValueLabel, { children: propertyValueLabel }),
|
|
2972
|
+
/* @__PURE__ */ jsx(PropertyValueAmount, { children: formattedPropertyValue }),
|
|
2973
|
+
formattedPropertyChange ? /* @__PURE__ */ jsx(PropertyValueChange, { $isPositive: propertyValue?.change != null ? propertyValue.change >= 0 : void 0, children: formattedPropertyChange }) : null
|
|
2974
|
+
] }) : null
|
|
2975
|
+
] });
|
|
1459
2976
|
}
|
|
1460
2977
|
);
|
|
1461
2978
|
PropertyCompareBar.displayName = "PropertyCompareBar";
|
|
2979
|
+
var PropertySelectorContainer = at.div`
|
|
2980
|
+
display: flex;
|
|
2981
|
+
align-items: center;
|
|
2982
|
+
justify-content: space-between;
|
|
2983
|
+
padding: 1rem 1.5rem;
|
|
2984
|
+
background-color: ${({ $variant }) => $variant === "pill" ? "#0f0f0f" : "rgba(30, 32, 38, 0.95)"};
|
|
2985
|
+
border: ${({ $variant }) => $variant === "pill" ? "1px solid rgba(255, 255, 255, 0.15)" : "none"};
|
|
2986
|
+
border-radius: 8px;
|
|
2987
|
+
margin-bottom: 1.5rem;
|
|
2988
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
2989
|
+
color: var(--color-text, #f8f9fa);
|
|
2990
|
+
font-family: var(--font-family, "Inter", sans-serif);
|
|
2991
|
+
|
|
2992
|
+
@media (max-width: 1024px) {
|
|
2993
|
+
padding: 0.75rem 1rem;
|
|
2994
|
+
margin-bottom: 0.75rem;
|
|
2995
|
+
}
|
|
2996
|
+
|
|
2997
|
+
@media (max-width: 768px) {
|
|
2998
|
+
border-radius: 0;
|
|
2999
|
+
margin-top: 0;
|
|
3000
|
+
padding-top: 0.5rem;
|
|
3001
|
+
flex-direction: column;
|
|
3002
|
+
align-items: flex-start;
|
|
3003
|
+
gap: 0.75rem;
|
|
3004
|
+
}
|
|
3005
|
+
|
|
3006
|
+
@media (max-width: 600px) {
|
|
3007
|
+
flex-direction: column;
|
|
3008
|
+
gap: 0.5rem;
|
|
3009
|
+
}
|
|
3010
|
+
`;
|
|
3011
|
+
var PropertySelector = at.div`
|
|
3012
|
+
position: relative;
|
|
3013
|
+
display: flex;
|
|
3014
|
+
align-items: center;
|
|
3015
|
+
cursor: pointer;
|
|
3016
|
+
padding: 0.5rem 0;
|
|
3017
|
+
flex: 1;
|
|
3018
|
+
|
|
3019
|
+
&:hover {
|
|
3020
|
+
.dropdown-icon {
|
|
3021
|
+
transform: translateY(2px);
|
|
3022
|
+
}
|
|
3023
|
+
}
|
|
3024
|
+
`;
|
|
3025
|
+
var PropertyAddress = at.div`
|
|
3026
|
+
font-size: 1.25rem;
|
|
3027
|
+
font-weight: 600;
|
|
3028
|
+
display: flex;
|
|
3029
|
+
align-items: center;
|
|
3030
|
+
gap: 0.5rem;
|
|
3031
|
+
color: inherit;
|
|
3032
|
+
|
|
3033
|
+
svg {
|
|
3034
|
+
transition: transform 0.2s;
|
|
3035
|
+
}
|
|
3036
|
+
`;
|
|
3037
|
+
var PropertySelectorDropdown = at.div`
|
|
3038
|
+
position: absolute;
|
|
3039
|
+
top: 100%;
|
|
3040
|
+
left: 0;
|
|
3041
|
+
width: 100%;
|
|
3042
|
+
max-width: 400px;
|
|
3043
|
+
background-color: var(--color-card, #1f232b);
|
|
3044
|
+
border-radius: 8px;
|
|
3045
|
+
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
|
|
3046
|
+
z-index: 100;
|
|
3047
|
+
overflow: hidden;
|
|
3048
|
+
display: ${(props) => props.$isOpen ? "block" : "none"};
|
|
3049
|
+
`;
|
|
3050
|
+
var PropertySelectorOption = at.div`
|
|
3051
|
+
padding: 0.75rem 1rem;
|
|
3052
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
3053
|
+
cursor: pointer;
|
|
3054
|
+
transition: background-color 0.2s;
|
|
3055
|
+
|
|
3056
|
+
&:hover {
|
|
3057
|
+
background-color: rgba(255, 255, 255, 0.05);
|
|
3058
|
+
}
|
|
3059
|
+
|
|
3060
|
+
&:last-child {
|
|
3061
|
+
border-bottom: none;
|
|
3062
|
+
}
|
|
3063
|
+
`;
|
|
3064
|
+
var PropertySelectorName = at.div`
|
|
3065
|
+
font-weight: 600;
|
|
3066
|
+
`;
|
|
3067
|
+
var PropertyValueBlock = at.div`
|
|
3068
|
+
display: flex;
|
|
3069
|
+
align-items: center;
|
|
3070
|
+
gap: 0.5rem;
|
|
3071
|
+
margin-left: 1rem;
|
|
3072
|
+
white-space: nowrap;
|
|
3073
|
+
|
|
3074
|
+
${({ $variant }) => $variant === "card" && rt`
|
|
3075
|
+
margin-left: auto;
|
|
3076
|
+
flex-direction: row;
|
|
3077
|
+
align-items: center;
|
|
3078
|
+
min-width: 220px;
|
|
3079
|
+
border: none;
|
|
3080
|
+
background: rgba(30, 32, 38, 0.95);
|
|
3081
|
+
border-radius: 14px;
|
|
3082
|
+
padding: 0.9rem 1.25rem;
|
|
3083
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
|
|
3084
|
+
gap: 0.85rem;
|
|
3085
|
+
justify-content: flex-end;
|
|
3086
|
+
`}
|
|
3087
|
+
|
|
3088
|
+
${({ $variant }) => $variant === "pill" && rt`
|
|
3089
|
+
margin-left: auto;
|
|
3090
|
+
margin-right: 1rem;
|
|
3091
|
+
background: #191919;
|
|
3092
|
+
border-radius: 8px;
|
|
3093
|
+
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
3094
|
+
padding: 0.5rem 1rem;
|
|
3095
|
+
gap: 1rem;
|
|
3096
|
+
align-items: center;
|
|
3097
|
+
`}
|
|
3098
|
+
|
|
3099
|
+
@media (max-width: 768px) {
|
|
3100
|
+
margin-left: 0;
|
|
3101
|
+
}
|
|
3102
|
+
|
|
3103
|
+
@media (max-width: 600px) {
|
|
3104
|
+
margin: 0;
|
|
3105
|
+
flex-direction: column;
|
|
3106
|
+
align-items: flex-start;
|
|
3107
|
+
gap: 0.125rem;
|
|
3108
|
+
}
|
|
3109
|
+
`;
|
|
3110
|
+
var PropertyValueLabel = at.span`
|
|
3111
|
+
font-size: 0.7rem;
|
|
3112
|
+
color: var(--color-text-secondary, rgba(255, 255, 255, 0.6));
|
|
3113
|
+
text-transform: uppercase;
|
|
3114
|
+
letter-spacing: 0.5px;
|
|
3115
|
+
`;
|
|
3116
|
+
var PropertyValueAmount = at.span`
|
|
3117
|
+
font-size: 1.1rem;
|
|
3118
|
+
font-weight: 600;
|
|
3119
|
+
color: #fff;
|
|
3120
|
+
`;
|
|
3121
|
+
var PropertyValueChange = at.span`
|
|
3122
|
+
font-size: 0.75rem;
|
|
3123
|
+
font-weight: 500;
|
|
3124
|
+
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)"};
|
|
3125
|
+
`;
|
|
1462
3126
|
var TABS = [
|
|
1463
3127
|
{ id: "portfolio", label: "Portfolio" },
|
|
1464
3128
|
{ id: "openOrders", label: "Open Orders" },
|
|
@@ -1553,9 +3217,9 @@ var formatPercent = (value, fractionDigits = 2) => {
|
|
|
1553
3217
|
if (value == null || Number.isNaN(value)) return "\u2014";
|
|
1554
3218
|
return `${value.toFixed(fractionDigits)}%`;
|
|
1555
3219
|
};
|
|
1556
|
-
var YourOrders =
|
|
3220
|
+
var YourOrders = o.forwardRef(
|
|
1557
3221
|
({ className, title = "Portfolio Holdings (Demo)", orders, renderOrderActions, ...props }, ref) => {
|
|
1558
|
-
const [activeTab, setActiveTab] =
|
|
3222
|
+
const [activeTab, setActiveTab] = o.useState("portfolio");
|
|
1559
3223
|
const hasOrders = Array.isArray(orders) && orders.length > 0;
|
|
1560
3224
|
const renderPortfolio = () => {
|
|
1561
3225
|
if (!hasOrders) {
|
|
@@ -1727,7 +3391,7 @@ var formatPrice = (value, currencySymbol) => {
|
|
|
1727
3391
|
maximumFractionDigits: 2
|
|
1728
3392
|
})}`;
|
|
1729
3393
|
};
|
|
1730
|
-
var PriceChart =
|
|
3394
|
+
var PriceChart = o.forwardRef(
|
|
1731
3395
|
({
|
|
1732
3396
|
className,
|
|
1733
3397
|
title = "Price Chart",
|
|
@@ -1741,24 +3405,24 @@ var PriceChart = React5.forwardRef(
|
|
|
1741
3405
|
height = 301.52,
|
|
1742
3406
|
...props
|
|
1743
3407
|
}, ref) => {
|
|
1744
|
-
const containerRef =
|
|
1745
|
-
const chartRef =
|
|
1746
|
-
const seriesRef =
|
|
1747
|
-
const priceLineRef =
|
|
1748
|
-
const [hoveredRange, setHoveredRange] =
|
|
1749
|
-
const resolvedPrice =
|
|
3408
|
+
const containerRef = o.useRef(null);
|
|
3409
|
+
const chartRef = o.useRef(null);
|
|
3410
|
+
const seriesRef = o.useRef(null);
|
|
3411
|
+
const priceLineRef = o.useRef(null);
|
|
3412
|
+
const [hoveredRange, setHoveredRange] = o.useState(null);
|
|
3413
|
+
const resolvedPrice = o.useMemo(() => {
|
|
1750
3414
|
if (price != null) return price;
|
|
1751
3415
|
const last = data.at(-1);
|
|
1752
3416
|
return last?.close;
|
|
1753
3417
|
}, [data, price]);
|
|
1754
|
-
const inferredChangePercent =
|
|
3418
|
+
const inferredChangePercent = o.useMemo(() => {
|
|
1755
3419
|
if (changePercent != null) return changePercent;
|
|
1756
3420
|
const first = data[0]?.open;
|
|
1757
3421
|
const last = data.at(-1)?.close;
|
|
1758
3422
|
if (first == null || last == null || first === 0) return void 0;
|
|
1759
3423
|
return (last - first) / first * 100;
|
|
1760
3424
|
}, [changePercent, data]);
|
|
1761
|
-
|
|
3425
|
+
o.useEffect(() => {
|
|
1762
3426
|
const el = containerRef.current;
|
|
1763
3427
|
if (!el) return;
|
|
1764
3428
|
const chart = createChart(el, {
|
|
@@ -1801,7 +3465,7 @@ var PriceChart = React5.forwardRef(
|
|
|
1801
3465
|
chart.remove();
|
|
1802
3466
|
};
|
|
1803
3467
|
}, []);
|
|
1804
|
-
|
|
3468
|
+
o.useEffect(() => {
|
|
1805
3469
|
const chart = chartRef.current;
|
|
1806
3470
|
const series = seriesRef.current;
|
|
1807
3471
|
if (!chart || !series) return;
|
|
@@ -1853,9 +3517,9 @@ var PriceChart = React5.forwardRef(
|
|
|
1853
3517
|
/* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-row items-start justify-between gap-4 px-6 pb-2 pt-6", children: [
|
|
1854
3518
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
1855
3519
|
/* @__PURE__ */ jsx(CardTitle, { className: "m-0 text-[1.1rem] font-semibold text-white", children: title }),
|
|
1856
|
-
/* @__PURE__ */ jsx("div", { className: "mt-3 flex items-center gap-2", children: ranges.map((
|
|
1857
|
-
const active =
|
|
1858
|
-
const hovered = hoveredRange ===
|
|
3520
|
+
/* @__PURE__ */ jsx("div", { className: "mt-3 flex items-center gap-2", children: ranges.map((r2) => {
|
|
3521
|
+
const active = r2 === selectedRange;
|
|
3522
|
+
const hovered = hoveredRange === r2;
|
|
1859
3523
|
const style = {
|
|
1860
3524
|
...btnBaseStyle,
|
|
1861
3525
|
...hovered ? btnHoverStyle : null,
|
|
@@ -1865,16 +3529,16 @@ var PriceChart = React5.forwardRef(
|
|
|
1865
3529
|
"button",
|
|
1866
3530
|
{
|
|
1867
3531
|
type: "button",
|
|
1868
|
-
onClick: () => onRangeChange?.(
|
|
1869
|
-
onMouseEnter: () => setHoveredRange(
|
|
1870
|
-
onMouseLeave: () => setHoveredRange((
|
|
3532
|
+
onClick: () => onRangeChange?.(r2),
|
|
3533
|
+
onMouseEnter: () => setHoveredRange(r2),
|
|
3534
|
+
onMouseLeave: () => setHoveredRange((prev2) => prev2 === r2 ? null : prev2),
|
|
1871
3535
|
style,
|
|
1872
3536
|
className: cn(
|
|
1873
3537
|
"rounded border px-3 py-1 text-[0.85rem] font-medium transition-all duration-200"
|
|
1874
3538
|
),
|
|
1875
|
-
children:
|
|
3539
|
+
children: r2
|
|
1876
3540
|
},
|
|
1877
|
-
|
|
3541
|
+
r2
|
|
1878
3542
|
);
|
|
1879
3543
|
}) })
|
|
1880
3544
|
] }),
|
|
@@ -1907,7 +3571,7 @@ var formatPrice2 = (value, currencySymbol) => {
|
|
|
1907
3571
|
maximumFractionDigits: 3
|
|
1908
3572
|
})}`;
|
|
1909
3573
|
};
|
|
1910
|
-
var PropertyHeroHeader =
|
|
3574
|
+
var PropertyHeroHeader = o.forwardRef(
|
|
1911
3575
|
({
|
|
1912
3576
|
className,
|
|
1913
3577
|
imageUrl,
|
|
@@ -1928,14 +3592,39 @@ var PropertyHeroHeader = React5.forwardRef(
|
|
|
1928
3592
|
const isPositive = changePercent == null ? void 0 : changePercent >= 0;
|
|
1929
3593
|
const accentColor = "#e6c87e";
|
|
1930
3594
|
const tradeHoverColor = "#f5dd9a";
|
|
1931
|
-
const [isTradeInteracting, setIsTradeInteracting] =
|
|
1932
|
-
const [isOfferInteracting, setIsOfferInteracting] =
|
|
3595
|
+
const [isTradeInteracting, setIsTradeInteracting] = o.useState(false);
|
|
3596
|
+
const [isOfferInteracting, setIsOfferInteracting] = o.useState(false);
|
|
3597
|
+
const headingStyle = {
|
|
3598
|
+
fontSize: "2.5rem",
|
|
3599
|
+
marginBottom: "0.5rem",
|
|
3600
|
+
color: "#ffffff",
|
|
3601
|
+
textShadow: "0 2px 4px rgba(0, 0, 0, 0.3)",
|
|
3602
|
+
fontWeight: 600,
|
|
3603
|
+
lineHeight: 1.2
|
|
3604
|
+
};
|
|
3605
|
+
const priceBlockStyle = {
|
|
3606
|
+
fontSize: "1.25rem",
|
|
3607
|
+
fontWeight: 600,
|
|
3608
|
+
color: "var(--color-accent, #f0b90b)",
|
|
3609
|
+
marginLeft: "1rem",
|
|
3610
|
+
paddingLeft: "1rem",
|
|
3611
|
+
borderLeft: "1px solid rgba(255, 255, 255, 0.3)",
|
|
3612
|
+
display: "flex",
|
|
3613
|
+
alignItems: "center"
|
|
3614
|
+
};
|
|
3615
|
+
const locationStyle = {
|
|
3616
|
+
fontSize: "1.25rem",
|
|
3617
|
+
color: "rgba(255, 255, 255, 0.9)",
|
|
3618
|
+
marginBottom: "0.75rem",
|
|
3619
|
+
display: "flex",
|
|
3620
|
+
alignItems: "center"
|
|
3621
|
+
};
|
|
1933
3622
|
return /* @__PURE__ */ jsxs(
|
|
1934
3623
|
"div",
|
|
1935
3624
|
{
|
|
1936
3625
|
ref,
|
|
1937
3626
|
className: cn(
|
|
1938
|
-
"relative w-
|
|
3627
|
+
"relative w-[1200px] h-[500px] overflow-hidden bg-black rounded-[12px]",
|
|
1939
3628
|
className
|
|
1940
3629
|
),
|
|
1941
3630
|
...props,
|
|
@@ -1945,50 +3634,45 @@ var PropertyHeroHeader = React5.forwardRef(
|
|
|
1945
3634
|
{
|
|
1946
3635
|
src: imageUrl,
|
|
1947
3636
|
alt: imageAlt ?? name,
|
|
1948
|
-
className: "h-full w-full object-cover object-center
|
|
1949
|
-
style: { transform: "scale(1.
|
|
3637
|
+
className: "absolute inset-0 block h-full w-full object-cover object-center",
|
|
3638
|
+
style: { transform: "scale(1.20)", transformOrigin: "center" }
|
|
1950
3639
|
}
|
|
1951
3640
|
),
|
|
1952
|
-
/* @__PURE__ */ jsxs("div", { className: "absolute bottom-0 left-0 right-0 flex w-full items-end justify-between p-8 max-[768px]:flex-col max-[768px]:items-start max-[768px]:gap-4 max-[768px]:p-6 max-[480px]:p-4", children: [
|
|
1953
|
-
/* @__PURE__ */ jsxs("div", { className: "inline-block w-
|
|
1954
|
-
/* @__PURE__ */
|
|
1955
|
-
|
|
1956
|
-
/* @__PURE__ */
|
|
1957
|
-
|
|
1958
|
-
"span",
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
3641
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute bottom-0 left-0 right-0 z-10 flex w-full items-end justify-between gap-4 p-8 max-[768px]:flex-col max-[768px]:items-start max-[768px]:gap-4 max-[768px]:p-6 max-[480px]:p-4", children: [
|
|
3642
|
+
/* @__PURE__ */ jsxs("div", { className: "inline-block w-full rounded-lg bg-black/15 px-4 py-3 text-white shadow-[0px_1px_1px_rgba(0,0,0,0.3)] backdrop-blur-[3px] max-[768px]:w-full max-[768px]:px-3 max-[768px]:py-3 max-[480px]:px-3 max-[480px]:py-2 min-[769px]:flex-1 min-[769px]:min-w-0", children: [
|
|
3643
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 space-y-2", children: [
|
|
3644
|
+
/* @__PURE__ */ jsx("h1", { style: headingStyle, className: "break-words", children: name }),
|
|
3645
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-3 flex flex-wrap items-center max-[768px]:mb-[0.6rem] max-[768px]:text-[1.1rem] max-[480px]:mb-[0.5rem] max-[480px]:text-[1rem]", children: [
|
|
3646
|
+
/* @__PURE__ */ jsx("span", { style: locationStyle, children: location }),
|
|
3647
|
+
price == null ? null : /* @__PURE__ */ jsxs("span", { style: priceBlockStyle, children: [
|
|
3648
|
+
formatPrice2(price, currencySymbol),
|
|
3649
|
+
changePercent == null ? null : /* @__PURE__ */ jsxs(
|
|
3650
|
+
"span",
|
|
3651
|
+
{
|
|
3652
|
+
className: cn(
|
|
3653
|
+
"ml-2 flex items-center text-[0.875rem] font-medium",
|
|
3654
|
+
isPositive ? "text-[#0ecb81]" : "text-[#f6465d]"
|
|
3655
|
+
),
|
|
3656
|
+
children: [
|
|
3657
|
+
/* @__PURE__ */ jsx(
|
|
3658
|
+
"svg",
|
|
3659
|
+
{
|
|
3660
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3661
|
+
width: "12",
|
|
3662
|
+
height: "12",
|
|
3663
|
+
viewBox: "0 0 24 24",
|
|
3664
|
+
fill: "currentColor",
|
|
3665
|
+
className: "mr-[0.15rem]",
|
|
3666
|
+
children: /* @__PURE__ */ jsx("path", { d: isPositive ? "M7 14l5-5 5 5H7z" : "M7 10l5 5 5-5H7z" })
|
|
3667
|
+
}
|
|
1970
3668
|
),
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
viewBox: "0 0 24 24",
|
|
1979
|
-
fill: "currentColor",
|
|
1980
|
-
className: "mr-[0.15rem]",
|
|
1981
|
-
children: /* @__PURE__ */ jsx("path", { d: isPositive ? "M7 14l5-5 5 5H7z" : "M7 10l5 5 5-5H7z" })
|
|
1982
|
-
}
|
|
1983
|
-
),
|
|
1984
|
-
Math.abs(changePercent).toFixed(2),
|
|
1985
|
-
"%"
|
|
1986
|
-
]
|
|
1987
|
-
}
|
|
1988
|
-
)
|
|
1989
|
-
]
|
|
1990
|
-
}
|
|
1991
|
-
)
|
|
3669
|
+
Math.abs(changePercent).toFixed(2),
|
|
3670
|
+
"%"
|
|
3671
|
+
]
|
|
3672
|
+
}
|
|
3673
|
+
)
|
|
3674
|
+
] })
|
|
3675
|
+
] })
|
|
1992
3676
|
] }),
|
|
1993
3677
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6 text-[0.95rem] text-white/90 max-[768px]:hidden", children: [
|
|
1994
3678
|
beds == null ? null : /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
|
|
@@ -2015,7 +3699,7 @@ var PropertyHeroHeader = React5.forwardRef(
|
|
|
2015
3699
|
propertyTypeLabel == null ? null : /* @__PURE__ */ jsx("div", { children: propertyTypeLabel })
|
|
2016
3700
|
] })
|
|
2017
3701
|
] }),
|
|
2018
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-3 max-[768px]:w-full max-[768px]:justify-between max-[768px]:gap-2 max-[480px]:gap-2", children: [
|
|
3702
|
+
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 flex-wrap items-center gap-3 max-[768px]:w-full max-[768px]:justify-between max-[768px]:gap-2 max-[480px]:gap-2", children: [
|
|
2019
3703
|
/* @__PURE__ */ jsx(
|
|
2020
3704
|
"button",
|
|
2021
3705
|
{
|
|
@@ -2076,18 +3760,13 @@ var PropertyHeroHeader = React5.forwardRef(
|
|
|
2076
3760
|
}
|
|
2077
3761
|
);
|
|
2078
3762
|
PropertyHeroHeader.displayName = "PropertyHeroHeader";
|
|
2079
|
-
var PropertySubheader =
|
|
3763
|
+
var PropertySubheader = o.forwardRef(
|
|
2080
3764
|
({ className, tabs, activeTabId, onTabChange, actions, ...props }, ref) => {
|
|
2081
3765
|
return /* @__PURE__ */ jsxs(
|
|
2082
3766
|
"div",
|
|
2083
3767
|
{
|
|
2084
3768
|
ref,
|
|
2085
|
-
className: cn(
|
|
2086
|
-
"w-full font-normal",
|
|
2087
|
-
"flex flex-col gap-3",
|
|
2088
|
-
"md:flex-row md:items-center md:justify-between",
|
|
2089
|
-
className
|
|
2090
|
-
),
|
|
3769
|
+
className: cn("w-full font-normal flex flex-col gap-3 md:flex-row md:items-center md:justify-between", className),
|
|
2091
3770
|
...props,
|
|
2092
3771
|
children: [
|
|
2093
3772
|
/* @__PURE__ */ jsx(
|
|
@@ -2103,7 +3782,7 @@ var PropertySubheader = React5.forwardRef(
|
|
|
2103
3782
|
"md:border-b-0"
|
|
2104
3783
|
),
|
|
2105
3784
|
style: { WebkitTapHighlightColor: "transparent" },
|
|
2106
|
-
children: /* @__PURE__ */ jsx("div", { className: "flex min-w-max", children: tabs.map((tab) => {
|
|
3785
|
+
children: /* @__PURE__ */ jsx("div", { className: "flex min-w-max gap-2 lg:gap-4", children: tabs.map((tab) => {
|
|
2107
3786
|
const active = tab.id === activeTabId;
|
|
2108
3787
|
return /* @__PURE__ */ jsxs(
|
|
2109
3788
|
"button",
|
|
@@ -2112,12 +3791,13 @@ var PropertySubheader = React5.forwardRef(
|
|
|
2112
3791
|
onClick: () => onTabChange?.(tab.id),
|
|
2113
3792
|
className: cn(
|
|
2114
3793
|
"relative whitespace-nowrap",
|
|
2115
|
-
"px-
|
|
2116
|
-
"
|
|
3794
|
+
"px-5 py-4 lg:px-6",
|
|
3795
|
+
"text-[16px]",
|
|
3796
|
+
"font-medium",
|
|
2117
3797
|
"transition-colors",
|
|
2118
3798
|
"max-[768px]:px-[1.2rem] max-[768px]:py-[0.8rem]",
|
|
2119
|
-
"max-[480px]:px-4 max-[480px]:py-[0.7rem]
|
|
2120
|
-
active ? "font-semibold text-[var(--color-accent,#e6c87e)]" : "text-white/
|
|
3799
|
+
"max-[480px]:px-4 max-[480px]:py-[0.7rem]",
|
|
3800
|
+
active ? "font-semibold text-[var(--color-accent,#e6c87e)] hover:text-[var(--color-accent,#f1d27a)]" : "text-white/65 hover:text-white"
|
|
2121
3801
|
),
|
|
2122
3802
|
style: {
|
|
2123
3803
|
borderBottom: active ? "2px solid var(--color-accent, #e6c87e)" : "2px solid transparent",
|
|
@@ -2160,10 +3840,10 @@ var PropertySubheader = React5.forwardRef(
|
|
|
2160
3840
|
onClick: action.onClick,
|
|
2161
3841
|
className: cn(
|
|
2162
3842
|
"flex shrink-0 items-center gap-[5px] whitespace-nowrap",
|
|
2163
|
-
"rounded",
|
|
2164
|
-
"border border-white/
|
|
3843
|
+
"rounded-[6px]",
|
|
3844
|
+
"border border-white/15",
|
|
2165
3845
|
"bg-transparent",
|
|
2166
|
-
"px-3 py-1.5 text-[14px] font-
|
|
3846
|
+
"px-3.5 py-1.5 text-[14px] font-medium",
|
|
2167
3847
|
"transition-all",
|
|
2168
3848
|
"max-[768px]:px-2.5 max-[768px]:py-[5px] max-[768px]:text-[13px]",
|
|
2169
3849
|
"hover:bg-white/5 hover:border-[var(--color-accent,#e6c87e)] hover:text-[var(--color-accent,#e6c87e)]"
|
|
@@ -2184,6 +3864,6 @@ var PropertySubheader = React5.forwardRef(
|
|
|
2184
3864
|
);
|
|
2185
3865
|
PropertySubheader.displayName = "PropertySubheader";
|
|
2186
3866
|
|
|
2187
|
-
export { Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, HousePositionSlider, Orderbook, PortfolioSummary, PriceChart, PropertyCompareBar, PropertyHeroHeader, PropertyNewsUpdates, PropertySubheader, PropertyTour, YourOrders, badgeVariants, buttonVariants };
|
|
3867
|
+
export { Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, HousePositionSlider, LoafLiquidityBadge, Orderbook, PortfolioSummary, PriceChart, PropertyCompareBar, PropertyHeroHeader, PropertyNewsUpdates, PropertySubheader, PropertyTour, YourOrders, badgeVariants, buttonVariants };
|
|
2188
3868
|
//# sourceMappingURL=index.mjs.map
|
|
2189
3869
|
//# sourceMappingURL=index.mjs.map
|