@loafmarkets/ui 0.1.38 → 0.1.40

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
@@ -7295,7 +7295,7 @@ function GalleryMapSection({
7295
7295
  const [carouselIndex, setCarouselIndex] = React5.useState(0);
7296
7296
  const [showVideo, setShowVideo] = React5.useState(false);
7297
7297
  const [autoPlaying, setAutoPlaying] = React5.useState(autoPlay);
7298
- const resolvedMapUrl = mapUrl ?? (tokenName ? `https://demo.loafmarkets.com/map/${tokenName}?embed=true&zoom=14&hideOthers=true` : "about:blank");
7298
+ const resolvedMapUrl = mapUrl ?? (tokenName ? `/map/${tokenName}?embed=true&zoom=14&hideOthers=true` : "about:blank");
7299
7299
  React5.useEffect(() => {
7300
7300
  if (!autoPlaying || images.length <= 1) return;
7301
7301
  const interval = setInterval(() => {
@@ -8970,6 +8970,16 @@ var IPOAssetSelector = styled24__default.default.div`
8970
8970
  z-index: 10;
8971
8971
  transition: all 0.3s ease;
8972
8972
  &:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.4); border-color: rgba(255,255,255,0.15); }
8973
+
8974
+ @media (max-width: 768px) {
8975
+ flex-wrap: wrap;
8976
+ padding: 0.75rem 1rem;
8977
+ gap: 0.5rem;
8978
+ }
8979
+
8980
+ @media (max-width: 480px) {
8981
+ padding: 0.6rem 0.75rem;
8982
+ }
8973
8983
  `;
8974
8984
  var AssetSelectorDropdown = styled24__default.default.div`
8975
8985
  display: flex;
@@ -8989,6 +8999,15 @@ var AssetName = styled24__default.default.div`
8989
8999
  letter-spacing: -0.02em;
8990
9000
  svg { margin-left: 0.75rem; transition: transform 0.3s cubic-bezier(0.4,0,0.2,1); opacity: 0.7; }
8991
9001
  &:hover svg { opacity: 1; }
9002
+
9003
+ @media (max-width: 768px) {
9004
+ font-size: 1rem;
9005
+ }
9006
+
9007
+ @media (max-width: 480px) {
9008
+ font-size: 0.9rem;
9009
+ svg { margin-left: 0.4rem; width: 16px; height: 16px; }
9010
+ }
8992
9011
  `;
8993
9012
  var SelectorMetrics = styled24__default.default.div`
8994
9013
  display: flex;
@@ -9000,6 +9019,20 @@ var SelectorMetrics = styled24__default.default.div`
9000
9019
  background: rgba(255,255,255,0.03);
9001
9020
  border-radius: 8px;
9002
9021
  border: 1px solid rgba(255,255,255,0.05);
9022
+
9023
+ @media (max-width: 768px) {
9024
+ gap: 0.6rem;
9025
+ padding: 0.4rem 0.75rem;
9026
+ margin-right: 0;
9027
+ }
9028
+
9029
+ @media (max-width: 480px) {
9030
+ width: 100%;
9031
+ justify-content: center;
9032
+ margin-left: 0;
9033
+ padding: 0.35rem 0.5rem;
9034
+ gap: 0.5rem;
9035
+ }
9003
9036
  `;
9004
9037
  var MetricLabel2 = styled24__default.default.span`
9005
9038
  font-size: 0.75rem;
@@ -9008,11 +9041,24 @@ var MetricLabel2 = styled24__default.default.span`
9008
9041
  letter-spacing: 0.05em;
9009
9042
  font-weight: 500;
9010
9043
  margin-right: 0.5rem;
9044
+
9045
+ @media (max-width: 768px) {
9046
+ font-size: 0.65rem;
9047
+ margin-right: 0.35rem;
9048
+ }
9011
9049
  `;
9012
9050
  var MetricValue = styled24__default.default.span`
9013
9051
  font-size: 1.25rem;
9014
9052
  font-weight: 700;
9015
9053
  color: ${(p) => p.$accent ? "#D4AF37" : "#fff"};
9054
+
9055
+ @media (max-width: 768px) {
9056
+ font-size: 1.05rem;
9057
+ }
9058
+
9059
+ @media (max-width: 480px) {
9060
+ font-size: 0.95rem;
9061
+ }
9016
9062
  `;
9017
9063
  var MetricChange = styled24__default.default.span`
9018
9064
  font-size: 0.85rem;
@@ -9021,6 +9067,10 @@ var MetricChange = styled24__default.default.span`
9021
9067
  display: flex;
9022
9068
  align-items: center;
9023
9069
  gap: 0.25rem;
9070
+
9071
+ @media (max-width: 768px) {
9072
+ font-size: 0.75rem;
9073
+ }
9024
9074
  `;
9025
9075
  var Separator = styled24__default.default.span`
9026
9076
  font-size: 1rem;
@@ -9039,6 +9089,11 @@ var IPODropdown = styled24__default.default.div`
9039
9089
  max-height: 360px;
9040
9090
  overflow-y: auto;
9041
9091
  border: 1px solid rgba(255,255,255,0.08);
9092
+
9093
+ @media (max-width: 480px) {
9094
+ max-height: 280px;
9095
+ border-radius: 12px;
9096
+ }
9042
9097
  animation: slideDown 0.3s cubic-bezier(0.4,0,0.2,1);
9043
9098
  @keyframes slideDown {
9044
9099
  from { opacity: 0; transform: translateY(-10px); }
@@ -9833,7 +9888,7 @@ function OrderPanel({
9833
9888
  "input",
9834
9889
  {
9835
9890
  type: "text",
9836
- inputMode: "numeric",
9891
+ inputMode: "decimal",
9837
9892
  value: isPayInputFocused ? payInputValue : orderTotal.toLocaleString(),
9838
9893
  onFocus: (e) => {
9839
9894
  setIsPayInputFocused(true);
@@ -9841,7 +9896,12 @@ function OrderPanel({
9841
9896
  e.target.select();
9842
9897
  },
9843
9898
  onBlur: handlePayBlur,
9844
- onChange: (e) => setPayInputValue(e.target.value),
9899
+ onChange: (e) => {
9900
+ const v = e.target.value;
9901
+ if (v === "" || /^\d*\.?\d{0,2}$/.test(v)) {
9902
+ setPayInputValue(v);
9903
+ }
9904
+ },
9845
9905
  onKeyDown: (e) => {
9846
9906
  if (e.key === "Enter") {
9847
9907
  e.target.blur();
@@ -9907,7 +9967,12 @@ function OrderPanel({
9907
9967
  e.target.select();
9908
9968
  },
9909
9969
  onBlur: handleReceiveBlur,
9910
- onChange: (e) => setReceiveInputValue(e.target.value),
9970
+ onChange: (e) => {
9971
+ const v = e.target.value;
9972
+ if (v === "" || /^\d+$/.test(v)) {
9973
+ setReceiveInputValue(v);
9974
+ }
9975
+ },
9911
9976
  onKeyDown: (e) => {
9912
9977
  if (e.key === "Enter") {
9913
9978
  e.target.blur();
@@ -10038,9 +10103,10 @@ var Panel2 = styled24__default.default.div`
10038
10103
  }
10039
10104
  @media (max-width: 768px) {
10040
10105
  padding: 1rem;
10041
- input[style*="font-size: 1.75rem"] {
10042
- font-size: 1.25rem !important;
10043
- }
10106
+ }
10107
+ @media (max-width: 480px) {
10108
+ padding: 0.75rem;
10109
+ border-radius: 6px;
10044
10110
  }
10045
10111
  `;
10046
10112
  var PanelHeader2 = styled24__default.default.div`
@@ -10074,6 +10140,11 @@ var Card2 = styled24__default.default.div`
10074
10140
  border: 1px solid rgba(255,255,255,0.15);
10075
10141
  border-radius: 12px;
10076
10142
  padding: 1rem 1.25rem;
10143
+
10144
+ @media (max-width: 480px) {
10145
+ padding: 0.75rem 1rem;
10146
+ border-radius: 10px;
10147
+ }
10077
10148
  `;
10078
10149
  var CardLabel = styled24__default.default.div`
10079
10150
  font-size: 0.75rem;
@@ -10092,6 +10163,10 @@ var CardInputRow = styled24__default.default.div`
10092
10163
  font-weight: 600;
10093
10164
  color: #fff;
10094
10165
  width: 100%;
10166
+
10167
+ @media (max-width: 480px) {
10168
+ font-size: 1.35rem;
10169
+ }
10095
10170
  }
10096
10171
  span {
10097
10172
  font-size: 1rem;
@@ -10105,8 +10180,10 @@ var QuickSelectRow = styled24__default.default.div`
10105
10180
  display: flex;
10106
10181
  gap: 0.5rem;
10107
10182
  margin-top: 0.75rem;
10183
+ flex-wrap: wrap;
10108
10184
  button {
10109
10185
  flex: 1;
10186
+ min-width: 50px;
10110
10187
  padding: 0.4rem 0;
10111
10188
  font-size: 0.75rem;
10112
10189
  font-weight: 500;
@@ -10122,6 +10199,11 @@ var QuickSelectRow = styled24__default.default.div`
10122
10199
  border-color: rgba(212,175,55,0.5);
10123
10200
  color: #D4AF37;
10124
10201
  }
10202
+
10203
+ @media (max-width: 480px) {
10204
+ gap: 0.35rem;
10205
+ button { font-size: 0.7rem; padding: 0.35rem 0; }
10206
+ }
10125
10207
  `;
10126
10208
  var FundsRow = styled24__default.default.div`
10127
10209
  display: flex;
@@ -10245,6 +10327,10 @@ var BalanceValue = styled24__default.default.div`
10245
10327
  color: #0ecb81;
10246
10328
  font-weight: 600;
10247
10329
  }
10330
+
10331
+ @media (max-width: 480px) {
10332
+ font-size: 1.2rem;
10333
+ }
10248
10334
  `;
10249
10335
  var BalanceAction = styled24__default.default.div`
10250
10336
  font-size: 0.75rem;
@@ -10703,6 +10789,10 @@ var TabContainer = styled24__default.default.div`
10703
10789
  gap: 0;
10704
10790
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
10705
10791
  margin-bottom: 0.75rem;
10792
+ overflow-x: auto;
10793
+ -webkit-overflow-scrolling: touch;
10794
+ scrollbar-width: none;
10795
+ &::-webkit-scrollbar { display: none; }
10706
10796
  `;
10707
10797
  var Tab = styled24__default.default.button`
10708
10798
  background: transparent;
@@ -10710,6 +10800,8 @@ var Tab = styled24__default.default.button`
10710
10800
  padding: 0.6rem 1rem;
10711
10801
  font-size: 0.75rem;
10712
10802
  font-weight: 500;
10803
+ white-space: nowrap;
10804
+ flex-shrink: 0;
10713
10805
  color: ${({ $active }) => $active ? "#f0b90b" : "rgba(255, 255, 255, 0.4)"};
10714
10806
  cursor: pointer;
10715
10807
  transition: color 0.15s;
@@ -10980,8 +11072,14 @@ var Row2 = styled24__default.default.div`
10980
11072
  max-width: 1800px;
10981
11073
  margin-left: auto;
10982
11074
  margin-right: auto;
10983
- @media (max-width: 1024px) {
11075
+ overflow: hidden;
11076
+ @media (max-width: 768px) {
10984
11077
  grid-template-columns: 1fr;
11078
+ gap: 1rem;
11079
+ }
11080
+ & > * {
11081
+ min-width: 0;
11082
+ overflow: hidden;
10985
11083
  }
10986
11084
  `;
10987
11085
  var TradeNewsPanel = styled24__default.default.div`
@@ -10993,8 +11091,8 @@ var TradeNewsPanel = styled24__default.default.div`
10993
11091
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
10994
11092
  border: 1px solid var(--color-border);
10995
11093
  min-height: 280px;
10996
- overflow: visible !important;
10997
- @media (max-width: 1024px) {
11094
+ overflow: hidden;
11095
+ @media (max-width: 768px) {
10998
11096
  max-width: 100%;
10999
11097
  flex: 0 0 100%;
11000
11098
  }
@@ -11645,29 +11743,42 @@ var HeroGrid = styled24__default.default.div`
11645
11743
  }
11646
11744
 
11647
11745
  @media (max-width: 1024px) {
11648
- grid-template-columns: 1fr;
11649
- grid-template-rows: auto;
11746
+ display: flex;
11747
+ flex-direction: column;
11650
11748
  gap: 1rem;
11749
+ overflow: hidden;
11651
11750
 
11652
11751
  & > div:nth-child(1) {
11653
11752
  display: none;
11654
11753
  }
11655
11754
 
11656
11755
  & > div:nth-child(2) {
11657
- grid-column: 1 / -1;
11658
11756
  order: 1;
11757
+ min-width: 0;
11758
+ width: 100%;
11659
11759
  }
11660
11760
 
11661
11761
  & > div:nth-child(4) {
11662
- grid-column: 1 / -1;
11663
11762
  order: 2;
11763
+ min-width: 0;
11764
+ width: 100%;
11765
+ height: auto;
11664
11766
  }
11665
11767
 
11666
11768
  & > div:nth-child(3) {
11667
- grid-column: 1 / -1;
11668
11769
  order: 3;
11770
+ min-width: 0;
11771
+ width: 100%;
11669
11772
  }
11670
11773
  }
11774
+
11775
+ @media (max-width: 768px) {
11776
+ gap: 0.75rem;
11777
+ }
11778
+
11779
+ @media (max-width: 480px) {
11780
+ gap: 0.5rem;
11781
+ }
11671
11782
  `;
11672
11783
  var PaymentOption = styled24__default.default.div`
11673
11784
  display: flex;