@loafmarkets/ui 0.1.339 → 0.1.341

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
@@ -3163,7 +3163,7 @@ function PropertyMediaRow({
3163
3163
  videoTitle,
3164
3164
  className
3165
3165
  }) {
3166
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4 lg:flex-row lg:items-stretch lg:gap-6 lg:h-[700px]", className), children: [
3166
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4 lg:flex-row lg:items-stretch lg:gap-6 lg:h-[480px] xl:h-[700px]", className), children: [
3167
3167
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:hidden h-[320px]", children: /* @__PURE__ */ jsxRuntime.jsx(PropertyTour, { title: videoTitle, src: videoSrc, className: "h-full w-full !max-w-none" }) }),
3168
3168
  /* @__PURE__ */ jsxRuntime.jsx(
3169
3169
  "div",
@@ -11387,7 +11387,7 @@ function AssetSelectorBar({
11387
11387
  ] })
11388
11388
  ] })
11389
11389
  ] }, m.label)) }),
11390
- trailing != null && /* @__PURE__ */ jsxRuntime.jsx(TrailingWrapper, { children: trailing }),
11390
+ trailing != null && /* @__PURE__ */ jsxRuntime.jsx(TrailingWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(TrailingInner, { children: trailing }) }),
11391
11391
  isDropdownOpen && hasItems && /* @__PURE__ */ jsxRuntime.jsx(IPODropdown, { children: selectorItems.map((item) => {
11392
11392
  const isCurrent = item.tokenName === currentTokenName;
11393
11393
  const status = item.status?.toUpperCase();
@@ -11441,13 +11441,9 @@ var IPOAssetSelector = styled9__default.default.div`
11441
11441
  &:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.4); border-color: rgba(255,255,255,0.15); }
11442
11442
 
11443
11443
  @media (max-width: 768px) {
11444
- flex-wrap: wrap;
11445
- padding: 0.75rem 1rem;
11446
- gap: 0.5rem;
11447
- }
11448
-
11449
- @media (max-width: 480px) {
11444
+ flex-wrap: nowrap;
11450
11445
  padding: 0.6rem 0.75rem;
11446
+ gap: 0.4rem;
11451
11447
  }
11452
11448
  `;
11453
11449
  var AssetThumbnail = styled9__default.default.img`
@@ -11526,15 +11522,26 @@ var SelectorMetrics = styled9__default.default.div`
11526
11522
  var TrailingWrapper = styled9__default.default.div`
11527
11523
  display: flex;
11528
11524
  align-items: center;
11525
+ flex-shrink: 0;
11529
11526
 
11530
11527
  @media (max-width: 768px) {
11531
- width: 100%;
11532
11528
  overflow-x: auto;
11533
11529
  -webkit-overflow-scrolling: touch;
11534
11530
  scrollbar-width: none;
11535
11531
  &::-webkit-scrollbar { display: none; }
11536
11532
  }
11537
11533
  `;
11534
+ var TrailingInner = styled9__default.default.div`
11535
+ display: flex;
11536
+ align-items: center;
11537
+
11538
+ @media (max-width: 768px) {
11539
+ display: inline-flex;
11540
+ align-items: center;
11541
+ min-width: max-content;
11542
+ gap: 0.5rem;
11543
+ }
11544
+ `;
11538
11545
  var MetricLabel = styled9__default.default.span`
11539
11546
  font-size: 0.75rem;
11540
11547
  color: var(--color-text-secondary);
@@ -13368,6 +13375,7 @@ function OrderConfirmationModal({
13368
13375
  onConfirm();
13369
13376
  },
13370
13377
  disabled: isPlacing,
13378
+ "data-placing": isPlacing,
13371
13379
  children: isPlacing ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
13372
13380
  /* @__PURE__ */ jsxRuntime.jsx(Spinner, { "aria-hidden": true }),
13373
13381
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: placingLabel })
@@ -13399,6 +13407,7 @@ var Modal = styled9__default.default.div`
13399
13407
  max-width: 480px;
13400
13408
  width: 90%;
13401
13409
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
13410
+ overflow: hidden;
13402
13411
  `;
13403
13412
  var ModalHeader = styled9__default.default.div`
13404
13413
  display: flex;
@@ -13533,6 +13542,7 @@ var BaseButton = styled9__default.default.button`
13533
13542
  justify-content: center;
13534
13543
  white-space: nowrap;
13535
13544
  flex-shrink: 0;
13545
+ overflow: hidden;
13536
13546
  &:disabled {
13537
13547
  cursor: not-allowed;
13538
13548
  opacity: 0.75;
@@ -13548,6 +13558,10 @@ var PrimaryButton = styled9__default.default(BaseButton)`
13548
13558
  color: #fff;
13549
13559
  border: none;
13550
13560
  box-shadow: 0 4px 12px rgba(14,203,129,0.3);
13561
+ &[data-placing='true'] {
13562
+ font-size: 0.8rem;
13563
+ padding: 0.75rem 0.9rem;
13564
+ }
13551
13565
  `;
13552
13566
 
13553
13567
  // src/components/property-buy/constants.ts
@@ -14022,23 +14036,29 @@ function PortfolioActivityPanel({
14022
14036
  activeTab === "subscriptions" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14023
14037
  offeringOrders.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(EmptyState, { children: "IPO allocations will appear here once you subscribe." }),
14024
14038
  offeringOrders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14025
- /* @__PURE__ */ jsxRuntime.jsxs(GridHeader, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr", children: [
14039
+ /* @__PURE__ */ jsxRuntime.jsxs(GridHeader, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr 36px", children: [
14026
14040
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Asset" }),
14027
14041
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Qty" }),
14028
14042
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Price" }),
14029
14043
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Total" }),
14030
14044
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Status" }),
14031
- /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Date" })
14045
+ /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Date" }),
14046
+ /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, {})
14032
14047
  ] }),
14033
14048
  pagedOfferingOrders.map((order) => {
14034
14049
  const meta = getOrderStatusMeta(order.status);
14035
- return /* @__PURE__ */ jsxRuntime.jsxs(GridRow, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr", children: [
14050
+ return /* @__PURE__ */ jsxRuntime.jsxs(GridRow, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr 36px", children: [
14036
14051
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $primary: true, children: order.tokenName }) }),
14037
14052
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: formatNumber2(order.quantity) }) }),
14038
14053
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: formatCurrency4(order.price) }) }),
14039
14054
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: formatCurrency4(order.price * order.quantity) }) }),
14040
14055
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: meta.color, $bg: meta.bg, children: prettyLabel(order.status) }) }),
14041
- /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: formatTimestamp(order.createdAt) }) })
14056
+ /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: formatTimestamp(order.createdAt) }) }),
14057
+ /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: order.txHash && /* @__PURE__ */ jsxRuntime.jsx(TxLink, { href: `${_blockExplorerBaseUrl}/${order.txHash}`, target: "_blank", rel: "noopener noreferrer", title: "View on BaseScan", children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
14058
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
14059
+ /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "15 3 21 3 21 9" }),
14060
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
14061
+ ] }) }) })
14042
14062
  ] }, `${order.tokenName}-${order.txHash}-${order.createdAt}`);
14043
14063
  })
14044
14064
  ] })
@@ -14126,14 +14146,15 @@ function PortfolioActivityPanel({
14126
14146
  activeTab === "trades" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14127
14147
  tradeHistory.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(EmptyState, { children: "Completed trades will appear here." }),
14128
14148
  tradeHistory.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
14129
- /* @__PURE__ */ jsxRuntime.jsxs(GridHeader, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr", children: [
14149
+ /* @__PURE__ */ jsxRuntime.jsxs(GridHeader, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr 36px", children: [
14130
14150
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Asset" }),
14131
14151
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Side" }),
14132
14152
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Qty" }),
14133
14153
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Price" }),
14134
14154
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Total" }),
14135
14155
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Settlement" }),
14136
- /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Date" })
14156
+ /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Date" }),
14157
+ /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, {})
14137
14158
  ] }),
14138
14159
  pagedTradeHistory.map((trade) => {
14139
14160
  const s = trade.status?.toUpperCase();
@@ -14142,14 +14163,19 @@ function PortfolioActivityPanel({
14142
14163
  const isSettling = !isSettled && !isFailed && !!trade.status;
14143
14164
  const settlementLabel = isSettled ? "Settled" : isFailed ? "Settlement Failed" : isSettling ? prettyLabel(trade.status) : "\u2014";
14144
14165
  const settlementMeta = isSettled ? { color: "#0ecb81", bg: "rgba(14,203,129,0.1)" } : isFailed ? { color: "#f6465d", bg: "rgba(246,70,93,0.12)" } : isSettling ? { color: "#f0b90b", bg: "rgba(240,185,11,0.15)" } : null;
14145
- return /* @__PURE__ */ jsxRuntime.jsxs(GridRow, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr", children: [
14166
+ return /* @__PURE__ */ jsxRuntime.jsxs(GridRow, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr 36px", children: [
14146
14167
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $primary: true, children: trade.tokenName }) }),
14147
14168
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(SideBadge, { $side: sideLabel(trade.side), children: sideLabel(trade.side) }) }),
14148
14169
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: formatNumber2(trade.quantity) }) }),
14149
14170
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: formatCurrency4(trade.price) }) }),
14150
14171
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: formatCurrency4(trade.price * trade.quantity) }) }),
14151
14172
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: settlementMeta ? /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: settlementMeta.color, $bg: settlementMeta.bg, children: settlementLabel }) : /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: "\u2014" }) }),
14152
- /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: formatTimestamp(trade.executedAt) }) })
14173
+ /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: formatTimestamp(trade.executedAt) }) }),
14174
+ /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: trade.txHash && /* @__PURE__ */ jsxRuntime.jsx(TxLink, { href: `${_blockExplorerBaseUrl}/${trade.txHash}`, target: "_blank", rel: "noopener noreferrer", title: "View on BaseScan", children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
14175
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
14176
+ /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "15 3 21 3 21 9" }),
14177
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
14178
+ ] }) }) })
14153
14179
  ] }, trade.tradeId);
14154
14180
  })
14155
14181
  ] })