@fasl-work/caos-app-shell 0.19.2 → 0.19.4

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
@@ -1014,7 +1014,7 @@ function DocReferences({ ids }) {
1014
1014
  return /* @__PURE__ */ jsxs("li", { children: [
1015
1015
  /* @__PURE__ */ jsx("span", { translate: "no", children: c.citation }),
1016
1016
  " ",
1017
- h ? /* @__PURE__ */ jsx("a", { href: h, target: "_blank", rel: "noreferrer noopener", className: "faint", children: c.doi ? /* @__PURE__ */ jsx("span", { translate: "no", children: `doi:${c.doi}` }) : "link" }) : null
1017
+ h ? /* @__PURE__ */ jsx("a", { href: h, target: "_blank", rel: "noreferrer noopener", className: "faint", children: c.doi ? /* @__PURE__ */ jsx("span", { translate: "no", children: `doi:${c.doi}` }) : lang === "es" ? "enlace" : "link" }) : null
1018
1018
  ] }, id);
1019
1019
  }) })
1020
1020
  ] });
@@ -1031,6 +1031,7 @@ function Refs({ ids, label }) {
1031
1031
  }
1032
1032
  function ReferenceList({ ids, heading }) {
1033
1033
  console.error("[caos-app-shell] ReferenceList is superseded by the end-of-page references block (ADR-0017 s4): give each DocSection its refs");
1034
+ const lang = useShellLang();
1034
1035
  const { list, byId } = useContext(CitationsContext);
1035
1036
  const items = ids ? ids.map((k) => byId[k]).filter(Boolean) : list;
1036
1037
  return /* @__PURE__ */ jsxs("section", { className: "references", "aria-label": heading ?? "References", children: [
@@ -1040,7 +1041,7 @@ function ReferenceList({ ids, heading }) {
1040
1041
  return /* @__PURE__ */ jsxs("li", { children: [
1041
1042
  /* @__PURE__ */ jsx("span", { translate: "no", children: c.citation }),
1042
1043
  " ",
1043
- h ? /* @__PURE__ */ jsx("a", { href: h, target: "_blank", rel: "noreferrer noopener", className: "faint", children: c.doi ? /* @__PURE__ */ jsx("span", { translate: "no", children: `doi:${c.doi}` }) : "link" }) : null
1044
+ h ? /* @__PURE__ */ jsx("a", { href: h, target: "_blank", rel: "noreferrer noopener", className: "faint", children: c.doi ? /* @__PURE__ */ jsx("span", { translate: "no", children: `doi:${c.doi}` }) : lang === "es" ? "enlace" : "link" }) : null
1044
1045
  ] }, c.id);
1045
1046
  }) })
1046
1047
  ] });
@@ -3802,8 +3803,8 @@ function isStale(dataKey, current) {
3802
3803
  }
3803
3804
  var LANE_LABELS = {
3804
3805
  live: { en: "Live in your browser", es: "En vivo en tu navegador" },
3805
- replay: { en: "Replay of the offline result", es: "Reproduce el resultado offline" },
3806
- offline: { en: "Offline only", es: "Solo offline" }
3806
+ replay: { en: "Replay of the offline result", es: "Reproduce el resultado precalculado" },
3807
+ offline: { en: "Offline only", es: "Solo precalculado" }
3807
3808
  };
3808
3809
  var PROVENANCE_LABELS = {
3809
3810
  real: { en: "Real data", es: "Datos reales" },
package/gate/inpage.mjs CHANGED
@@ -413,7 +413,11 @@ export function installLib() {
413
413
  const y = Math.max(cy0, r.top);
414
414
  const x2 = Math.min(cx1, r.right);
415
415
  const y2 = Math.min(cy1, r.bottom);
416
- if (x2 - x < 2 || y2 - y < 2) continue;
416
+ // Only the visible part counts (known shell defect, 0.19.4): a surface mostly past the edge of the viewport is measured
417
+ // when the gate scrolls to it. Judged from a sliver, a table card with 5 px of its body inside the fold was called
418
+ // blank (nothing is painted in 5 px of padding) while it renders whole once scrolled to. The visible part must be at
419
+ // least the drawing's own minimum, the one applied to its full rectangle above.
420
+ if (x2 - x < min || y2 - y < min) continue;
417
421
  // The stage a drawing is judged against: the view's body, else the sized stage, else the surface itself; the
418
422
  // view is the card that holds it. A drawing that fills a small corner of a large view underfills its stage.
419
423
  const stageEl = el.closest('.caos-plot-body') || el.closest('[data-drawn]') || el;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fasl-work/caos-app-shell",
3
- "version": "0.19.2",
3
+ "version": "0.19.4",
4
4
  "description": "Shared web-app shell, workbench primitives, content primitives, design system and measured gate for the CAOS / Faena public apps (ADR-0016, ADR-0017, ADR-0071).",
5
5
  "license": "MIT",
6
6
  "author": "Felipe Santibáñez-Leal",
package/styles.css CHANGED
@@ -507,6 +507,9 @@ svg.lucide { flex: none; }
507
507
  .cs-kind-uploaded { color: var(--color-warn); border-color: color-mix(in oklab, var(--color-warn) 40%, transparent); }
508
508
  .cs-modified { display: flex; align-items: center; gap: 0.35rem 0.5rem; flex-wrap: wrap; min-width: 0; }
509
509
  .cs-modified .badge { white-space: normal; max-width: 100%; }
510
+ /* A lane badge in the workbench rail wraps inside the rail: the Spanish replay label is wider than the 248px rail and, nowrap, spilled out of it and widened it (known shell defect 44, shell 0.19.4). Outside the rail a badge stays nowrap. */
511
+ .caos-wb-rail .caos-badges { max-width: 100%; }
512
+ .caos-wb-rail .badge { white-space: normal; max-width: 100%; }
510
513
  .cs-reset { border: none; background: transparent; color: var(--color-accent); font-size: 0.8rem; font-weight: 600; padding: 0.1rem 0.2rem; text-decoration: underline; text-underline-offset: 2px; }
511
514
  /* The compact one-of-N case picker (ADR-0071 rule 7): ten cases in four categories cost a 308px chip block, 21% of a
512
515
  2560x1440 viewport, and one row as a dropdown. */