@camstack/ui-library 1.2.237 → 1.2.238

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.cjs CHANGED
@@ -28752,18 +28752,31 @@ function GroupedModelSelector({ catalog, value, onChange, disabled }) {
28752
28752
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
28753
28753
  className: "space-y-3",
28754
28754
  children: [
28755
- families.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
28756
- className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
28757
- children: "Family"
28758
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
28759
- className: "flex flex-wrap gap-1.5",
28760
- children: families.map((f) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Chip, {
28761
- active: f.family === family.family,
28762
- disabled,
28763
- onClick: () => onChange(f.tiers[0]?.baseModelId ?? ""),
28764
- children: f.label
28765
- }, f.family))
28766
- })] }),
28755
+ families.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [
28756
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
28757
+ className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
28758
+ children: "Family"
28759
+ }),
28760
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
28761
+ className: "flex flex-wrap gap-1.5",
28762
+ children: families.map((f) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Chip, {
28763
+ active: f.family === family.family,
28764
+ disabled,
28765
+ ...f.hint !== void 0 ? { title: f.hint } : {},
28766
+ onClick: () => onChange(f.tiers[0]?.baseModelId ?? ""),
28767
+ children: f.label
28768
+ }, f.family))
28769
+ }),
28770
+ family.hint !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
28771
+ className: "mt-1 text-[10px] text-foreground-subtle",
28772
+ "data-testid": "model-family-hint",
28773
+ children: [
28774
+ family.label,
28775
+ ": ",
28776
+ family.hint
28777
+ ]
28778
+ })
28779
+ ] }),
28767
28780
  family.tiers.length > 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
28768
28781
  className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
28769
28782
  children: [family.label, " — size"]
@@ -29400,6 +29413,7 @@ function supplyNotes(supply) {
29400
29413
  if (supply.stepId === "package-detection") return [...notes, "The root model's own package boxes become the package result at this step's threshold; this step's zone-crop view is not used, so small parcels the full-frame model misses stay missed."];
29401
29414
  return [...notes, "This step's class list decides which of the root's labels become the fine class; a switched-off class stays at its macro."];
29402
29415
  }
29416
+ if (supply.kind === "mask") return ["Masks come from the root model: each detection carries the root's own instance mask, so this step's model does not run. A root mask follows the model's mask grid (a quarter of its input), coarser than this step's own per-crop mask."];
29403
29417
  if (supply.stepId === "face-detection") return ["Face boxes come from the root model. Each is re-found by this step's face detector in a square around it before recognition, so only a face it finds is recognised; a box with no face in it is dropped."];
29404
29418
  return ["Plate boxes come from the root model and the plate reader reads them. The crop margin around a root plate box has not been measured for this model yet."];
29405
29419
  }
package/dist/index.js CHANGED
@@ -28728,18 +28728,31 @@ function GroupedModelSelector({ catalog, value, onChange, disabled }) {
28728
28728
  return /* @__PURE__ */ jsxs("div", {
28729
28729
  className: "space-y-3",
28730
28730
  children: [
28731
- families.length > 1 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
28732
- className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
28733
- children: "Family"
28734
- }), /* @__PURE__ */ jsx("div", {
28735
- className: "flex flex-wrap gap-1.5",
28736
- children: families.map((f) => /* @__PURE__ */ jsx(Chip, {
28737
- active: f.family === family.family,
28738
- disabled,
28739
- onClick: () => onChange(f.tiers[0]?.baseModelId ?? ""),
28740
- children: f.label
28741
- }, f.family))
28742
- })] }),
28731
+ families.length > 1 && /* @__PURE__ */ jsxs("div", { children: [
28732
+ /* @__PURE__ */ jsx("p", {
28733
+ className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
28734
+ children: "Family"
28735
+ }),
28736
+ /* @__PURE__ */ jsx("div", {
28737
+ className: "flex flex-wrap gap-1.5",
28738
+ children: families.map((f) => /* @__PURE__ */ jsx(Chip, {
28739
+ active: f.family === family.family,
28740
+ disabled,
28741
+ ...f.hint !== void 0 ? { title: f.hint } : {},
28742
+ onClick: () => onChange(f.tiers[0]?.baseModelId ?? ""),
28743
+ children: f.label
28744
+ }, f.family))
28745
+ }),
28746
+ family.hint !== void 0 && /* @__PURE__ */ jsxs("p", {
28747
+ className: "mt-1 text-[10px] text-foreground-subtle",
28748
+ "data-testid": "model-family-hint",
28749
+ children: [
28750
+ family.label,
28751
+ ": ",
28752
+ family.hint
28753
+ ]
28754
+ })
28755
+ ] }),
28743
28756
  family.tiers.length > 1 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("p", {
28744
28757
  className: "text-[10px] uppercase tracking-wide text-foreground-subtle mb-1.5",
28745
28758
  children: [family.label, " — size"]
@@ -29376,6 +29389,7 @@ function supplyNotes(supply) {
29376
29389
  if (supply.stepId === "package-detection") return [...notes, "The root model's own package boxes become the package result at this step's threshold; this step's zone-crop view is not used, so small parcels the full-frame model misses stay missed."];
29377
29390
  return [...notes, "This step's class list decides which of the root's labels become the fine class; a switched-off class stays at its macro."];
29378
29391
  }
29392
+ if (supply.kind === "mask") return ["Masks come from the root model: each detection carries the root's own instance mask, so this step's model does not run. A root mask follows the model's mask grid (a quarter of its input), coarser than this step's own per-crop mask."];
29379
29393
  if (supply.stepId === "face-detection") return ["Face boxes come from the root model. Each is re-found by this step's face detector in a square around it before recognition, so only a face it finds is recognised; a box with no face in it is dropped."];
29380
29394
  return ["Plate boxes come from the root model and the plate reader reads them. The crop margin around a root plate box has not been measured for this model yet."];
29381
29395
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/ui-library",
3
- "version": "1.2.237",
3
+ "version": "1.2.238",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",