@qoretechnologies/reqraft 0.10.2 → 0.10.5

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.
Files changed (74) hide show
  1. package/.claude/CLAUDE.md +5 -0
  2. package/design/COMPACT_ENGINE_REDESIGN.md +156 -0
  3. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +353 -0
  4. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  5. package/dist/components/form/engine/CompactRow.js +158 -101
  6. package/dist/components/form/engine/CompactRow.js.map +1 -1
  7. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  8. package/dist/components/form/engine/CompactToolbar.js +122 -105
  9. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  10. package/dist/components/form/engine/FormEngine.d.ts +9 -1
  11. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  12. package/dist/components/form/engine/FormEngine.js +272 -82
  13. package/dist/components/form/engine/FormEngine.js.map +1 -1
  14. package/dist/components/form/engine/compactRowStyles.d.ts +6 -3
  15. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  16. package/dist/components/form/engine/compactRowStyles.js +76 -49
  17. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  18. package/dist/components/form/engine/compactToolbarContext.d.ts +1 -0
  19. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  20. package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
  21. package/dist/components/form/engine/readFirst.d.ts +19 -0
  22. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  23. package/dist/components/form/engine/readFirst.js +22 -1
  24. package/dist/components/form/engine/readFirst.js.map +1 -1
  25. package/dist/components/form/engine/variants/VariantCalmTable.d.ts +6 -0
  26. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -0
  27. package/dist/components/form/engine/variants/VariantCalmTable.js +94 -0
  28. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -0
  29. package/dist/components/form/engine/variants/VariantCards.d.ts +6 -0
  30. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -0
  31. package/dist/components/form/engine/variants/VariantCards.js +80 -0
  32. package/dist/components/form/engine/variants/VariantCards.js.map +1 -0
  33. package/dist/components/form/engine/variants/VariantFocus.d.ts +7 -0
  34. package/dist/components/form/engine/variants/VariantFocus.d.ts.map +1 -0
  35. package/dist/components/form/engine/variants/VariantFocus.js +138 -0
  36. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -0
  37. package/dist/components/form/engine/variants/VariantMinimal.d.ts +6 -0
  38. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -0
  39. package/dist/components/form/engine/variants/VariantMinimal.js +73 -0
  40. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -0
  41. package/dist/components/form/engine/variants/focusDemo.d.ts +13 -0
  42. package/dist/components/form/engine/variants/focusDemo.d.ts.map +1 -0
  43. package/dist/components/form/engine/variants/focusDemo.js +139 -0
  44. package/dist/components/form/engine/variants/focusDemo.js.map +1 -0
  45. package/dist/components/form/engine/variants/variantModel.d.ts +70 -0
  46. package/dist/components/form/engine/variants/variantModel.d.ts.map +1 -0
  47. package/dist/components/form/engine/variants/variantModel.js +133 -0
  48. package/dist/components/form/engine/variants/variantModel.js.map +1 -0
  49. package/dist/components/form/engine/variants/variantParts.d.ts +79 -0
  50. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -0
  51. package/dist/components/form/engine/variants/variantParts.js +191 -0
  52. package/dist/components/form/engine/variants/variantParts.js.map +1 -0
  53. package/dist/components/form/fields/auto/AutoFormField.d.ts +3 -0
  54. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  55. package/dist/components/form/fields/auto/AutoFormField.js +5 -2
  56. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/components/form/engine/CompactRow.tsx +273 -258
  59. package/src/components/form/engine/CompactToolbar.tsx +112 -85
  60. package/src/components/form/engine/FormEngine.stories.tsx +239 -115
  61. package/src/components/form/engine/FormEngine.tsx +332 -83
  62. package/src/components/form/engine/compactRowStyles.ts +221 -144
  63. package/src/components/form/engine/compactToolbarContext.ts +1 -0
  64. package/src/components/form/engine/readFirst.ts +35 -0
  65. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +119 -0
  66. package/src/components/form/engine/variants/VariantCalmTable.tsx +242 -0
  67. package/src/components/form/engine/variants/VariantCards.tsx +212 -0
  68. package/src/components/form/engine/variants/VariantFocus.tsx +382 -0
  69. package/src/components/form/engine/variants/VariantMinimal.tsx +170 -0
  70. package/src/components/form/engine/variants/focusDemo.ts +145 -0
  71. package/src/components/form/engine/variants/variantModel.ts +216 -0
  72. package/src/components/form/engine/variants/variantParts.tsx +313 -0
  73. package/src/components/form/fields/auto/AutoFormField.stories.tsx +9 -2
  74. package/src/components/form/fields/auto/AutoFormField.tsx +8 -0
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.StyledGroupBody = exports.StyledColorSwatch = exports.StyledRowInset = exports.StyledInfoPanel = exports.StyledColumn = exports.StyledActionSlot = exports.StyledRowActions = exports.StyledRowValue = exports.StyledCardLabel = exports.StyledCardHeading = exports.StyledLabelDesc = exports.StyledRowLabel = exports.StyledLabelBlock = exports.StyledEditCard = exports.StyledClusterNode = exports.StyledGroupHeaderLine = exports.StyledGroupHeader = exports.StyledCompactPanel = exports.PANEL_LEFT_CSS = exports.VALUE_LEFT_CSS = exports.LABEL_COL = exports.LABEL_COL_VAR = exports.LABEL_COL_MAX = exports.LABEL_COL_MIN = exports.GROUP_INDENT = exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT = exports.COMPACT_ROW_GAP = exports.COMPACT_ROW_PAD_X = exports.COMPACT_LABEL_COL = exports.HEADER_GAP = void 0;
10
+ exports.StyledGroupBody = exports.StyledColorSwatch = exports.StyledRowInset = exports.StyledColumn = exports.StyledActionSlot = exports.StyledStatusDot = exports.StyledRowActions = exports.StyledRowValue = exports.StyledCardLabel = exports.StyledCardHeading = exports.StyledLabelDesc = exports.StyledRowLabel = exports.StyledLabelBlock = exports.StyledEditCard = exports.StyledClusterNode = exports.StyledStatusBoxGroupLabel = exports.StyledRequiredClusterHeader = exports.StyledRequiredClusterBox = exports.StyledStatusBox = exports.StyledGroupHeaderLine = exports.StyledGroupHeader = exports.StyledCompactPanel = exports.PANEL_LEFT_CSS = exports.LABEL_COL = exports.LABEL_COL_VAR = exports.LABEL_COL_MAX = exports.LABEL_COL_MIN = exports.GROUP_INDENT = exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT = exports.COMPACT_ROW_GAP = exports.COMPACT_ROW_PAD_X = exports.COMPACT_LABEL_COL = exports.HEADER_GAP = void 0;
11
11
  var reqore_1 = require("@qoretechnologies/reqore");
12
12
  var sizes_1 = require("@qoretechnologies/reqore/dist/constants/sizes");
13
13
  var styled_components_1 = __importDefault(require("styled-components"));
@@ -26,11 +26,10 @@ exports.COMPACT_ROW_GAP = 14; // grid column gap
26
26
  exports.COMPACT_VALUE_LEFT = exports.COMPACT_ROW_PAD_X + exports.COMPACT_LABEL_COL + exports.COMPACT_ROW_GAP;
27
27
  // The surface starts a touch left of the value text, for inner left padding.
28
28
  exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT - 10;
29
- // Fluid indent applied to every field block under a group header. Shared so the
30
- // group spine and the required-group rail land on the SAME vertical line (the
31
- // rail sits at the block's left gutter, `-9px`, and the spine at `indent - 9px`
32
- // in the group body's coordinate space — both resolve `3%` against the body).
33
- exports.GROUP_INDENT = 'clamp(8px, 3%, 32px)';
29
+ // Left offset for the group sub-labels / cluster header, kept equal to the row's
30
+ // own horizontal padding so the labels line up flush with the field labels below
31
+ // them (no extra gutter the spine/rail that used a fluid indent are gone).
32
+ exports.GROUP_INDENT = "".concat(exports.COMPACT_ROW_PAD_X, "px");
34
33
  // Measured label column (GLOBAL). The label column sizes to the WIDEST field
35
34
  // label across the whole form, clamped to [MIN, MAX]. FormEngine measures the
36
35
  // labels once and writes the result to `LABEL_COL_VAR` on the compact scroll
@@ -42,7 +41,6 @@ exports.LABEL_COL_MIN = 120;
42
41
  exports.LABEL_COL_MAX = exports.COMPACT_LABEL_COL; // 220
43
42
  exports.LABEL_COL_VAR = '--readfirst-label-col';
44
43
  exports.LABEL_COL = "var(".concat(exports.LABEL_COL_VAR, ", ").concat(exports.COMPACT_LABEL_COL, "px)");
45
- exports.VALUE_LEFT_CSS = "calc(".concat(exports.LABEL_COL, " + ").concat(exports.COMPACT_ROW_PAD_X + exports.COMPACT_ROW_GAP, "px)");
46
44
  exports.PANEL_LEFT_CSS = "calc(".concat(exports.LABEL_COL, " + ").concat(exports.COMPACT_ROW_PAD_X + exports.COMPACT_ROW_GAP - 10, "px)");
47
45
  // Glass sticky header: override `.reqore-panel-title` (the surface ReqorePanel
48
46
  // gives its sticky header) with a translucent theme tint + a moderate blur, the
@@ -50,9 +48,14 @@ exports.PANEL_LEFT_CSS = "calc(".concat(exports.LABEL_COL, " + ").concat(exports
50
48
  // promotes the header to its own GPU layer, which stops the backdrop-filter
51
49
  // repaint flicker on scroll. `$headerBg` is a pre-mixed translucent colour so
52
50
  // content blurs softly through.
53
- exports.StyledCompactPanel = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n > .reqore-panel-title {\n background: ", ";\n backdrop-filter: blur(6px);\n -webkit-backdrop-filter: blur(6px);\n transform: translateZ(0);\n padding-top: ", "px;\n padding-bottom: ", "px;\n }\n\n /* Group framing. The HORIZONTAL rule is a real element in the header\n (StyledGroupHeaderLine) so it sits on the name's row, centred, and stretches\n from the name out to the status chip pinned at the far end \u2014 which needs the\n title's left group to fill the header width. The VERTICAL group spine is\n drawn by StyledGroupBody (so it shares the required-group rail's coordinate\n space and the two line up instead of doubling). */\n .options-readfirst-group {\n position: relative;\n }\n .options-readfirst-group > .reqore-panel-title > :first-child,\n .options-readfirst-group > .reqore-panel-title > :first-child > :first-child,\n .options-readfirst-group .reqore-panel-title-label-row {\n flex: 1 1 auto;\n min-width: 0;\n }\n"], ["\n > .reqore-panel-title {\n background: ", ";\n backdrop-filter: blur(6px);\n -webkit-backdrop-filter: blur(6px);\n transform: translateZ(0);\n padding-top: ", "px;\n padding-bottom: ", "px;\n }\n\n /* Group framing. The HORIZONTAL rule is a real element in the header\n (StyledGroupHeaderLine) so it sits on the name's row, centred, and stretches\n from the name out to the status chip pinned at the far end \u2014 which needs the\n title's left group to fill the header width. The VERTICAL group spine is\n drawn by StyledGroupBody (so it shares the required-group rail's coordinate\n space and the two line up instead of doubling). */\n .options-readfirst-group {\n position: relative;\n }\n .options-readfirst-group > .reqore-panel-title > :first-child,\n .options-readfirst-group > .reqore-panel-title > :first-child > :first-child,\n .options-readfirst-group .reqore-panel-title-label-row {\n flex: 1 1 auto;\n min-width: 0;\n }\n"])), function (_a) {
51
+ exports.StyledCompactPanel = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n > .reqore-panel-title {\n background: ", ";\n /* The blur + translateZ exist only to make the STICKY top-level toolbar ghost\n content beneath it; a nested sub-form's header isn't sticky, so skip them\n (and the stacking context translateZ creates). */\n ", "\n padding-top: ", "px;\n padding-bottom: ", "px;\n }\n\n /* Group framing. The HORIZONTAL rule is a real element in the header\n (StyledGroupHeaderLine) so it sits on the name's row, centred, and stretches\n from the name out to the status chip pinned at the far end \u2014 which needs the\n title's left group to fill the header width. The VERTICAL group spine is\n drawn by StyledGroupBody (so it shares the required-group rail's coordinate\n space and the two line up instead of doubling). */\n .options-readfirst-group {\n position: relative;\n }\n .options-readfirst-group > .reqore-panel-title > :first-child,\n .options-readfirst-group > .reqore-panel-title > :first-child > :first-child,\n .options-readfirst-group .reqore-panel-title-label-row {\n flex: 1 1 auto;\n min-width: 0;\n }\n"], ["\n > .reqore-panel-title {\n background: ", ";\n /* The blur + translateZ exist only to make the STICKY top-level toolbar ghost\n content beneath it; a nested sub-form's header isn't sticky, so skip them\n (and the stacking context translateZ creates). */\n ", "\n padding-top: ", "px;\n padding-bottom: ", "px;\n }\n\n /* Group framing. The HORIZONTAL rule is a real element in the header\n (StyledGroupHeaderLine) so it sits on the name's row, centred, and stretches\n from the name out to the status chip pinned at the far end \u2014 which needs the\n title's left group to fill the header width. The VERTICAL group spine is\n drawn by StyledGroupBody (so it shares the required-group rail's coordinate\n space and the two line up instead of doubling). */\n .options-readfirst-group {\n position: relative;\n }\n .options-readfirst-group > .reqore-panel-title > :first-child,\n .options-readfirst-group > .reqore-panel-title > :first-child > :first-child,\n .options-readfirst-group .reqore-panel-title-label-row {\n flex: 1 1 auto;\n min-width: 0;\n }\n"])), function (_a) {
54
52
  var $headerBg = _a.$headerBg;
55
53
  return $headerBg;
54
+ }, function (_a) {
55
+ var $nested = _a.$nested;
56
+ return $nested ?
57
+ ''
58
+ : 'backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transform: translateZ(0);';
56
59
  }, sizes_1.GAP_FROM_SIZE[exports.HEADER_GAP], sizes_1.GAP_FROM_SIZE[exports.HEADER_GAP]);
57
60
  // Compact group header laid out as the panel's `label`: the group name, a
58
61
  // hairline that fades toward the status chip, and the chip pinned at the end.
@@ -61,13 +64,43 @@ exports.StyledGroupHeaderLine = styled_components_1.default.span(templateObject_
61
64
  var $color = _a.$color;
62
65
  return $color;
63
66
  });
67
+ // A status box (Needs attention / Set / Optional). Matches the "Focus" prototype:
68
+ // a barely-there accent border + a ~5%-opacity tint, NOT the loud intent border a
69
+ // stock ReqorePanel draws. `$accent` is the box's theme colour (warning/success/
70
+ // muted).
71
+ exports.StyledStatusBox = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n &&& {\n border: 1px solid ", ";\n /* $bg lets the muted \"Optional\" box opt into a darker, recessed surface\n instead of the faint accent tint the coloured boxes use. */\n background: ", ";\n border-radius: 10px;\n }\n"], ["\n &&& {\n border: 1px solid ", ";\n /* $bg lets the muted \"Optional\" box opt into a darker, recessed surface\n instead of the faint accent tint the coloured boxes use. */\n background: ", ";\n border-radius: 10px;\n }\n"])), function (_a) {
72
+ var $accent = _a.$accent;
73
+ return "".concat($accent, "33");
74
+ }, function (_a) {
75
+ var $accent = _a.$accent, $bg = _a.$bg;
76
+ return $bg || "".concat($accent, "1f");
77
+ });
78
+ // "One of the below is required" cluster box — wraps the members of an unmet
79
+ // one-of required group (in the Needs-attention box) so the constraint reads as
80
+ // one unit. The connection rail + status nodes still render inside (they convey
81
+ // which member satisfies the group); this box adds the explicit heading.
82
+ exports.StyledRequiredClusterBox = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n border: 1px solid ", ";\n border-radius: 8px;\n background: ", ";\n padding: 2px 6px 6px;\n margin: 4px 0;\n /* The members render directly here (not via the gapped group body), so give\n them the same modest gap the rest of the rows have. Pin the divider-centring\n var to that gap (it doesn't widen in narrow like the group body's does). */\n display: flex;\n flex-flow: column;\n --readfirst-row-gap: 4px;\n gap: 4px;\n"], ["\n border: 1px solid ", ";\n border-radius: 8px;\n background: ", ";\n padding: 2px 6px 6px;\n margin: 4px 0;\n /* The members render directly here (not via the gapped group body), so give\n them the same modest gap the rest of the rows have. Pin the divider-centring\n var to that gap (it doesn't widen in narrow like the group body's does). */\n display: flex;\n flex-flow: column;\n --readfirst-row-gap: 4px;\n gap: 4px;\n"])), function (_a) {
83
+ var $border = _a.$border;
84
+ return $border;
85
+ }, function (_a) {
86
+ var $tint = _a.$tint;
87
+ return $tint;
88
+ });
89
+ exports.StyledRequiredClusterHeader = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 0 4px ", ";\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 1px;\n text-transform: uppercase;\n color: ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 0 4px ", ";\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 1px;\n text-transform: uppercase;\n color: ", ";\n"])), exports.GROUP_INDENT, function (_a) {
90
+ var $color = _a.$color;
91
+ return $color;
92
+ });
93
+ // Thin schema-group sub-label inside a status box (CONNECTION / AUTHENTICATION /
94
+ // …). Quiet by design — the box header is the loud heading; this just keeps each
95
+ // field's group context as you scan. Indented to the rows' content line.
96
+ exports.StyledStatusBoxGroupLabel = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 1px;\n text-transform: uppercase;\n opacity: 0.5;\n padding: 8px 0 2px ", ";\n"], ["\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 1px;\n text-transform: uppercase;\n opacity: 0.5;\n padding: 8px 0 2px ", ";\n"])), exports.GROUP_INDENT);
64
97
  // Required-group "connection" rail: contiguous members are linked by a continuous
65
98
  // vertical rail (StyledGroupBody draws it; the line bridges the row gaps and is
66
99
  // trimmed to the first/last node). Each member carries a status node — absolutely
67
100
  // positioned in the EXISTING left gutter, so labels keep their place — tied to the
68
101
  // label by a short stub. Theme-derived: the node's hollow centre is painted the
69
102
  // form background so it MASKS the rail behind it; filled when the member is set.
70
- exports.StyledClusterNode = styled_components_1.default.span(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n position: absolute;\n left: -14px;\n top: 13px;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ", ";\n background: ", ";\n box-shadow: 0 0 5px ", ";\n z-index: 1;\n pointer-events: none;\n /* short stub toward the label \u2014 stops a few px short so it doesn't touch it */\n &::after {\n content: '';\n position: absolute;\n left: 100%;\n top: 50%;\n width: 6px;\n height: 2px;\n transform: translateY(-1px);\n background: ", ";\n }\n"], ["\n position: absolute;\n left: -14px;\n top: 13px;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ", ";\n background: ", ";\n box-shadow: 0 0 5px ", ";\n z-index: 1;\n pointer-events: none;\n /* short stub toward the label \u2014 stops a few px short so it doesn't touch it */\n &::after {\n content: '';\n position: absolute;\n left: 100%;\n top: 50%;\n width: 6px;\n height: 2px;\n transform: translateY(-1px);\n background: ", ";\n }\n"])), function (_a) {
103
+ exports.StyledClusterNode = styled_components_1.default.span(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n position: absolute;\n left: -14px;\n top: 13px;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ", ";\n background: ", ";\n box-shadow: 0 0 5px ", ";\n z-index: 1;\n pointer-events: none;\n /* short stub toward the label \u2014 stops a few px short so it doesn't touch it */\n &::after {\n content: '';\n position: absolute;\n left: 100%;\n top: 50%;\n width: 6px;\n height: 2px;\n transform: translateY(-1px);\n background: ", ";\n }\n"], ["\n position: absolute;\n left: -14px;\n top: 13px;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ", ";\n background: ", ";\n box-shadow: 0 0 5px ", ";\n z-index: 1;\n pointer-events: none;\n /* short stub toward the label \u2014 stops a few px short so it doesn't touch it */\n &::after {\n content: '';\n position: absolute;\n left: 100%;\n top: 50%;\n width: 6px;\n height: 2px;\n transform: translateY(-1px);\n background: ", ";\n }\n"])), function (_a) {
71
104
  var $color = _a.$color;
72
105
  return $color;
73
106
  }, function (_a) {
@@ -80,7 +113,7 @@ exports.StyledClusterNode = styled_components_1.default.span(templateObject_4 ||
80
113
  var $color = _a.$color;
81
114
  return $color;
82
115
  });
83
- exports.StyledEditCard = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n padding: 12px;\n display: flex;\n flex-flow: column;\n gap: 8px;\n background: ", ";\n border: 1px solid ", ";\n border-radius: 8px;\n\n /* Single-value editors (operators, long-string, markdown, richtext, byte-size)\n carry the card's own \"Clear value\" action, so suppress the value input's\n built-in ReqoreInput clear \u2014 ReqoreInput has no prop to hide it, and two \u2715\n read as a duplicate. Multi-input cards (hash/list/\u2026) are not marked single,\n so their per-sub-field clears stay. */\n &.options-readfirst-card-single .reqore-clear-input-button {\n display: none;\n }\n"], ["\n padding: 12px;\n display: flex;\n flex-flow: column;\n gap: 8px;\n background: ", ";\n border: 1px solid ", ";\n border-radius: 8px;\n\n /* Single-value editors (operators, long-string, markdown, richtext, byte-size)\n carry the card's own \"Clear value\" action, so suppress the value input's\n built-in ReqoreInput clear \u2014 ReqoreInput has no prop to hide it, and two \u2715\n read as a duplicate. Multi-input cards (hash/list/\u2026) are not marked single,\n so their per-sub-field clears stay. */\n &.options-readfirst-card-single .reqore-clear-input-button {\n display: none;\n }\n"])), function (_a) {
116
+ exports.StyledEditCard = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n padding: 12px;\n display: flex;\n flex-flow: column;\n gap: 8px;\n background: ", ";\n border: 1px solid ", ";\n border-radius: 8px;\n\n /* Single-value editors (operators, long-string, markdown, richtext, byte-size)\n carry the card's own \"Clear value\" action, so suppress the value input's\n built-in ReqoreInput clear \u2014 ReqoreInput has no prop to hide it, and two \u2715\n read as a duplicate. Multi-input cards (hash/list/\u2026) are not marked single,\n so their per-sub-field clears stay. */\n &.options-readfirst-card-single .reqore-clear-input-button {\n display: none;\n }\n"], ["\n padding: 12px;\n display: flex;\n flex-flow: column;\n gap: 8px;\n background: ", ";\n border: 1px solid ", ";\n border-radius: 8px;\n\n /* Single-value editors (operators, long-string, markdown, richtext, byte-size)\n carry the card's own \"Clear value\" action, so suppress the value input's\n built-in ReqoreInput clear \u2014 ReqoreInput has no prop to hide it, and two \u2715\n read as a duplicate. Multi-input cards (hash/list/\u2026) are not marked single,\n so their per-sub-field clears stay. */\n &.options-readfirst-card-single .reqore-clear-input-button {\n display: none;\n }\n"])), function (_a) {
84
117
  var $bg = _a.$bg;
85
118
  return $bg;
86
119
  }, function (_a) {
@@ -88,8 +121,8 @@ exports.StyledEditCard = styled_components_1.default.div(templateObject_5 || (te
88
121
  return $border;
89
122
  });
90
123
  // Recurring micro-layouts of the read-first rows and their popovers.
91
- exports.StyledLabelBlock = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 2px;\n min-width: 0;\n"], ["\n display: flex;\n flex-flow: column;\n gap: 2px;\n min-width: 0;\n"])));
92
- exports.StyledRowLabel = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 3px;\n color: ", ";\n font-weight: 600;\n font-size: 13px;\n min-width: 0;\n white-space: normal;\n overflow-wrap: anywhere;\n cursor: ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: 3px;\n color: ", ";\n font-weight: 600;\n font-size: 13px;\n min-width: 0;\n white-space: normal;\n overflow-wrap: anywhere;\n cursor: ", ";\n"])), function (_a) {
124
+ exports.StyledLabelBlock = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 2px;\n min-width: 0;\n"], ["\n display: flex;\n flex-flow: column;\n gap: 2px;\n min-width: 0;\n"])));
125
+ exports.StyledRowLabel = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 3px;\n color: ", ";\n font-weight: 600;\n font-size: 13px;\n min-width: 0;\n white-space: normal;\n overflow-wrap: anywhere;\n cursor: ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: 3px;\n color: ", ";\n font-weight: 600;\n font-size: 13px;\n min-width: 0;\n white-space: normal;\n overflow-wrap: anywhere;\n cursor: ", ";\n"])), function (_a) {
93
126
  var $color = _a.$color;
94
127
  return $color;
95
128
  }, function (_a) {
@@ -100,44 +133,56 @@ exports.StyledRowLabel = styled_components_1.default.div(templateObject_7 || (te
100
133
  // revealed by the row's ⓘ. Reuses ReqoreP for the muted-note styling (size +
101
134
  // effect opacity); the only custom bit is the line-clamp that keeps it from
102
135
  // pushing the row wide.
103
- exports.StyledLabelDesc = (0, styled_components_1.default)(reqore_1.ReqoreP)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n margin-top: 2px;\n white-space: normal;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n"], ["\n margin-top: 2px;\n white-space: normal;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n"])));
104
- exports.StyledCardHeading = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n min-width: 0;\n"], ["\n display: flex;\n flex-flow: column;\n min-width: 0;\n"])));
105
- exports.StyledCardLabel = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.07em;\n color: ", ";\n display: flex;\n align-items: center;\n gap: 4px;\n"], ["\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.07em;\n color: ", ";\n display: flex;\n align-items: center;\n gap: 4px;\n"])), function (_a) {
136
+ exports.StyledLabelDesc = (0, styled_components_1.default)(reqore_1.ReqoreP)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n margin-top: 2px;\n white-space: normal;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n"], ["\n margin-top: 2px;\n white-space: normal;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n"])));
137
+ exports.StyledCardHeading = styled_components_1.default.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n min-width: 0;\n"], ["\n display: flex;\n flex-flow: column;\n min-width: 0;\n"])));
138
+ /* The card (expanded) label matches the read-row label exactly same size /
139
+ weight / case — so a field's name doesn't switch styles when you open it. */
140
+ exports.StyledCardLabel = styled_components_1.default.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n font-size: 13px;\n font-weight: 600;\n color: ", ";\n display: flex;\n align-items: center;\n gap: 4px;\n"], ["\n font-size: 13px;\n font-weight: 600;\n color: ", ";\n display: flex;\n align-items: center;\n gap: 4px;\n"])), function (_a) {
106
141
  var $color = _a.$color;
107
142
  return $color;
108
143
  });
109
144
  /* min-width: 0 lets the grid cell shrink below its content's intrinsic width
110
145
  so the ellipsis engages instead of overflowing. */
111
- exports.StyledRowValue = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n min-width: 0;\n color: ", ";\n font-style: ", ";\n font-size: 13px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"], ["\n min-width: 0;\n color: ", ";\n font-style: ", ";\n font-size: 13px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"])), function (_a) {
146
+ exports.StyledRowValue = styled_components_1.default.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n min-width: 0;\n font-size: 13px;\n /* Value + inline reason(s) share the line, wrapping the reason below only when\n it doesn't fit (the Focus prototype's layout). */\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 10px;\n row-gap: 2px;\n /* The muted/translucent colour applies to the VALUE TEXT only \u2014 not the whole\n cell \u2014 so the message panels and the structured preview below render at full\n opacity instead of inheriting the dimmed value colour. */\n .options-readfirst-valuetext {\n min-width: 0;\n max-width: 100%;\n color: ", ";\n font-style: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .options-readfirst-reason {\n font-style: italic;\n font-size: 12px;\n line-height: 1.3;\n }\n /* Schema message panels: full width of the value column, on their own line\n directly beneath the value. */\n .options-readfirst-info-panel {\n flex-basis: 100%;\n width: 100%;\n display: flex;\n flex-flow: column;\n gap: 4px;\n margin-top: 4px;\n }\n"], ["\n min-width: 0;\n font-size: 13px;\n /* Value + inline reason(s) share the line, wrapping the reason below only when\n it doesn't fit (the Focus prototype's layout). */\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 10px;\n row-gap: 2px;\n /* The muted/translucent colour applies to the VALUE TEXT only \u2014 not the whole\n cell \u2014 so the message panels and the structured preview below render at full\n opacity instead of inheriting the dimmed value colour. */\n .options-readfirst-valuetext {\n min-width: 0;\n max-width: 100%;\n color: ", ";\n font-style: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .options-readfirst-reason {\n font-style: italic;\n font-size: 12px;\n line-height: 1.3;\n }\n /* Schema message panels: full width of the value column, on their own line\n directly beneath the value. */\n .options-readfirst-info-panel {\n flex-basis: 100%;\n width: 100%;\n display: flex;\n flex-flow: column;\n gap: 4px;\n margin-top: 4px;\n }\n"])), function (_a) {
112
147
  var $color = _a.$color;
113
148
  return $color;
114
149
  }, function (_a) {
115
150
  var $empty = _a.$empty;
116
151
  return ($empty ? 'italic' : 'normal');
117
152
  });
118
- exports.StyledRowActions = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 6px;\n"], ["\n display: flex;\n align-items: center;\n gap: 6px;\n"])));
119
- exports.StyledActionSlot = styled_components_1.default.span(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n width: ", "px;\n flex: 0 0 auto;\n"], ["\n display: inline-flex;\n justify-content: center;\n width: ", "px;\n flex: 0 0 auto;\n"])), function (_a) {
153
+ exports.StyledRowActions = styled_components_1.default.div(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n /* No align-self override: the actions (incl. the status dot) follow the row's\n own vertical alignment \u2014 CENTRED on the common single-line row, TOP-aligned\n (first line) on the tall rows that opt into align-items:start (descriptions /\n message panels / hash previews). */\n gap: 6px;\n"], ["\n display: flex;\n align-items: center;\n /* No align-self override: the actions (incl. the status dot) follow the row's\n own vertical alignment \u2014 CENTRED on the common single-line row, TOP-aligned\n (first line) on the tall rows that opt into align-items:start (descriptions /\n message panels / hash previews). */\n gap: 6px;\n"])));
154
+ // A single status mark pinned at the row's trailing edge: one dot, colour =
155
+ // severity (danger/warning/success). This is the "Focus" read-first signal that
156
+ // replaces the recessed value surface's intent stripe — attention dots carry a
157
+ // faint ring, a plain "set" dot does not. `unset` rows render no dot.
158
+ exports.StyledStatusDot = styled_components_1.default.span(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n width: 7px;\n height: 7px;\n border-radius: 50%;\n flex: 0 0 auto;\n background: ", ";\n box-shadow: ", ";\n"], ["\n width: 7px;\n height: 7px;\n border-radius: 50%;\n flex: 0 0 auto;\n background: ", ";\n box-shadow: ", ";\n"])), function (_a) {
159
+ var $color = _a.$color;
160
+ return $color;
161
+ }, function (_a) {
162
+ var $color = _a.$color, $ring = _a.$ring;
163
+ return ($ring ? "0 0 0 3px ".concat($color, "22") : 'none');
164
+ });
165
+ exports.StyledActionSlot = styled_components_1.default.span(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n width: ", "px;\n flex: 0 0 auto;\n"], ["\n display: inline-flex;\n justify-content: center;\n width: ", "px;\n flex: 0 0 auto;\n"])), function (_a) {
120
166
  var $width = _a.$width;
121
167
  return $width;
122
168
  });
123
- exports.StyledColumn = styled_components_1.default.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n"], ["\n display: flex;\n flex-flow: column;\n"])));
124
- // Sub-panels (messages, and the hash preview) sit BELOW the value row, indented
125
- // to the value column (StyledGroupBody) so they land on the recessed value
126
- // surface instead of the bare label gutter.
127
- exports.StyledInfoPanel = styled_components_1.default.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 4px;\n padding: 0 10px 8px 24px;\n"], ["\n display: flex;\n flex-flow: column;\n gap: 4px;\n padding: 0 10px 8px 24px;\n"])));
128
- exports.StyledRowInset = styled_components_1.default.div(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n padding: 0 10px 6px 24px;\n"], ["\n padding: 0 10px 6px 24px;\n"])));
169
+ exports.StyledColumn = styled_components_1.default.div(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n"], ["\n display: flex;\n flex-flow: column;\n"])));
170
+ // The structured hash/list preview, rendered inside the value cell directly
171
+ // under the value summary. Full-width of the value column (it's a flex child of
172
+ // the wrapping value cell) so it lines up with the value, not the label gutter.
173
+ exports.StyledRowInset = styled_components_1.default.div(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n flex-basis: 100%;\n width: 100%;\n margin-top: 4px;\n"], ["\n flex-basis: 100%;\n width: 100%;\n margin-top: 4px;\n"])));
129
174
  // A small inline colour swatch shown before an rgbcolor value's hex string.
130
- exports.StyledColorSwatch = styled_components_1.default.span(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex: 0 0 auto;\n background: ", ";\n border: 1px solid ", ";\n"], ["\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex: 0 0 auto;\n background: ", ";\n border: 1px solid ", ";\n"])), function (_a) {
175
+ exports.StyledColorSwatch = styled_components_1.default.span(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex: 0 0 auto;\n background: ", ";\n border: 1px solid ", ";\n"], ["\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex: 0 0 auto;\n background: ", ";\n border: 1px solid ", ";\n"])), function (_a) {
131
176
  var $color = _a.$color;
132
177
  return $color;
133
178
  }, function (_a) {
134
179
  var $border = _a.$border;
135
180
  return $border;
136
181
  });
137
- exports.StyledGroupBody = styled_components_1.default.div(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n position: relative;\n gap: 8px;\n\n /* Indent each field block under the group header by a FLUID step. The %\n resolves against this container's width (not the screen), so it tracks the\n form even inside a narrow drawer; the clamp keeps it from vanishing on a\n slim form or ballooning into a big gutter on a wide one. */\n > * {\n margin-left: ", ";\n }\n\n /* The group spine: a faint vertical line down the block gutter. Drawn here (not\n on the panel) so it lives in the SAME coordinate space as the required-group\n rail and lands on the exact same x \u2014 GROUP_INDENT minus 9px matches the rail's\n left: -9px on each (indented) block. The rail is a descendant ::after, so it\n paints over this spine and wins where a required cluster overlaps it. */\n &::before {\n content: '';\n position: absolute;\n left: calc(", " - 9px);\n top: 0;\n bottom: 8px;\n width: 2px;\n background: linear-gradient(to bottom, ", ", transparent);\n pointer-events: none;\n z-index: 0;\n }\n\n .readfirst-row {\n display: grid;\n /* Fixed label column: the recessed value surface (::before below) starts at a\n constant x, so the label width can't flex or the stripe would drift off the\n value edge. The value column is minmax(0, 1fr) \u2014 a bare 1fr keeps its\n min-content width, so a long unbroken value (e.g. a URL) would force the\n grid wider than its container and produce a horizontal scrollbar. The 0\n minimum lets it shrink and the value cell's ellipsis take over instead. */\n grid-template-columns: ", " minmax(0, 1fr) auto;\n align-items: center;\n gap: 14px;\n min-height: 38px;\n /* 3px vertical: the hover-revealed action buttons (revert/delete) are\n ~32px tall and occupy layout even at opacity 0 \u2014 with 8px padding they\n inflated removable rows to ~48px while plain rows sat at the 38px\n min-height. 32 + 6 = 38 keeps every one-line row the same height; the\n min-height keeps the click target for rows with shorter content. */\n padding: 3px 10px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n .readfirst-row:hover {\n background: ", ";\n }\n .readfirst-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n background: ", ";\n }\n /* A hidden (not-yet-added) field surfaced by the search is dimmed. */\n .readfirst-row-hidden {\n opacity: 0.65;\n }\n /* A disabled field (schema disabled flag or unmet dependencies) is not a\n click target \u2014 no hover invite, not-allowed cursor; a lock replaces the\n pencil. */\n .readfirst-row-disabled {\n cursor: not-allowed;\n }\n .readfirst-row-disabled:hover {\n background: transparent;\n }\n /* Required-group linkage: hovering a member highlights every sibling row \u2014\n just a background tint, no left stripe (that reads as an intent edge). */\n .readfirst-row-group-highlight {\n background: ", ";\n }\n .readfirst-row-flash {\n animation: readfirstRowFlash 1.4s ease;\n }\n @keyframes readfirstRowFlash {\n 0% {\n background: ", ";\n }\n 100% {\n background: transparent;\n }\n }\n .readfirst-action {\n opacity: 0;\n transition: opacity 0.12s ease;\n }\n .readfirst-row:hover .readfirst-action,\n .readfirst-row:focus-visible .readfirst-action {\n opacity: 0.85;\n }\n\n /* A scalar row being edited in place: the real editor replaces the value\n cell. The row stops being a click target (the editor owns the clicks) and\n keeps a constant active background. Vertical padding is tightened so the\n editor fits inside the same ~38px the read row occupies \u2014 switching into\n (and out of) inline editing must not shift the rows around it. */\n .readfirst-row-editing {\n cursor: default;\n /* Top-anchor the cells: with multi-line editors (e.g. allowed-values =\n input + picker), per-cell centring gives every control a different\n anchor. Instead everything aligns to the FIRST editor line \u2014 label and\n the \u2713/\u21BA cluster get small offsets to sit optically centred on it. */\n align-items: start;\n background: ", ";\n /* Zero vertical padding: the pinned min-height (captured from the read\n row at activation) owns the height; the editor centres within it. */\n padding-top: 0;\n padding-bottom: 0;\n /* Tighter column gap: the editor's trailing template \u22EE and our \u2713 should\n read as one control cluster, not two separated groups. */\n column-gap: 6px;\n }\n /* Centre each cell's content on the row's ~38px first-line band. The label\n text (+10) and the \u2713/\u21BA cluster (+3) were already nudged, but the editor\n cell was not \u2014 so a single-line input sat ~3px above the buttons. A 32px\n control needs +3 to centre in 38px, so the editor gets the same offset and\n lines up with the buttons. (A multi-line editor's first line lands on the\n band too; its extra rows grow downward.) */\n .readfirst-row-editing > div:nth-child(1) {\n padding-top: 10px;\n }\n .readfirst-row-editing > div:nth-child(2) {\n padding-top: 3px;\n }\n .readfirst-row-editing > div:nth-child(3) {\n padding-top: 3px;\n }\n .readfirst-row-editing:hover {\n background: ", ";\n }\n\n /* Narrow FORMS (phone / slim drawer): stack each row \u2014 label + actions share\n the first line, the value cell (or the inline editor) takes the full width\n beneath. The class is set from a measured wrap width (react-use useMeasure)\n rather than a viewport media query, so a slim desktop drawer stacks too.\n The 3 row children are placed explicitly:\n label (1,1) \u00B7 actions (1,2) \u00B7 value (2, span both). */\n &.readfirst-narrow .readfirst-row {\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 4px 14px;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(1) {\n grid-column: 1;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(3) {\n grid-column: 2;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n grid-column: 1 / -1;\n grid-row: 2;\n }\n\n /* The surface backs every field BLOCK (direct children of the body). */\n > *:not(.options-readfirst-card) {\n position: relative;\n }\n > *:not(.options-readfirst-card)::before {\n content: '';\n position: absolute;\n inset: 0;\n left: ", ";\n background: ", ";\n border-radius: 6px;\n border-left: 3px solid var(--readfirst-stripe, transparent);\n pointer-events: none;\n z-index: 0;\n }\n /* Content rides above the surface layer \u2014 except the cluster node, which is\n absolutely positioned in the gutter and must keep its own positioning. */\n > *:not(.options-readfirst-card) > *:not(.options-readfirst-node) {\n position: relative;\n z-index: 1;\n }\n\n /* Required-group connection rail. Drawn on the member's BLOCK ROOT (so it spans\n the whole member, including a message panel below the row), the rail is one\n continuous line: each segment BRIDGES the 8px gap into the next member\n (bottom: -8px) and the end members trim to their node centre, so it reads as a\n single unbroken rail node-to-node. It sits in the existing left gutter (node\n centre ~10px left of the row), so labels keep their place. The node (drawn by\n the row) is opaque and overlaps the rail, masking it \u2014 no line through the\n ring. The node centre sits ~19px below the block top (13px node top + 6px). */\n .readfirst-cluster-rail::after {\n content: '';\n position: absolute;\n left: -9px;\n top: 0;\n bottom: -8px;\n width: 2px;\n /* muted info \u2014 the connection is a quiet structural hint, not a loud accent */\n background: ", ";\n box-shadow: 0 0 4px ", ";\n pointer-events: none;\n z-index: 0;\n }\n .readfirst-cluster-rail.readfirst-cluster-first::after {\n top: 19px;\n }\n .readfirst-cluster-rail.readfirst-cluster-last::after {\n bottom: calc(100% - 19px);\n }\n /* Group fulfilled (any member set): the whole rail reads success, not just the\n satisfying node. */\n .readfirst-cluster-rail.readfirst-cluster-satisfied::after {\n background: ", ";\n box-shadow: 0 0 4px ", ";\n }\n /* Sub-panels (messages, hash preview) indent to the value column so they sit on\n the surface, not in the bare label gutter. */\n .options-readfirst-info-panel,\n .options-readfirst-inset {\n padding-left: ", ";\n }\n /* A field's short_desc renders under its NAME (revealed by the \u24D8 toggle),\n growing the label block to multiple lines. Top-anchor those open rows so the\n value lines up with the name rather than the middle of the taller label;\n closed (single-line) rows keep the centred read-row rhythm. */\n .readfirst-row-info-open {\n align-items: start;\n }\n /* Narrow stacks label-over-value, so the value-column offset is meaningless \u2014\n the surface spans the full block and the sub-panels drop to the 12px rail. */\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n padding-left: 12px;\n }\n &.readfirst-narrow > *:not(.options-readfirst-card)::before {\n left: 0;\n }\n &.readfirst-narrow .options-readfirst-info-panel,\n &.readfirst-narrow .options-readfirst-inset {\n padding-left: 12px;\n }\n /* Touch layouts have no hover: a slot reserved for the hover-revealed edit\n pencil is permanent dead space that insets every chip from the edge \u2014\n drop it (rows are tap-to-edit; the lock/add slots stay, they're static). */\n &.readfirst-narrow .options-readfirst-trailing-hover-only {\n /* !important: the slot carries an inline display for the desktop layout. */\n display: none !important;\n }\n /* Phone air: stacked blocks get slightly taller inner padding. The in-place\n editor keeps zero padding so its pinned height still matches. */\n &.readfirst-narrow .readfirst-row {\n padding-top: 6px;\n padding-bottom: 6px;\n }\n &.readfirst-narrow .readfirst-row-editing {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n /* A hash block = its parent row + the revealed sub-rows. Highlight the whole\n block as one unit on hover (rather than only the parent row), and neutralise\n the parent row's own hover so the two don't stack into a darker band. The\n parent row's hover actions still surface whenever the block is hovered. */\n .options-readfirst-hash-row {\n border-radius: 6px;\n transition: background 0.12s ease;\n }\n .options-readfirst-hash-row:hover {\n background: ", ";\n }\n .options-readfirst-hash-row:hover .readfirst-row {\n background: transparent;\n }\n .options-readfirst-hash-row:hover .readfirst-action {\n opacity: 0.85;\n }\n"], ["\n display: flex;\n flex-flow: column;\n position: relative;\n gap: 8px;\n\n /* Indent each field block under the group header by a FLUID step. The %\n resolves against this container's width (not the screen), so it tracks the\n form even inside a narrow drawer; the clamp keeps it from vanishing on a\n slim form or ballooning into a big gutter on a wide one. */\n > * {\n margin-left: ", ";\n }\n\n /* The group spine: a faint vertical line down the block gutter. Drawn here (not\n on the panel) so it lives in the SAME coordinate space as the required-group\n rail and lands on the exact same x \u2014 GROUP_INDENT minus 9px matches the rail's\n left: -9px on each (indented) block. The rail is a descendant ::after, so it\n paints over this spine and wins where a required cluster overlaps it. */\n &::before {\n content: '';\n position: absolute;\n left: calc(", " - 9px);\n top: 0;\n bottom: 8px;\n width: 2px;\n background: linear-gradient(to bottom, ", ", transparent);\n pointer-events: none;\n z-index: 0;\n }\n\n .readfirst-row {\n display: grid;\n /* Fixed label column: the recessed value surface (::before below) starts at a\n constant x, so the label width can't flex or the stripe would drift off the\n value edge. The value column is minmax(0, 1fr) \u2014 a bare 1fr keeps its\n min-content width, so a long unbroken value (e.g. a URL) would force the\n grid wider than its container and produce a horizontal scrollbar. The 0\n minimum lets it shrink and the value cell's ellipsis take over instead. */\n grid-template-columns: ", " minmax(0, 1fr) auto;\n align-items: center;\n gap: 14px;\n min-height: 38px;\n /* 3px vertical: the hover-revealed action buttons (revert/delete) are\n ~32px tall and occupy layout even at opacity 0 \u2014 with 8px padding they\n inflated removable rows to ~48px while plain rows sat at the 38px\n min-height. 32 + 6 = 38 keeps every one-line row the same height; the\n min-height keeps the click target for rows with shorter content. */\n padding: 3px 10px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n .readfirst-row:hover {\n background: ", ";\n }\n .readfirst-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n background: ", ";\n }\n /* A hidden (not-yet-added) field surfaced by the search is dimmed. */\n .readfirst-row-hidden {\n opacity: 0.65;\n }\n /* A disabled field (schema disabled flag or unmet dependencies) is not a\n click target \u2014 no hover invite, not-allowed cursor; a lock replaces the\n pencil. */\n .readfirst-row-disabled {\n cursor: not-allowed;\n }\n .readfirst-row-disabled:hover {\n background: transparent;\n }\n /* Required-group linkage: hovering a member highlights every sibling row \u2014\n just a background tint, no left stripe (that reads as an intent edge). */\n .readfirst-row-group-highlight {\n background: ", ";\n }\n .readfirst-row-flash {\n animation: readfirstRowFlash 1.4s ease;\n }\n @keyframes readfirstRowFlash {\n 0% {\n background: ", ";\n }\n 100% {\n background: transparent;\n }\n }\n .readfirst-action {\n opacity: 0;\n transition: opacity 0.12s ease;\n }\n .readfirst-row:hover .readfirst-action,\n .readfirst-row:focus-visible .readfirst-action {\n opacity: 0.85;\n }\n\n /* A scalar row being edited in place: the real editor replaces the value\n cell. The row stops being a click target (the editor owns the clicks) and\n keeps a constant active background. Vertical padding is tightened so the\n editor fits inside the same ~38px the read row occupies \u2014 switching into\n (and out of) inline editing must not shift the rows around it. */\n .readfirst-row-editing {\n cursor: default;\n /* Top-anchor the cells: with multi-line editors (e.g. allowed-values =\n input + picker), per-cell centring gives every control a different\n anchor. Instead everything aligns to the FIRST editor line \u2014 label and\n the \u2713/\u21BA cluster get small offsets to sit optically centred on it. */\n align-items: start;\n background: ", ";\n /* Zero vertical padding: the pinned min-height (captured from the read\n row at activation) owns the height; the editor centres within it. */\n padding-top: 0;\n padding-bottom: 0;\n /* Tighter column gap: the editor's trailing template \u22EE and our \u2713 should\n read as one control cluster, not two separated groups. */\n column-gap: 6px;\n }\n /* Centre each cell's content on the row's ~38px first-line band. The label\n text (+10) and the \u2713/\u21BA cluster (+3) were already nudged, but the editor\n cell was not \u2014 so a single-line input sat ~3px above the buttons. A 32px\n control needs +3 to centre in 38px, so the editor gets the same offset and\n lines up with the buttons. (A multi-line editor's first line lands on the\n band too; its extra rows grow downward.) */\n .readfirst-row-editing > div:nth-child(1) {\n padding-top: 10px;\n }\n .readfirst-row-editing > div:nth-child(2) {\n padding-top: 3px;\n }\n .readfirst-row-editing > div:nth-child(3) {\n padding-top: 3px;\n }\n .readfirst-row-editing:hover {\n background: ", ";\n }\n\n /* Narrow FORMS (phone / slim drawer): stack each row \u2014 label + actions share\n the first line, the value cell (or the inline editor) takes the full width\n beneath. The class is set from a measured wrap width (react-use useMeasure)\n rather than a viewport media query, so a slim desktop drawer stacks too.\n The 3 row children are placed explicitly:\n label (1,1) \u00B7 actions (1,2) \u00B7 value (2, span both). */\n &.readfirst-narrow .readfirst-row {\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 4px 14px;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(1) {\n grid-column: 1;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(3) {\n grid-column: 2;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n grid-column: 1 / -1;\n grid-row: 2;\n }\n\n /* The surface backs every field BLOCK (direct children of the body). */\n > *:not(.options-readfirst-card) {\n position: relative;\n }\n > *:not(.options-readfirst-card)::before {\n content: '';\n position: absolute;\n inset: 0;\n left: ", ";\n background: ", ";\n border-radius: 6px;\n border-left: 3px solid var(--readfirst-stripe, transparent);\n pointer-events: none;\n z-index: 0;\n }\n /* Content rides above the surface layer \u2014 except the cluster node, which is\n absolutely positioned in the gutter and must keep its own positioning. */\n > *:not(.options-readfirst-card) > *:not(.options-readfirst-node) {\n position: relative;\n z-index: 1;\n }\n\n /* Required-group connection rail. Drawn on the member's BLOCK ROOT (so it spans\n the whole member, including a message panel below the row), the rail is one\n continuous line: each segment BRIDGES the 8px gap into the next member\n (bottom: -8px) and the end members trim to their node centre, so it reads as a\n single unbroken rail node-to-node. It sits in the existing left gutter (node\n centre ~10px left of the row), so labels keep their place. The node (drawn by\n the row) is opaque and overlaps the rail, masking it \u2014 no line through the\n ring. The node centre sits ~19px below the block top (13px node top + 6px). */\n .readfirst-cluster-rail::after {\n content: '';\n position: absolute;\n left: -9px;\n top: 0;\n bottom: -8px;\n width: 2px;\n /* muted info \u2014 the connection is a quiet structural hint, not a loud accent */\n background: ", ";\n box-shadow: 0 0 4px ", ";\n pointer-events: none;\n z-index: 0;\n }\n .readfirst-cluster-rail.readfirst-cluster-first::after {\n top: 19px;\n }\n .readfirst-cluster-rail.readfirst-cluster-last::after {\n bottom: calc(100% - 19px);\n }\n /* Group fulfilled (any member set): the whole rail reads success, not just the\n satisfying node. */\n .readfirst-cluster-rail.readfirst-cluster-satisfied::after {\n background: ", ";\n box-shadow: 0 0 4px ", ";\n }\n /* Sub-panels (messages, hash preview) indent to the value column so they sit on\n the surface, not in the bare label gutter. */\n .options-readfirst-info-panel,\n .options-readfirst-inset {\n padding-left: ", ";\n }\n /* A field's short_desc renders under its NAME (revealed by the \u24D8 toggle),\n growing the label block to multiple lines. Top-anchor those open rows so the\n value lines up with the name rather than the middle of the taller label;\n closed (single-line) rows keep the centred read-row rhythm. */\n .readfirst-row-info-open {\n align-items: start;\n }\n /* Narrow stacks label-over-value, so the value-column offset is meaningless \u2014\n the surface spans the full block and the sub-panels drop to the 12px rail. */\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n padding-left: 12px;\n }\n &.readfirst-narrow > *:not(.options-readfirst-card)::before {\n left: 0;\n }\n &.readfirst-narrow .options-readfirst-info-panel,\n &.readfirst-narrow .options-readfirst-inset {\n padding-left: 12px;\n }\n /* Touch layouts have no hover: a slot reserved for the hover-revealed edit\n pencil is permanent dead space that insets every chip from the edge \u2014\n drop it (rows are tap-to-edit; the lock/add slots stay, they're static). */\n &.readfirst-narrow .options-readfirst-trailing-hover-only {\n /* !important: the slot carries an inline display for the desktop layout. */\n display: none !important;\n }\n /* Phone air: stacked blocks get slightly taller inner padding. The in-place\n editor keeps zero padding so its pinned height still matches. */\n &.readfirst-narrow .readfirst-row {\n padding-top: 6px;\n padding-bottom: 6px;\n }\n &.readfirst-narrow .readfirst-row-editing {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n /* A hash block = its parent row + the revealed sub-rows. Highlight the whole\n block as one unit on hover (rather than only the parent row), and neutralise\n the parent row's own hover so the two don't stack into a darker band. The\n parent row's hover actions still surface whenever the block is hovered. */\n .options-readfirst-hash-row {\n border-radius: 6px;\n transition: background 0.12s ease;\n }\n .options-readfirst-hash-row:hover {\n background: ", ";\n }\n .options-readfirst-hash-row:hover .readfirst-row {\n background: transparent;\n }\n .options-readfirst-hash-row:hover .readfirst-action {\n opacity: 0.85;\n }\n"])), exports.GROUP_INDENT, exports.GROUP_INDENT, function (_a) {
138
- var $lineColor = _a.$lineColor;
139
- return $lineColor;
140
- }, exports.LABEL_COL, function (_a) {
182
+ exports.StyledGroupBody = styled_components_1.default.div(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n position: relative;\n /* Exposed as a var so the inter-field divider can centre itself in the gap\n (the gap differs wide vs narrow). */\n --readfirst-row-gap: 4px;\n gap: var(--readfirst-row-gap);\n\n /* Indent each field block under the group header by a FLUID step. The %\n resolves against this container's width (not the screen), so it tracks the\n (Field blocks no longer get a left gutter \u2014 the spine/rail that needed it are\n gone, so rows sit flush against the box, like the Focus prototype.) */\n > * {\n margin-left: 0;\n }\n\n /* No group spine: the \"Focus\" look keeps the rows flat against the box. (The\n required-group rail is a separate descendant ::after and still renders.) */\n\n .readfirst-row {\n display: grid;\n /* Fixed label column: the recessed value surface (::before below) starts at a\n constant x, so the label width can't flex or the stripe would drift off the\n value edge. The value column is minmax(0, 1fr) \u2014 a bare 1fr keeps its\n min-content width, so a long unbroken value (e.g. a URL) would force the\n grid wider than its container and produce a horizontal scrollbar. The 0\n minimum lets it shrink and the value cell's ellipsis take over instead. */\n grid-template-columns: ", " minmax(0, 1fr) auto;\n /* CENTRE the cells vertically: on the common single-line read row the label,\n value and status dot all sit on one centred line. Tall rows (a shown\n description, message panels or a hash preview) opt back into top-alignment\n (.readfirst-row-info-open / .readfirst-row-tall below) so the label + dot\n stay on the value's FIRST line instead of floating to the middle. */\n align-items: center;\n gap: 14px;\n /* Generous, SYMMETRIC vertical padding so a single-line row isn't cramped\n (content sits with even breathing room top + bottom); a min-height floor\n keeps the rare shorter row a comfortable tap target. */\n min-height: 40px;\n padding: 9px 10px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n /* A dim hairline in the gap below each field so its start/end reads clearly.\n Absolutely positioned (not a border) so it stays straight + full-width and\n the row's rounded hover highlight is unaffected; sits in the inter-row gap. */\n .readfirst-row::after {\n content: '';\n position: absolute;\n /* Inset to the row's horizontal padding so the line spans the content, not\n the full box edge-to-edge. */\n left: ", "px;\n right: ", "px;\n /* Centred in the inter-field gap (which differs wide vs narrow) so the space\n above and below each line is equal. */\n bottom: calc(var(--readfirst-row-gap, 4px) / -2);\n height: 1px;\n background: ", ";\n opacity: 0.5;\n pointer-events: none;\n z-index: 0;\n }\n .readfirst-row:last-child::after {\n display: none;\n }\n .readfirst-row:hover {\n background: ", ";\n }\n .readfirst-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n background: ", ";\n }\n /* A hidden (not-yet-added) field surfaced by the search is dimmed. */\n .readfirst-row-hidden {\n opacity: 0.65;\n }\n /* A disabled field (schema disabled flag or unmet dependencies) is not a\n click target \u2014 no hover invite, not-allowed cursor; a lock replaces the\n pencil. */\n /* A disabled field reads dimmed (its name + value at 0.6) \u2014 clearly inactive. */\n .readfirst-row-disabled {\n cursor: not-allowed;\n opacity: 0.6;\n }\n .readfirst-row-disabled:hover {\n background: transparent;\n }\n /* Required-group linkage: hovering a member highlights every sibling row \u2014\n just a background tint, no left stripe (that reads as an intent edge). */\n .readfirst-row-group-highlight {\n background: ", ";\n }\n .readfirst-row-flash {\n animation: readfirstRowFlash 1.4s ease;\n }\n @keyframes readfirstRowFlash {\n 0% {\n background: ", ";\n }\n 100% {\n background: transparent;\n }\n }\n /* A scalar row being edited in place: the real editor replaces the value\n cell. The row stops being a click target (the editor owns the clicks) and\n keeps a constant active background. Vertical padding is tightened so the\n editor fits inside the same ~38px the read row occupies \u2014 switching into\n (and out of) inline editing must not shift the rows around it. */\n .readfirst-row-editing {\n cursor: default;\n /* Top-anchor the cells: with multi-line editors (e.g. allowed-values =\n input + picker), per-cell centring gives every control a different\n anchor. Instead everything aligns to the FIRST editor line \u2014 label and\n the \u2713/\u21BA cluster get small offsets to sit optically centred on it. */\n align-items: start;\n background: ", ";\n /* No top padding (the per-cell nudges below anchor the editor to the first\n line), but a real BOTTOM padding so the editor never sits flush against\n the row's bottom edge \u2014 a tall input used to look clipped/unfinished. */\n padding-top: 0;\n padding-bottom: 9px;\n /* Tighter column gap: the editor's trailing template \u22EE and our \u2713 should\n read as one control cluster, not two separated groups. */\n column-gap: 6px;\n }\n /* Centre each cell's content on the row's ~38px first-line band. The label\n text (+10) and the \u2713/\u21BA cluster (+3) were already nudged, but the editor\n cell was not \u2014 so a single-line input sat ~3px above the buttons. A 32px\n control needs +3 to centre in 38px, so the editor gets the same offset and\n lines up with the buttons. (A multi-line editor's first line lands on the\n band too; its extra rows grow downward.) */\n .readfirst-row-editing > div:nth-child(1) {\n padding-top: 10px;\n }\n .readfirst-row-editing > div:nth-child(2) {\n padding-top: 3px;\n }\n .readfirst-row-editing > div:nth-child(3) {\n padding-top: 3px;\n }\n .readfirst-row-editing:hover {\n background: ", ";\n }\n\n /* Narrow FORMS (phone / slim drawer): stack each row \u2014 label + actions share\n the first line, the value cell (or the inline editor) takes the full width\n beneath. The class is set from a measured wrap width (react-use useMeasure)\n rather than a viewport media query, so a slim desktop drawer stacks too.\n The 3 row children are placed explicitly:\n label (1,1) \u00B7 actions (1,2) \u00B7 value (2, span both). */\n /* Generous breathing room BETWEEN fields when stacked \u2014 far easier to scan and\n less overwhelming on a phone. */\n &.readfirst-narrow {\n --readfirst-row-gap: 18px;\n }\n &.readfirst-narrow .readfirst-row {\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 2px 14px;\n position: relative;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(1) {\n grid-column: 1;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(3) {\n grid-column: 2;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n grid-column: 1 / -1;\n grid-row: 2;\n }\n /* Read (non-editing) rows: float the trailing actions (status dot + the\n hover-revealed delete/revert) out of the grid flow so a delete button can't\n inflate the first row and push the value down. They're pinned to a band the\n height of the LABEL line and vertically centred in it \u2014 so the dot always\n sits at the same place (centred on the field name), never the bare corner. */\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(3) {\n position: absolute;\n top: 2px;\n right: 10px;\n height: 22px;\n }\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(1) {\n padding-right: 46px;\n }\n\n /* Focus calm rows: NO recessed value surface and NO intent stripe. Row status\n is carried by the trailing status dot; message/preview panels keep their own\n intent backgrounds. The (now invisible) pseudo is retained only to preserve\n the block's positioning/stacking context that the required-group rail and its\n cluster nodes resolve against \u2014 removing it would unmoor them. */\n > *:not(.options-readfirst-card) {\n position: relative;\n }\n > *:not(.options-readfirst-card)::before {\n content: '';\n position: absolute;\n inset: 0;\n left: ", ";\n background: transparent;\n pointer-events: none;\n z-index: 0;\n }\n /* Content rides above the surface layer \u2014 except the cluster node, which is\n absolutely positioned in the gutter and must keep its own positioning. */\n > *:not(.options-readfirst-card) > *:not(.options-readfirst-node) {\n position: relative;\n z-index: 1;\n }\n\n /* (The required-group connection rail was removed \u2014 the \"One of the below is\n required\" box now carries the grouping.) */\n\n /* Tall rows top-anchor (overriding the row's centred default) so the label and\n dot stay on the value's FIRST line rather than floating to the vertical\n middle: .readfirst-row-info-open = a shown short_desc grows the LABEL;\n .readfirst-row-tall = message panels / a hash preview grow the VALUE cell. */\n .readfirst-row-info-open,\n .readfirst-row-tall {\n align-items: start;\n }\n /* Narrow stacks label-over-value: the value aligns flush UNDER the label (no\n indent), like the Focus prototype. */\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n padding-left: 0;\n }\n &.readfirst-narrow > *:not(.options-readfirst-card)::before {\n left: 0;\n }\n /* Touch layouts have no hover: a slot reserved for the hover-revealed edit\n pencil is permanent dead space that insets every chip from the edge \u2014\n drop it (rows are tap-to-edit; the lock/add slots stay, they're static). */\n &.readfirst-narrow .options-readfirst-trailing-hover-only {\n /* !important: the slot carries an inline display for the desktop layout. */\n display: none !important;\n }\n /* Stacked rows: keep them tight (match the Focus prototype). The min-height is\n dropped so a 2-line label+value row sizes to its content instead of being\n padded out to 38px. The in-place editor keeps zero padding (below). */\n &.readfirst-narrow .readfirst-row {\n padding-top: 2px;\n padding-bottom: 2px;\n min-height: 0;\n }\n &.readfirst-narrow .readfirst-row-editing {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n"], ["\n display: flex;\n flex-flow: column;\n position: relative;\n /* Exposed as a var so the inter-field divider can centre itself in the gap\n (the gap differs wide vs narrow). */\n --readfirst-row-gap: 4px;\n gap: var(--readfirst-row-gap);\n\n /* Indent each field block under the group header by a FLUID step. The %\n resolves against this container's width (not the screen), so it tracks the\n (Field blocks no longer get a left gutter \u2014 the spine/rail that needed it are\n gone, so rows sit flush against the box, like the Focus prototype.) */\n > * {\n margin-left: 0;\n }\n\n /* No group spine: the \"Focus\" look keeps the rows flat against the box. (The\n required-group rail is a separate descendant ::after and still renders.) */\n\n .readfirst-row {\n display: grid;\n /* Fixed label column: the recessed value surface (::before below) starts at a\n constant x, so the label width can't flex or the stripe would drift off the\n value edge. The value column is minmax(0, 1fr) \u2014 a bare 1fr keeps its\n min-content width, so a long unbroken value (e.g. a URL) would force the\n grid wider than its container and produce a horizontal scrollbar. The 0\n minimum lets it shrink and the value cell's ellipsis take over instead. */\n grid-template-columns: ", " minmax(0, 1fr) auto;\n /* CENTRE the cells vertically: on the common single-line read row the label,\n value and status dot all sit on one centred line. Tall rows (a shown\n description, message panels or a hash preview) opt back into top-alignment\n (.readfirst-row-info-open / .readfirst-row-tall below) so the label + dot\n stay on the value's FIRST line instead of floating to the middle. */\n align-items: center;\n gap: 14px;\n /* Generous, SYMMETRIC vertical padding so a single-line row isn't cramped\n (content sits with even breathing room top + bottom); a min-height floor\n keeps the rare shorter row a comfortable tap target. */\n min-height: 40px;\n padding: 9px 10px;\n border-radius: 6px;\n cursor: pointer;\n transition: background 0.12s ease;\n }\n /* A dim hairline in the gap below each field so its start/end reads clearly.\n Absolutely positioned (not a border) so it stays straight + full-width and\n the row's rounded hover highlight is unaffected; sits in the inter-row gap. */\n .readfirst-row::after {\n content: '';\n position: absolute;\n /* Inset to the row's horizontal padding so the line spans the content, not\n the full box edge-to-edge. */\n left: ", "px;\n right: ", "px;\n /* Centred in the inter-field gap (which differs wide vs narrow) so the space\n above and below each line is equal. */\n bottom: calc(var(--readfirst-row-gap, 4px) / -2);\n height: 1px;\n background: ", ";\n opacity: 0.5;\n pointer-events: none;\n z-index: 0;\n }\n .readfirst-row:last-child::after {\n display: none;\n }\n .readfirst-row:hover {\n background: ", ";\n }\n .readfirst-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n background: ", ";\n }\n /* A hidden (not-yet-added) field surfaced by the search is dimmed. */\n .readfirst-row-hidden {\n opacity: 0.65;\n }\n /* A disabled field (schema disabled flag or unmet dependencies) is not a\n click target \u2014 no hover invite, not-allowed cursor; a lock replaces the\n pencil. */\n /* A disabled field reads dimmed (its name + value at 0.6) \u2014 clearly inactive. */\n .readfirst-row-disabled {\n cursor: not-allowed;\n opacity: 0.6;\n }\n .readfirst-row-disabled:hover {\n background: transparent;\n }\n /* Required-group linkage: hovering a member highlights every sibling row \u2014\n just a background tint, no left stripe (that reads as an intent edge). */\n .readfirst-row-group-highlight {\n background: ", ";\n }\n .readfirst-row-flash {\n animation: readfirstRowFlash 1.4s ease;\n }\n @keyframes readfirstRowFlash {\n 0% {\n background: ", ";\n }\n 100% {\n background: transparent;\n }\n }\n /* A scalar row being edited in place: the real editor replaces the value\n cell. The row stops being a click target (the editor owns the clicks) and\n keeps a constant active background. Vertical padding is tightened so the\n editor fits inside the same ~38px the read row occupies \u2014 switching into\n (and out of) inline editing must not shift the rows around it. */\n .readfirst-row-editing {\n cursor: default;\n /* Top-anchor the cells: with multi-line editors (e.g. allowed-values =\n input + picker), per-cell centring gives every control a different\n anchor. Instead everything aligns to the FIRST editor line \u2014 label and\n the \u2713/\u21BA cluster get small offsets to sit optically centred on it. */\n align-items: start;\n background: ", ";\n /* No top padding (the per-cell nudges below anchor the editor to the first\n line), but a real BOTTOM padding so the editor never sits flush against\n the row's bottom edge \u2014 a tall input used to look clipped/unfinished. */\n padding-top: 0;\n padding-bottom: 9px;\n /* Tighter column gap: the editor's trailing template \u22EE and our \u2713 should\n read as one control cluster, not two separated groups. */\n column-gap: 6px;\n }\n /* Centre each cell's content on the row's ~38px first-line band. The label\n text (+10) and the \u2713/\u21BA cluster (+3) were already nudged, but the editor\n cell was not \u2014 so a single-line input sat ~3px above the buttons. A 32px\n control needs +3 to centre in 38px, so the editor gets the same offset and\n lines up with the buttons. (A multi-line editor's first line lands on the\n band too; its extra rows grow downward.) */\n .readfirst-row-editing > div:nth-child(1) {\n padding-top: 10px;\n }\n .readfirst-row-editing > div:nth-child(2) {\n padding-top: 3px;\n }\n .readfirst-row-editing > div:nth-child(3) {\n padding-top: 3px;\n }\n .readfirst-row-editing:hover {\n background: ", ";\n }\n\n /* Narrow FORMS (phone / slim drawer): stack each row \u2014 label + actions share\n the first line, the value cell (or the inline editor) takes the full width\n beneath. The class is set from a measured wrap width (react-use useMeasure)\n rather than a viewport media query, so a slim desktop drawer stacks too.\n The 3 row children are placed explicitly:\n label (1,1) \u00B7 actions (1,2) \u00B7 value (2, span both). */\n /* Generous breathing room BETWEEN fields when stacked \u2014 far easier to scan and\n less overwhelming on a phone. */\n &.readfirst-narrow {\n --readfirst-row-gap: 18px;\n }\n &.readfirst-narrow .readfirst-row {\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 2px 14px;\n position: relative;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(1) {\n grid-column: 1;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(3) {\n grid-column: 2;\n grid-row: 1;\n }\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n grid-column: 1 / -1;\n grid-row: 2;\n }\n /* Read (non-editing) rows: float the trailing actions (status dot + the\n hover-revealed delete/revert) out of the grid flow so a delete button can't\n inflate the first row and push the value down. They're pinned to a band the\n height of the LABEL line and vertically centred in it \u2014 so the dot always\n sits at the same place (centred on the field name), never the bare corner. */\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(3) {\n position: absolute;\n top: 2px;\n right: 10px;\n height: 22px;\n }\n &.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(1) {\n padding-right: 46px;\n }\n\n /* Focus calm rows: NO recessed value surface and NO intent stripe. Row status\n is carried by the trailing status dot; message/preview panels keep their own\n intent backgrounds. The (now invisible) pseudo is retained only to preserve\n the block's positioning/stacking context that the required-group rail and its\n cluster nodes resolve against \u2014 removing it would unmoor them. */\n > *:not(.options-readfirst-card) {\n position: relative;\n }\n > *:not(.options-readfirst-card)::before {\n content: '';\n position: absolute;\n inset: 0;\n left: ", ";\n background: transparent;\n pointer-events: none;\n z-index: 0;\n }\n /* Content rides above the surface layer \u2014 except the cluster node, which is\n absolutely positioned in the gutter and must keep its own positioning. */\n > *:not(.options-readfirst-card) > *:not(.options-readfirst-node) {\n position: relative;\n z-index: 1;\n }\n\n /* (The required-group connection rail was removed \u2014 the \"One of the below is\n required\" box now carries the grouping.) */\n\n /* Tall rows top-anchor (overriding the row's centred default) so the label and\n dot stay on the value's FIRST line rather than floating to the vertical\n middle: .readfirst-row-info-open = a shown short_desc grows the LABEL;\n .readfirst-row-tall = message panels / a hash preview grow the VALUE cell. */\n .readfirst-row-info-open,\n .readfirst-row-tall {\n align-items: start;\n }\n /* Narrow stacks label-over-value: the value aligns flush UNDER the label (no\n indent), like the Focus prototype. */\n &.readfirst-narrow .readfirst-row > :nth-child(2) {\n padding-left: 0;\n }\n &.readfirst-narrow > *:not(.options-readfirst-card)::before {\n left: 0;\n }\n /* Touch layouts have no hover: a slot reserved for the hover-revealed edit\n pencil is permanent dead space that insets every chip from the edge \u2014\n drop it (rows are tap-to-edit; the lock/add slots stay, they're static). */\n &.readfirst-narrow .options-readfirst-trailing-hover-only {\n /* !important: the slot carries an inline display for the desktop layout. */\n display: none !important;\n }\n /* Stacked rows: keep them tight (match the Focus prototype). The min-height is\n dropped so a 2-line label+value row sizes to its content instead of being\n padded out to 38px. The in-place editor keeps zero padding (below). */\n &.readfirst-narrow .readfirst-row {\n padding-top: 2px;\n padding-bottom: 2px;\n min-height: 0;\n }\n &.readfirst-narrow .readfirst-row-editing {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n"])), exports.LABEL_COL, exports.COMPACT_ROW_PAD_X, exports.COMPACT_ROW_PAD_X, function (_a) {
183
+ var $divider = _a.$divider;
184
+ return $divider;
185
+ }, function (_a) {
141
186
  var $hover = _a.$hover;
142
187
  return $hover;
143
188
  }, function (_a) {
@@ -158,24 +203,6 @@ exports.StyledGroupBody = styled_components_1.default.div(templateObject_18 || (
158
203
  }, function (_a) {
159
204
  var $hover = _a.$hover;
160
205
  return $hover;
161
- }, exports.PANEL_LEFT_CSS, function (_a) {
162
- var $rowBg = _a.$rowBg;
163
- return $rowBg;
164
- }, function (_a) {
165
- var $focus = _a.$focus;
166
- return "".concat($focus, "99");
167
- }, function (_a) {
168
- var $focus = _a.$focus;
169
- return "".concat($focus, "99");
170
- }, function (_a) {
171
- var $success = _a.$success;
172
- return "".concat($success, "99");
173
- }, function (_a) {
174
- var $success = _a.$success;
175
- return "".concat($success, "99");
176
- }, exports.VALUE_LEFT_CSS, function (_a) {
177
- var $hover = _a.$hover;
178
- return $hover;
179
- });
180
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18;
206
+ }, exports.PANEL_LEFT_CSS);
207
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22;
181
208
  //# sourceMappingURL=compactRowStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compactRowStyles.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compactRowStyles.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface ICompactToolbarOptionalField {
21
21
  export interface ICompactToolbarContext {
22
22
  readOnly?: boolean;
23
23
  invalidCount: number;
24
+ attentionCount: number;
24
25
  completion: {
25
26
  set: number;
26
27
  total: number;
@@ -1 +1 @@
1
- {"version":3,"file":"compactToolbarContext.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/compactToolbarContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;wDAEwD;AACxD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAEnF,8EAA8E;AAC9E,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAExD,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/D,WAAW,EAAE,YAAY,CAAC;IAC1B,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAG/B,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,4BAA4B,EAAE,CAAC;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB,gEAEjC,CAAC"}
1
+ {"version":3,"file":"compactToolbarContext.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/compactToolbarContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;wDAEwD;AACxD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAEnF,8EAA8E;AAC9E,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAExD,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/D,WAAW,EAAE,YAAY,CAAC;IAC1B,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAG/B,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,4BAA4B,EAAE,CAAC;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB,gEAEjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compactToolbarContext.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactToolbarContext.ts"],"names":[],"mappings":";;;AACA,6DAAqD;AAwDxC,QAAA,qBAAqB,GAAG,IAAA,oCAAa,EAChD,EAA4B,CAC7B,CAAC"}
1
+ {"version":3,"file":"compactToolbarContext.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactToolbarContext.ts"],"names":[],"mappings":";;;AACA,6DAAqD;AAyDxC,QAAA,qBAAqB,GAAG,IAAA,oCAAa,EAChD,EAA4B,CAC7B,CAAC"}
@@ -60,6 +60,25 @@ export interface IReadFirstCompletion {
60
60
  set: number;
61
61
  pct: number;
62
62
  }
63
+ /** Read-first row status, shared by the status DOT (CompactRow) and the
64
+ * status BOX bucketing (FormEngine) so the two can never disagree:
65
+ * invalid — a value fails validation, or a danger message is present (red)
66
+ * todo — empty & required (or has a warning message), needs a value (amber)
67
+ * set — has a valid value (green)
68
+ * optional — empty & not required, or covered by a one-of sibling (calm) */
69
+ export type TReadFirstStatus = 'invalid' | 'todo' | 'set' | 'optional';
70
+ export declare const getReadFirstStatus: (s: {
71
+ empty: boolean;
72
+ required: boolean;
73
+ /** Empty member of a one-of required group already satisfied by a sibling. */
74
+ covered: boolean;
75
+ /** Non-empty value fails validation, or a danger message is attached. */
76
+ invalid: boolean;
77
+ /** A warning message is attached (surfaces an empty field for attention). */
78
+ warned: boolean;
79
+ }) => TReadFirstStatus;
80
+ /** Coarse bucket for the three status boxes (Needs attention / Set / Optional). */
81
+ export declare const getReadFirstBucket: (status: TReadFirstStatus) => 'attention' | 'set' | 'optional';
63
82
  /** Count how many of the shown options have a value set, for the progress meter. */
64
83
  export declare const getReadFirstCompletion: (shownOptions?: Record<string, IQorusFormField | undefined>) => IReadFirstCompletion;
65
84
  //# sourceMappingURL=readFirst.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readFirst.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/readFirst.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAmDtF;;;GAGG;AAEH,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,OAIN,CAAC;AAwB/C;+EAC+E;AAC/E,eAAO,MAAM,eAAe,YAAa,qBAAqB,KAAG,OAIhE,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,UACxB,OAAO,WACL,qBAAqB,KAC7B,MAAM,GAAG,SAGX,CAAC;AA6CF;mEACmE;AACnE,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,MAAM,GAAG,SAgB1D,CAAC;AAEF;qBACqB;AACrB,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,MAAM,GAAG,SAQpD,CAAC;AAEF;;wBAEwB;AACxB,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,MAAM,GAAG,SAgBzD,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,WAAW,UAAW,OAAO,KAAG,MAAM,GAAG,SAGrD,CAAC;AAEF;yCACyC;AACzC,eAAO,MAAM,YAAY,YACd,eAAe,WACf,qBAAqB,KAC7B,MAAM,GAAG,SAG8D,CAAC;AAE3E,iDAAiD;AACjD,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAY3C,CAAC;AAmBF,eAAO,MAAM,iBAAiB,YACnB,eAAe,WACf,qBAAqB,KAC7B,MA0EF,CAAC;AAEF,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAChB,eAAe,WACf,qBAAqB,KAC7B,mBAAmB,EAmDrB,CAAC;AAQF;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAAa,qBAAqB,KAAG,MAc/D,CAAC;AAEF;4CAC4C;AAC5C,eAAO,MAAM,mBAAmB,QACzB,MAAM,WACF,OAAO,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,KACtD,MAAgD,CAAC;AAEpD,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,kBACnB,OAAO,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,KACxD,oBAOF,CAAC"}
1
+ {"version":3,"file":"readFirst.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/readFirst.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAmDtF;;;GAGG;AAEH,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,OAIN,CAAC;AAwB/C;+EAC+E;AAC/E,eAAO,MAAM,eAAe,YAAa,qBAAqB,KAAG,OAIhE,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,UACxB,OAAO,WACL,qBAAqB,KAC7B,MAAM,GAAG,SAGX,CAAC;AA6CF;mEACmE;AACnE,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,MAAM,GAAG,SAgB1D,CAAC;AAEF;qBACqB;AACrB,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,MAAM,GAAG,SAQpD,CAAC;AAEF;;wBAEwB;AACxB,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,MAAM,GAAG,SAgBzD,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,WAAW,UAAW,OAAO,KAAG,MAAM,GAAG,SAGrD,CAAC;AAEF;yCACyC;AACzC,eAAO,MAAM,YAAY,YACd,eAAe,WACf,qBAAqB,KAC7B,MAAM,GAAG,SAG8D,CAAC;AAE3E,iDAAiD;AACjD,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAY3C,CAAC;AAmBF,eAAO,MAAM,iBAAiB,YACnB,eAAe,WACf,qBAAqB,KAC7B,MA0EF,CAAC;AAEF,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAChB,eAAe,WACf,qBAAqB,KAC7B,mBAAmB,EAmDrB,CAAC;AAQF;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAAa,qBAAqB,KAAG,MAc/D,CAAC;AAEF;4CAC4C;AAC5C,eAAO,MAAM,mBAAmB,QACzB,MAAM,WACF,OAAO,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,KACtD,MAAgD,CAAC;AAEpD,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;8EAK8E;AAC9E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAEvE,eAAO,MAAM,kBAAkB,MAAO;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAC;CACjB,KAAG,gBAQH,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,WACrB,gBAAgB,KACvB,WAAW,GAAG,KAAK,GAAG,UAGV,CAAC;AAEhB,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,kBACnB,OAAO,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,KACxD,oBAOF,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getReadFirstCompletion = exports.getOptionGroupLabel = exports.getOptionGroup = exports.getHashEntries = exports.formatOptionValue = exports.formatBytes = exports.getValueType = exports.getFileSize = exports.formatFileValue = exports.colorToCss = exports.formatColorValue = exports.getAllowedValueImage = exports.optionHasImages = exports.isOptionValueEmpty = void 0;
6
+ exports.getReadFirstCompletion = exports.getReadFirstBucket = exports.getReadFirstStatus = exports.getOptionGroupLabel = exports.getOptionGroup = exports.getHashEntries = exports.formatOptionValue = exports.formatBytes = exports.getValueType = exports.getFileSize = exports.formatFileValue = exports.colorToCss = exports.formatColorValue = exports.getAllowedValueImage = exports.optionHasImages = exports.isOptionValueEmpty = void 0;
7
7
  var structuredData_1 = require("./_structuredData/structuredData");
8
8
  var renderExpressionToText_1 = require("../expressions/renderExpressionToText");
9
9
  var js_yaml_1 = __importDefault(require("js-yaml"));
@@ -354,6 +354,27 @@ exports.getOptionGroup = getOptionGroup;
354
354
  * `groups` prop) or the title-cased key. */
355
355
  var getOptionGroupLabel = function (key, groups) { var _a, _b; return (_b = (_a = groups === null || groups === void 0 ? void 0 : groups[key]) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : titleCase(key); };
356
356
  exports.getOptionGroupLabel = getOptionGroupLabel;
357
+ var getReadFirstStatus = function (s) {
358
+ if (s.invalid)
359
+ return 'invalid';
360
+ if (!s.empty)
361
+ return 'set';
362
+ // A one-of member covered by a satisfied sibling reads as "set" (green) — the
363
+ // requirement is met; the row just shows a "Covered by …" note.
364
+ if (s.covered)
365
+ return 'set';
366
+ if (s.required || s.warned)
367
+ return 'todo';
368
+ return 'optional';
369
+ };
370
+ exports.getReadFirstStatus = getReadFirstStatus;
371
+ /** Coarse bucket for the three status boxes (Needs attention / Set / Optional). */
372
+ var getReadFirstBucket = function (status) {
373
+ return status === 'set' ? 'set'
374
+ : status === 'optional' ? 'optional'
375
+ : 'attention';
376
+ };
377
+ exports.getReadFirstBucket = getReadFirstBucket;
357
378
  /** Count how many of the shown options have a value set, for the progress meter. */
358
379
  var getReadFirstCompletion = function (shownOptions) {
359
380
  if (shownOptions === void 0) { shownOptions = {}; }
@@ -1 +1 @@
1
- {"version":3,"file":"readFirst.js","sourceRoot":"","sources":["../../../../src/components/form/engine/readFirst.ts"],"names":[],"mappings":";;;;;;AACA,mEAAoE;AACpE,gFAA+E;AAE/E,oDAA2B;AAC3B,kDAA2D;AAE3D,+DAA+D;AAC/D,IAAM,SAAS,GAAG,UAAC,KAAa,EAAE,IAAY;IAC5C,OAAA,UAAG,KAAK,cAAI,IAAI,SAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAE;AAA3C,CAA2C,CAAC;AAE9C,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,mEAAmE;AACnE,IAAM,eAAe,GAAG,UAAC,GAAY,IAA6B,OAAA,IAAA,iCAAgB,EAAC,GAAG,CAAC,EAArB,CAAqB,CAAC;AAExF,mFAAmF;AACnF,IAAM,UAAU,GAAG,UAAC,KAAgB;IAClC,IAAM,KAAK,GAAG,KAAK;SAChB,GAAG,CAAC,UAAC,IAAI,gBACR,OAAA,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAA,MAAC,IAAY,CAAC,IAAI,mCAAK,IAAY,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,EAAA,CAC5F;SACA,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAlD,CAAkD,CAAC,CAAC;IAExE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,oFAAoF;AACpF,IAAM,eAAe,GAAG,UAAC,GAAW;IAClC,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/D,CAAC,CAAC;AAEF;;0CAE0C;AAC1C,IAAM,eAAe,GAAG,UAAC,KAAa,EAAE,IAAa;IACnD,IAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,iBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AAEH,+FAA+F;AACxF,IAAM,kBAAkB,GAAG,UAAC,KAAc;IAC/C,OAAA,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,EAAE;QACZ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAH5C,CAG4C,CAAC;AAJlC,QAAA,kBAAkB,sBAIgB;AAE/C;gCACgC;AAChC,IAAM,iBAAiB,GAAG,UAAC,KAAc,EAAE,MAA8B;;IACvE,IAAM,CAAC,GAAG,MAA+D,CAAC;IAC1E,IAAM,OAAO,GAAG,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,cAAc,0CAAE,MAAM,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC;IACxE,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CACjB,UAAC,MAAM,YACL,OAAA,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,KAAK,MAAK,KAAK,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,MAAK,KAAK,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,KAAK,CAAA,EAAA,CACtF,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,oBAAoB,GAAG,UAC3B,KAAc,EACd,MAA8B;IAE9B,IAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC,CAAC;AAEF;+EAC+E;AACxE,IAAM,eAAe,GAAG,UAAC,MAA8B;;IAC5D,IAAM,CAAC,GAAG,MAA+D,CAAC;IAC1E,IAAM,OAAO,GAAG,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,cAAc,0CAAE,MAAM,EAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC;IACxE,OAAO,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,EAAf,CAAe,CAAC,CAAA,CAAC;AACtD,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEF,oFAAoF;AAC7E,IAAM,oBAAoB,GAAG,UAClC,KAAc,EACd,MAA8B;IAE9B,IAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAgB,KAAI,SAAS,CAAC;AAC/C,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AAEF,+CAA+C;AAC/C,IAAM,YAAY,GAAG,UAAC,CAAS,IAAa,OAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAzC,CAAyC,CAAC;AACtF,IAAM,SAAS,GAAG,UAAC,CAAS,IAAa,OAAA,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAA7C,CAA6C,CAAC;AAcvF,6DAA6D;AAC7D,IAAM,MAAM,GAAG,UACb,CAAe;IAEf,OAAA,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;AAA3D,CAA2D,CAAC;AAE9D;kFACkF;AAClF,IAAM,UAAU,GAAG,UAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAM,CAAC,GAAG,KAAoB,CAAC;QAC/B,IAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClF,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAA,EAAE,GAAG,KAAA,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,EAAE,GAAG,KAAA,EAAE,CAAC,GAAA,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;mEACmE;AAC5D,IAAM,gBAAgB,GAAG,UAAC,KAAc;IAC7C,IAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,4EAA4E;IAC5E,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1C,OAAO,eAAQ,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,eAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,eAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,eAAK,KAAK,MAAG,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,WAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE;QACtE,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B;AAEF;qBACqB;AACd,IAAM,UAAU,GAAG,UAAC,KAAc;IACvC,IAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAQ,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,eAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,eAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,CAAC,CAAC,MAAG,CAAC,CAAC,CAAC,CAClG,CAAC,CAAC,GAAG,CACN,CAAC;AACN,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB;AAEF;;wBAEwB;AACjB,IAAM,eAAe,GAAG,UAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAM,MAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,OAAO,MAAI,IAAI,SAAS,CAAC;IAC3B,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAM,MAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;QAChD,IAAI,OAAO,MAAI,KAAK,QAAQ,IAAI,MAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,OAAO,MAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QACD,IAAM,MAAM,GAAI,MAAwC,aAAxC,MAAI,uBAAJ,MAAI,CAAsC,KAAK,CAAC;QAChE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAhBW,QAAA,eAAe,mBAgB1B;AAEF,iFAAiF;AAC1E,IAAM,WAAW,GAAG,UAAC,KAAc;IACxC,IAAM,IAAI,GAAI,KAAwC,aAAxC,KAAK,uBAAL,KAAK,CAAqC,IAAI,CAAC;IAC7D,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEF;yCACyC;AAClC,IAAM,YAAY,GAAG,UAC1B,MAAwB,EACxB,MAA8B;IAE9B,OAAA,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;SACV,MAA0D,aAA1D,MAAM,uBAAN,MAAM,CAAsD,OAAO,CAAA;SACnE,MAAwC,aAAxC,MAAM,uBAAN,MAAM,CAAoC,IAAI,CAAA,CAAuB;AAFxE,CAEwE,CAAC;AAN9D,QAAA,YAAY,gBAMkD;AAE3E,iDAAiD;AAC1C,IAAM,WAAW,GAAG,UAAC,KAAa;IACvC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,UAAG,KAAK,OAAI,CAAC;IACtB,CAAC;IACD,IAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,UAAG,IAAI,IAAI,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAI,KAAK,CAAC,IAAI,CAAC,CAAE,CAAC;AACvG,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB;AAEF;;;;;GAKG;AACH;6CAC6C;AAC7C,IAAM,sBAAsB,GAAG,UAAC,KAAc;;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACzD,IAAM,GAAG,GAAG,KAAwD,CAAC;IACrE,IAAM,IAAI,GAAG,MAAA,GAAG,CAAC,MAAM,0CAAE,IAAI,CAAC;IAC9B,IAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAM,KAAK,mBAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,IAAI,CAAC,CAAC,CAAC,UAAG,IAAI,SAAG,MAAM,CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9C,CAAC,CAAC;AAEK,IAAM,iBAAiB,GAAG,UAC/B,MAAwB,EACxB,MAA8B;;IAE9B,IAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;IAE5B,IAAI,IAAA,0BAAkB,EAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAK,MAA8C,aAA9C,MAAM,uBAAN,MAAM,CAA0C,SAAS,EAAE,CAAC;QAC/D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE,CAAC;QAC1B,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,OAAO,IAAA,+CAAsB,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAqC,CAAC,IAAI,YAAY,CAAC;IAC/F,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,CAAC,MAA2C,aAA3C,MAAM,uBAAN,MAAM,CAAuC,OAAO,MAAK,mBAAmB,EAAE,CAAC;QAClF,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAM,IAAI,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1C,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,IAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,MAAA,IAAA,wBAAgB,EAAC,KAAK,CAAC,mCAAI,KAAK,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,MAAA,IAAA,uBAAe,EAAC,KAAK,CAAC,mCAAI,KAAK,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,IAAM,IAAI,GAAG,IAAA,yBAAgB,EAAC,KAAY,CAAC,CAAC;QAC5C,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,eAAe,CAAC,MAAgB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAe,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AA7EW,QAAA,iBAAiB,qBA6E5B;AAYF;;;;GAIG;AACI,IAAM,cAAc,GAAG,UAC5B,MAAwB,EACxB,MAA8B;IAE9B,IAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;IAC5B,IAAI,IAAA,0BAAkB,EAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,UAA+C,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,UAAU,GAAG,MAAiC,CAAC;QACjD,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,UAAU,GAAG,KAAgC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAM,SAAS,GAAI,MAA6E,aAA7E,MAAM,uBAAN,MAAM,CACrB,UAAU,CAAC;IAEf,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG;QACrC,IAAM,GAAG,GAAG,UAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAM,SAAS,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,GAAG,CAAC,CAAC;QACnC,+DAA+D;QAC/D,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;QACtE,IAAM,YAAY,GAChB,CAAC,CAAC,CAAC,SAAS;YACV,CAAC,CAAC,GAAG;YACL,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,OAAO,IAAK,GAAc,CAAC;YAC7B,eAAe,CAAC,GAAG,CAAC,CAAC;QACvB,IAAM,SAAS,GACb,YAAY,CAAC,CAAC;YACX,GAAuB;YAC1B,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAA+B,EAAE,KAAK,EAAE,GAAG,EAAsB,CAAC;QAE1F,OAAO;YACL,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,KAAI,GAAG;YACrC,KAAK,EAAE,IAAA,yBAAiB,EAAC,SAAS,EAAE,SAAS,CAAC;SAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAtDW,QAAA,cAAc,kBAsDzB;AAEF,IAAM,SAAS,GAAG,UAAC,KAAa;IAC9B,OAAA,KAAK;SACF,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,IAAI,EAAE;SACN,OAAO,CAAC,OAAO,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,WAAW,EAAE,EAAlB,CAAkB,CAAC;AAHjD,CAGiD,CAAC;AAEpD;;;;GAIG;AACI,IAAM,cAAc,GAAG,UAAC,MAA8B;IAC3D,IAAM,KAAK,GAAI,MAAyC,aAAzC,MAAM,uBAAN,MAAM,CAAqC,KAAK,CAAC;IAEhE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,OAAO,CACH,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ;SACb,MAAqD,aAArD,MAAM,uBAAN,MAAM,CAAiD,eAAe,CAAA;SACtE,MAAgD,aAAhD,MAAM,uBAAN,MAAM,CAA4C,WAAW,CAAA,CACjE,CAAC,CAAC;QACD,SAAS;QACX,CAAC,CAAC,UAAU,CAAC;AACjB,CAAC,CAAC;AAdW,QAAA,cAAc,kBAczB;AAEF;4CAC4C;AACrC,IAAM,mBAAmB,GAAG,UACjC,GAAW,EACX,MAAuD,gBAC5C,OAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,0CAAE,KAAK,mCAAI,SAAS,CAAC,GAAG,CAAC,CAAA,EAAA,CAAC;AAHvC,QAAA,mBAAmB,uBAGoB;AASpD,oFAAoF;AAC7E,IAAM,sBAAsB,GAAG,UACpC,YAA8D;IAA9D,6BAAA,EAAA,iBAA8D;IAE9D,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,IAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,YAAK,OAAA,CAAC,IAAA,0BAAkB,EAAC,MAAA,YAAY,CAAC,IAAI,CAAC,0CAAE,KAAK,CAAC,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC;IAC1F,IAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,OAAO,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,CAAC;AAC7B,CAAC,CAAC;AATW,QAAA,sBAAsB,0BASjC"}
1
+ {"version":3,"file":"readFirst.js","sourceRoot":"","sources":["../../../../src/components/form/engine/readFirst.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IQorusFormField, IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
2
+ export declare const VariantCalmTable: ({ options, values, }: {
3
+ options: IQorusFormSchema;
4
+ values: Record<string, IQorusFormField>;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=VariantCalmTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariantCalmTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantCalmTable.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAwIjF,eAAO,MAAM,gBAAgB,yBAG1B;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,EAAE,eAAe,CAAC,CAAC;CACzC,4CAyFA,CAAC"}