@loafmarkets/ui 0.1.429 → 0.1.431

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 CHANGED
@@ -1167,9 +1167,9 @@ type PropertyInspectionTimesProps = {
1167
1167
  declare function PropertyInspectionTimes({ isAuthenticated, slots, loading, error, bookingSlotId, bookingStatus, bookingError, onBook, onRetry, onSignIn, }: PropertyInspectionTimesProps): react_jsx_runtime.JSX.Element;
1168
1168
 
1169
1169
  type OrderSide = 'BUY' | 'SELL';
1170
- type OrderType = 'MARKET' | 'LIMIT';
1170
+ type OrderType = 'MARKET' | 'LIMIT' | 'STOP_LIMIT' | 'STOP_MARKET' | 'TAKE_LIMIT' | 'TAKE_MARKET';
1171
1171
  type TimeInForce = 'GTC' | 'IOC' | 'FOK' | 'GTD';
1172
- type OrderStatus = 'OPEN' | 'PARTIALLY_FILLED' | 'FILLED' | 'CANCELLED' | 'REJECTED';
1172
+ type OrderStatus = 'OPEN' | 'PARTIALLY_FILLED' | 'FILLED' | 'CANCELLED' | 'REJECTED' | 'PENDING' | 'ARMED' | 'PLACED' | 'FAILED';
1173
1173
  interface OfferingOrder {
1174
1174
  readonly ipoOrderId?: number;
1175
1175
  readonly tokenName: string;
@@ -1193,10 +1193,13 @@ interface OrderHistoryItem {
1193
1193
  readonly quantity: number;
1194
1194
  readonly price: number | null;
1195
1195
  readonly status: OrderStatus;
1196
- readonly filledQuantity: number;
1196
+ /** Absent on a conditional order — its fills belong to the order it places (shared-types src/index.ts:308). */
1197
+ readonly filledQuantity?: number;
1197
1198
  readonly rejectionReason: string | null;
1198
1199
  readonly deadline: number;
1199
- readonly filledAt: number | null;
1200
+ readonly filledAt?: number | null;
1201
+ /** Stop/take and TP/SL legs only. */
1202
+ readonly triggerPrice?: number;
1200
1203
  readonly cancelledAt: number | null;
1201
1204
  readonly createdAt: number;
1202
1205
  readonly isOfferingOrder?: boolean;
package/dist/index.d.ts CHANGED
@@ -1167,9 +1167,9 @@ type PropertyInspectionTimesProps = {
1167
1167
  declare function PropertyInspectionTimes({ isAuthenticated, slots, loading, error, bookingSlotId, bookingStatus, bookingError, onBook, onRetry, onSignIn, }: PropertyInspectionTimesProps): react_jsx_runtime.JSX.Element;
1168
1168
 
1169
1169
  type OrderSide = 'BUY' | 'SELL';
1170
- type OrderType = 'MARKET' | 'LIMIT';
1170
+ type OrderType = 'MARKET' | 'LIMIT' | 'STOP_LIMIT' | 'STOP_MARKET' | 'TAKE_LIMIT' | 'TAKE_MARKET';
1171
1171
  type TimeInForce = 'GTC' | 'IOC' | 'FOK' | 'GTD';
1172
- type OrderStatus = 'OPEN' | 'PARTIALLY_FILLED' | 'FILLED' | 'CANCELLED' | 'REJECTED';
1172
+ type OrderStatus = 'OPEN' | 'PARTIALLY_FILLED' | 'FILLED' | 'CANCELLED' | 'REJECTED' | 'PENDING' | 'ARMED' | 'PLACED' | 'FAILED';
1173
1173
  interface OfferingOrder {
1174
1174
  readonly ipoOrderId?: number;
1175
1175
  readonly tokenName: string;
@@ -1193,10 +1193,13 @@ interface OrderHistoryItem {
1193
1193
  readonly quantity: number;
1194
1194
  readonly price: number | null;
1195
1195
  readonly status: OrderStatus;
1196
- readonly filledQuantity: number;
1196
+ /** Absent on a conditional order — its fills belong to the order it places (shared-types src/index.ts:308). */
1197
+ readonly filledQuantity?: number;
1197
1198
  readonly rejectionReason: string | null;
1198
1199
  readonly deadline: number;
1199
- readonly filledAt: number | null;
1200
+ readonly filledAt?: number | null;
1201
+ /** Stop/take and TP/SL legs only. */
1202
+ readonly triggerPrice?: number;
1200
1203
  readonly cancelledAt: number | null;
1201
1204
  readonly createdAt: number;
1202
1205
  readonly isOfferingOrder?: boolean;
package/dist/index.js CHANGED
@@ -3588,7 +3588,8 @@ function NewsArticleModal({
3588
3588
  },
3589
3589
  children: item.type === "property" ? catStyle.label : "Market News"
3590
3590
  }
3591
- )
3591
+ ),
3592
+ /* @__PURE__ */ jsxRuntime.jsx(NewsMetaNotes, { item, fontSize: "0.65rem" })
3592
3593
  ] }),
3593
3594
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { height: "1px", background: "rgba(255,255,255,0.08)", marginBottom: "1.25rem" } }),
3594
3595
  item.summary ? /* @__PURE__ */ jsxRuntime.jsx("p", { style: { fontSize: "0.875rem", color: "rgba(255,255,255,0.8)", lineHeight: 1.75, margin: 0 }, children: item.summary }) : /* @__PURE__ */ jsxRuntime.jsx("p", { style: { fontSize: "0.8rem", color: "rgba(255,255,255,0.35)", fontStyle: "italic", margin: 0 }, children: "Summary not available for this article." }),
@@ -16716,12 +16717,22 @@ var TickerTag = styled10__default.default.span`
16716
16717
  margin-left: 0.3rem;
16717
16718
  `;
16718
16719
  var sideLabel = (side) => side?.toUpperCase() === "SELL" ? "Sell" : "Buy";
16720
+ var isLiveOrder = (o) => o.status === "OPEN" || o.status === "PARTIALLY_FILLED" || o.status === "PENDING" || o.status === "ARMED";
16721
+ var isMarketType = (type) => type === "MARKET" || type.endsWith("_MARKET");
16722
+ var filledLabel = (order) => order.filledQuantity == null ? "\u2014" : `${order.quantity > 0 ? Math.round(order.filledQuantity / order.quantity * 100) : 0}%`;
16723
+ var TriggerText = styled10__default.default.span`
16724
+ display: block;
16725
+ font-size: 0.68rem;
16726
+ color: rgba(255, 255, 255, 0.5);
16727
+ font-variant-numeric: tabular-nums;
16728
+ margin-top: 0.1rem;
16729
+ `;
16719
16730
  var getOrderStatusMeta = (statusRaw) => {
16720
16731
  const status = statusRaw.toUpperCase();
16721
- if (status === "FILLED" || status === "CONFIRMED" || status === "ALLOCATED") {
16732
+ if (status === "FILLED" || status === "CONFIRMED" || status === "ALLOCATED" || status === "PLACED") {
16722
16733
  return { color: "#0ecb81", bg: "rgba(14,203,129,0.1)" };
16723
16734
  }
16724
- if (status === "CANCELLED" || status === "CANCELED" || status === "REJECTED") {
16735
+ if (status === "CANCELLED" || status === "CANCELED" || status === "REJECTED" || status === "FAILED") {
16725
16736
  return { color: "#f6465d", bg: "rgba(246,70,93,0.12)" };
16726
16737
  }
16727
16738
  return { color: "#E6C87E", bg: "rgba(240,185,11,0.15)" };
@@ -16936,14 +16947,12 @@ function PortfolioActivityPanel({
16936
16947
  [transfers]
16937
16948
  );
16938
16949
  const positionsCount = positions.length;
16939
- const openOrdersCount = React9.useMemo(
16940
- () => openOrders.filter((o) => o.status === "OPEN" || o.status === "PARTIALLY_FILLED").length,
16950
+ const openOrdersCount = React9.useMemo(() => openOrders.filter(isLiveOrder).length, [openOrders]);
16951
+ const cancellableOrdersCount = React9.useMemo(
16952
+ () => openOrders.filter((o) => !o.isOfferingOrder && isLiveOrder(o)).length,
16941
16953
  [openOrders]
16942
16954
  );
16943
- const pendingHistoryCount = React9.useMemo(
16944
- () => mergedOrderHistory.filter((o) => o.status === "OPEN" || o.status === "PARTIALLY_FILLED").length,
16945
- [mergedOrderHistory]
16946
- );
16955
+ const pendingHistoryCount = React9.useMemo(() => mergedOrderHistory.filter(isLiveOrder).length, [mergedOrderHistory]);
16947
16956
  const pendingOfferingsCount = React9.useMemo(
16948
16957
  () => offeringOrders.filter((o) => {
16949
16958
  const s = o.status.toUpperCase();
@@ -17268,7 +17277,7 @@ function PortfolioActivityPanel({
17268
17277
  /* @__PURE__ */ jsxRuntime.jsx(CDValue, { children: formatTimestamp(order.createdAt) })
17269
17278
  ] })
17270
17279
  ] }),
17271
- order.status === "REJECTED" && order.rejectionReason && /* @__PURE__ */ jsxRuntime.jsx(CDValue, { style: { marginTop: "0.4rem", color: "#f6465d", fontSize: "0.7rem" }, children: order.rejectionReason })
17280
+ order.rejectionReason && /* @__PURE__ */ jsxRuntime.jsx(CDValue, { style: { marginTop: "0.4rem", color: "#f6465d", fontSize: "0.7rem" }, children: order.rejectionReason })
17272
17281
  ] })
17273
17282
  ] }, rowKey);
17274
17283
  }),
@@ -17294,7 +17303,7 @@ function PortfolioActivityPanel({
17294
17303
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: formatCurrency4(order.price * order.quantity) }) }),
17295
17304
  /* @__PURE__ */ jsxRuntime.jsxs(GridCell, { children: [
17296
17305
  /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: meta.color, $bg: meta.bg, title: order.status === "REJECTED" && order.rejectionReason ? order.rejectionReason : void 0, children: prettyLabel(order.status) }),
17297
- order.status === "REJECTED" && order.rejectionReason && /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, style: { fontSize: "0.62rem", marginTop: "0.2rem", maxWidth: "120px", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, title: order.rejectionReason, children: order.rejectionReason })
17306
+ order.rejectionReason && /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, style: { fontSize: "0.62rem", marginTop: "0.2rem", maxWidth: "120px", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, title: order.rejectionReason, children: order.rejectionReason })
17298
17307
  ] }),
17299
17308
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: formatTimestamp(order.createdAt) }) }),
17300
17309
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: order.txHash && /* @__PURE__ */ jsxRuntime.jsx(TxLink, { href: `${_blockExplorerBaseUrl}/${order.txHash}`, target: "_blank", rel: "noopener noreferrer", title: "View on Arbiscan", 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: [
@@ -17309,10 +17318,10 @@ function PortfolioActivityPanel({
17309
17318
  activeTab === "open-orders" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
17310
17319
  openOrders.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(EmptyState, { children: "Open orders will appear here while they are working in the market." }),
17311
17320
  openOrders.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
17312
- compactPositions && onCancelAllOrders && openOrdersCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(CancelAllRow, { children: /* @__PURE__ */ jsxRuntime.jsx(CancelAllBtn, { type: "button", disabled: cancellingAll, onClick: () => setCancelAllConfirmOpen(true), children: "Cancel All" }) }),
17321
+ compactPositions && onCancelAllOrders && cancellableOrdersCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(CancelAllRow, { children: /* @__PURE__ */ jsxRuntime.jsx(CancelAllBtn, { type: "button", disabled: cancellingAll, onClick: () => setCancelAllConfirmOpen(true), children: "Cancel All" }) }),
17313
17322
  compactPositions ? sortedOpenOrders.map((order) => {
17314
17323
  const meta = getOrderStatusMeta(order.status);
17315
- const filledPercent = order.quantity > 0 ? Math.round(order.filledQuantity / order.quantity * 100) : 0;
17324
+ const filledPercent = filledLabel(order);
17316
17325
  const isCancelling = cancellingOrderId === order.id;
17317
17326
  const ordExpanded = expandedOpenOrders.has(order.id);
17318
17327
  const sideColor = sideLabel(order.side) === "Buy" ? "#0ecb81" : "#f6465d";
@@ -17327,8 +17336,7 @@ function PortfolioActivityPanel({
17327
17336
  ] }),
17328
17337
  /* @__PURE__ */ jsxRuntime.jsxs(CUnitsCell, { children: [
17329
17338
  /* @__PURE__ */ jsxRuntime.jsx(CCellLabel, { children: "Filled" }),
17330
- filledPercent,
17331
- "%"
17339
+ filledPercent
17332
17340
  ] }),
17333
17341
  /* @__PURE__ */ jsxRuntime.jsxs(CUnitsCell, { children: [
17334
17342
  /* @__PURE__ */ jsxRuntime.jsx(CCellLabel, { children: "Qty" }),
@@ -17351,7 +17359,13 @@ function PortfolioActivityPanel({
17351
17359
  ] }),
17352
17360
  /* @__PURE__ */ jsxRuntime.jsxs(CDetailItem, { children: [
17353
17361
  /* @__PURE__ */ jsxRuntime.jsx(CDLabel, { children: "Price" }),
17354
- /* @__PURE__ */ jsxRuntime.jsx(CDValue, { children: order.type === "MARKET" || !order.price ? "Market" : formatCurrency4(order.price) })
17362
+ /* @__PURE__ */ jsxRuntime.jsxs(CDValue, { children: [
17363
+ isMarketType(order.type) || !order.price ? "Market" : formatCurrency4(order.price),
17364
+ order.triggerPrice != null && /* @__PURE__ */ jsxRuntime.jsxs(TriggerText, { children: [
17365
+ "Trigger ",
17366
+ formatCurrency4(order.triggerPrice)
17367
+ ] })
17368
+ ] })
17355
17369
  ] }),
17356
17370
  /* @__PURE__ */ jsxRuntime.jsxs(CDetailItem, { children: [
17357
17371
  /* @__PURE__ */ jsxRuntime.jsx(CDLabel, { children: "Status" }),
@@ -17382,12 +17396,12 @@ function PortfolioActivityPanel({
17382
17396
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Price" }),
17383
17397
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Filled" }),
17384
17398
  /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: "Status" }),
17385
- onCancelOrder && /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: onCancelAllOrders && openOrdersCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(CancelButton, { type: "button", disabled: cancellingAll, onClick: () => setCancelAllConfirmOpen(true), children: "Cancel All" }) })
17399
+ onCancelOrder && /* @__PURE__ */ jsxRuntime.jsx(GridHeaderCell, { children: onCancelAllOrders && cancellableOrdersCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(CancelButton, { type: "button", disabled: cancellingAll, onClick: () => setCancelAllConfirmOpen(true), children: "Cancel All" }) })
17386
17400
  ] }),
17387
17401
  pagedOpenOrders.map((order) => {
17388
17402
  const meta = getOrderStatusMeta(order.status);
17389
- const isMarket = order.type === "MARKET";
17390
- const filledPercent = order.quantity > 0 ? Math.round(order.filledQuantity / order.quantity * 100) : 0;
17403
+ const isMarket = isMarketType(order.type);
17404
+ const filledPercent = filledLabel(order);
17391
17405
  const isCancelling = cancellingOrderId === order.id;
17392
17406
  const sideColor = sideLabel(order.side) === "Buy" ? "#0ecb81" : "#f6465d";
17393
17407
  return /* @__PURE__ */ jsxRuntime.jsxs(GridRow, { $columns: onCancelOrder ? "0.5fr 1.2fr 0.6fr 0.7fr 0.8fr 1fr 0.8fr 0.8fr 82px" : "0.5fr 1.2fr 0.6fr 0.7fr 0.8fr 1fr 0.8fr 0.8fr", children: [
@@ -17399,12 +17413,18 @@ function PortfolioActivityPanel({
17399
17413
  formatNumber2(order.quantity),
17400
17414
  order.ticker && /* @__PURE__ */ jsxRuntime.jsx(TickerTag, { children: order.ticker.toUpperCase() })
17401
17415
  ] }) }),
17402
- /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: isMarket || !order.price ? "Market" : formatCurrency4(order.price) }) }),
17403
- /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsxs(CellText, { $muted: true, children: [
17404
- filledPercent,
17405
- "%"
17406
- ] }) }),
17407
- /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: meta.color, $bg: meta.bg, children: prettyLabel(order.status) }) }),
17416
+ /* @__PURE__ */ jsxRuntime.jsxs(GridCell, { children: [
17417
+ /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: isMarket || !order.price ? "Market" : formatCurrency4(order.price) }),
17418
+ order.triggerPrice != null && /* @__PURE__ */ jsxRuntime.jsxs(TriggerText, { children: [
17419
+ "Trigger ",
17420
+ formatCurrency4(order.triggerPrice)
17421
+ ] })
17422
+ ] }),
17423
+ /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: filledPercent }) }),
17424
+ /* @__PURE__ */ jsxRuntime.jsxs(GridCell, { children: [
17425
+ /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: meta.color, $bg: meta.bg, children: prettyLabel(order.status) }),
17426
+ order.triggerPrice != null && order.rejectionReason && /* @__PURE__ */ jsxRuntime.jsx(TriggerText, { title: order.rejectionReason, children: order.rejectionReason })
17427
+ ] }),
17408
17428
  onCancelOrder && /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(
17409
17429
  CancelButton,
17410
17430
  {
@@ -17426,7 +17446,7 @@ function PortfolioActivityPanel({
17426
17446
  mergedOrderHistory.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(EmptyState, { children: "No orders yet. Place a trade to see it appear here." }),
17427
17447
  mergedOrderHistory.length > 0 && compactPositions && pagedOrderHistory.map((order) => {
17428
17448
  const meta = getOrderStatusMeta(order.status);
17429
- const filledPercent = order.quantity > 0 ? Math.round(order.filledQuantity / order.quantity * 100) : 0;
17449
+ const filledPercent = filledLabel(order);
17430
17450
  const typeLabel = order.isOfferingOrder ? "Initial Offering" : prettyLabel(order.type);
17431
17451
  const sideColor = sideLabel(order.side) === "Buy" ? "#0ecb81" : "#f6465d";
17432
17452
  const rowKey = `oh-${order.id}`;
@@ -17465,21 +17485,24 @@ function PortfolioActivityPanel({
17465
17485
  ] }),
17466
17486
  /* @__PURE__ */ jsxRuntime.jsxs(CDetailItem, { children: [
17467
17487
  /* @__PURE__ */ jsxRuntime.jsx(CDLabel, { children: "Price" }),
17468
- /* @__PURE__ */ jsxRuntime.jsx(CDValue, { children: order.type === "MARKET" || !order.price ? "Market" : formatCurrency4(order.price) })
17488
+ /* @__PURE__ */ jsxRuntime.jsxs(CDValue, { children: [
17489
+ isMarketType(order.type) || !order.price ? "Market" : formatCurrency4(order.price),
17490
+ order.triggerPrice != null && /* @__PURE__ */ jsxRuntime.jsxs(TriggerText, { children: [
17491
+ "Trigger ",
17492
+ formatCurrency4(order.triggerPrice)
17493
+ ] })
17494
+ ] })
17469
17495
  ] }),
17470
17496
  /* @__PURE__ */ jsxRuntime.jsxs(CDetailItem, { children: [
17471
17497
  /* @__PURE__ */ jsxRuntime.jsx(CDLabel, { children: "Filled" }),
17472
- /* @__PURE__ */ jsxRuntime.jsxs(CDValue, { children: [
17473
- filledPercent,
17474
- "%"
17475
- ] })
17498
+ /* @__PURE__ */ jsxRuntime.jsx(CDValue, { children: filledPercent })
17476
17499
  ] }),
17477
17500
  /* @__PURE__ */ jsxRuntime.jsxs(CDetailItem, { children: [
17478
17501
  /* @__PURE__ */ jsxRuntime.jsx(CDLabel, { children: "Date" }),
17479
17502
  /* @__PURE__ */ jsxRuntime.jsx(CDValue, { children: formatTimestamp(order.createdAt) })
17480
17503
  ] })
17481
17504
  ] }),
17482
- order.status === "REJECTED" && order.rejectionReason && /* @__PURE__ */ jsxRuntime.jsx(CDValue, { style: { marginTop: "0.4rem", color: "#f6465d", fontSize: "0.7rem" }, children: order.rejectionReason })
17505
+ order.rejectionReason && /* @__PURE__ */ jsxRuntime.jsx(CDValue, { style: { marginTop: "0.4rem", color: "#f6465d", fontSize: "0.7rem" }, children: order.rejectionReason })
17483
17506
  ] })
17484
17507
  ] }, rowKey);
17485
17508
  }),
@@ -17497,8 +17520,8 @@ function PortfolioActivityPanel({
17497
17520
  ] }),
17498
17521
  pagedOrderHistory.map((order) => {
17499
17522
  const meta = getOrderStatusMeta(order.status);
17500
- const isMarket = order.type === "MARKET";
17501
- const filledPercent = order.quantity > 0 ? Math.round(order.filledQuantity / order.quantity * 100) : 0;
17523
+ const isMarket = isMarketType(order.type);
17524
+ const filledPercent = filledLabel(order);
17502
17525
  const typeLabel = order.isOfferingOrder ? "Initial Offering" : prettyLabel(order.type);
17503
17526
  const sideColor = sideLabel(order.side) === "Buy" ? "#0ecb81" : "#f6465d";
17504
17527
  return /* @__PURE__ */ jsxRuntime.jsxs(GridRow, { $columns: "0.5fr 1.2fr 0.6fr 0.7fr 0.8fr 1fr 0.8fr 0.8fr 1fr", children: [
@@ -17510,12 +17533,18 @@ function PortfolioActivityPanel({
17510
17533
  formatNumber2(order.quantity),
17511
17534
  order.ticker && /* @__PURE__ */ jsxRuntime.jsx(TickerTag, { children: order.ticker.toUpperCase() })
17512
17535
  ] }) }),
17513
- /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: isMarket || !order.price ? "Market" : formatCurrency4(order.price) }) }),
17514
- /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsxs(CellText, { $muted: true, children: [
17515
- filledPercent,
17516
- "%"
17517
- ] }) }),
17518
- /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: meta.color, $bg: meta.bg, children: prettyLabel(order.status) }) }),
17536
+ /* @__PURE__ */ jsxRuntime.jsxs(GridCell, { children: [
17537
+ /* @__PURE__ */ jsxRuntime.jsx(CellText, { children: isMarket || !order.price ? "Market" : formatCurrency4(order.price) }),
17538
+ order.triggerPrice != null && /* @__PURE__ */ jsxRuntime.jsxs(TriggerText, { children: [
17539
+ "Trigger ",
17540
+ formatCurrency4(order.triggerPrice)
17541
+ ] })
17542
+ ] }),
17543
+ /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: filledPercent }) }),
17544
+ /* @__PURE__ */ jsxRuntime.jsxs(GridCell, { children: [
17545
+ /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: meta.color, $bg: meta.bg, children: prettyLabel(order.status) }),
17546
+ order.triggerPrice != null && order.rejectionReason && /* @__PURE__ */ jsxRuntime.jsx(TriggerText, { title: order.rejectionReason, children: order.rejectionReason })
17547
+ ] }),
17519
17548
  /* @__PURE__ */ jsxRuntime.jsx(GridCell, { children: /* @__PURE__ */ jsxRuntime.jsx(CellText, { $muted: true, children: formatTimestamp(order.createdAt) }) })
17520
17549
  ] }, order.id);
17521
17550
  })
@@ -17719,7 +17748,7 @@ function PortfolioActivityPanel({
17719
17748
  /* @__PURE__ */ jsxRuntime.jsx(CancelConfirmTitle, { children: "Cancel All Orders" }),
17720
17749
  /* @__PURE__ */ jsxRuntime.jsxs(CancelConfirmBody, { children: [
17721
17750
  "Are you sure you want to cancel all ",
17722
- openOrdersCount,
17751
+ cancellableOrdersCount,
17723
17752
  " open orders? This action cannot be undone."
17724
17753
  ] }),
17725
17754
  /* @__PURE__ */ jsxRuntime.jsxs(CancelConfirmActions, { children: [