@homebound/beam 3.103.0 → 3.104.0

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
@@ -8163,6 +8163,34 @@ function InlineLabel({
8163
8163
  ] });
8164
8164
  }
8165
8165
 
8166
+ // src/components/ProposedValue.tsx
8167
+ import { trussProps as trussProps20 } from "@homebound/truss/runtime";
8168
+ import { Fragment as Fragment7, jsx as jsx27, jsxs as jsxs13 } from "react/jsx-runtime";
8169
+ function ProposedValue(props) {
8170
+ const {
8171
+ original,
8172
+ proposed
8173
+ } = props;
8174
+ const tid = useTestIds(props, "proposedValue");
8175
+ return /* @__PURE__ */ jsxs13("span", { ...tid, children: [
8176
+ original && /* @__PURE__ */ jsxs13(Fragment7, { children: [
8177
+ /* @__PURE__ */ jsx27("span", { ...trussProps20({
8178
+ textDecoration: "tdlt",
8179
+ color: ["color_var", {
8180
+ "--color": "var(--b-on-surface-muted)"
8181
+ }]
8182
+ }), ...tid.original, children: original }),
8183
+ " "
8184
+ ] }),
8185
+ /* @__PURE__ */ jsx27("span", { ...trussProps20({
8186
+ fontWeight: "fw6",
8187
+ color: ["color_var", {
8188
+ "--color": "var(--b-ai-field-fg)"
8189
+ }]
8190
+ }), ...tid.proposed, children: proposed })
8191
+ ] });
8192
+ }
8193
+
8166
8194
  // src/components/Table/components/Row.tsx
8167
8195
  import { observer } from "mobx-react";
8168
8196
  import React7, { useCallback as useCallback8, useContext as useContext12, useRef as useRef11 } from "react";
@@ -8171,10 +8199,10 @@ import { mergeProps as mergeProps5 } from "react-aria";
8171
8199
  // src/components/Table/components/cell.tsx
8172
8200
  import { Link as Link2 } from "react-router-dom";
8173
8201
  import { mergeProps as mergeProps4 } from "@homebound/truss/runtime";
8174
- import { jsx as jsx27 } from "react/jsx-runtime";
8202
+ import { jsx as jsx28 } from "react/jsx-runtime";
8175
8203
  var defaultRenderFn = (as, colSpan) => (key, css2, content, row, rowStyle, classNames, onClick, tooltip) => {
8176
8204
  const Cell = as === "table" ? "td" : "div";
8177
- return /* @__PURE__ */ jsx27(Cell, { ...mergeProps4(classNames, void 0, {
8205
+ return /* @__PURE__ */ jsx28(Cell, { ...mergeProps4(classNames, void 0, {
8178
8206
  ...css2,
8179
8207
  ...{
8180
8208
  cursor: "cursor_default"
@@ -8185,7 +8213,7 @@ var defaultRenderFn = (as, colSpan) => (key, css2, content, row, rowStyle, class
8185
8213
  };
8186
8214
  var headerRenderFn = (column2, as, colSpan) => (key, css2, content, row, rowStyle, classNames, onClick, tooltip) => {
8187
8215
  const Cell = as === "table" ? "th" : "div";
8188
- return /* @__PURE__ */ jsx27(Cell, { ...mergeProps4(classNames, void 0, {
8216
+ return /* @__PURE__ */ jsx28(Cell, { ...mergeProps4(classNames, void 0, {
8189
8217
  ...css2
8190
8218
  }), ...as === "table" && {
8191
8219
  colSpan
@@ -8194,15 +8222,15 @@ var headerRenderFn = (column2, as, colSpan) => (key, css2, content, row, rowStyl
8194
8222
  var rowLinkRenderFn = (as, colSpan) => (key, css2, content, row, rowStyle, classNames, onClick, tooltip) => {
8195
8223
  const to = rowStyle.rowLink(row);
8196
8224
  if (as === "table") {
8197
- return /* @__PURE__ */ jsx27("td", { ...mergeProps4(classNames, void 0, {
8225
+ return /* @__PURE__ */ jsx28("td", { ...mergeProps4(classNames, void 0, {
8198
8226
  ...css2
8199
- }), colSpan, children: /* @__PURE__ */ jsx27(Link2, { to, ...mergeProps4(navLink, void 0, {
8227
+ }), colSpan, children: /* @__PURE__ */ jsx28(Link2, { to, ...mergeProps4(navLink, void 0, {
8200
8228
  textDecoration: "tdn",
8201
8229
  color: "color_unset",
8202
8230
  display: "db"
8203
8231
  }), children: content }) }, key);
8204
8232
  }
8205
- return /* @__PURE__ */ jsx27(Link2, { to, ...mergeProps4(`${navLink} ${classNames}`, void 0, {
8233
+ return /* @__PURE__ */ jsx28(Link2, { to, ...mergeProps4(`${navLink} ${classNames}`, void 0, {
8206
8234
  ...{
8207
8235
  textDecoration: "tdn",
8208
8236
  color: "color_unset"
@@ -8212,7 +8240,7 @@ var rowLinkRenderFn = (as, colSpan) => (key, css2, content, row, rowStyle, class
8212
8240
  };
8213
8241
  var rowClickRenderFn = (as, api, colSpan) => (key, css2, content, row, rowStyle, classNames, onClick, tooltip) => {
8214
8242
  const Cell = as === "table" ? "td" : "div";
8215
- return /* @__PURE__ */ jsx27(Cell, { ...mergeProps4(classNames, void 0, {
8243
+ return /* @__PURE__ */ jsx28(Cell, { ...mergeProps4(classNames, void 0, {
8216
8244
  ...css2
8217
8245
  }), onClick: (e) => {
8218
8246
  rowStyle.onClick(row, api);
@@ -8224,8 +8252,8 @@ var rowClickRenderFn = (as, api, colSpan) => (key, css2, content, row, rowStyle,
8224
8252
 
8225
8253
  // src/components/Table/components/ColumnResizeHandle.tsx
8226
8254
  import { useCallback as useCallback7, useContext as useContext10, useEffect as useEffect7, useRef as useRef10, useState as useState11 } from "react";
8227
- import { trussProps as trussProps20, maybeCssVar as maybeCssVar10 } from "@homebound/truss/runtime";
8228
- import { Fragment as Fragment7, jsx as jsx28, jsxs as jsxs13 } from "react/jsx-runtime";
8255
+ import { trussProps as trussProps21, maybeCssVar as maybeCssVar10 } from "@homebound/truss/runtime";
8256
+ import { Fragment as Fragment8, jsx as jsx29, jsxs as jsxs14 } from "react/jsx-runtime";
8229
8257
  function findScrollableParent(element) {
8230
8258
  if (!element) return null;
8231
8259
  let parent = element.parentElement;
@@ -8388,8 +8416,8 @@ function ColumnResizeHandle({
8388
8416
  document.body.style.userSelect = "";
8389
8417
  };
8390
8418
  }, []);
8391
- return /* @__PURE__ */ jsxs13(Fragment7, { children: [
8392
- /* @__PURE__ */ jsx28("div", { ref: handleRef, onMouseDown: handleMouseDown, onMouseEnter: () => setIsHovering(true), onMouseLeave: () => !isDragging && setIsHovering(false), ...trussProps20({
8419
+ return /* @__PURE__ */ jsxs14(Fragment8, { children: [
8420
+ /* @__PURE__ */ jsx29("div", { ref: handleRef, onMouseDown: handleMouseDown, onMouseEnter: () => setIsHovering(true), onMouseLeave: () => !isDragging && setIsHovering(false), ...trussProps21({
8393
8421
  position: "absolute",
8394
8422
  top: "top0",
8395
8423
  bottom: "bottom0",
@@ -8406,7 +8434,7 @@ function ColumnResizeHandle({
8406
8434
  }]
8407
8435
  } : {}
8408
8436
  }), ...tid.handle, "data-column-id": columnId, "data-column-index": columnIndex }),
8409
- isDragging && guideLineX !== null && /* @__PURE__ */ jsx28("div", { ...trussProps20({
8437
+ isDragging && guideLineX !== null && /* @__PURE__ */ jsx29("div", { ...trussProps21({
8410
8438
  position: "fixed",
8411
8439
  top: ["top_var", {
8412
8440
  "--top": `${guideLineTop}px`
@@ -8432,8 +8460,8 @@ function ColumnResizeHandle({
8432
8460
 
8433
8461
  // src/components/Table/components/KeptGroupRow.tsx
8434
8462
  import { useContext as useContext11 } from "react";
8435
- import { trussProps as trussProps21, maybeCssVar as maybeCssVar11 } from "@homebound/truss/runtime";
8436
- import { jsx as jsx29, jsxs as jsxs14 } from "react/jsx-runtime";
8463
+ import { trussProps as trussProps22, maybeCssVar as maybeCssVar11 } from "@homebound/truss/runtime";
8464
+ import { jsx as jsx30, jsxs as jsxs15 } from "react/jsx-runtime";
8437
8465
  var __maybeInc5 = (inc) => {
8438
8466
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
8439
8467
  };
@@ -8451,7 +8479,7 @@ function KeptGroupRow(props) {
8451
8479
  tableState
8452
8480
  } = useContext11(TableStateContext);
8453
8481
  const numHiddenSelectedRows = useComputed(() => tableState.keptRows.length, [tableState]);
8454
- return /* @__PURE__ */ jsx29(CellTag, { ...trussProps21({
8482
+ return /* @__PURE__ */ jsx30(CellTag, { ...trussProps22({
8455
8483
  ...style.cellCss,
8456
8484
  ...style.betweenRowsCss,
8457
8485
  ...isLastBodyRow && style.lastRowCellCss,
@@ -8466,10 +8494,10 @@ function KeptGroupRow(props) {
8466
8494
  }
8467
8495
  }), ...as === "table" ? {
8468
8496
  colSpan
8469
- } : {}, children: /* @__PURE__ */ jsxs14("div", { className: "df aic gap_12px", children: [
8470
- /* @__PURE__ */ jsx29("div", { className: "w_38px df jcc", children: /* @__PURE__ */ jsx29(CollapseToggle, { row, compact: true }) }),
8471
- /* @__PURE__ */ jsxs14("div", { className: "df aic gap1", children: [
8472
- /* @__PURE__ */ jsx29(Icon, { icon: "infoCircle", inc: 2 }),
8497
+ } : {}, children: /* @__PURE__ */ jsxs15("div", { className: "df aic gap_12px", children: [
8498
+ /* @__PURE__ */ jsx30("div", { className: "w_38px df jcc", children: /* @__PURE__ */ jsx30(CollapseToggle, { row, compact: true }) }),
8499
+ /* @__PURE__ */ jsxs15("div", { className: "df aic gap1", children: [
8500
+ /* @__PURE__ */ jsx30(Icon, { icon: "infoCircle", inc: 2 }),
8473
8501
  `${numHiddenSelectedRows} selected ${pluralize(numHiddenSelectedRows, "row")} hidden due to filters`
8474
8502
  ] })
8475
8503
  ] }) });
@@ -8950,8 +8978,8 @@ function resolveStyles(style) {
8950
8978
 
8951
8979
  // src/components/Table/components/Row.tsx
8952
8980
  import { useDebouncedCallback as useDebouncedCallback2 } from "use-debounce";
8953
- import { trussProps as trussProps22, mergeProps as mergeProps_12, maybeCssVar as maybeCssVar_12 } from "@homebound/truss/runtime";
8954
- import { Fragment as Fragment8, jsx as jsx30, jsxs as jsxs15 } from "react/jsx-runtime";
8981
+ import { trussProps as trussProps23, mergeProps as mergeProps_12, maybeCssVar as maybeCssVar_12 } from "@homebound/truss/runtime";
8982
+ import { Fragment as Fragment9, jsx as jsx31, jsxs as jsxs16 } from "react/jsx-runtime";
8955
8983
  var __maybeInc6 = (inc) => {
8956
8984
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
8957
8985
  };
@@ -9123,12 +9151,12 @@ function RowImpl(props) {
9123
9151
  const ref = useRef11(null);
9124
9152
  const dragOverCallback = useCallback8((row2, evt) => onDragOver?.(row2, evt), [onDragOver]);
9125
9153
  const onDragOverDebounced = useDebouncedCallback2(dragOverCallback, 100);
9126
- const RowContent = () => /* @__PURE__ */ jsx30(RowTag, { ...mergeProps_12(`${BorderHoverParent}${showRowHoverColor ? ` ${RowHoverClass}` : ""}`, void 0, rowCss), ...others, "data-gridrow": true, ...getCount(row.id), ref, children: isKeptGroupRow ? /* @__PURE__ */ jsx30(KeptGroupRow, { as, style, columnSizes, row, colSpan: columns.length, isLastBodyRow }) : columns.map((column2, columnIndex) => {
9154
+ const RowContent = () => /* @__PURE__ */ jsx31(RowTag, { ...mergeProps_12(`${BorderHoverParent}${showRowHoverColor ? ` ${RowHoverClass}` : ""}`, void 0, rowCss), ...others, "data-gridrow": true, ...getCount(row.id), ref, children: isKeptGroupRow ? /* @__PURE__ */ jsx31(KeptGroupRow, { as, style, columnSizes, row, colSpan: columns.length, isLastBodyRow }) : columns.map((column2, columnIndex) => {
9127
9155
  const maybeExpandedColumn = expandColumnHidden ? columns[columnIndex - 1] : column2;
9128
9156
  const isExpanded = tableState.isExpandedColumn(maybeExpandedColumn.id);
9129
9157
  if (column2.hideOnExpand && isExpanded) {
9130
9158
  expandColumnHidden = true;
9131
- return /* @__PURE__ */ jsx30(Fragment8, {});
9159
+ return /* @__PURE__ */ jsx31(Fragment9, {});
9132
9160
  }
9133
9161
  const numExpandedColumns = isExpanded ? tableState.numberOfExpandedChildren(maybeExpandedColumn.id) ? (
9134
9162
  // Subtract 1 if the column is hidden on expand, since we're not rendering it.
@@ -9309,24 +9337,24 @@ function RowImpl(props) {
9309
9337
  const currentSizeStr = columnSizes[columnIndex];
9310
9338
  const minWidthPx = column2.mw ? parseInt(column2.mw.replace("px", ""), 10) : 100;
9311
9339
  const currentWidthPx = parseWidthToPx(currentSizeStr, void 0) ?? resizedWidths?.[column2.id] ?? minWidthPx;
9312
- const cellElementWithHandle = React7.cloneElement(cellElement, mergeProps5(cellElement.props, trussProps22({
9340
+ const cellElementWithHandle = React7.cloneElement(cellElement, mergeProps5(cellElement.props, trussProps23({
9313
9341
  ...!maybeSticky && {
9314
9342
  position: "relative"
9315
9343
  }
9316
9344
  }), {
9317
- children: /* @__PURE__ */ jsxs15(Fragment8, { children: [
9345
+ children: /* @__PURE__ */ jsxs16(Fragment9, { children: [
9318
9346
  cellElement.props.children,
9319
- /* @__PURE__ */ jsx30(ColumnResizeHandle, { columnId: column2.id, columnIndex, currentWidth: currentWidthPx, minWidth: minWidthPx, onResize: (colId, width2) => setResizedWidth?.(colId, width2, columnIndex), calculatePreviewWidth })
9347
+ /* @__PURE__ */ jsx31(ColumnResizeHandle, { columnId: column2.id, columnIndex, currentWidth: currentWidthPx, minWidth: minWidthPx, onResize: (colId, width2) => setResizedWidth?.(colId, width2, columnIndex), calculatePreviewWidth })
9320
9348
  ] })
9321
9349
  }));
9322
9350
  return cellElementWithHandle;
9323
9351
  }
9324
9352
  return cellElement;
9325
9353
  }) });
9326
- return row.draggable ? /* @__PURE__ */ jsx30(
9354
+ return row.draggable ? /* @__PURE__ */ jsx31(
9327
9355
  "div",
9328
9356
  {
9329
- ...trussProps22(containerCss),
9357
+ ...trussProps23(containerCss),
9330
9358
  onDrop: (evt) => onDrop?.(row, evt),
9331
9359
  onDragEnter: (evt) => onDragEnter?.(row, evt),
9332
9360
  onDragOver: (evt) => {
@@ -9335,7 +9363,7 @@ function RowImpl(props) {
9335
9363
  },
9336
9364
  children: RowContent()
9337
9365
  }
9338
- ) : /* @__PURE__ */ jsx30(Fragment8, { children: RowContent() });
9366
+ ) : /* @__PURE__ */ jsx31(Fragment9, { children: RowContent() });
9339
9367
  }
9340
9368
  var Row = observer(RowImpl);
9341
9369
  var BorderHoverParent = "beam-bhp";
@@ -9365,8 +9393,8 @@ function useLabelSuffix(required, readOnly) {
9365
9393
 
9366
9394
  // src/inputs/ErrorMessage.tsx
9367
9395
  import { VisuallyHidden as VisuallyHidden2 } from "react-aria";
9368
- import { trussProps as trussProps23 } from "@homebound/truss/runtime";
9369
- import { Fragment as Fragment9, jsx as jsx31, jsxs as jsxs16 } from "react/jsx-runtime";
9396
+ import { trussProps as trussProps24 } from "@homebound/truss/runtime";
9397
+ import { Fragment as Fragment10, jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
9370
9398
  function ErrorMessage(props) {
9371
9399
  const {
9372
9400
  id,
@@ -9374,7 +9402,7 @@ function ErrorMessage(props) {
9374
9402
  hidden = false,
9375
9403
  ...others
9376
9404
  } = props;
9377
- const errorEl = errorMsg ? /* @__PURE__ */ jsxs16("div", { ...trussProps23({
9405
+ const errorEl = errorMsg ? /* @__PURE__ */ jsxs17("div", { ...trussProps24({
9378
9406
  color: ["color_var", {
9379
9407
  "--color": "var(--b-danger)"
9380
9408
  }],
@@ -9384,38 +9412,10 @@ function ErrorMessage(props) {
9384
9412
  display: "df",
9385
9413
  marginTop: "mt_4px"
9386
9414
  }), children: [
9387
- /* @__PURE__ */ jsx31("span", { className: "fs0", children: /* @__PURE__ */ jsx31(Icon, { icon: "error" }) }),
9388
- /* @__PURE__ */ jsx31("span", { id, className: "ml1 mt_2px", ...others, children: errorMsg })
9389
- ] }) : /* @__PURE__ */ jsx31(Fragment9, {});
9390
- return hidden ? /* @__PURE__ */ jsx31(VisuallyHidden2, { children: errorEl }) : errorEl;
9391
- }
9392
-
9393
- // src/inputs/internal/ProposedValue.tsx
9394
- import { trussProps as trussProps24 } from "@homebound/truss/runtime";
9395
- import { Fragment as Fragment10, jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
9396
- function ProposedValue(props) {
9397
- const {
9398
- original,
9399
- proposed
9400
- } = props;
9401
- const tid = useTestIds(props, "proposedValue");
9402
- return /* @__PURE__ */ jsxs17("span", { ...tid, children: [
9403
- original && /* @__PURE__ */ jsxs17(Fragment10, { children: [
9404
- /* @__PURE__ */ jsx32("span", { ...trussProps24({
9405
- textDecoration: "tdlt",
9406
- color: ["color_var", {
9407
- "--color": "var(--b-on-surface-muted)"
9408
- }]
9409
- }), ...tid.original, children: original }),
9410
- " "
9411
- ] }),
9412
- /* @__PURE__ */ jsx32("span", { ...trussProps24({
9413
- fontWeight: "fw6",
9414
- color: ["color_var", {
9415
- "--color": "var(--b-ai-field-fg)"
9416
- }]
9417
- }), ...tid.proposed, children: proposed })
9418
- ] });
9415
+ /* @__PURE__ */ jsx32("span", { className: "fs0", children: /* @__PURE__ */ jsx32(Icon, { icon: "error" }) }),
9416
+ /* @__PURE__ */ jsx32("span", { id, className: "ml1 mt_2px", ...others, children: errorMsg })
9417
+ ] }) : /* @__PURE__ */ jsx32(Fragment10, {});
9418
+ return hidden ? /* @__PURE__ */ jsx32(VisuallyHidden2, { children: errorEl }) : errorEl;
9419
9419
  }
9420
9420
 
9421
9421
  // src/inputs/utils.ts
@@ -17601,6 +17601,7 @@ function TableCardView(props) {
17601
17601
  aiMode = false
17602
17602
  } = props;
17603
17603
  const tid = useTestIds(props, "tableCardView");
17604
+ const titleText = typeof title === "string" ? title : title.proposed;
17604
17605
  const action = to || onClick;
17605
17606
  const progressValue = useMemo27(() => progress !== void 0 ? clampProgress(progress) : 0, [progress]);
17606
17607
  const shownFooter = shownInteractiveFooter(interactiveFooter);
@@ -17613,7 +17614,7 @@ function TableCardView(props) {
17613
17614
  } = useFocusRing11();
17614
17615
  const actionAttrs = {
17615
17616
  ...tid.action,
17616
- "aria-label": title,
17617
+ "aria-label": titleText,
17617
17618
  // `getButtonOrLink` renders its `<button>` without a type, which would default to submit inside a form.
17618
17619
  type: typeof action === "string" ? void 0 : "button",
17619
17620
  ...trussProps63(contentStyles),
@@ -17627,7 +17628,7 @@ function TableCardView(props) {
17627
17628
  borderBottomStyle: "bbs_solid",
17628
17629
  borderBottomWidth: "bbw_1px",
17629
17630
  borderColor: ["bc_var", {
17630
- "--borderColor": "var(--b-field-border-default)"
17631
+ "--borderColor": maybeCssVar31(aiMode ? "--b-ai-field-bg" /* AiFieldBg */ : "--b-field-border-default" /* FieldBorderDefault */)
17631
17632
  }],
17632
17633
  overflow: "oh",
17633
17634
  borderRadius: "borderRadius_12px_12px_0_0"
@@ -17638,7 +17639,7 @@ function TableCardView(props) {
17638
17639
  objectFit: ["objectFit_var", {
17639
17640
  "--objectFit": maybeCssVar31(imageFit)
17640
17641
  }]
17641
- }), src: imgSrc, alt: title, loading: "lazy", ...tid.image }),
17642
+ }), src: imgSrc, alt: titleText, loading: "lazy", ...tid.image }),
17642
17643
  status && /* @__PURE__ */ jsx97("div", { className: "absolute top1 left1 df", ...tid.status, children: /* @__PURE__ */ jsx97(Tag, { ...status }) })
17643
17644
  ] }),
17644
17645
  /* @__PURE__ */ jsxs51("div", { ...trussProps63({
@@ -17662,8 +17663,8 @@ function TableCardView(props) {
17662
17663
  "--color": "var(--b-on-surface)"
17663
17664
  }]
17664
17665
  }), ...tid.eyebrow, children: [
17665
- /* @__PURE__ */ jsx97("span", { className: "wsnw oh to_ellipsis", ...tid.leftEyebrow, children: leftEyebrow }),
17666
- rightEyebrow && /* @__PURE__ */ jsx97("span", { className: "fs0", ...tid.rightEyebrow, children: rightEyebrow })
17666
+ /* @__PURE__ */ jsx97("span", { className: "wsnw oh to_ellipsis", ...tid.leftEyebrow, children: renderMaybeProposed(leftEyebrow, tid.leftEyebrowProposal) }),
17667
+ rightEyebrow && /* @__PURE__ */ jsx97("span", { className: "fs0", ...tid.rightEyebrow, children: renderMaybeProposed(rightEyebrow, tid.rightEyebrowProposal) })
17667
17668
  ] }),
17668
17669
  /* @__PURE__ */ jsxs51("div", { className: "dif w100 jcsb aic", children: [
17669
17670
  /* @__PURE__ */ jsx97("h4", { ...trussProps63({
@@ -17678,7 +17679,7 @@ function TableCardView(props) {
17678
17679
  color: ["color_var", {
17679
17680
  "--color": "var(--b-on-surface)"
17680
17681
  }]
17681
- }), ...tid.title, children: title }),
17682
+ }), ...tid.title, children: renderMaybeProposed(title, tid.titleProposal) }),
17682
17683
  (badge || badgeTags?.length) && /* @__PURE__ */ jsxs51("div", { className: "dif aic gap1 fs0", ...tid.badge, children: [
17683
17684
  badge && /* @__PURE__ */ jsx97("span", { className: "fw4 fz_14px lh_20px wsnw", children: badge }),
17684
17685
  badgeTags?.map((tag) => /* @__PURE__ */ jsx97(Tag, { ...tag }, tag.text))
@@ -17697,19 +17698,19 @@ function TableCardView(props) {
17697
17698
  } : {}
17698
17699
  }), children: [
17699
17700
  data.length > 0 && /* @__PURE__ */ jsxs51("dl", { className: "df gap2 fw4 fz_14px lh_20px", children: [
17700
- /* @__PURE__ */ jsx97("div", { className: "df fdc fg1", children: col1.map((d) => /* @__PURE__ */ jsxs51("div", { className: "df gap_4px", ...tid[defaultTestId(d.label)], children: [
17701
- /* @__PURE__ */ jsxs51("dt", { children: [
17701
+ /* @__PURE__ */ jsx97("div", { className: "df fdc fg1 fb2 mw0", children: col1.map((d) => /* @__PURE__ */ jsxs51("div", { className: "df gap_4px", ...tid[defaultTestId(d.label)], children: [
17702
+ /* @__PURE__ */ jsxs51("dt", { className: "fs0", children: [
17702
17703
  d.label,
17703
17704
  ":"
17704
17705
  ] }),
17705
- /* @__PURE__ */ jsx97("dd", { children: d.value })
17706
+ /* @__PURE__ */ jsx97("dd", { className: "mw0", children: d.value })
17706
17707
  ] }, d.label)) }),
17707
- /* @__PURE__ */ jsx97("div", { className: "df fdc fg1", children: col2.map((d) => /* @__PURE__ */ jsxs51("div", { className: "df gap_4px", ...tid[defaultTestId(d.label)], children: [
17708
- /* @__PURE__ */ jsxs51("dt", { children: [
17708
+ /* @__PURE__ */ jsx97("div", { className: "df fdc fg1 fb2 mw0", children: col2.map((d) => /* @__PURE__ */ jsxs51("div", { className: "df gap_4px", ...tid[defaultTestId(d.label)], children: [
17709
+ /* @__PURE__ */ jsxs51("dt", { className: "fs0", children: [
17709
17710
  d.label,
17710
17711
  ":"
17711
17712
  ] }),
17712
- /* @__PURE__ */ jsx97("dd", { children: d.value })
17713
+ /* @__PURE__ */ jsx97("dd", { className: "mw0", children: d.value })
17713
17714
  ] }, d.label)) })
17714
17715
  ] }),
17715
17716
  progress !== void 0 && /* @__PURE__ */ jsxs51("div", { className: "df aic gap1 fs_10px lh_14px", children: [
@@ -17718,16 +17719,16 @@ function TableCardView(props) {
17718
17719
  height: "h_8px",
17719
17720
  borderRadius: "br4",
17720
17721
  backgroundColor: ["bgColor_var", {
17721
- "--backgroundColor": "var(--b-surface-subtle)"
17722
+ "--backgroundColor": maybeCssVar31(aiMode ? "rgba(221, 214, 254, 1)" /* Purple200 */ : "--b-surface-subtle" /* SurfaceSubtle */)
17722
17723
  }]
17723
- }), children: /* @__PURE__ */ jsx97("div", { ...trussProps63({
17724
+ }), ...tid.progressTrack, children: /* @__PURE__ */ jsx97("div", { ...trussProps63({
17724
17725
  height: "h100",
17725
17726
  borderRadius: "br4",
17726
17727
  backgroundColor: "bgBlue500",
17727
17728
  width: ["w_var", {
17728
17729
  "--width": maybeCssVar31(__maybeInc13(`${progressValue}%`))
17729
17730
  }]
17730
- }) }) }),
17731
+ }), ...tid.progressFill }) }),
17731
17732
  /* @__PURE__ */ jsxs51("span", { ...tid.progressValue, children: [
17732
17733
  progressValue,
17733
17734
  "%"
@@ -17760,6 +17761,13 @@ function TableCardView(props) {
17760
17761
  boxShadow: "bshFocus",
17761
17762
  borderStyle: "bss",
17762
17763
  borderWidth: "bw1"
17764
+ } : {},
17765
+ // Must follow the focus ring, whose `ba` would reset the AI border back to 1px.
17766
+ ...aiMode ? {
17767
+ borderWidth: "bw2",
17768
+ borderColor: ["bc_var", {
17769
+ "--borderColor": "var(--b-ai-field-fg)"
17770
+ }]
17763
17771
  } : {}
17764
17772
  }), ...tid, children: [
17765
17773
  action ? getButtonOrLink(content, action, actionAttrs) : (
@@ -17821,6 +17829,9 @@ function Thumbnail(props) {
17821
17829
  pointerEvents: "after_a_pointerEvents_none"
17822
17830
  }), children: /* @__PURE__ */ jsx97("span", { className: "db w100 h100 oh br8", children: /* @__PURE__ */ jsx97("img", { className: "w100 h100 objectFit_cover db", src: item.imgUrl, alt: "", loading: "lazy" }) }) }) });
17823
17831
  }
17832
+ function renderMaybeProposed(value, tid) {
17833
+ return typeof value === "string" || value === void 0 ? value : /* @__PURE__ */ jsx97(ProposedValue, { ...value, ...tid });
17834
+ }
17824
17835
  function clampProgress(value) {
17825
17836
  if (process.env.NODE_ENV !== "production" && (value < 0 || value > 100)) {
17826
17837
  console.warn(`[TableCard] progress value ${value} is outside the expected range [0, 100] and will be clamped.`);
@@ -28819,6 +28830,7 @@ export {
28819
28830
  PinToggle,
28820
28831
  PresentationProvider,
28821
28832
  PreventBrowserScroll,
28833
+ ProposedValue,
28822
28834
  RIGHT_SIDEBAR_MIN_WIDTH,
28823
28835
  RadioGroupField,
28824
28836
  ResponsiveGrid,