@loafmarkets/ui 0.1.342 → 0.1.344

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2514,6 +2514,11 @@ var PropertyTour = React5__namespace.forwardRef(
2514
2514
  ...props
2515
2515
  }, ref) => {
2516
2516
  const videoRef = React5__namespace.useRef(null);
2517
+ React5__namespace.useEffect(() => {
2518
+ if (videoRef.current && src) {
2519
+ videoRef.current.load();
2520
+ }
2521
+ }, [src]);
2517
2522
  React5__namespace.useEffect(() => {
2518
2523
  const video = videoRef.current;
2519
2524
  if (!video) return;
@@ -6778,62 +6783,68 @@ var LoginPopup = ({
6778
6783
  ] }) });
6779
6784
  }
6780
6785
  if (view === "otp") {
6781
- return /* @__PURE__ */ jsxRuntime.jsx(Overlay2, { onClick: onClose, children: /* @__PURE__ */ jsxRuntime.jsxs(PopupContainer, { onClick: (event) => event.stopPropagation(), children: [
6782
- /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { onClick: onClose, "aria-label": "Close login popup", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) }),
6783
- /* @__PURE__ */ jsxRuntime.jsxs(BackButton, { onClick: () => setView("email"), children: [
6784
- /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" }) }),
6785
- "Back"
6786
- ] }),
6787
- /* @__PURE__ */ jsxRuntime.jsxs(Title, { children: [
6788
- /* @__PURE__ */ jsxRuntime.jsx(LogoContainer3, { children: /* @__PURE__ */ jsxRuntime.jsx(LogoImage, { src: logoSrc, alt: logoAlt }) }),
6789
- "Enter Verification Code"
6790
- ] }),
6791
- /* @__PURE__ */ jsxRuntime.jsxs(InfoText, { style: { marginBottom: "1.5rem" }, children: [
6792
- "We sent a code to ",
6793
- /* @__PURE__ */ jsxRuntime.jsx("strong", { style: { color: "#eaecef" }, children: email })
6794
- ] }),
6795
- /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleVerifyCode, children: /* @__PURE__ */ jsxRuntime.jsxs(EmailFormContainer, { children: [
6796
- /* @__PURE__ */ jsxRuntime.jsx(OTPContainer, { children: otp.map((digit, index) => /* @__PURE__ */ jsxRuntime.jsx(
6797
- OTPInput,
6798
- {
6799
- id: `otp-${index}`,
6800
- type: "text",
6801
- inputMode: "numeric",
6802
- maxLength: 1,
6803
- value: digit,
6804
- onChange: (event) => handleOTPChange(index, event.target.value),
6805
- onKeyDown: (event) => handleOTPKeyDown(index, event),
6806
- onInput: (event) => handleOTPInput(index, event),
6807
- onPaste: handleOTPPaste,
6808
- autoComplete: index === 0 ? "one-time-code" : "off",
6809
- autoFocus: index === 0
6810
- },
6811
- index
6812
- )) }),
6813
- /* @__PURE__ */ jsxRuntime.jsx(SubmitButton, { type: "submit", disabled: loading || otp.join("").length !== OTP_INPUT_LENGTH, children: loading ? "Verifying..." : "Verify" }),
6814
- error && /* @__PURE__ */ jsxRuntime.jsx(StatusMessage, { $error: true, children: error })
6815
- ] }) }),
6816
- /* @__PURE__ */ jsxRuntime.jsxs(InfoText, { children: [
6817
- "Didn't receive a code?",
6818
- " ",
6819
- /* @__PURE__ */ jsxRuntime.jsx(
6820
- "button",
6821
- {
6822
- type: "button",
6823
- onClick: (event) => {
6824
- event.preventDefault();
6825
- void handleSendCode(event);
6826
- },
6827
- style: {
6828
- background: "none",
6829
- border: "none",
6830
- color: "#f0b90b",
6831
- cursor: "pointer",
6832
- textDecoration: "underline"
6786
+ return /* @__PURE__ */ jsxRuntime.jsx(Overlay2, { onClick: loading ? void 0 : onClose, children: /* @__PURE__ */ jsxRuntime.jsxs(PopupContainer, { onClick: (event) => event.stopPropagation(), children: [
6787
+ !loading && /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { onClick: onClose, "aria-label": "Close login popup", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) }),
6788
+ loading ? /* @__PURE__ */ jsxRuntime.jsxs(AccountCreationLoader, { children: [
6789
+ /* @__PURE__ */ jsxRuntime.jsx(SpinnerRing, {}),
6790
+ /* @__PURE__ */ jsxRuntime.jsx(AccountCreationText, { children: isSignUp ? "Preparing your account\u2026" : "Signing you in\u2026" }),
6791
+ /* @__PURE__ */ jsxRuntime.jsx(AccountCreationSubtext, { children: "This may take a few seconds" })
6792
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6793
+ /* @__PURE__ */ jsxRuntime.jsxs(BackButton, { onClick: () => setView("email"), children: [
6794
+ /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" }) }),
6795
+ "Back"
6796
+ ] }),
6797
+ /* @__PURE__ */ jsxRuntime.jsxs(Title, { children: [
6798
+ /* @__PURE__ */ jsxRuntime.jsx(LogoContainer3, { children: /* @__PURE__ */ jsxRuntime.jsx(LogoImage, { src: logoSrc, alt: logoAlt }) }),
6799
+ "Enter Verification Code"
6800
+ ] }),
6801
+ /* @__PURE__ */ jsxRuntime.jsxs(InfoText, { style: { marginBottom: "1.5rem" }, children: [
6802
+ "We sent a code to ",
6803
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { style: { color: "#eaecef" }, children: email })
6804
+ ] }),
6805
+ /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleVerifyCode, children: /* @__PURE__ */ jsxRuntime.jsxs(EmailFormContainer, { children: [
6806
+ /* @__PURE__ */ jsxRuntime.jsx(OTPContainer, { children: otp.map((digit, index) => /* @__PURE__ */ jsxRuntime.jsx(
6807
+ OTPInput,
6808
+ {
6809
+ id: `otp-${index}`,
6810
+ type: "text",
6811
+ inputMode: "numeric",
6812
+ maxLength: 1,
6813
+ value: digit,
6814
+ onChange: (event) => handleOTPChange(index, event.target.value),
6815
+ onKeyDown: (event) => handleOTPKeyDown(index, event),
6816
+ onInput: (event) => handleOTPInput(index, event),
6817
+ onPaste: handleOTPPaste,
6818
+ autoComplete: index === 0 ? "one-time-code" : "off",
6819
+ autoFocus: index === 0
6833
6820
  },
6834
- children: "Resend"
6835
- }
6836
- )
6821
+ index
6822
+ )) }),
6823
+ /* @__PURE__ */ jsxRuntime.jsx(SubmitButton, { type: "submit", disabled: otp.join("").length !== OTP_INPUT_LENGTH, children: "Verify" }),
6824
+ error && /* @__PURE__ */ jsxRuntime.jsx(StatusMessage, { $error: true, children: error })
6825
+ ] }) }),
6826
+ /* @__PURE__ */ jsxRuntime.jsxs(InfoText, { children: [
6827
+ "Didn't receive a code?",
6828
+ " ",
6829
+ /* @__PURE__ */ jsxRuntime.jsx(
6830
+ "button",
6831
+ {
6832
+ type: "button",
6833
+ onClick: (event) => {
6834
+ event.preventDefault();
6835
+ void handleSendCode(event);
6836
+ },
6837
+ style: {
6838
+ background: "none",
6839
+ border: "none",
6840
+ color: "#f0b90b",
6841
+ cursor: "pointer",
6842
+ textDecoration: "underline"
6843
+ },
6844
+ children: "Resend"
6845
+ }
6846
+ )
6847
+ ] })
6837
6848
  ] })
6838
6849
  ] }) });
6839
6850
  }
@@ -7658,6 +7669,37 @@ var MiniLiveFeed = () => {
7658
7669
  }
7659
7670
  );
7660
7671
  };
7672
+ var AccountCreationLoader = styled9__default.default.div`
7673
+ display: flex;
7674
+ flex-direction: column;
7675
+ align-items: center;
7676
+ justify-content: center;
7677
+ padding: 2rem 0;
7678
+ gap: 1rem;
7679
+ `;
7680
+ var AccountCreationText = styled9__default.default.p`
7681
+ color: var(--color-text, #eaecef);
7682
+ font-size: 1rem;
7683
+ font-weight: 500;
7684
+ margin: 0;
7685
+ `;
7686
+ var AccountCreationSubtext = styled9__default.default.p`
7687
+ color: var(--color-text-secondary, #848e9c);
7688
+ font-size: 0.8rem;
7689
+ margin: 0;
7690
+ `;
7691
+ var SpinnerRing = styled9__default.default.div`
7692
+ width: 40px;
7693
+ height: 40px;
7694
+ border: 3px solid rgba(230, 198, 86, 0.2);
7695
+ border-top-color: var(--color-accent, #e6c656);
7696
+ border-radius: 50%;
7697
+ animation: spin 0.8s linear infinite;
7698
+
7699
+ @keyframes spin {
7700
+ to { transform: rotate(360deg); }
7701
+ }
7702
+ `;
7661
7703
  LoginPopup.displayName = "LoginPopup";
7662
7704
  var PropertyCompareBar = React5__namespace.forwardRef(
7663
7705
  ({
@@ -8633,7 +8675,7 @@ function PropertyOverview({
8633
8675
  const tokenMarketCap = tokenPriceValue && resolvedTokensIssued ? tokenPriceValue * resolvedTokensIssued : null;
8634
8676
  const currentDividendYield = tokenMarketCap && monthlyCoupon > 0 ? (monthlyCoupon * 12 / tokenMarketCap * 100).toFixed(2) : null;
8635
8677
  const loadingSkeleton = /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { width: 90, height: 18 });
8636
- const rawPropertyType = overviewData?.propertyType ?? propertyTypeLabel ?? null;
8678
+ const rawPropertyType = propertyTypeLabel ?? null;
8637
8679
  const resolvedPropertyType = rawPropertyType?.toLowerCase() === "house" ? "Residential" : rawPropertyType;
8638
8680
  const galleryImages = images ?? [];
8639
8681
  const chainValue = /* @__PURE__ */ jsxRuntime.jsxs(ChainLogos, { children: [
@@ -8794,102 +8836,7 @@ function PropertyOverview({
8794
8836
  item.icon && /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureIcon, { children: item.icon }),
8795
8837
  item.value && /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureValue, { children: item.value }),
8796
8838
  /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureLabel, { children: item.label })
8797
- ] }, i)) }),
8798
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetsPanel, { children: [
8799
- /* @__PURE__ */ jsxRuntime.jsx(StatsColumnHeader, { children: "Comparable Assets" }),
8800
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetsGrid, { children: [
8801
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStrip, { children: [
8802
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripImg, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/boondabah.jpg", alt: "Boondabah", onError: (e) => {
8803
- e.target.style.display = "none";
8804
- } }) }),
8805
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripInfo, { children: [
8806
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripName, { children: [
8807
- "Boondabah ",
8808
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetBadge, { children: "HERITAGE" })
8809
- ] }),
8810
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripAddr, { children: "200A Raglan St, Mosman" })
8811
- ] }),
8812
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripRight, { children: [
8813
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripPrice, { children: "$16.07M" }),
8814
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripGrowth, { style: { color: "#4ade80" }, children: "+119%" })
8815
- ] }),
8816
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltip, { children: [
8817
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipArrow, {}),
8818
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipImg, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/boondabah.jpg", alt: "Boondabah", onError: (e) => {
8819
- e.target.style.display = "none";
8820
- } }) }),
8821
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipTitle, { children: [
8822
- "Boondabah ",
8823
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetBadge, { children: "HERITAGE" })
8824
- ] }),
8825
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipAddr, { children: "200A Raglan St, Mosman" }),
8826
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipStats, { children: [
8827
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8828
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Sale Price" }),
8829
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "$16.07M" })
8830
- ] }),
8831
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8832
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Land" }),
8833
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "2,066 sqm" })
8834
- ] }),
8835
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8836
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Era" }),
8837
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "c.1905" })
8838
- ] }),
8839
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8840
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Growth" }),
8841
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "#4ade80" }, children: "+119%" })
8842
- ] })
8843
- ] })
8844
- ] })
8845
- ] }),
8846
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStrip, { children: [
8847
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripImg, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/bradleys.jpg", alt: "Dobroyd", onError: (e) => {
8848
- e.target.style.display = "none";
8849
- } }) }),
8850
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripInfo, { children: [
8851
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripName, { children: [
8852
- "Dobroyd ",
8853
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetBadge, { children: "HERITAGE" })
8854
- ] }),
8855
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripAddr, { children: "7 Bradleys Head Rd, Mosman" })
8856
- ] }),
8857
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripRight, { children: [
8858
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripPrice, { children: "$27.96M" }),
8859
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripGrowth, { style: { color: "#4ade80" }, children: "+617%" })
8860
- ] }),
8861
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltip, { children: [
8862
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipArrow, {}),
8863
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipImg, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/bradleys.jpg", alt: "Dobroyd", onError: (e) => {
8864
- e.target.style.display = "none";
8865
- } }) }),
8866
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipTitle, { children: [
8867
- "Dobroyd ",
8868
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetBadge, { children: "HERITAGE" })
8869
- ] }),
8870
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipAddr, { children: "7 Bradleys Head Rd, Mosman" }),
8871
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipStats, { children: [
8872
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8873
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Sale Price" }),
8874
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "$27.96M" })
8875
- ] }),
8876
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8877
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Land" }),
8878
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "2,592 sqm" })
8879
- ] }),
8880
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8881
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Era" }),
8882
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "c.1905" })
8883
- ] }),
8884
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8885
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Growth" }),
8886
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "#4ade80" }, children: "+617%" })
8887
- ] })
8888
- ] })
8889
- ] })
8890
- ] })
8891
- ] })
8892
- ] })
8839
+ ] }, i)) })
8893
8840
  ] }),
8894
8841
  /* @__PURE__ */ jsxRuntime.jsxs(StatsColumn, { children: [
8895
8842
  /* @__PURE__ */ jsxRuntime.jsx(StatsColumnHeader, { children: "Asset Specification" }),
@@ -9009,47 +8956,6 @@ function PropertyOverview({
9009
8956
  ] })
9010
8957
  ] })
9011
8958
  ] }),
9012
- /* @__PURE__ */ jsxRuntime.jsxs(MapCompRow, { children: [
9013
- /* @__PURE__ */ jsxRuntime.jsx(MapCompLeft, { children: /* @__PURE__ */ jsxRuntime.jsx(
9014
- GalleryMapSection,
9015
- {
9016
- images: galleryImages.map((img) => ({ src: img.imageUrl, title: img.title, subtitle: img.subtitle })),
9017
- categories: galleryCategories,
9018
- propertyLocation: location,
9019
- videoUrl,
9020
- tokenName,
9021
- onPhotoClick: onPhotosClick,
9022
- hideGallery: true,
9023
- hideSuburb: true
9024
- }
9025
- ) }),
9026
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanel, { children: [
9027
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelTitle, { children: [
9028
- "Suburb Profile (",
9029
- location.split(",")[0]?.trim() || location,
9030
- ")"
9031
- ] }),
9032
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelGrid, { children: [
9033
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelStat, { children: [
9034
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatLabel, { children: "Median House Price" }),
9035
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatValue, { children: "$5.5M" })
9036
- ] }),
9037
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelStat, { children: [
9038
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatLabel, { children: "5yr Growth" }),
9039
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatValue, { children: "+42%" })
9040
- ] }),
9041
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelStat, { children: [
9042
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatLabel, { children: "Suburb Rank" }),
9043
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatValue, { children: "Top 1%" })
9044
- ] }),
9045
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelStat, { children: [
9046
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatLabel, { children: "Avg. Days on Market" }),
9047
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatValue, { children: "28" })
9048
- ] })
9049
- ] }),
9050
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelDesc, { children: "One of Sydney's most prestigious harbourside suburbs, consistently ranked among Australia's highest-value residential markets. Strong capital growth driven by limited supply, heritage conservation overlays, and international buyer demand." })
9051
- ] })
9052
- ] }),
9053
8959
  /* @__PURE__ */ jsxRuntime.jsxs(AssetBentoNarratives, { children: [
9054
8960
  /* @__PURE__ */ jsxRuntime.jsxs(NarrativeCard, { children: [
9055
8961
  /* @__PURE__ */ jsxRuntime.jsx(NarrativeIcon, { children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2" }) }) }),
@@ -9080,21 +8986,11 @@ function PropertyOverview({
9080
8986
  /* @__PURE__ */ jsxRuntime.jsx(THLabel, { children: "Hours (AEST)" }),
9081
8987
  /* @__PURE__ */ jsxRuntime.jsx(THLabel, { children: "Days" })
9082
8988
  ] }),
9083
- /* @__PURE__ */ jsxRuntime.jsxs(TradingHoursRow, { children: [
8989
+ /* @__PURE__ */ jsxRuntime.jsxs(TradingHoursRow, { $last: true, children: [
9084
8990
  /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Continuous Trading" }),
9085
8991
  /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "10:00 \u2013 16:00" }),
9086
8992
  /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Mon \u2013 Fri" })
9087
8993
  ] }),
9088
- /* @__PURE__ */ jsxRuntime.jsxs(TradingHoursRow, { children: [
9089
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "After Hours" }),
9090
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "16:00 \u2013 20:00" }),
9091
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Mon \u2013 Fri" })
9092
- ] }),
9093
- /* @__PURE__ */ jsxRuntime.jsxs(TradingHoursRow, { $last: true, children: [
9094
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Pre-Market" }),
9095
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "07:00 \u2013 10:00" }),
9096
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Mon \u2013 Fri" })
9097
- ] }),
9098
8994
  /* @__PURE__ */ jsxRuntime.jsx(TradingHoursNote, { children: "All times are Australian Eastern Standard Time (AEST/AEDT). Markets are closed on Australian public holidays." })
9099
8995
  ] })
9100
8996
  ] }),
@@ -9343,66 +9239,6 @@ var GallerySpecLeft = styled9__default.default.div`
9343
9239
  flex-direction: column;
9344
9240
  gap: 0.75rem;
9345
9241
  `;
9346
- var MapCompRow = styled9__default.default.div`
9347
- display: grid;
9348
- grid-template-columns: 1fr 380px;
9349
- gap: 0.75rem;
9350
- margin-top: 0.75rem;
9351
- align-items: stretch;
9352
- @media (max-width: 900px) { grid-template-columns: 1fr; }
9353
- `;
9354
- var MapCompLeft = styled9__default.default.div`
9355
- min-width: 0;
9356
- overflow: hidden;
9357
- `;
9358
- var SuburbPanel = styled9__default.default.div`
9359
- background: #111111;
9360
- border: 1px solid rgba(255,255,255,0.1);
9361
- border-radius: 12px;
9362
- padding: 1.25rem;
9363
- display: flex;
9364
- flex-direction: column;
9365
- gap: 0.75rem;
9366
- `;
9367
- var SuburbPanelTitle = styled9__default.default.div`
9368
- font-size: 0.65rem;
9369
- color: #D4AF37;
9370
- text-transform: uppercase;
9371
- letter-spacing: 0.12em;
9372
- font-weight: 600;
9373
- padding-bottom: 0.75rem;
9374
- border-bottom: 1px solid rgba(255,255,255,0.06);
9375
- `;
9376
- var SuburbPanelGrid = styled9__default.default.div`
9377
- display: grid;
9378
- grid-template-columns: 1fr 1fr;
9379
- gap: 0.5rem;
9380
- `;
9381
- var SuburbPanelStat = styled9__default.default.div`
9382
- background: rgba(255,255,255,0.03);
9383
- border-radius: 6px;
9384
- padding: 0.5rem 0.65rem;
9385
- border: 1px solid rgba(255,255,255,0.04);
9386
- `;
9387
- var SuburbPanelStatLabel = styled9__default.default.div`
9388
- font-size: 0.6rem;
9389
- color: rgba(255,255,255,0.4);
9390
- text-transform: uppercase;
9391
- letter-spacing: 0.06em;
9392
- margin-bottom: 0.2rem;
9393
- `;
9394
- var SuburbPanelStatValue = styled9__default.default.div`
9395
- font-size: 0.9rem;
9396
- font-weight: 600;
9397
- color: #fff;
9398
- font-variant-numeric: tabular-nums;
9399
- `;
9400
- var SuburbPanelDesc = styled9__default.default.p`
9401
- margin: 0;
9402
- font-size: 0.75rem;
9403
- color: rgba(255,255,255,0.45);
9404
- line-height: 1.5;
9405
- `;
9406
9242
  var AssetBentoNarratives = styled9__default.default.div`
9407
9243
  display: grid;
9408
9244
  grid-template-columns: repeat(3, 1fr);
@@ -9777,182 +9613,6 @@ var TimelineHoldPeriod = styled9__default.default.span`
9777
9613
  color: rgba(255,255,255,0.25);
9778
9614
  font-weight: 400;
9779
9615
  `;
9780
- var CompAssetsPanel = styled9__default.default.div`
9781
- background: #111111;
9782
- border: 1px solid rgba(255,255,255,0.1);
9783
- border-radius: 12px;
9784
- padding: 0.75rem 1rem;
9785
- display: flex;
9786
- flex-direction: column;
9787
- gap: 0.35rem;
9788
- `;
9789
- var CompAssetsGrid = styled9__default.default.div`
9790
- display: grid;
9791
- grid-template-columns: 1fr 1fr;
9792
- gap: 0.5rem;
9793
- @media (max-width: 768px) {
9794
- grid-template-columns: 1fr;
9795
- }
9796
- `;
9797
- var CompAssetStrip = styled9__default.default.div`
9798
- position: relative;
9799
- display: flex;
9800
- align-items: center;
9801
- gap: 0.75rem;
9802
- background: rgba(255,255,255,0.02);
9803
- border: 1px solid rgba(255,255,255,0.06);
9804
- border-radius: 10px;
9805
- padding: 0.6rem 1rem 0.6rem 0.6rem;
9806
- transition: border-color 0.2s, background 0.2s;
9807
- cursor: pointer;
9808
- &:hover {
9809
- border-color: rgba(212,175,55,0.3);
9810
- background: rgba(255,255,255,0.03);
9811
- }
9812
- &:hover > div:last-child {
9813
- display: block;
9814
- }
9815
- `;
9816
- var CompAssetStripImg = styled9__default.default.div`
9817
- width: 52px;
9818
- height: 52px;
9819
- border-radius: 8px;
9820
- overflow: hidden;
9821
- flex-shrink: 0;
9822
- background: rgba(255,255,255,0.05);
9823
- img {
9824
- width: 100%;
9825
- height: 100%;
9826
- object-fit: cover;
9827
- }
9828
- `;
9829
- var CompAssetStripInfo = styled9__default.default.div`
9830
- flex: 1;
9831
- min-width: 0;
9832
- display: flex;
9833
- flex-direction: column;
9834
- gap: 2px;
9835
- `;
9836
- var CompAssetStripName = styled9__default.default.div`
9837
- font-size: 0.9rem;
9838
- font-weight: 600;
9839
- color: #fff;
9840
- display: flex;
9841
- align-items: center;
9842
- gap: 0.4rem;
9843
- `;
9844
- var CompAssetStripAddr = styled9__default.default.div`
9845
- font-size: 0.72rem;
9846
- color: rgba(255,255,255,0.4);
9847
- `;
9848
- var CompAssetStripRight = styled9__default.default.div`
9849
- flex-shrink: 0;
9850
- text-align: right;
9851
- display: flex;
9852
- flex-direction: column;
9853
- align-items: flex-end;
9854
- gap: 2px;
9855
- `;
9856
- var CompAssetStripPrice = styled9__default.default.div`
9857
- font-size: 1rem;
9858
- font-weight: 700;
9859
- color: #fff;
9860
- font-variant-numeric: tabular-nums;
9861
- white-space: nowrap;
9862
- `;
9863
- var CompAssetStripGrowth = styled9__default.default.div`
9864
- font-size: 0.72rem;
9865
- font-weight: 500;
9866
- font-variant-numeric: tabular-nums;
9867
- `;
9868
- var CompAssetBadge = styled9__default.default.span`
9869
- font-size: 0.52rem;
9870
- font-weight: 600;
9871
- text-transform: uppercase;
9872
- letter-spacing: 0.06em;
9873
- color: #4ade80;
9874
- background: rgba(74,222,128,0.1);
9875
- border: 1px solid rgba(74,222,128,0.2);
9876
- padding: 1px 6px;
9877
- border-radius: 4px;
9878
- white-space: nowrap;
9879
- `;
9880
- var CompAssetTooltip = styled9__default.default.div`
9881
- display: none;
9882
- position: absolute;
9883
- bottom: calc(100% + 10px);
9884
- left: 50%;
9885
- transform: translateX(-50%);
9886
- width: 280px;
9887
- background: #1a1d24;
9888
- border: 1px solid rgba(255,255,255,0.1);
9889
- border-radius: 8px;
9890
- padding: 0.75rem;
9891
- z-index: 100;
9892
- box-shadow: 0 8px 24px rgba(0,0,0,0.5);
9893
- pointer-events: none;
9894
- `;
9895
- var CompAssetTooltipArrow = styled9__default.default.div`
9896
- position: absolute;
9897
- bottom: -5px;
9898
- left: 50%;
9899
- transform: translateX(-50%) rotate(45deg);
9900
- width: 8px;
9901
- height: 8px;
9902
- background: #1a1d24;
9903
- border-right: 1px solid rgba(255,255,255,0.1);
9904
- border-bottom: 1px solid rgba(255,255,255,0.1);
9905
- `;
9906
- var CompAssetTooltipImg = styled9__default.default.div`
9907
- width: 100%;
9908
- height: 120px;
9909
- border-radius: 6px;
9910
- overflow: hidden;
9911
- margin-bottom: 0.6rem;
9912
- background: rgba(255,255,255,0.03);
9913
- img {
9914
- width: 100%;
9915
- height: 100%;
9916
- object-fit: cover;
9917
- }
9918
- `;
9919
- var CompAssetTooltipTitle = styled9__default.default.div`
9920
- font-size: 0.8rem;
9921
- font-weight: 600;
9922
- color: #fff;
9923
- display: flex;
9924
- align-items: center;
9925
- gap: 0.4rem;
9926
- margin-bottom: 2px;
9927
- `;
9928
- var CompAssetTooltipAddr = styled9__default.default.div`
9929
- font-size: 0.65rem;
9930
- color: rgba(255,255,255,0.4);
9931
- margin-bottom: 0.5rem;
9932
- `;
9933
- var CompAssetTooltipStats = styled9__default.default.div`
9934
- display: flex;
9935
- flex-direction: column;
9936
- gap: 0;
9937
- `;
9938
- var CompAssetTooltipRow = styled9__default.default.div`
9939
- display: flex;
9940
- justify-content: space-between;
9941
- align-items: center;
9942
- padding: 0.3rem 0;
9943
- border-bottom: 1px solid rgba(255,255,255,0.04);
9944
- &:last-child { border-bottom: none; }
9945
- span:first-child {
9946
- font-size: 0.7rem;
9947
- color: rgba(255,255,255,0.4);
9948
- }
9949
- span:last-child {
9950
- font-size: 0.75rem;
9951
- font-weight: 500;
9952
- color: #fff;
9953
- font-variant-numeric: tabular-nums;
9954
- }
9955
- `;
9956
9616
  var FeaturesPanel = styled9__default.default.div`
9957
9617
  display: flex;
9958
9618
  flex-wrap: wrap;