@loafmarkets/ui 0.1.340 → 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.mjs CHANGED
@@ -3137,7 +3137,7 @@ function PropertyMediaRow({
3137
3137
  videoTitle,
3138
3138
  className
3139
3139
  }) {
3140
- return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-4 lg:flex-row lg:items-stretch lg:gap-6 lg:h-[700px]", className), children: [
3140
+ return /* @__PURE__ */ 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: [
3141
3141
  /* @__PURE__ */ jsx("div", { className: "lg:hidden h-[320px]", children: /* @__PURE__ */ jsx(PropertyTour, { title: videoTitle, src: videoSrc, className: "h-full w-full !max-w-none" }) }),
3142
3142
  /* @__PURE__ */ jsx(
3143
3143
  "div",
@@ -11415,13 +11415,9 @@ var IPOAssetSelector = styled9.div`
11415
11415
  &:hover { box-shadow: 0 12px 32px rgba(0,0,0,0.4); border-color: rgba(255,255,255,0.15); }
11416
11416
 
11417
11417
  @media (max-width: 768px) {
11418
- flex-wrap: wrap;
11419
- padding: 0.75rem 1rem;
11420
- gap: 0.5rem;
11421
- }
11422
-
11423
- @media (max-width: 480px) {
11418
+ flex-wrap: nowrap;
11424
11419
  padding: 0.6rem 0.75rem;
11420
+ gap: 0.4rem;
11425
11421
  }
11426
11422
  `;
11427
11423
  var AssetThumbnail = styled9.img`
@@ -11500,9 +11496,9 @@ var SelectorMetrics = styled9.div`
11500
11496
  var TrailingWrapper = styled9.div`
11501
11497
  display: flex;
11502
11498
  align-items: center;
11499
+ flex-shrink: 0;
11503
11500
 
11504
11501
  @media (max-width: 768px) {
11505
- width: 100%;
11506
11502
  overflow-x: auto;
11507
11503
  -webkit-overflow-scrolling: touch;
11508
11504
  scrollbar-width: none;
@@ -11517,7 +11513,7 @@ var TrailingInner = styled9.div`
11517
11513
  display: inline-flex;
11518
11514
  align-items: center;
11519
11515
  min-width: max-content;
11520
- gap: 0.75rem;
11516
+ gap: 0.5rem;
11521
11517
  }
11522
11518
  `;
11523
11519
  var MetricLabel = styled9.span`
@@ -13353,6 +13349,7 @@ function OrderConfirmationModal({
13353
13349
  onConfirm();
13354
13350
  },
13355
13351
  disabled: isPlacing,
13352
+ "data-placing": isPlacing,
13356
13353
  children: isPlacing ? /* @__PURE__ */ jsxs(Fragment, { children: [
13357
13354
  /* @__PURE__ */ jsx(Spinner, { "aria-hidden": true }),
13358
13355
  /* @__PURE__ */ jsx("span", { children: placingLabel })
@@ -13384,6 +13381,7 @@ var Modal = styled9.div`
13384
13381
  max-width: 480px;
13385
13382
  width: 90%;
13386
13383
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
13384
+ overflow: hidden;
13387
13385
  `;
13388
13386
  var ModalHeader = styled9.div`
13389
13387
  display: flex;
@@ -13518,6 +13516,7 @@ var BaseButton = styled9.button`
13518
13516
  justify-content: center;
13519
13517
  white-space: nowrap;
13520
13518
  flex-shrink: 0;
13519
+ overflow: hidden;
13521
13520
  &:disabled {
13522
13521
  cursor: not-allowed;
13523
13522
  opacity: 0.75;
@@ -13533,6 +13532,10 @@ var PrimaryButton = styled9(BaseButton)`
13533
13532
  color: #fff;
13534
13533
  border: none;
13535
13534
  box-shadow: 0 4px 12px rgba(14,203,129,0.3);
13535
+ &[data-placing='true'] {
13536
+ font-size: 0.8rem;
13537
+ padding: 0.75rem 0.9rem;
13538
+ }
13536
13539
  `;
13537
13540
 
13538
13541
  // src/components/property-buy/constants.ts
@@ -14007,23 +14010,29 @@ function PortfolioActivityPanel({
14007
14010
  activeTab === "subscriptions" && /* @__PURE__ */ jsxs(Fragment, { children: [
14008
14011
  offeringOrders.length === 0 && /* @__PURE__ */ jsx(EmptyState, { children: "IPO allocations will appear here once you subscribe." }),
14009
14012
  offeringOrders.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
14010
- /* @__PURE__ */ jsxs(GridHeader, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr", children: [
14013
+ /* @__PURE__ */ jsxs(GridHeader, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr 36px", children: [
14011
14014
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Asset" }),
14012
14015
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Qty" }),
14013
14016
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Price" }),
14014
14017
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Total" }),
14015
14018
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Status" }),
14016
- /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" })
14019
+ /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" }),
14020
+ /* @__PURE__ */ jsx(GridHeaderCell, {})
14017
14021
  ] }),
14018
14022
  pagedOfferingOrders.map((order) => {
14019
14023
  const meta = getOrderStatusMeta(order.status);
14020
- return /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr", children: [
14024
+ return /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr 36px", children: [
14021
14025
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $primary: true, children: order.tokenName }) }),
14022
14026
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatNumber2(order.quantity) }) }),
14023
14027
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatCurrency4(order.price) }) }),
14024
14028
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(order.price * order.quantity) }) }),
14025
14029
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(ActivityTag, { $color: meta.color, $bg: meta.bg, children: prettyLabel(order.status) }) }),
14026
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(order.createdAt) }) })
14030
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(order.createdAt) }) }),
14031
+ /* @__PURE__ */ jsx(GridCell, { children: order.txHash && /* @__PURE__ */ jsx(TxLink, { href: `${_blockExplorerBaseUrl}/${order.txHash}`, target: "_blank", rel: "noopener noreferrer", title: "View on BaseScan", children: /* @__PURE__ */ jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
14032
+ /* @__PURE__ */ jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
14033
+ /* @__PURE__ */ jsx("polyline", { points: "15 3 21 3 21 9" }),
14034
+ /* @__PURE__ */ jsx("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
14035
+ ] }) }) })
14027
14036
  ] }, `${order.tokenName}-${order.txHash}-${order.createdAt}`);
14028
14037
  })
14029
14038
  ] })
@@ -14111,14 +14120,15 @@ function PortfolioActivityPanel({
14111
14120
  activeTab === "trades" && /* @__PURE__ */ jsxs(Fragment, { children: [
14112
14121
  tradeHistory.length === 0 && /* @__PURE__ */ jsx(EmptyState, { children: "Completed trades will appear here." }),
14113
14122
  tradeHistory.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
14114
- /* @__PURE__ */ jsxs(GridHeader, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr", children: [
14123
+ /* @__PURE__ */ jsxs(GridHeader, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr 36px", children: [
14115
14124
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Asset" }),
14116
14125
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Side" }),
14117
14126
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Qty" }),
14118
14127
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Price" }),
14119
14128
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Total" }),
14120
14129
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Settlement" }),
14121
- /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" })
14130
+ /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" }),
14131
+ /* @__PURE__ */ jsx(GridHeaderCell, {})
14122
14132
  ] }),
14123
14133
  pagedTradeHistory.map((trade) => {
14124
14134
  const s = trade.status?.toUpperCase();
@@ -14127,14 +14137,19 @@ function PortfolioActivityPanel({
14127
14137
  const isSettling = !isSettled && !isFailed && !!trade.status;
14128
14138
  const settlementLabel = isSettled ? "Settled" : isFailed ? "Settlement Failed" : isSettling ? prettyLabel(trade.status) : "\u2014";
14129
14139
  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;
14130
- return /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr", children: [
14140
+ return /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr 36px", children: [
14131
14141
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $primary: true, children: trade.tokenName }) }),
14132
14142
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: sideLabel(trade.side), children: sideLabel(trade.side) }) }),
14133
14143
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatNumber2(trade.quantity) }) }),
14134
14144
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(trade.price) }) }),
14135
14145
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(trade.price * trade.quantity) }) }),
14136
14146
  /* @__PURE__ */ jsx(GridCell, { children: settlementMeta ? /* @__PURE__ */ jsx(ActivityTag, { $color: settlementMeta.color, $bg: settlementMeta.bg, children: settlementLabel }) : /* @__PURE__ */ jsx(CellText, { $muted: true, children: "\u2014" }) }),
14137
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(trade.executedAt) }) })
14147
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(trade.executedAt) }) }),
14148
+ /* @__PURE__ */ jsx(GridCell, { children: trade.txHash && /* @__PURE__ */ jsx(TxLink, { href: `${_blockExplorerBaseUrl}/${trade.txHash}`, target: "_blank", rel: "noopener noreferrer", title: "View on BaseScan", children: /* @__PURE__ */ jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
14149
+ /* @__PURE__ */ jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
14150
+ /* @__PURE__ */ jsx("polyline", { points: "15 3 21 3 21 9" }),
14151
+ /* @__PURE__ */ jsx("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
14152
+ ] }) }) })
14138
14153
  ] }, trade.tradeId);
14139
14154
  })
14140
14155
  ] })