@qoretechnologies/reqraft 0.10.46-pr.95.ge595a13 → 0.10.46

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 (147) hide show
  1. package/.claude/CLAUDE.md +12 -0
  2. package/.tasks/INDEX.md +1 -0
  3. package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +72 -0
  4. package/dist/components/composer/Composer.d.ts.map +1 -1
  5. package/dist/components/composer/Composer.js +5 -1
  6. package/dist/components/composer/Composer.js.map +1 -1
  7. package/dist/components/form/engine/CompactRow.d.ts +14 -0
  8. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  9. package/dist/components/form/engine/CompactRow.js +199 -41
  10. package/dist/components/form/engine/CompactRow.js.map +1 -1
  11. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  12. package/dist/components/form/engine/CompactToolbar.js +72 -72
  13. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  14. package/dist/components/form/engine/FormEngine.d.ts +65 -1
  15. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  16. package/dist/components/form/engine/FormEngine.js +276 -108
  17. package/dist/components/form/engine/FormEngine.js.map +1 -1
  18. package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
  19. package/dist/components/form/engine/_structuredData/SchemaDataView.js +55 -13
  20. package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
  21. package/dist/components/form/engine/_structuredData/structuredData.d.ts +15 -0
  22. package/dist/components/form/engine/_structuredData/structuredData.d.ts.map +1 -1
  23. package/dist/components/form/engine/_structuredData/structuredData.js +22 -1
  24. package/dist/components/form/engine/_structuredData/structuredData.js.map +1 -1
  25. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  26. package/dist/components/form/engine/compactRowStyles.js +15 -3
  27. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  28. package/dist/components/form/engine/compactToolbarContext.d.ts +8 -0
  29. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  30. package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
  31. package/dist/components/form/engine/readFirst.d.ts +24 -0
  32. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  33. package/dist/components/form/engine/readFirst.js +84 -6
  34. package/dist/components/form/engine/readFirst.js.map +1 -1
  35. package/dist/components/form/fields/Field.d.ts.map +1 -1
  36. package/dist/components/form/fields/Field.js +1 -1
  37. package/dist/components/form/fields/Field.js.map +1 -1
  38. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +12 -2
  39. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  40. package/dist/components/form/fields/allowed-values/AllowedValues.js +16 -6
  41. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  42. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  43. package/dist/components/form/fields/auto/AutoFormField.js +64 -14
  44. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  45. package/dist/components/form/fields/long-string/LongString.d.ts +9 -1
  46. package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
  47. package/dist/components/form/fields/long-string/LongString.js +25 -4
  48. package/dist/components/form/fields/long-string/LongString.js.map +1 -1
  49. package/dist/components/form/fields/template/ExampleValueModal.d.ts +29 -0
  50. package/dist/components/form/fields/template/ExampleValueModal.d.ts.map +1 -0
  51. package/dist/components/form/fields/template/ExampleValueModal.js +122 -0
  52. package/dist/components/form/fields/template/ExampleValueModal.js.map +1 -0
  53. package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
  54. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +3 -3
  55. package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
  56. package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
  57. package/dist/components/form/fields/template/TemplateField.js +81 -27
  58. package/dist/components/form/fields/template/TemplateField.js.map +1 -1
  59. package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts +2 -0
  60. package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts.map +1 -0
  61. package/dist/components/form/fields/template/__fixtures__/longExampleValue.js +9 -0
  62. package/dist/components/form/fields/template/__fixtures__/longExampleValue.js.map +1 -0
  63. package/dist/components/form/index.d.ts +1 -0
  64. package/dist/components/form/index.d.ts.map +1 -1
  65. package/dist/components/form/index.js +1 -0
  66. package/dist/components/form/index.js.map +1 -1
  67. package/dist/components/searchFilterBar/SearchFilterBar.d.ts +12 -1
  68. package/dist/components/searchFilterBar/SearchFilterBar.d.ts.map +1 -1
  69. package/dist/components/searchFilterBar/SearchFilterBar.js +2 -2
  70. package/dist/components/searchFilterBar/SearchFilterBar.js.map +1 -1
  71. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
  72. package/dist/components/ticketThread/TicketThread.js +1 -1
  73. package/dist/components/ticketThread/TicketThread.js.map +1 -1
  74. package/dist/helpers/common.d.ts +8 -1
  75. package/dist/helpers/common.d.ts.map +1 -1
  76. package/dist/helpers/common.js +9 -1
  77. package/dist/helpers/common.js.map +1 -1
  78. package/dist/helpers/expressions.d.ts.map +1 -1
  79. package/dist/helpers/expressions.js +15 -2
  80. package/dist/helpers/expressions.js.map +1 -1
  81. package/dist/helpers/optionUiTypes.d.ts +30 -0
  82. package/dist/helpers/optionUiTypes.d.ts.map +1 -0
  83. package/dist/helpers/optionUiTypes.js +156 -0
  84. package/dist/helpers/optionUiTypes.js.map +1 -0
  85. package/dist/helpers/options.d.ts +19 -0
  86. package/dist/helpers/options.d.ts.map +1 -1
  87. package/dist/helpers/options.js +25 -1
  88. package/dist/helpers/options.js.map +1 -1
  89. package/dist/helpers/providerValue.d.ts +68 -0
  90. package/dist/helpers/providerValue.d.ts.map +1 -0
  91. package/dist/helpers/providerValue.js +50 -0
  92. package/dist/helpers/providerValue.js.map +1 -0
  93. package/dist/helpers/singleLineString.d.ts +37 -0
  94. package/dist/helpers/singleLineString.d.ts.map +1 -0
  95. package/dist/helpers/singleLineString.js +66 -0
  96. package/dist/helpers/singleLineString.js.map +1 -0
  97. package/dist/helpers/templates.d.ts +100 -0
  98. package/dist/helpers/templates.d.ts.map +1 -1
  99. package/dist/helpers/templates.js +237 -4
  100. package/dist/helpers/templates.js.map +1 -1
  101. package/dist/helpers/validations.d.ts +103 -2
  102. package/dist/helpers/validations.d.ts.map +1 -1
  103. package/dist/helpers/validations.js +858 -91
  104. package/dist/helpers/validations.js.map +1 -1
  105. package/dist/index.d.ts +1 -1
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -1
  108. package/dist/index.js.map +1 -1
  109. package/package.json +1 -1
  110. package/src/components/composer/Composer.tsx +7 -3
  111. package/src/components/form/engine/CompactRow.tsx +279 -33
  112. package/src/components/form/engine/CompactToolbar.tsx +105 -98
  113. package/src/components/form/engine/FormEngine.stories.tsx +995 -12
  114. package/src/components/form/engine/FormEngine.tsx +377 -94
  115. package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +104 -0
  116. package/src/components/form/engine/_structuredData/SchemaDataView.tsx +158 -101
  117. package/src/components/form/engine/_structuredData/structuredData.ts +20 -0
  118. package/src/components/form/engine/compactRowStyles.ts +55 -1
  119. package/src/components/form/engine/compactToolbarContext.ts +8 -0
  120. package/src/components/form/engine/readFirst.ts +125 -35
  121. package/src/components/form/fields/Field.tsx +3 -1
  122. package/src/components/form/fields/allowed-values/AllowedValues.tsx +24 -2
  123. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +81 -0
  124. package/src/components/form/fields/auto/AutoFormField.stories.tsx +47 -1
  125. package/src/components/form/fields/auto/AutoFormField.tsx +73 -11
  126. package/src/components/form/fields/long-string/LongString.tsx +46 -5
  127. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +5 -0
  128. package/src/components/form/fields/template/ExampleValueModal.stories.tsx +114 -0
  129. package/src/components/form/fields/template/ExampleValueModal.tsx +99 -0
  130. package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +8 -4
  131. package/src/components/form/fields/template/TemplateField.stories.tsx +389 -1
  132. package/src/components/form/fields/template/TemplateField.tsx +100 -35
  133. package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +7 -0
  134. package/src/components/form/index.tsx +1 -0
  135. package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +62 -0
  136. package/src/components/searchFilterBar/SearchFilterBar.tsx +13 -0
  137. package/src/components/ticketThread/TicketThread.tsx +7 -0
  138. package/src/helpers/common.ts +11 -1
  139. package/src/helpers/expressions.ts +16 -2
  140. package/src/helpers/optionUiTypes.ts +161 -0
  141. package/src/helpers/options.ts +23 -0
  142. package/src/helpers/providerValue.ts +125 -0
  143. package/src/helpers/singleLineString.ts +61 -0
  144. package/src/helpers/templates.ts +272 -3
  145. package/src/helpers/validations.ts +1177 -109
  146. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +23 -2
  147. package/src/index.tsx +1 -0
@@ -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.qorusDateStringToIso = exports.parseSerializedStructuredText = exports.isUiEncodedValue = exports.isStructuredContainerValue = exports.isRecord = exports.UI_ENVELOPE_KEY_LIST = exports.formatIdeTimestamp = void 0;
6
+ exports.qorusDateStringToIso = exports.parseSerializedStructuredText = exports.isUiEncodedValue = exports.isEmptyUiEnvelope = exports.isStructuredContainerValue = exports.isRecord = exports.UI_ENVELOPE_KEY_LIST = exports.formatIdeTimestamp = void 0;
7
7
  var js_yaml_1 = __importDefault(require("js-yaml"));
8
8
  // Ported from qorus-ide's `helpers/date` (moment-based) as a native-Date
9
9
  // formatter so this copy carries no extra dependency. Same output shape:
@@ -47,6 +47,27 @@ var isStructuredContainerValue = function (value) {
47
47
  return Array.isArray(value) || (0, exports.isRecord)(value);
48
48
  };
49
49
  exports.isStructuredContainerValue = isStructuredContainerValue;
50
+ /**
51
+ * A field the form materialised but left UNSET: `{type: 'int'}`, no `value` key.
52
+ *
53
+ * `fixOptions` omits the key entirely when the value is undefined, so this is
54
+ * what an untouched sub-field of a schema-declared hash looks like on the wire.
55
+ * It is an EMPTY ENVELOPE, never content — and every renderer has to agree on
56
+ * that, because the ones that do not count the envelope's own `type` key and
57
+ * report an unset field as "1 field" while the sub-form correctly says 0 set.
58
+ *
59
+ * Deliberately separate from {@link isUiEncodedValue}, which requires a `value`
60
+ * and therefore cannot see this shape. Callers gate on knowing the field is
61
+ * schema-declared: without a schema saying so, a `{type: …}` object could
62
+ * legitimately be somebody's data.
63
+ */
64
+ var isEmptyUiEnvelope = function (value) {
65
+ return (0, exports.isRecord)(value) &&
66
+ typeof value.type === 'string' &&
67
+ !('value' in value) &&
68
+ Object.keys(value).every(function (key) { return UI_ENVELOPE_KEYS.has(key); });
69
+ };
70
+ exports.isEmptyUiEnvelope = isEmptyUiEnvelope;
50
71
  var isUiEncodedValue = function (value) {
51
72
  if (!(0, exports.isRecord)(value) || typeof value.type !== 'string' || !('value' in value)) {
52
73
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"structuredData.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/_structuredData/structuredData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structuredData.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/_structuredData/structuredData.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compactRowStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAKtF,eAAO,MAAM,UAAU,EAAE,MAAc,CAAC;AAOxC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,eAAO,MAAM,kBAAkB,QAA0D,CAAC;AAE1F,eAAO,MAAM,kBAAkB,QAA0B,CAAC;AAI1D,eAAO,MAAM,YAAY,SAA2B,CAAC;AASrD,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAoB,CAAC;AAC/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,QAAsB,CAAC;AAC1D,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,SAAS,sCAAkD,CAAC;AACzE,eAAO,MAAM,cAAc,mDAAuE,CAAC;AAQnG,eAAO,MAAM,kBAAkB,KA6D9B,CAAC;AAIF,eAAO,MAAM,iBAAiB,KAM7B,CAAC;AACF,eAAO,MAAM,qBAAqB,KAKjC,CAAC;AAMF,eAAO,MAAM,eAAe,KAQ3B,CAAC;AAMF,eAAO,MAAM,wBAAwB,KAapC,CAAC;AACF,eAAO,MAAM,2BAA2B,KAUvC,CAAC;AAKF,eAAO,MAAM,yBAAyB,KAOrC,CAAC;AAQF,eAAO,MAAM,iBAAiB,KAwB7B,CAAC;AAEF,eAAO,MAAM,cAAc,KAkB1B,CAAC;AAGF,eAAO,MAAM,gBAAgB,KAK5B,CAAC;AAEF,eAAO,MAAM,cAAc,KAW1B,CAAC;AAMF,eAAO,MAAM,eAAe,KAO3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,KAI7B,CAAC;AAIF,eAAO,MAAM,eAAe,KAO3B,CAAC;AAIF,eAAO,MAAM,cAAc,KA2C1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,KAQ5B,CAAC;AAMF,eAAO,MAAM,eAAe,KAO3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,KAK5B,CAAC;AAEF,eAAO,MAAM,YAAY,KAGxB,CAAC;AAKF,eAAO,MAAM,cAAc,KAI1B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,2FAC8D,CAAC;AAO3F,eAAO,MAAM,iBAAiB,KAa7B,CAAC;AAGF,eAAO,MAAM,iBAAiB,KAO7B,CAAC;AAEF,eAAO,MAAM,eAAe,KAmQ3B,CAAC;AAWF,eAAO,MAAM,mBAAmB,KAQ/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,KAG/B,CAAC"}
1
+ {"version":3,"file":"compactRowStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAKtF,eAAO,MAAM,UAAU,EAAE,MAAc,CAAC;AAOxC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,eAAO,MAAM,kBAAkB,QAA0D,CAAC;AAE1F,eAAO,MAAM,kBAAkB,QAA0B,CAAC;AAI1D,eAAO,MAAM,YAAY,SAA2B,CAAC;AASrD,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAoB,CAAC;AAC/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,QAAsB,CAAC;AAC1D,eAAO,MAAM,aAAa,0BAA0B,CAAC;AACrD,eAAO,MAAM,SAAS,sCAAkD,CAAC;AACzE,eAAO,MAAM,cAAc,mDAAuE,CAAC;AAQnG,eAAO,MAAM,kBAAkB,KA0E9B,CAAC;AAIF,eAAO,MAAM,iBAAiB,KAM7B,CAAC;AACF,eAAO,MAAM,qBAAqB,KAKjC,CAAC;AAMF,eAAO,MAAM,eAAe,KAQ3B,CAAC;AAMF,eAAO,MAAM,wBAAwB,KAapC,CAAC;AACF,eAAO,MAAM,2BAA2B,KAUvC,CAAC;AAKF,eAAO,MAAM,yBAAyB,KAOrC,CAAC;AAQF,eAAO,MAAM,iBAAiB,KAwB7B,CAAC;AAEF,eAAO,MAAM,cAAc,KAkB1B,CAAC;AAGF,eAAO,MAAM,gBAAgB,KAK5B,CAAC;AAEF,eAAO,MAAM,cAAc,KAW1B,CAAC;AAMF,eAAO,MAAM,eAAe,KAO3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,KAI7B,CAAC;AAIF,eAAO,MAAM,eAAe,KAO3B,CAAC;AAIF,eAAO,MAAM,cAAc,KA2C1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,KAQ5B,CAAC;AAMF,eAAO,MAAM,eAAe,KAO3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,KAK5B,CAAC;AAEF,eAAO,MAAM,YAAY,KAGxB,CAAC;AAKF,eAAO,MAAM,cAAc,KAI1B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,2FAC8D,CAAC;AAO3F,eAAO,MAAM,iBAAiB,KAa7B,CAAC;AAGF,eAAO,MAAM,iBAAiB,KAO7B,CAAC;AAEF,eAAO,MAAM,eAAe,KA4S3B,CAAC;AAWF,eAAO,MAAM,mBAAmB,KAQ/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,KAG/B,CAAC"}
@@ -64,10 +64,13 @@ exports.PANEL_LEFT_CSS = "calc(".concat(exports.LABEL_COL, " + ").concat(exports
64
64
  // promotes the header to its own GPU layer, which stops the backdrop-filter
65
65
  // repaint flicker on scroll. `$headerBg` is a pre-mixed translucent colour so
66
66
  // content blurs softly through.
67
- exports.StyledCompactPanel = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n > .reqore-panel-title {\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 /* An injected option action declared `show: 'hover'` \u2014 the shape ReqorePanel\n honours on the classic path \u2014 is revealed only while its row or card is\n hovered or holds focus. The compact slots render plain buttons, so the gate\n has to be CSS here. Kept focus-visible too, so the action stays reachable by\n keyboard. Opacity rather than display keeps the slot's width stable, so rows\n don't reflow on hover. */\n .options-injected-action-hover {\n opacity: 0;\n /* Not hit-testable while invisible \u2014 an opacity:0 button still takes taps\n and clicks, which reads as a mystery control firing out of nowhere. */\n pointer-events: none;\n transition: opacity 0.15s ease;\n }\n .readfirst-row:hover .options-injected-action-hover,\n .readfirst-row:focus-within .options-injected-action-hover,\n .options-readfirst-card:hover .options-injected-action-hover,\n .options-readfirst-card:focus-within .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n /* Touch and other hover-less pointers never fire :hover, so a hover-gated\n action would be permanently unreachable there. Show it unconditionally\n instead \u2014 losing the tidiness beats losing the functionality. */\n @media (hover: none), (pointer: coarse) {\n .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n }\n"], ["\n > .reqore-panel-title {\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 /* An injected option action declared \\`show: 'hover'\\` \u2014 the shape ReqorePanel\n honours on the classic path \u2014 is revealed only while its row or card is\n hovered or holds focus. The compact slots render plain buttons, so the gate\n has to be CSS here. Kept focus-visible too, so the action stays reachable by\n keyboard. Opacity rather than display keeps the slot's width stable, so rows\n don't reflow on hover. */\n .options-injected-action-hover {\n opacity: 0;\n /* Not hit-testable while invisible \u2014 an opacity:0 button still takes taps\n and clicks, which reads as a mystery control firing out of nowhere. */\n pointer-events: none;\n transition: opacity 0.15s ease;\n }\n .readfirst-row:hover .options-injected-action-hover,\n .readfirst-row:focus-within .options-injected-action-hover,\n .options-readfirst-card:hover .options-injected-action-hover,\n .options-readfirst-card:focus-within .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n /* Touch and other hover-less pointers never fire :hover, so a hover-gated\n action would be permanently unreachable there. Show it unconditionally\n instead \u2014 losing the tidiness beats losing the functionality. */\n @media (hover: none), (pointer: coarse) {\n .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n }\n"])), function (_a) {
67
+ exports.StyledCompactPanel = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n > .reqore-panel-title {\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 /* A header with a SEARCH ROW keeps the `big` gap below it \u2014 a tall\n interactive control earns separation from the content it filters. A\n header without one (search hidden via `compactToolbar`, self-hidden on\n a single-option form, or no toolbar at all) is a thin strip, and at\n `big` its padding stacked onto the panel content's own 8px into a 26px\n dead band between the completion meter and the first status box \u2014\n rejected on build #140 as \"unnecessarily big\". `normal` lands it at\n the boxes' own 10px rhythm, and scoping the change here keeps every\n search-bearing form pixel-identical. */\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 /* An injected option action declared `show: 'hover'` \u2014 the shape ReqorePanel\n honours on the classic path \u2014 is revealed only while its row or card is\n hovered or holds focus. The compact slots render plain buttons, so the gate\n has to be CSS here. Kept focus-visible too, so the action stays reachable by\n keyboard. Opacity rather than display keeps the slot's width stable, so rows\n don't reflow on hover. */\n .options-injected-action-hover {\n opacity: 0;\n /* Not hit-testable while invisible \u2014 an opacity:0 button still takes taps\n and clicks, which reads as a mystery control firing out of nowhere. */\n pointer-events: none;\n transition: opacity 0.15s ease;\n }\n .readfirst-row:hover .options-injected-action-hover,\n .readfirst-row:focus-within .options-injected-action-hover,\n .options-readfirst-card:hover .options-injected-action-hover,\n .options-readfirst-card:focus-within .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n /* Touch and other hover-less pointers never fire :hover, so a hover-gated\n action would be permanently unreachable there. Show it unconditionally\n instead \u2014 losing the tidiness beats losing the functionality. */\n @media (hover: none), (pointer: coarse) {\n .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n }\n"], ["\n > .reqore-panel-title {\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 /* A header with a SEARCH ROW keeps the \\`big\\` gap below it \u2014 a tall\n interactive control earns separation from the content it filters. A\n header without one (search hidden via \\`compactToolbar\\`, self-hidden on\n a single-option form, or no toolbar at all) is a thin strip, and at\n \\`big\\` its padding stacked onto the panel content's own 8px into a 26px\n dead band between the completion meter and the first status box \u2014\n rejected on build #140 as \"unnecessarily big\". \\`normal\\` lands it at\n the boxes' own 10px rhythm, and scoping the change here keeps every\n search-bearing form pixel-identical. */\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 /* An injected option action declared \\`show: 'hover'\\` \u2014 the shape ReqorePanel\n honours on the classic path \u2014 is revealed only while its row or card is\n hovered or holds focus. The compact slots render plain buttons, so the gate\n has to be CSS here. Kept focus-visible too, so the action stays reachable by\n keyboard. Opacity rather than display keeps the slot's width stable, so rows\n don't reflow on hover. */\n .options-injected-action-hover {\n opacity: 0;\n /* Not hit-testable while invisible \u2014 an opacity:0 button still takes taps\n and clicks, which reads as a mystery control firing out of nowhere. */\n pointer-events: none;\n transition: opacity 0.15s ease;\n }\n .readfirst-row:hover .options-injected-action-hover,\n .readfirst-row:focus-within .options-injected-action-hover,\n .options-readfirst-card:hover .options-injected-action-hover,\n .options-readfirst-card:focus-within .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n /* Touch and other hover-less pointers never fire :hover, so a hover-gated\n action would be permanently unreachable there. Show it unconditionally\n instead \u2014 losing the tidiness beats losing the functionality. */\n @media (hover: none), (pointer: coarse) {\n .options-injected-action-hover {\n opacity: 1;\n pointer-events: auto;\n }\n }\n"])), function (_a) {
68
68
  var $nested = _a.$nested;
69
69
  return $nested ? '' : ('backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transform: translateZ(0);');
70
- }, sizes_1.GAP_FROM_SIZE[exports.HEADER_GAP], sizes_1.GAP_FROM_SIZE[exports.HEADER_GAP]);
70
+ }, sizes_1.GAP_FROM_SIZE[exports.HEADER_GAP], function (_a) {
71
+ var $tightHeader = _a.$tightHeader;
72
+ return $tightHeader ? sizes_1.GAP_FROM_SIZE.normal : sizes_1.GAP_FROM_SIZE[exports.HEADER_GAP];
73
+ });
71
74
  // Compact group header laid out as the panel's `label`: the group name, a
72
75
  // hairline that fades toward the status chip, and the chip pinned at the end.
73
76
  exports.StyledGroupHeader = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n"], ["\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n"])));
@@ -216,7 +219,7 @@ exports.StyledColorSwatch = styled_components_1.default.span(templateObject_22 |
216
219
  var $border = _a.$border;
217
220
  return $border;
218
221
  });
219
- exports.StyledGroupBody = styled_components_1.default.div(templateObject_23 || (templateObject_23 = __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 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"])), exports.LABEL_COL, exports.COMPACT_ROW_PAD_X, exports.COMPACT_ROW_PAD_X, function (_a) {
222
+ exports.StyledGroupBody = styled_components_1.default.div(templateObject_23 || (templateObject_23 = __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 /* The \"N more fields\" control IS a field row \u2014 same grid, same padding, same\n hover \u2014 so it lines up with the rows above instead of floating as a scrap\n of text in the box's corner. A dashed edge and a lower-contrast label are\n what say it is not itself a field: nothing here can be set.\n\n It spans both content columns because it has no label/value split, and it\n drops the inter-row hairline (the ::after rule) since it always sits last. */\n .readfirst-more-row {\n grid-template-columns: 1fr auto;\n border: 1px dashed ", ";\n background: transparent;\n width: 100%;\n text-align: left;\n font: inherit;\n color: inherit;\n /* The dashed edge replaces the hairline; two lines would read as a divider\n AND a border stacked. */\n margin-top: 2px;\n }\n .readfirst-more-row::after {\n display: none;\n }\n .readfirst-more-row:hover {\n background: ", ";\n border-style: solid;\n }\n .readfirst-more-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n /* The chevron points the way the click goes: down to reveal, up to fold. */\n .readfirst-more-row .readfirst-more-chevron {\n transition: transform 0.15s ease;\n }\n .readfirst-more-row[aria-expanded='true'] .readfirst-more-chevron {\n transform: rotate(180deg);\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 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 /* The \"N more fields\" control IS a field row \u2014 same grid, same padding, same\n hover \u2014 so it lines up with the rows above instead of floating as a scrap\n of text in the box's corner. A dashed edge and a lower-contrast label are\n what say it is not itself a field: nothing here can be set.\n\n It spans both content columns because it has no label/value split, and it\n drops the inter-row hairline (the ::after rule) since it always sits last. */\n .readfirst-more-row {\n grid-template-columns: 1fr auto;\n border: 1px dashed ", ";\n background: transparent;\n width: 100%;\n text-align: left;\n font: inherit;\n color: inherit;\n /* The dashed edge replaces the hairline; two lines would read as a divider\n AND a border stacked. */\n margin-top: 2px;\n }\n .readfirst-more-row::after {\n display: none;\n }\n .readfirst-more-row:hover {\n background: ", ";\n border-style: solid;\n }\n .readfirst-more-row:focus-visible {\n outline: 2px solid ", ";\n outline-offset: -2px;\n }\n /* The chevron points the way the click goes: down to reveal, up to fold. */\n .readfirst-more-row .readfirst-more-chevron {\n transition: transform 0.15s ease;\n }\n .readfirst-more-row[aria-expanded='true'] .readfirst-more-chevron {\n transform: rotate(180deg);\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"])), exports.LABEL_COL, exports.COMPACT_ROW_PAD_X, exports.COMPACT_ROW_PAD_X, function (_a) {
220
223
  var $divider = _a.$divider;
221
224
  return $divider;
222
225
  }, function (_a) {
@@ -228,6 +231,15 @@ exports.StyledGroupBody = styled_components_1.default.div(templateObject_23 || (
228
231
  }, function (_a) {
229
232
  var $hover = _a.$hover;
230
233
  return $hover;
234
+ }, function (_a) {
235
+ var $moreBorder = _a.$moreBorder;
236
+ return $moreBorder;
237
+ }, function (_a) {
238
+ var $hover = _a.$hover;
239
+ return $hover;
240
+ }, function (_a) {
241
+ var $focus = _a.$focus;
242
+ return $focus;
231
243
  }, function (_a) {
232
244
  var $focus = _a.$focus;
233
245
  return "".concat($focus, "1f");
@@ -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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"}
@@ -20,6 +20,14 @@ export interface ICompactToolbarOptionalField {
20
20
  */
21
21
  export interface ICompactToolbarContext {
22
22
  readOnly?: boolean;
23
+ /** Which parts to render, already resolved from the engine's `compactToolbar`
24
+ * prop — every key present, no undefined to re-default here. */
25
+ parts: {
26
+ completion: boolean;
27
+ search: boolean;
28
+ fields: boolean;
29
+ help: boolean;
30
+ };
23
31
  invalidCount: number;
24
32
  attentionCount: number;
25
33
  completion: {
@@ -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,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
+ {"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;IACnB;qEACiE;IACjE,KAAK,EAAE;QACL,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;IAEF,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;AAyDxC,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;AAiExC,QAAA,qBAAqB,GAAG,IAAA,oCAAa,EAChD,EAA4B,CAC7B,CAAC"}
@@ -5,6 +5,23 @@ import { IQorusFormField, IQorusFormSchema, TQorusFormFieldSchema } from '@qoret
5
5
  */
6
6
  /** A value is "empty" (nothing set) when it is nullish, an empty string, or an empty array. */
7
7
  export declare const isOptionValueEmpty: (value: unknown) => boolean;
8
+ /**
9
+ * A schema-declared hash whose every entry is a materialised-but-unset field.
10
+ *
11
+ * `preselected` on a sub-field means "show this in the form so the author sees
12
+ * it exists" — a FORM instruction. Opening the sub-form materialises each one,
13
+ * `fixOptions` writes `{type: 'int'}` with no value, and the draft autosaves
14
+ * that, so the stored hash permanently carries keys that stand for nothing.
15
+ *
16
+ * The row then read those keys as content: `Runtime Defaults` listed three
17
+ * sub-fields with no values, counted toward "7/12 set", and showed a green
18
+ * set-dot — while the sub-form it summarises correctly said 0/3 set. Nothing
19
+ * was ever entered.
20
+ *
21
+ * Requires the sub-schema, and requires each key to be declared by it: without
22
+ * that, `{type: 'x'}` could be somebody's data rather than an empty envelope.
23
+ */
24
+ export declare const isUnsetSchemaHash: (value: unknown, schema?: TQorusFormFieldSchema) => boolean;
8
25
  export declare const isFixedCompactAllowedValueOption: (schema: TQorusFormFieldSchema | undefined) => boolean;
9
26
  export declare const shouldAutoCollapseCompactAllowedValueOption: (schema: TQorusFormFieldSchema | undefined, value: unknown) => boolean;
10
27
  /** Boolean fields have three meaningful states: unset, Yes, and No. Once the
@@ -16,6 +33,13 @@ export declare const shouldAutoCollapseCompactOption: (schema: TQorusFormFieldSc
16
33
  * Prefer the matching allowed_values entry's display_name (fallback `name`)
17
34
  * over the raw stored value.
18
35
  *
36
+ * A LIST carries its options under `element_allowed_values` — they constrain
37
+ * each element, not the list itself — so a multi-select that was missing here
38
+ * printed what it stores rather than what you picked: `orders, batch` for
39
+ * fields whose picker reads "Orders, Batch". The gap shows worst exactly where
40
+ * allowed values earn their keep, since the stored form is often not readable
41
+ * at all (a permission code, `PO_REQUIRE_TYPES`, an app-specific id).
42
+ *
19
43
  * Exported (as `findAllowedValueOption`) because the form engine's value
20
44
  * validation has to answer the SAME question — "is this stored value one of the
21
45
  * declared choices?" — and answering it differently loses data. An
@@ -1 +1 @@
1
- {"version":3,"file":"readFirst.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/readFirst.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readFirst.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/readFirst.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EAEtB,MAAM,8BAA8B,CAAC;AA4ItC;;;GAGG;AAEH,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,OAIN,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,UAAW,OAAO,WAAW,qBAAqB,KAAG,OAqBlF,CAAC;AAEF,eAAO,MAAM,gCAAgC,WACnC,qBAAqB,GAAG,SAAS,KACxC,OAiBF,CAAC;AAEF,eAAO,MAAM,2CAA2C,WAC9C,qBAAqB,GAAG,SAAS,SAClC,OAAO,KACb,OAAiF,CAAC;AAErF;;sEAEsE;AACtE,eAAO,MAAM,sBAAsB,WAAY,qBAAqB,GAAG,SAAS,KAAG,OAGlF,CAAC;AAEF,eAAO,MAAM,+BAA+B,WAClC,qBAAqB,GAAG,SAAS,SAClC,OAAO,KACb,OAE2E,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,sBAAsB,UAC1B,OAAO,WACL,qBAAqB,KAC7B,GAAG,GAAG,SA0BR,CAAC;AAaF;+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;AA2CF;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;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,YACd,eAAe,WACf,qBAAqB,KAC7B,MAAM,GAAG,SASX,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAY3C,CAAC;AAoBF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAgBtC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,MAiClD,CAAC;AAEF,eAAO,MAAM,iBAAiB,YACnB,eAAe,WACf,qBAAqB,KAC7B,MAsGF,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,EAwErB,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,WAAY,gBAAgB,KAAG,WAAW,GAAG,KAAK,GAAG,UAGrE,CAAC;AAEhB,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,kBACnB,OAAO,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,KACxD,oBAOF,CAAC;AAEF;;;mBAGmB;AACnB,MAAM,WAAW,wBAAwB;IACvC;+EAC2E;IAC3E,SAAS,EAAE,OAAO,CAAC;IACnB;;;;4DAIwD;IACxD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,iBACxB,MAAM,EAAE,gBACR,CAAC,IAAI,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,KACnE,MAAM,GAAG,SASX,CAAC;AAiBF,6EAA6E;AAC7E,eAAO,MAAM,KAAK,UAAW,OAAO,KAAG,OAC4D,CAAC;AAEpG;;;;GAIG;AACH,eAAO,MAAM,WAAW,WACd,OAAO,MAAM,EAAE,OAAO,CAAC,UACvB,gBAAgB,KACvB,MAAM,EAIR,CAAC;AAEF;kFACkF;AAClF,eAAO,MAAM,WAAW,gBAAiB,qBAAqB,GAAG,SAAS,KAAG,OAG5E,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,WACd,OAAO,MAAM,EAAE,OAAO,CAAC,UACvB,gBAAgB,KACvB,MAAM,GAAG,SAQR,CAAC;AAEL,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,WACjB,OAAO,MAAM,EAAE,OAAO,CAAC,UACvB,gBAAgB,GAAG,SAAS,KACnC,eAAe,GAAG,SAuBpB,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,MAAM,eAAe,qBAAqB,GAAG,SAAS,KAAG,MACZ,CAAC"}
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.fieldLabel = exports.recordIdentity = exports.titleKeyFor = exports.isCodeField = exports.orderedKeys = exports.isSet = exports.getFirstAttentionOptionName = exports.getReadFirstCompletion = exports.getReadFirstBucket = exports.getReadFirstStatus = exports.getOptionGroupLabel = exports.getOptionGroup = exports.getHashEntries = exports.formatOptionValue = exports.summariseMarkdown = exports.SUMMARY_MAX_LENGTH = exports.formatBytes = exports.getValueType = exports.getFileSize = exports.formatFileValue = exports.colorToCss = exports.formatColorValue = exports.getAllowedValueImage = exports.optionHasImages = exports.findAllowedValueOption = exports.shouldAutoCollapseCompactOption = exports.isCompactBooleanOption = exports.shouldAutoCollapseCompactAllowedValueOption = exports.isFixedCompactAllowedValueOption = exports.isOptionValueEmpty = void 0;
15
+ exports.fieldLabel = exports.recordIdentity = exports.titleKeyFor = exports.isCodeField = exports.orderedKeys = exports.isSet = exports.getFirstAttentionOptionName = exports.getReadFirstCompletion = exports.getReadFirstBucket = exports.getReadFirstStatus = exports.getOptionGroupLabel = exports.getOptionGroup = exports.getHashEntries = exports.formatOptionValue = exports.summariseMarkdown = exports.SUMMARY_MAX_LENGTH = exports.formatBytes = exports.getValueType = exports.getFileSize = exports.formatFileValue = exports.colorToCss = exports.formatColorValue = exports.getAllowedValueImage = exports.optionHasImages = exports.findAllowedValueOption = exports.shouldAutoCollapseCompactOption = exports.isCompactBooleanOption = exports.shouldAutoCollapseCompactAllowedValueOption = exports.isFixedCompactAllowedValueOption = exports.isUnsetSchemaHash = exports.isOptionValueEmpty = void 0;
16
16
  var rendererTypes_1 = require("./rendererTypes");
17
17
  var structuredData_1 = require("./_structuredData/structuredData");
18
18
  var renderExpressionToText_1 = require("../expressions/renderExpressionToText");
@@ -156,6 +156,41 @@ var isOptionValueEmpty = function (value) {
156
156
  (Array.isArray(value) && value.length === 0);
157
157
  };
158
158
  exports.isOptionValueEmpty = isOptionValueEmpty;
159
+ /**
160
+ * A schema-declared hash whose every entry is a materialised-but-unset field.
161
+ *
162
+ * `preselected` on a sub-field means "show this in the form so the author sees
163
+ * it exists" — a FORM instruction. Opening the sub-form materialises each one,
164
+ * `fixOptions` writes `{type: 'int'}` with no value, and the draft autosaves
165
+ * that, so the stored hash permanently carries keys that stand for nothing.
166
+ *
167
+ * The row then read those keys as content: `Runtime Defaults` listed three
168
+ * sub-fields with no values, counted toward "7/12 set", and showed a green
169
+ * set-dot — while the sub-form it summarises correctly said 0/3 set. Nothing
170
+ * was ever entered.
171
+ *
172
+ * Requires the sub-schema, and requires each key to be declared by it: without
173
+ * that, `{type: 'x'}` could be somebody's data rather than an empty envelope.
174
+ */
175
+ var isUnsetSchemaHash = function (value, schema) {
176
+ var argSchema = schema === null || schema === void 0 ? void 0 : schema.arg_schema;
177
+ if (!argSchema || typeof argSchema !== 'object') {
178
+ return false;
179
+ }
180
+ var inner = value && typeof value === 'object' && !Array.isArray(value) && 'value' in value ?
181
+ value.value
182
+ : value;
183
+ if (!inner || typeof inner !== 'object' || Array.isArray(inner)) {
184
+ return false;
185
+ }
186
+ var keys = Object.keys(inner);
187
+ return (keys.length > 0 &&
188
+ keys.every(function (key) {
189
+ return !!argSchema[key] &&
190
+ (0, structuredData_1.isEmptyUiEnvelope)(inner[key]);
191
+ }));
192
+ };
193
+ exports.isUnsetSchemaHash = isUnsetSchemaHash;
159
194
  var isFixedCompactAllowedValueOption = function (schema) {
160
195
  var _a;
161
196
  if (!schema) {
@@ -191,6 +226,13 @@ exports.shouldAutoCollapseCompactOption = shouldAutoCollapseCompactOption;
191
226
  * Prefer the matching allowed_values entry's display_name (fallback `name`)
192
227
  * over the raw stored value.
193
228
  *
229
+ * A LIST carries its options under `element_allowed_values` — they constrain
230
+ * each element, not the list itself — so a multi-select that was missing here
231
+ * printed what it stores rather than what you picked: `orders, batch` for
232
+ * fields whose picker reads "Orders, Batch". The gap shows worst exactly where
233
+ * allowed values earn their keep, since the stored form is often not readable
234
+ * at all (a permission code, `PO_REQUIRE_TYPES`, an app-specific id).
235
+ *
194
236
  * Exported (as `findAllowedValueOption`) because the form engine's value
195
237
  * validation has to answer the SAME question — "is this stored value one of the
196
238
  * declared choices?" — and answering it differently loses data. An
@@ -203,13 +245,28 @@ exports.shouldAutoCollapseCompactOption = shouldAutoCollapseCompactOption;
203
245
  * opened, and the value was gone from the submitted data.
204
246
  */
205
247
  var findAllowedValueOption = function (value, schema) {
206
- var _a;
248
+ var _a, _b;
207
249
  var s = schema;
208
- var options = ((_a = s === null || s === void 0 ? void 0 : s.allowed_values) === null || _a === void 0 ? void 0 : _a.length) ? s.allowed_values : s === null || s === void 0 ? void 0 : s.items;
250
+ var options = (((_a = s === null || s === void 0 ? void 0 : s.allowed_values) === null || _a === void 0 ? void 0 : _a.length) && s.allowed_values) ||
251
+ (((_b = s === null || s === void 0 ? void 0 : s.element_allowed_values) === null || _b === void 0 ? void 0 : _b.length) && s.element_allowed_values) ||
252
+ (s === null || s === void 0 ? void 0 : s.items);
209
253
  if (!(options === null || options === void 0 ? void 0 : options.length)) {
210
254
  return undefined;
211
255
  }
212
- return options.find(function (option) { var _a; return ((_a = option === null || option === void 0 ? void 0 : option.value) === null || _a === void 0 ? void 0 : _a.value) === value || (option === null || option === void 0 ? void 0 : option.value) === value || (option === null || option === void 0 ? void 0 : option.name) === value; });
256
+ // A stored element can be the bare value or the typed `{type, value}`
257
+ // envelope the form engine round-trips; match either against either.
258
+ var stored = value && typeof value === 'object' && 'value' in value ?
259
+ value.value
260
+ : value;
261
+ return options.find(function (option) {
262
+ var _a, _b;
263
+ return ((_a = option === null || option === void 0 ? void 0 : option.value) === null || _a === void 0 ? void 0 : _a.value) === value ||
264
+ (option === null || option === void 0 ? void 0 : option.value) === value ||
265
+ (option === null || option === void 0 ? void 0 : option.name) === value ||
266
+ ((_b = option === null || option === void 0 ? void 0 : option.value) === null || _b === void 0 ? void 0 : _b.value) === stored ||
267
+ (option === null || option === void 0 ? void 0 : option.value) === stored ||
268
+ (option === null || option === void 0 ? void 0 : option.name) === stored;
269
+ });
213
270
  };
214
271
  exports.findAllowedValueOption = findAllowedValueOption;
215
272
  var getAllowedValueLabel = function (value, schema) {
@@ -451,7 +508,7 @@ exports.summariseMarkdown = summariseMarkdown;
451
508
  var formatOptionValue = function (option, schema) {
452
509
  var _a, _b;
453
510
  var value = option === null || option === void 0 ? void 0 : option.value;
454
- if ((0, exports.isOptionValueEmpty)(value)) {
511
+ if ((0, exports.isOptionValueEmpty)(value) || (0, exports.isUnsetSchemaHash)(value, schema)) {
455
512
  return '';
456
513
  }
457
514
  // A sensitive option (passwords, tokens) must never print its value in the
@@ -560,7 +617,16 @@ var getHashEntries = function (option, schema) {
560
617
  return [];
561
618
  }
562
619
  var argSchema = schema === null || schema === void 0 ? void 0 : schema.arg_schema;
563
- return Object.keys(hashObject).map(function (key) {
620
+ return Object.keys(hashObject)
621
+ .filter(function (key) {
622
+ // Only sub-fields with a value belong in a read view. `preselected`
623
+ // materialises a field so the FORM shows it; that is not a statement
624
+ // that the object has one, and listing it here says the opposite of
625
+ // what the sub-form says.
626
+ var subSchema = argSchema === null || argSchema === void 0 ? void 0 : argSchema[key];
627
+ return !(subSchema && (0, structuredData_1.isEmptyUiEnvelope)(hashObject[key]));
628
+ })
629
+ .map(function (key) {
564
630
  var raw = hashObject[key];
565
631
  var subSchema = argSchema === null || argSchema === void 0 ? void 0 : argSchema[key];
566
632
  // A schema-declared (`arg_schema`) hash stores each entry as a
@@ -570,11 +636,23 @@ var getHashEntries = function (option, schema) {
570
636
  // whose entries are `{ type: 'string', value: 'x' }`) — recognise those by
571
637
  // their strict shape (a string `type`, a `value`, and no foreign keys) so
572
638
  // the sub-row shows 'x' rather than counting the envelope's own keys.
639
+ // `'value' in raw` is FALSE for a materialised-but-unset field: `fixOptions`
640
+ // omits the key entirely when the value is undefined, leaving `{type: 'x'}`.
641
+ // Requiring `value` therefore classed that envelope as a raw hash VALUE and
642
+ // counted its own `type` key, so an untouched Runtime Defaults collapsed to
643
+ // "Timeout (Seconds) 1 field" three times over while the sub-form correctly
644
+ // said 0/3 set. With a sub-schema present, a `type`-only object is an empty
645
+ // envelope, never content.
646
+ // Shared with SchemaDataView, which previews this same value one level
647
+ // down: two renderers disagreeing about what an unset field looks like is
648
+ // how the row said "1 field" long after this one stopped.
649
+ var isEmptyEnvelope = !!subSchema && (0, structuredData_1.isEmptyUiEnvelope)(raw);
573
650
  var isFieldShape = (!!subSchema &&
574
651
  !!raw &&
575
652
  typeof raw === 'object' &&
576
653
  !Array.isArray(raw) &&
577
654
  'value' in raw) ||
655
+ isEmptyEnvelope ||
578
656
  isTypedEnvelope(raw);
579
657
  var subOption = isFieldShape ?
580
658
  raw