@qoretechnologies/reqraft 0.10.65 → 0.10.66-pr.145.g26dce00
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +130 -25
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +78 -15
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +48 -1
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +260 -99
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.d.ts +18 -2
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +22 -3
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +27 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +5 -0
- package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowContext.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts +12 -0
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +72 -39
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarContext.d.ts +3 -0
- package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
- package/dist/components/form/engine/formAppearance.d.ts +48 -0
- package/dist/components/form/engine/formAppearance.d.ts.map +1 -0
- package/dist/components/form/engine/formAppearance.js +50 -0
- package/dist/components/form/engine/formAppearance.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +14 -2
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +6 -2
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/rowFocus.d.ts +9 -1
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +17 -5
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.js +21 -0
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/fields/ChoiceGroupHeading.d.ts +21 -0
- package/dist/components/form/fields/ChoiceGroupHeading.d.ts.map +1 -0
- package/dist/components/form/fields/ChoiceGroupHeading.js +33 -0
- package/dist/components/form/fields/ChoiceGroupHeading.js.map +1 -0
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +13 -11
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +20 -7
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/allowed-values/savedValues.d.ts +30 -0
- package/dist/components/form/fields/allowed-values/savedValues.d.ts.map +1 -0
- package/dist/components/form/fields/allowed-values/savedValues.js +39 -0
- package/dist/components/form/fields/allowed-values/savedValues.js.map +1 -0
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +18 -8
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts +7 -1
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +9 -5
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +6 -5
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +4 -1
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +13 -5
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/form/fields/radio-group/RadioGroup.js +13 -7
- package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +86 -53
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +2 -0
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +2 -0
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +3 -2
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -1
- package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +2 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +19 -13
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +4 -1
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketReplyBox.js +29 -10
- package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
- package/dist/components/supportTicket/useLoadedImages.d.ts +10 -0
- package/dist/components/supportTicket/useLoadedImages.d.ts.map +1 -1
- package/dist/components/supportTicket/useLoadedImages.js +63 -1
- package/dist/components/supportTicket/useLoadedImages.js.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +6 -2
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
- package/dist/components/ticketThread/TicketThread.js +10 -16
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/allowedValues.d.ts +12 -0
- package/dist/helpers/allowedValues.d.ts.map +1 -1
- package/dist/helpers/allowedValues.js +20 -1
- package/dist/helpers/allowedValues.js.map +1 -1
- package/dist/helpers/fieldDescription.d.ts +16 -0
- package/dist/helpers/fieldDescription.d.ts.map +1 -0
- package/dist/helpers/fieldDescription.js +40 -0
- package/dist/helpers/fieldDescription.js.map +1 -0
- package/dist/helpers/singleLineString.d.ts.map +1 -1
- package/dist/helpers/singleLineString.js +1 -0
- package/dist/helpers/singleLineString.js.map +1 -1
- package/package.json +1 -1
- package/src/components/form/engine/CompactRow.tsx +143 -23
- package/src/components/form/engine/CompactToolbar.tsx +85 -16
- package/src/components/form/engine/FormEngine.stories.tsx +25 -13
- package/src/components/form/engine/FormEngine.tsx +367 -81
- package/src/components/form/engine/FormEngineAppearance.stories.tsx +540 -0
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +5 -1
- package/src/components/form/engine/OptionFieldMessages.tsx +73 -2
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +17 -4
- package/src/components/form/engine/compactRowContext.ts +5 -0
- package/src/components/form/engine/compactRowStyles.ts +218 -38
- package/src/components/form/engine/compactToolbarContext.ts +3 -0
- package/src/components/form/engine/formAppearance.ts +78 -0
- package/src/components/form/engine/readFirst.ts +16 -3
- package/src/components/form/engine/rowFocus.ts +17 -6
- package/src/components/form/expressions/renderExpressionToText.ts +15 -0
- package/src/components/form/fields/ChoiceGroupHeading.tsx +38 -0
- package/src/components/form/fields/Field.tsx +11 -9
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +21 -9
- package/src/components/form/fields/allowed-values/savedValues.ts +64 -0
- package/src/components/form/fields/auto/AutoFormField.tsx +17 -4
- package/src/components/form/fields/long-string/LongString.stories.tsx +27 -0
- package/src/components/form/fields/long-string/LongString.tsx +14 -3
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +5 -4
- package/src/components/form/fields/number/Number.tsx +19 -4
- package/src/components/form/fields/radio-group/RadioGroup.tsx +13 -7
- package/src/components/form/fields/template/TemplateField.tsx +49 -17
- package/src/components/form/index.tsx +2 -0
- package/src/components/imageLightbox/ImageLightbox.tsx +2 -0
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +3 -2
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -4
- package/src/components/supportTicket/ReferencePicker.tsx +22 -12
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -1
- package/src/components/supportTicket/TicketHeader.tsx +2 -1
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +24 -21
- package/src/components/supportTicket/TicketReplyBox.tsx +27 -5
- package/src/components/supportTicket/useLoadedImages.ts +20 -0
- package/src/components/ticketReferences/TicketReferences.stories.tsx +26 -0
- package/src/components/ticketReferences/TicketReferences.tsx +12 -4
- package/src/components/ticketThread/TicketThread.stories.tsx +71 -2
- package/src/components/ticketThread/TicketThread.tsx +15 -28
- package/src/helpers/allowedValues.ts +19 -0
- package/src/helpers/fieldDescription.ts +39 -0
- package/src/helpers/singleLineString.ts +1 -0
|
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
27
27
|
return result;
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.StyledAbsorbedLabel = exports.StyledAbsorbedField = exports.StyledGroupBody = exports.StyledColorSwatch = exports.StyledCodePreview = exports.MONO_FONT_STACK = exports.StyledRowInset = exports.StyledColumn = exports.StyledActionSlot = exports.StyledStatusDot = exports.StyledRowActions = exports.StyledRowValue = exports.StyledCardLabel = exports.StyledCardHeading = exports.StyledLabelDesc = exports.StyledRowLabel = exports.StyledLabelBlock = exports.StyledEditCard = exports.StyledClusterNode = exports.StyledStatusBoxGroupLabel = exports.StyledRequiredClusterHeader = exports.StyledRequiredClusterBox = exports.StyledStatusBox = exports.StyledGroupHeaderLine = exports.StyledGroupHeader = exports.StyledCompactPanel = exports.PANEL_LEFT_CSS = exports.LABEL_COL = exports.LABEL_COL_VAR = exports.LABEL_AFFORDANCE_WIDTH = exports.LABEL_COL_MAX = exports.LABEL_COL_MIN = exports.GROUP_INDENT = exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT = exports.COMPACT_ROW_GAP = exports.COMPACT_ROW_PAD_X = exports.COMPACT_LABEL_COL = exports.HEADER_GAP = void 0;
|
|
30
|
+
exports.StyledAbsorbedLabel = exports.StyledAbsorbedField = exports.StyledGroupBody = exports.StyledColorSwatch = exports.StyledCodePreview = exports.MONO_FONT_STACK = exports.StyledRowInset = exports.StyledColumn = exports.StyledActionSlot = exports.StyledStatusDot = exports.StyledRowActions = exports.StyledRowValue = exports.StyledCardLabel = exports.StyledCardHeading = exports.StyledLabelDesc = exports.StyledRowLabel = exports.StyledLabelBlock = exports.StyledEditCard = exports.StyledClusterNode = exports.StyledStatusBoxGroupLabel = exports.StyledRequiredClusterHeader = exports.StyledRequiredClusterBox = exports.StyledStatusBox = exports.StyledGroupHeaderLine = exports.StyledGroupHeader = exports.StyledCompactPanel = exports.PANEL_LEFT_CSS = exports.LABEL_COL = exports.LABEL_COL_VAR = exports.LABEL_AFFORDANCE_WIDTH = exports.LABEL_COL_MAX = exports.LABEL_COL_MIN = exports.CALM_SECTION_HEADER_INSET = exports.CALM_SECTION_INSET = exports.GROUP_INDENT = exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT = exports.COMPACT_ROW_GAP = exports.COMPACT_ROW_PAD_X = exports.COMPACT_LABEL_COL = exports.HEADER_GAP = void 0;
|
|
31
31
|
var reqore_1 = require("@qoretechnologies/reqore");
|
|
32
32
|
var sizes_1 = require("@qoretechnologies/reqore/dist/constants/sizes");
|
|
33
33
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
@@ -50,6 +50,18 @@ exports.COMPACT_PANEL_LEFT = exports.COMPACT_VALUE_LEFT - 10;
|
|
|
50
50
|
// own horizontal padding so the labels line up flush with the field labels below
|
|
51
51
|
// them (no extra gutter — the spine/rail that used a fluid indent are gone).
|
|
52
52
|
exports.GROUP_INDENT = "".concat(exports.COMPACT_ROW_PAD_X, "px");
|
|
53
|
+
/**
|
|
54
|
+
* Calm appearance: the inset of everything inside a section — rows, group
|
|
55
|
+
* headings, the one-of sentence, and the section's own header label, so all of
|
|
56
|
+
* them start on one left edge.
|
|
57
|
+
*/
|
|
58
|
+
exports.CALM_SECTION_INSET = 16;
|
|
59
|
+
/**
|
|
60
|
+
* The extra inset a calm section header's label needs to land on that edge:
|
|
61
|
+
* Reqore pads a `normal` panel's title bar by `PADDING_FROM_SIZE.normal`, and
|
|
62
|
+
* the label makes up the rest itself.
|
|
63
|
+
*/
|
|
64
|
+
exports.CALM_SECTION_HEADER_INSET = exports.CALM_SECTION_INSET - sizes_1.PADDING_FROM_SIZE.normal;
|
|
53
65
|
// Measured label column (GLOBAL). The label column sizes to the WIDEST field
|
|
54
66
|
// label across the whole form, clamped to [MIN, MAX]. FormEngine measures the
|
|
55
67
|
// labels once and writes the result to `LABEL_COL_VAR` on the compact scroll
|
|
@@ -102,7 +114,13 @@ exports.StyledCompactPanel = (0, styled_components_1.default)(reqore_1.ReqorePan
|
|
|
102
114
|
});
|
|
103
115
|
// Compact group header laid out as the panel's `label`: the group name, a
|
|
104
116
|
// hairline that fades toward the status chip, and the chip pinned at the end.
|
|
105
|
-
exports.StyledGroupHeader = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap:
|
|
117
|
+
exports.StyledGroupHeader = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n /* Calm: the label, its quiet count and (on Needs attention) the one amber\n dot read as a single phrase, so they sit closer than the default's\n label-and-chip pair. */\n gap: ", "px;\n /* \u2026and starts on the rows' left edge. */\n padding-left: ", "px;\n flex: 1;\n min-width: 0;\n"], ["\n display: flex;\n align-items: center;\n /* Calm: the label, its quiet count and (on Needs attention) the one amber\n dot read as a single phrase, so they sit closer than the default's\n label-and-chip pair. */\n gap: ", "px;\n /* \u2026and starts on the rows' left edge. */\n padding-left: ", "px;\n flex: 1;\n min-width: 0;\n"])), function (_a) {
|
|
118
|
+
var $calm = _a.$calm;
|
|
119
|
+
return ($calm ? 8 : 12);
|
|
120
|
+
}, function (_a) {
|
|
121
|
+
var $calm = _a.$calm;
|
|
122
|
+
return ($calm ? exports.CALM_SECTION_HEADER_INSET : 0);
|
|
123
|
+
});
|
|
106
124
|
exports.StyledGroupHeaderLine = styled_components_1.default.span(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n flex: 1;\n height: 2px;\n min-width: 16px;\n background: linear-gradient(to right, ", ", transparent);\n"], ["\n flex: 1;\n height: 2px;\n min-width: 16px;\n background: linear-gradient(to right, ", ", transparent);\n"])), function (_a) {
|
|
107
125
|
var $color = _a.$color;
|
|
108
126
|
return $color;
|
|
@@ -111,42 +129,54 @@ exports.StyledGroupHeaderLine = styled_components_1.default.span(templateObject_
|
|
|
111
129
|
// a barely-there accent border + a ~5%-opacity tint, NOT the loud intent border a
|
|
112
130
|
// stock ReqorePanel draws. `$accent` is the box's theme colour (warning/success/
|
|
113
131
|
// muted).
|
|
114
|
-
exports.StyledStatusBox = (0, styled_components_1.default)(reqore_1.ReqorePanel)(
|
|
115
|
-
var $accent = _a.$accent;
|
|
116
|
-
return "".concat($accent, "33");
|
|
132
|
+
exports.StyledStatusBox = (0, styled_components_1.default)(reqore_1.ReqorePanel)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n ", "\n\n /* A PINNED header needs a surface of its own.\n \n The box's tint lives on the wrapper, behind the header, and a `minimal`\n panel header is transparent \u2014 which is right while the header sits in the\n flow over its own box, and wrong the moment it pins, because the rows then\n scroll THROUGH it. Reqore's backdrop blur softens them but a 12% tint over\n moving text still reads as two overlaid labels.\n \n So repaint the pinned header as the box looks at rest: an opaque layer of\n the page background with the box's own translucent tint composited on top,\n which is exactly what the eye sees where the box meets the page. The\n Optional box already carries an opaque `$bg`, so that is used as-is.\n \n Only when `$surface` is supplied \u2014 i.e. only on a form that pins at all \u2014\n so an unpinned box is pixel-identical to before.\n\n Calm boxes carry no tint, so the pinned header is just the panel surface\n the caller passes as `$surface`. */\n ", "\n"], ["\n ", "\n\n /* A PINNED header needs a surface of its own.\n \n The box's tint lives on the wrapper, behind the header, and a \\`minimal\\`\n panel header is transparent \u2014 which is right while the header sits in the\n flow over its own box, and wrong the moment it pins, because the rows then\n scroll THROUGH it. Reqore's backdrop blur softens them but a 12% tint over\n moving text still reads as two overlaid labels.\n \n So repaint the pinned header as the box looks at rest: an opaque layer of\n the page background with the box's own translucent tint composited on top,\n which is exactly what the eye sees where the box meets the page. The\n Optional box already carries an opaque \\`$bg\\`, so that is used as-is.\n \n Only when \\`$surface\\` is supplied \u2014 i.e. only on a form that pins at all \u2014\n so an unpinned box is pixel-identical to before.\n\n Calm boxes carry no tint, so the pinned header is just the panel surface\n the caller passes as \\`$surface\\`. */\n ", "\n"])), function (_a) {
|
|
133
|
+
var $calm = _a.$calm, $accent = _a.$accent, $bg = _a.$bg;
|
|
134
|
+
return $calm ? (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n &&& {\n border-radius: 10px;\n }\n "], ["\n &&& {\n border-radius: 10px;\n }\n "]))) : (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n &&& {\n border: 1px solid ", ";\n /* $bg lets the muted \"Optional\" box opt into a darker, recessed surface\n instead of the faint accent tint the coloured boxes use. */\n background: ", ";\n border-radius: 10px;\n }\n "], ["\n &&& {\n border: 1px solid ", ";\n /* $bg lets the muted \"Optional\" box opt into a darker, recessed surface\n instead of the faint accent tint the coloured boxes use. */\n background: ", ";\n border-radius: 10px;\n }\n "])), "".concat($accent, "33"), $bg || "".concat($accent, "1f"));
|
|
117
135
|
}, function (_a) {
|
|
118
|
-
var $accent = _a.$accent, $bg = _a.$bg;
|
|
119
|
-
return $bg || "".concat($accent, "1f");
|
|
120
|
-
}, function (_a) {
|
|
121
|
-
var $surface = _a.$surface, $accent = _a.$accent, $bg = _a.$bg;
|
|
122
|
-
return $surface ? (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n &&& > .reqore-panel-title {\n background-color: ", ";\n ", "\n }\n "], ["\n &&& > .reqore-panel-title {\n background-color: ", ";\n ", "\n }\n "])), $bg || $surface, $bg ? '' : "background-image: linear-gradient(".concat($accent, "1f, ").concat($accent, "1f);")) : '';
|
|
136
|
+
var $surface = _a.$surface, $accent = _a.$accent, $bg = _a.$bg, $calm = _a.$calm;
|
|
137
|
+
return $surface ? (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n &&& > .reqore-panel-title {\n background-color: ", ";\n ", "\n }\n "], ["\n &&& > .reqore-panel-title {\n background-color: ", ";\n ", "\n }\n "])), $bg || $surface, $bg || $calm ? '' : "background-image: linear-gradient(".concat($accent, "1f, ").concat($accent, "1f);")) : '';
|
|
123
138
|
});
|
|
124
139
|
// "One of the below is required" cluster box — wraps the members of an unmet
|
|
125
140
|
// one-of required group (in the Needs-attention box) so the constraint reads as
|
|
126
141
|
// one unit. The connection rail + status nodes still render inside (they convey
|
|
127
142
|
// which member satisfies the group); this box adds the explicit heading.
|
|
128
|
-
exports.StyledRequiredClusterBox = styled_components_1.default.div(
|
|
129
|
-
var $border = _a.$border;
|
|
130
|
-
return $
|
|
143
|
+
exports.StyledRequiredClusterBox = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n ", "\n /* The members render directly here (not via the gapped group body), so give\n them the same modest gap the rest of the rows have. Pin the divider-centring\n var to that gap (it doesn't widen in narrow like the group body's does). */\n display: flex;\n flex-flow: column;\n --readfirst-row-gap: ", "px;\n gap: ", "px;\n"], ["\n ", "\n /* The members render directly here (not via the gapped group body), so give\n them the same modest gap the rest of the rows have. Pin the divider-centring\n var to that gap (it doesn't widen in narrow like the group body's does). */\n display: flex;\n flex-flow: column;\n --readfirst-row-gap: ", "px;\n gap: ", "px;\n"])), function (_a) {
|
|
144
|
+
var $calm = _a.$calm, $border = _a.$border, $tint = _a.$tint;
|
|
145
|
+
return $calm ?
|
|
146
|
+
''
|
|
147
|
+
: (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n border: 1px solid ", ";\n border-radius: 8px;\n background: ", ";\n padding: 2px 6px 6px;\n margin: 4px 0;\n "], ["\n border: 1px solid ", ";\n border-radius: 8px;\n background: ", ";\n padding: 2px 6px 6px;\n margin: 4px 0;\n "])), $border, $tint);
|
|
148
|
+
}, function (_a) {
|
|
149
|
+
var $calm = _a.$calm;
|
|
150
|
+
return ($calm ? 0 : 4);
|
|
131
151
|
}, function (_a) {
|
|
132
|
-
var $
|
|
133
|
-
return $
|
|
152
|
+
var $calm = _a.$calm;
|
|
153
|
+
return ($calm ? 0 : 4);
|
|
134
154
|
});
|
|
135
|
-
exports.StyledRequiredClusterHeader = styled_components_1.default.div(
|
|
155
|
+
exports.StyledRequiredClusterHeader = styled_components_1.default.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 6px;\n color: ", ";\n font-weight: 600;\n /* Calm: an amber sentence over the rows it is about, at the rows' own text\n size and inset \u2014 the instruction, not an upper-case eyebrow. */\n ", "\n"], ["\n display: flex;\n align-items: center;\n gap: 6px;\n color: ", ";\n font-weight: 600;\n /* Calm: an amber sentence over the rows it is about, at the rows' own text\n size and inset \u2014 the instruction, not an upper-case eyebrow. */\n ", "\n"])), function (_a) {
|
|
136
156
|
var $color = _a.$color;
|
|
137
157
|
return $color;
|
|
158
|
+
}, function (_a) {
|
|
159
|
+
var $calm = _a.$calm;
|
|
160
|
+
return $calm ? (0, styled_components_1.css)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n padding: 12px ", "px 2px;\n font-size: 13px;\n "], ["\n padding: 12px ", "px 2px;\n font-size: 13px;\n "])), exports.CALM_SECTION_INSET) : (0, styled_components_1.css)(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n padding: 8px 0 4px ", ";\n font-size: 10px;\n letter-spacing: 1px;\n text-transform: uppercase;\n "], ["\n padding: 8px 0 4px ", ";\n font-size: 10px;\n letter-spacing: 1px;\n text-transform: uppercase;\n "])), exports.GROUP_INDENT);
|
|
138
161
|
});
|
|
139
162
|
// Thin schema-group sub-label inside a status box (CONNECTION / AUTHENTICATION /
|
|
140
163
|
// …). Quiet by design — the box header is the loud heading; this just keeps each
|
|
141
164
|
// field's group context as you scan. Indented to the rows' content line.
|
|
142
|
-
|
|
165
|
+
//
|
|
166
|
+
// Calm: the group's name as written (no upper-casing), at the rows' text size in
|
|
167
|
+
// the primary text colour — the field labels below it are grey, so the heading
|
|
168
|
+
// is told apart by colour and the space above it, not by shouting.
|
|
169
|
+
exports.StyledStatusBoxGroupLabel = styled_components_1.default.div(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
|
|
170
|
+
var $calm = _a.$calm, $color = _a.$color;
|
|
171
|
+
return $calm ? (0, styled_components_1.css)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n font-size: 13px;\n font-weight: 600;\n color: ", ";\n padding: 14px ", "px 2px;\n "], ["\n font-size: 13px;\n font-weight: 600;\n color: ", ";\n padding: 14px ", "px 2px;\n "])), $color || 'inherit', exports.CALM_SECTION_INSET) : (0, styled_components_1.css)(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 1px;\n text-transform: uppercase;\n opacity: 0.5;\n padding: 8px 0 2px ", ";\n "], ["\n font-size: 10px;\n font-weight: 500;\n letter-spacing: 1px;\n text-transform: uppercase;\n opacity: 0.5;\n padding: 8px 0 2px ", ";\n "])), exports.GROUP_INDENT);
|
|
172
|
+
});
|
|
143
173
|
// Required-group "connection" rail: contiguous members are linked by a continuous
|
|
144
174
|
// vertical rail (StyledGroupBody draws it; the line bridges the row gaps and is
|
|
145
175
|
// trimmed to the first/last node). Each member carries a status node — absolutely
|
|
146
176
|
// positioned in the EXISTING left gutter, so labels keep their place — tied to the
|
|
147
177
|
// label by a short stub. Theme-derived: the node's hollow centre is painted the
|
|
148
178
|
// form background so it MASKS the rail behind it; filled when the member is set.
|
|
149
|
-
exports.StyledClusterNode = styled_components_1.default.span(
|
|
179
|
+
exports.StyledClusterNode = styled_components_1.default.span(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n position: absolute;\n left: -14px;\n top: 13px;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ", ";\n background: ", ";\n box-shadow: 0 0 5px ", ";\n z-index: 1;\n pointer-events: none;\n /* short stub toward the label \u2014 stops a few px short so it doesn't touch it */\n &::after {\n content: '';\n position: absolute;\n left: 100%;\n top: 50%;\n width: 6px;\n height: 2px;\n transform: translateY(-1px);\n background: ", ";\n }\n"], ["\n position: absolute;\n left: -14px;\n top: 13px;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n border-radius: 50%;\n border: 2px solid ", ";\n background: ", ";\n box-shadow: 0 0 5px ", ";\n z-index: 1;\n pointer-events: none;\n /* short stub toward the label \u2014 stops a few px short so it doesn't touch it */\n &::after {\n content: '';\n position: absolute;\n left: 100%;\n top: 50%;\n width: 6px;\n height: 2px;\n transform: translateY(-1px);\n background: ", ";\n }\n"])), function (_a) {
|
|
150
180
|
var $color = _a.$color;
|
|
151
181
|
return $color;
|
|
152
182
|
}, function (_a) {
|
|
@@ -159,16 +189,16 @@ exports.StyledClusterNode = styled_components_1.default.span(templateObject_11 |
|
|
|
159
189
|
var $color = _a.$color;
|
|
160
190
|
return $color;
|
|
161
191
|
});
|
|
162
|
-
exports.StyledEditCard = styled_components_1.default.div(
|
|
192
|
+
exports.StyledEditCard = styled_components_1.default.div(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 8px;\n background: ", ";\n /* Calm: an open field is a row of its section, set apart by the section's own\n hairlines and the active-row tint \u2014 not a second card drawn inside the\n first. */\n ", "\n\n /* Single-value editors (operators, long-string, markdown, richtext, byte-size)\n carry the card's own \"Clear value\" action, so suppress the value input's\n built-in ReqoreInput clear \u2014 ReqoreInput has no prop to hide it, and a\n separate input \u2715 plus the row-level trash action\n read as a duplicate. Multi-input cards (hash/list/\u2026) are not marked single,\n so their per-sub-field clears stay. */\n &.options-readfirst-card-single .reqore-clear-input-button {\n display: none;\n }\n"], ["\n display: flex;\n flex-flow: column;\n gap: 8px;\n background: ", ";\n /* Calm: an open field is a row of its section, set apart by the section's own\n hairlines and the active-row tint \u2014 not a second card drawn inside the\n first. */\n ", "\n\n /* Single-value editors (operators, long-string, markdown, richtext, byte-size)\n carry the card's own \"Clear value\" action, so suppress the value input's\n built-in ReqoreInput clear \u2014 ReqoreInput has no prop to hide it, and a\n separate input \u2715 plus the row-level trash action\n read as a duplicate. Multi-input cards (hash/list/\u2026) are not marked single,\n so their per-sub-field clears stay. */\n &.options-readfirst-card-single .reqore-clear-input-button {\n display: none;\n }\n"])), function (_a) {
|
|
163
193
|
var $bg = _a.$bg;
|
|
164
194
|
return $bg;
|
|
165
195
|
}, function (_a) {
|
|
166
|
-
var $border = _a.$border;
|
|
167
|
-
return $border;
|
|
196
|
+
var $calm = _a.$calm, $border = _a.$border;
|
|
197
|
+
return $calm ? (0, styled_components_1.css)(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n padding: 12px ", "px;\n "], ["\n padding: 12px ", "px;\n "])), exports.CALM_SECTION_INSET) : (0, styled_components_1.css)(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n padding: 12px;\n border: 1px solid ", ";\n border-radius: 8px;\n "], ["\n padding: 12px;\n border: 1px solid ", ";\n border-radius: 8px;\n "])), $border);
|
|
168
198
|
});
|
|
169
199
|
// Recurring micro-layouts of the read-first rows and their popovers.
|
|
170
|
-
exports.StyledLabelBlock = styled_components_1.default.div(
|
|
171
|
-
exports.StyledRowLabel = styled_components_1.default.div(
|
|
200
|
+
exports.StyledLabelBlock = styled_components_1.default.div(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 2px;\n min-width: 0;\n"], ["\n display: flex;\n flex-flow: column;\n gap: 2px;\n min-width: 0;\n"])));
|
|
201
|
+
exports.StyledRowLabel = styled_components_1.default.div(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 3px;\n color: ", ";\n font-weight: 600;\n font-size: 13px;\n min-width: 0;\n white-space: normal;\n overflow-wrap: anywhere;\n cursor: ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: 3px;\n color: ", ";\n font-weight: 600;\n font-size: 13px;\n min-width: 0;\n white-space: normal;\n overflow-wrap: anywhere;\n cursor: ", ";\n"])), function (_a) {
|
|
172
202
|
var $color = _a.$color;
|
|
173
203
|
return $color;
|
|
174
204
|
}, function (_a) {
|
|
@@ -179,17 +209,17 @@ exports.StyledRowLabel = styled_components_1.default.div(templateObject_14 || (t
|
|
|
179
209
|
// revealed by the row's ⓘ. Reuses ReqoreP for the muted-note styling (size +
|
|
180
210
|
// effect opacity); the only custom bit is the line-clamp that keeps it from
|
|
181
211
|
// pushing the row wide.
|
|
182
|
-
exports.StyledLabelDesc = (0, styled_components_1.default)(reqore_1.ReqoreP)(
|
|
183
|
-
exports.StyledCardHeading = styled_components_1.default.div(
|
|
212
|
+
exports.StyledLabelDesc = (0, styled_components_1.default)(reqore_1.ReqoreP)(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n margin-top: 2px;\n white-space: normal;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n"], ["\n margin-top: 2px;\n white-space: normal;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n"])));
|
|
213
|
+
exports.StyledCardHeading = styled_components_1.default.div(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n min-width: 0;\n"], ["\n display: flex;\n flex-flow: column;\n min-width: 0;\n"])));
|
|
184
214
|
/* The card (expanded) label matches the read-row label exactly — same size /
|
|
185
215
|
weight / case — so a field's name doesn't switch styles when you open it. */
|
|
186
|
-
exports.StyledCardLabel = styled_components_1.default.div(
|
|
216
|
+
exports.StyledCardLabel = styled_components_1.default.div(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n font-size: 13px;\n font-weight: 600;\n color: ", ";\n display: flex;\n align-items: center;\n gap: 4px;\n"], ["\n font-size: 13px;\n font-weight: 600;\n color: ", ";\n display: flex;\n align-items: center;\n gap: 4px;\n"])), function (_a) {
|
|
187
217
|
var $color = _a.$color;
|
|
188
218
|
return $color;
|
|
189
219
|
});
|
|
190
220
|
/* min-width: 0 lets the grid cell shrink below its content's intrinsic width
|
|
191
221
|
so the ellipsis engages instead of overflowing. */
|
|
192
|
-
exports.StyledRowValue = styled_components_1.default.div(
|
|
222
|
+
exports.StyledRowValue = styled_components_1.default.div(templateObject_27 || (templateObject_27 = __makeTemplateObject(["\n min-width: 0;\n font-size: 13px;\n /* Value + inline reason(s) share the line, wrapping the reason below only when\n it doesn't fit (the Focus prototype's layout). */\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 10px;\n row-gap: 2px;\n /* The muted/translucent colour applies to the VALUE TEXT only \u2014 not the whole\n cell \u2014 so the message panels and the structured preview below render at full\n opacity instead of inheriting the dimmed value colour. */\n .options-readfirst-valuetext {\n min-width: 0;\n max-width: 100%;\n color: ", ";\n font-style: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n /* The code size chip kept above an OPEN editor. The read row puts the same chip\n at the top of the value cell with a 2px row-gap under it; matching that here is\n what stops the editor moving as the field opens. */\n .options-readfirst-editing-summary {\n margin-bottom: 2px;\n }\n .options-readfirst-reason {\n font-style: italic;\n font-size: 12px;\n line-height: 1.3;\n }\n /* Schema message panels: full width of the value column, on their own line\n directly beneath the value. */\n .options-readfirst-info-panel {\n flex-basis: 100%;\n width: 100%;\n display: flex;\n flex-flow: column;\n gap: 4px;\n margin-top: 4px;\n }\n /* Read-only companions of the value: what a chosen option means, on its own\n line under it; and a long text drawn in full in the inset. */\n .options-readfirst-choice-desc {\n flex-basis: 100%;\n width: 100%;\n min-width: 0;\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.6;\n }\n .options-readfirst-text {\n color: ", ";\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n line-height: 1.5;\n }\n"], ["\n min-width: 0;\n font-size: 13px;\n /* Value + inline reason(s) share the line, wrapping the reason below only when\n it doesn't fit (the Focus prototype's layout). */\n display: flex;\n flex-wrap: wrap;\n align-items: baseline;\n column-gap: 10px;\n row-gap: 2px;\n /* The muted/translucent colour applies to the VALUE TEXT only \u2014 not the whole\n cell \u2014 so the message panels and the structured preview below render at full\n opacity instead of inheriting the dimmed value colour. */\n .options-readfirst-valuetext {\n min-width: 0;\n max-width: 100%;\n color: ", ";\n font-style: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n /* The code size chip kept above an OPEN editor. The read row puts the same chip\n at the top of the value cell with a 2px row-gap under it; matching that here is\n what stops the editor moving as the field opens. */\n .options-readfirst-editing-summary {\n margin-bottom: 2px;\n }\n .options-readfirst-reason {\n font-style: italic;\n font-size: 12px;\n line-height: 1.3;\n }\n /* Schema message panels: full width of the value column, on their own line\n directly beneath the value. */\n .options-readfirst-info-panel {\n flex-basis: 100%;\n width: 100%;\n display: flex;\n flex-flow: column;\n gap: 4px;\n margin-top: 4px;\n }\n /* Read-only companions of the value: what a chosen option means, on its own\n line under it; and a long text drawn in full in the inset. */\n .options-readfirst-choice-desc {\n flex-basis: 100%;\n width: 100%;\n min-width: 0;\n font-size: 12px;\n line-height: 1.4;\n opacity: 0.6;\n }\n .options-readfirst-text {\n color: ", ";\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n line-height: 1.5;\n }\n"])), function (_a) {
|
|
193
223
|
var $color = _a.$color;
|
|
194
224
|
return $color;
|
|
195
225
|
}, function (_a) {
|
|
@@ -199,27 +229,27 @@ exports.StyledRowValue = styled_components_1.default.div(templateObject_18 || (t
|
|
|
199
229
|
var $color = _a.$color;
|
|
200
230
|
return $color;
|
|
201
231
|
});
|
|
202
|
-
exports.StyledRowActions = styled_components_1.default.div(
|
|
232
|
+
exports.StyledRowActions = styled_components_1.default.div(templateObject_28 || (templateObject_28 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n /* No align-self override: the actions (incl. the status dot) follow the row's\n own vertical alignment \u2014 CENTRED on the common single-line row, TOP-aligned\n (first line) on the tall rows that opt into align-items:start (descriptions /\n message panels / hash previews). */\n gap: 6px;\n"], ["\n display: flex;\n align-items: center;\n /* No align-self override: the actions (incl. the status dot) follow the row's\n own vertical alignment \u2014 CENTRED on the common single-line row, TOP-aligned\n (first line) on the tall rows that opt into align-items:start (descriptions /\n message panels / hash previews). */\n gap: 6px;\n"])));
|
|
203
233
|
// A single status mark pinned at the row's trailing edge: one dot, colour =
|
|
204
234
|
// severity (danger/warning/success). This is the "Focus" read-first signal that
|
|
205
235
|
// replaces the recessed value surface's intent stripe — attention dots carry a
|
|
206
236
|
// faint ring, a plain "set" dot does not. `unset` rows render no dot.
|
|
207
|
-
exports.StyledStatusDot = styled_components_1.default.span(
|
|
237
|
+
exports.StyledStatusDot = styled_components_1.default.span(templateObject_29 || (templateObject_29 = __makeTemplateObject(["\n width: 7px;\n height: 7px;\n border-radius: 50%;\n flex: 0 0 auto;\n background: ", ";\n box-shadow: ", ";\n"], ["\n width: 7px;\n height: 7px;\n border-radius: 50%;\n flex: 0 0 auto;\n background: ", ";\n box-shadow: ", ";\n"])), function (_a) {
|
|
208
238
|
var $color = _a.$color;
|
|
209
239
|
return $color;
|
|
210
240
|
}, function (_a) {
|
|
211
241
|
var $color = _a.$color, $ring = _a.$ring;
|
|
212
242
|
return ($ring ? "0 0 0 3px ".concat($color, "22") : 'none');
|
|
213
243
|
});
|
|
214
|
-
exports.StyledActionSlot = styled_components_1.default.span(
|
|
244
|
+
exports.StyledActionSlot = styled_components_1.default.span(templateObject_30 || (templateObject_30 = __makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n width: ", "px;\n flex: 0 0 auto;\n"], ["\n display: inline-flex;\n justify-content: center;\n width: ", "px;\n flex: 0 0 auto;\n"])), function (_a) {
|
|
215
245
|
var $width = _a.$width;
|
|
216
246
|
return $width;
|
|
217
247
|
});
|
|
218
|
-
exports.StyledColumn = styled_components_1.default.div(
|
|
248
|
+
exports.StyledColumn = styled_components_1.default.div(templateObject_31 || (templateObject_31 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n"], ["\n display: flex;\n flex-flow: column;\n"])));
|
|
219
249
|
// The structured hash/list preview, rendered inside the value cell directly
|
|
220
250
|
// under the value summary. Full-width of the value column (it's a flex child of
|
|
221
251
|
// the wrapping value cell) so it lines up with the value, not the label gutter.
|
|
222
|
-
exports.StyledRowInset = styled_components_1.default.div(
|
|
252
|
+
exports.StyledRowInset = styled_components_1.default.div(templateObject_32 || (templateObject_32 = __makeTemplateObject(["\n flex-basis: 100%;\n width: 100%;\n margin-top: 4px;\n"], ["\n flex-basis: 100%;\n width: 100%;\n margin-top: 4px;\n"])));
|
|
223
253
|
/**
|
|
224
254
|
* The stack literal text renders in: source, ids, tokens, data strings.
|
|
225
255
|
*
|
|
@@ -236,7 +266,7 @@ exports.MONO_FONT_STACK = "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Conso
|
|
|
236
266
|
// the aesthetic of the classic code-view surface but small enough to sit
|
|
237
267
|
// inside a read-row. Height is capped by the wrapping `ReqoreCollapsibleContent`
|
|
238
268
|
// so the "Show more" affordance stays useful.
|
|
239
|
-
exports.StyledCodePreview = styled_components_1.default.pre(
|
|
269
|
+
exports.StyledCodePreview = styled_components_1.default.pre(templateObject_33 || (templateObject_33 = __makeTemplateObject(["\n margin: 0;\n padding: 8px 10px;\n border-radius: 4px;\n background: ", ";\n border: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: 11.5px;\n line-height: 1.5;\n white-space: pre;\n overflow: auto;\n max-width: 100%;\n"], ["\n margin: 0;\n padding: 8px 10px;\n border-radius: 4px;\n background: ", ";\n border: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: 11.5px;\n line-height: 1.5;\n white-space: pre;\n overflow: auto;\n max-width: 100%;\n"])), function (_a) {
|
|
240
270
|
var $bg = _a.$bg;
|
|
241
271
|
return $bg;
|
|
242
272
|
}, function (_a) {
|
|
@@ -247,14 +277,14 @@ exports.StyledCodePreview = styled_components_1.default.pre(templateObject_24 ||
|
|
|
247
277
|
return $fg;
|
|
248
278
|
}, exports.MONO_FONT_STACK);
|
|
249
279
|
// A small inline colour swatch shown before an rgbcolor value's hex string.
|
|
250
|
-
exports.StyledColorSwatch = styled_components_1.default.span(
|
|
280
|
+
exports.StyledColorSwatch = styled_components_1.default.span(templateObject_34 || (templateObject_34 = __makeTemplateObject(["\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex: 0 0 auto;\n background: ", ";\n border: 1px solid ", ";\n"], ["\n width: 12px;\n height: 12px;\n border-radius: 3px;\n flex: 0 0 auto;\n background: ", ";\n border: 1px solid ", ";\n"])), function (_a) {
|
|
251
281
|
var $color = _a.$color;
|
|
252
282
|
return $color;
|
|
253
283
|
}, function (_a) {
|
|
254
284
|
var $border = _a.$border;
|
|
255
285
|
return $border;
|
|
256
286
|
});
|
|
257
|
-
exports.StyledGroupBody = styled_components_1.default.div(templateObject_26 || (templateObject_26 = __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 /* A read-only row is not a control. No pointer and no hover tint, because a\n click does nothing; and its value wraps in full \u2014 the row is the only\n rendering the value gets, so a line cut with an ellipsis would be the\n reader's whole answer. */\n .readfirst-row-read {\n cursor: default;\n }\n .readfirst-row-read:hover {\n background: transparent;\n }\n .readfirst-row-read .options-readfirst-valuetext {\n white-space: pre-wrap;\n overflow: visible;\n text-overflow: clip;\n overflow-wrap: anywhere;\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 /* A read-only row is not a control. No pointer and no hover tint, because a\n click does nothing; and its value wraps in full \u2014 the row is the only\n rendering the value gets, so a line cut with an ellipsis would be the\n reader's whole answer. */\n .readfirst-row-read {\n cursor: default;\n }\n .readfirst-row-read:hover {\n background: transparent;\n }\n .readfirst-row-read .options-readfirst-valuetext {\n white-space: pre-wrap;\n overflow: visible;\n text-overflow: clip;\n overflow-wrap: anywhere;\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) {
|
|
287
|
+
exports.StyledGroupBody = styled_components_1.default.div(templateObject_36 || (templateObject_36 = __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 /* A read-only row is not a control. No pointer and no hover tint, because a\n click does nothing; and its value wraps in full \u2014 the row is the only\n rendering the value gets, so a line cut with an ellipsis would be the\n reader's whole answer. */\n .readfirst-row-read {\n cursor: default;\n }\n .readfirst-row-read:hover {\n background: transparent;\n }\n .readfirst-row-read .options-readfirst-valuetext {\n white-space: pre-wrap;\n overflow: visible;\n text-overflow: clip;\n overflow-wrap: anywhere;\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 /* CALM appearance \u2014 a section of label/value rows split by hairlines.\n\n Every entry the body holds (a row, the column an open row sits in, a\n group heading, the one-of cluster, the \"N more fields\" control) is drawn\n edge to edge with ONE full-width hairline above it, the same colour as the\n section's own edge. The first entry's line is the one under the section\n header (a minimal header draws none of its own). Two things take no line,\n because a heading and the rows it heads read as one block: the entry right\n under a group heading (or its subtitle), and the first row under the\n cluster's sentence.\n\n Rows lose their rounded hover pill and the inset hairline between them, and\n take the section's 16px inset. Placed last so it wins over the narrow\n rules above, which a phone-width calm form also matches. */\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 /* A read-only row is not a control. No pointer and no hover tint, because a\n click does nothing; and its value wraps in full \u2014 the row is the only\n rendering the value gets, so a line cut with an ellipsis would be the\n reader's whole answer. */\n .readfirst-row-read {\n cursor: default;\n }\n .readfirst-row-read:hover {\n background: transparent;\n }\n .readfirst-row-read .options-readfirst-valuetext {\n white-space: pre-wrap;\n overflow: visible;\n text-overflow: clip;\n overflow-wrap: anywhere;\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 /* CALM appearance \u2014 a section of label/value rows split by hairlines.\n\n Every entry the body holds (a row, the column an open row sits in, a\n group heading, the one-of cluster, the \"N more fields\" control) is drawn\n edge to edge with ONE full-width hairline above it, the same colour as the\n section's own edge. The first entry's line is the one under the section\n header (a minimal header draws none of its own). Two things take no line,\n because a heading and the rows it heads read as one block: the entry right\n under a group heading (or its subtitle), and the first row under the\n cluster's sentence.\n\n Rows lose their rounded hover pill and the inset hairline between them, and\n take the section's 16px inset. Placed last so it wins over the narrow\n rules above, which a phone-width calm form also matches. */\n ", "\n"])), exports.LABEL_COL, exports.COMPACT_ROW_PAD_X, exports.COMPACT_ROW_PAD_X, function (_a) {
|
|
258
288
|
var $divider = _a.$divider;
|
|
259
289
|
return $divider;
|
|
260
290
|
}, function (_a) {
|
|
@@ -287,7 +317,10 @@ exports.StyledGroupBody = styled_components_1.default.div(templateObject_26 || (
|
|
|
287
317
|
}, function (_a) {
|
|
288
318
|
var $hover = _a.$hover;
|
|
289
319
|
return $hover;
|
|
290
|
-
}, exports.PANEL_LEFT_CSS)
|
|
320
|
+
}, exports.PANEL_LEFT_CSS, function (_a) {
|
|
321
|
+
var $calm = _a.$calm, $hairline = _a.$hairline;
|
|
322
|
+
return $calm ? (0, styled_components_1.css)(templateObject_35 || (templateObject_35 = __makeTemplateObject(["\n && {\n --readfirst-row-gap: 0px;\n gap: 0;\n }\n && > *,\n && > .options-readfirst-required-cluster > * {\n border-top: 1px solid ", ";\n }\n && > .options-readfirst-group-label + *,\n && > .options-readfirst-group-subtitle + *,\n && .options-readfirst-required-cluster-header,\n && .options-readfirst-required-cluster-header + * {\n border-top: 0;\n }\n && .readfirst-row {\n min-height: 44px;\n padding: 10px ", "px;\n border-radius: 0;\n }\n && .readfirst-row::after {\n display: none;\n }\n /* The open row keeps the read row's band: 3px above the editor's 32px\n control centres it where the read row centred its text. */\n && .readfirst-row-editing {\n padding-top: 3px;\n padding-bottom: 10px;\n }\n /* The section's rounded bottom corners, which a full-bleed hover or an\n open row's tint would otherwise square off. */\n && > :last-child,\n && > :last-child > :last-child {\n border-bottom-left-radius: 9px;\n border-bottom-right-radius: 9px;\n }\n /* \"N more fields\" is a quiet last row: the hairline above it says where\n the section's fields end; a dashed box around it said it again. */\n && .readfirst-more-row {\n border: 0;\n border-top: 1px solid ", ";\n margin-top: 0;\n }\n &&.readfirst-narrow {\n --readfirst-row-gap: 0px;\n }\n &&.readfirst-narrow .readfirst-row {\n padding: 10px ", "px;\n min-height: 0;\n }\n &&.readfirst-narrow .readfirst-row-editing {\n padding-top: 3px;\n padding-bottom: 10px;\n }\n &&.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(3) {\n top: 10px;\n right: ", "px;\n }\n /* READ mode is one list with no section around it \u2014 usually inside a\n card the host already drew \u2014 so it adds no panel and no inset of its\n own: the rows sit flush with the host's content edge, split by the\n same hairlines, with no line above the first. */\n &&.readfirst-read-list > :first-child {\n border-top: 0;\n }\n &&.readfirst-read-list .readfirst-row,\n &&.readfirst-read-list .options-readfirst-group-label,\n &&.readfirst-read-list .options-readfirst-group-subtitle {\n padding-left: 0;\n padding-right: 0;\n margin-left: 0;\n }\n &&.readfirst-read-list.readfirst-narrow\n .readfirst-row:not(.readfirst-row-editing)\n > :nth-child(3) {\n right: 0;\n }\n "], ["\n && {\n --readfirst-row-gap: 0px;\n gap: 0;\n }\n && > *,\n && > .options-readfirst-required-cluster > * {\n border-top: 1px solid ", ";\n }\n && > .options-readfirst-group-label + *,\n && > .options-readfirst-group-subtitle + *,\n && .options-readfirst-required-cluster-header,\n && .options-readfirst-required-cluster-header + * {\n border-top: 0;\n }\n && .readfirst-row {\n min-height: 44px;\n padding: 10px ", "px;\n border-radius: 0;\n }\n && .readfirst-row::after {\n display: none;\n }\n /* The open row keeps the read row's band: 3px above the editor's 32px\n control centres it where the read row centred its text. */\n && .readfirst-row-editing {\n padding-top: 3px;\n padding-bottom: 10px;\n }\n /* The section's rounded bottom corners, which a full-bleed hover or an\n open row's tint would otherwise square off. */\n && > :last-child,\n && > :last-child > :last-child {\n border-bottom-left-radius: 9px;\n border-bottom-right-radius: 9px;\n }\n /* \"N more fields\" is a quiet last row: the hairline above it says where\n the section's fields end; a dashed box around it said it again. */\n && .readfirst-more-row {\n border: 0;\n border-top: 1px solid ", ";\n margin-top: 0;\n }\n &&.readfirst-narrow {\n --readfirst-row-gap: 0px;\n }\n &&.readfirst-narrow .readfirst-row {\n padding: 10px ", "px;\n min-height: 0;\n }\n &&.readfirst-narrow .readfirst-row-editing {\n padding-top: 3px;\n padding-bottom: 10px;\n }\n &&.readfirst-narrow .readfirst-row:not(.readfirst-row-editing) > :nth-child(3) {\n top: 10px;\n right: ", "px;\n }\n /* READ mode is one list with no section around it \u2014 usually inside a\n card the host already drew \u2014 so it adds no panel and no inset of its\n own: the rows sit flush with the host's content edge, split by the\n same hairlines, with no line above the first. */\n &&.readfirst-read-list > :first-child {\n border-top: 0;\n }\n &&.readfirst-read-list .readfirst-row,\n &&.readfirst-read-list .options-readfirst-group-label,\n &&.readfirst-read-list .options-readfirst-group-subtitle {\n padding-left: 0;\n padding-right: 0;\n margin-left: 0;\n }\n &&.readfirst-read-list.readfirst-narrow\n .readfirst-row:not(.readfirst-row-editing)\n > :nth-child(3) {\n right: 0;\n }\n "])), $hairline, exports.CALM_SECTION_INSET, $hairline, exports.CALM_SECTION_INSET, exports.CALM_SECTION_INSET) : '';
|
|
323
|
+
});
|
|
291
324
|
// One absorbed sibling, rendered inside its host row's container rather than
|
|
292
325
|
// on a row of its own (see `absorb_fields`). The pair this exists for is a code
|
|
293
326
|
// editor and its language: reading them as two unrelated rows one above the
|
|
@@ -297,10 +330,10 @@ exports.StyledGroupBody = styled_components_1.default.div(templateObject_26 || (
|
|
|
297
330
|
// element it now sits in, and separated from the editor below it by a hairline
|
|
298
331
|
// rather than a gap — the two share one container, so the seam has to look like
|
|
299
332
|
// a division inside it and not like two stacked things.
|
|
300
|
-
exports.StyledAbsorbedField = styled_components_1.default.div(
|
|
333
|
+
exports.StyledAbsorbedField = styled_components_1.default.div(templateObject_37 || (templateObject_37 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n padding-bottom: 8px;\n margin-bottom: 8px;\n border-bottom: 1px solid ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n padding-bottom: 8px;\n margin-bottom: 8px;\n border-bottom: 1px solid ", ";\n"])), function (_a) {
|
|
301
334
|
var theme = _a.theme;
|
|
302
335
|
return "".concat(theme.main, "22");
|
|
303
336
|
});
|
|
304
|
-
exports.StyledAbsorbedLabel = (0, styled_components_1.default)(reqore_1.ReqoreP)(
|
|
305
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28;
|
|
337
|
+
exports.StyledAbsorbedLabel = (0, styled_components_1.default)(reqore_1.ReqoreP)(templateObject_38 || (templateObject_38 = __makeTemplateObject(["\n flex: 0 0 auto;\n margin: 0;\n"], ["\n flex: 0 0 auto;\n margin: 0;\n"])));
|
|
338
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35, templateObject_36, templateObject_37, templateObject_38;
|
|
306
339
|
//# sourceMappingURL=compactRowStyles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactRowStyles.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"compactRowStyles.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactRowStyles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAgE;AAChE,uEAAyG;AACzG,qEAAgD;AAEhD,8EAA8E;AAC9E,oEAAoE;AACvD,QAAA,UAAU,GAAW,KAAK,CAAC;AAExC,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AACjE,QAAA,iBAAiB,GAAG,GAAG,CAAC,CAAC,4CAA4C;AACrE,QAAA,iBAAiB,GAAG,EAAE,CAAC,CAAC,oCAAoC;AAC5D,QAAA,eAAe,GAAG,EAAE,CAAC,CAAC,kBAAkB;AACrD,gFAAgF;AACnE,QAAA,kBAAkB,GAAG,yBAAiB,GAAG,yBAAiB,GAAG,uBAAe,CAAC;AAC1F,6EAA6E;AAChE,QAAA,kBAAkB,GAAG,0BAAkB,GAAG,EAAE,CAAC;AAC1D,iFAAiF;AACjF,iFAAiF;AACjF,6EAA6E;AAChE,QAAA,YAAY,GAAG,UAAG,yBAAiB,OAAI,CAAC;AACrD;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,EAAE,CAAC;AACrC;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,0BAAkB,GAAG,yBAAiB,CAAC,MAAM,CAAC;AAEvF,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,iFAAiF;AACjF,iFAAiF;AACjF,2EAA2E;AAC3E,8EAA8E;AACjE,QAAA,aAAa,GAAG,GAAG,CAAC;AACpB,QAAA,aAAa,GAAG,yBAAiB,CAAC,CAAC,MAAM;AACtD;;;;;;;;;;;;;;GAcG;AACU,QAAA,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAA,aAAa,GAAG,uBAAuB,CAAC;AACxC,QAAA,SAAS,GAAG,cAAO,qBAAa,eAAK,yBAAiB,QAAK,CAAC;AAC5D,QAAA,cAAc,GAAG,eAAQ,iBAAS,gBAAM,yBAAiB,GAAG,uBAAe,GAAG,EAAE,QAAK,CAAC;AAEnG,+EAA+E;AAC/E,gFAAgF;AAChF,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,gCAAgC;AACnB,QAAA,kBAAkB,GAAG,IAAA,2BAAM,EAAC,oBAAW,CAAC,utKAWnD,21BAeE,EAOI,qsBAWJ,EAoBI,mQAKF,EAGC,+gBAQD,EAA+C,qBAClC,EAAyB,wsBAUtB,EAC+C,iqEAgDpE,KAlHG,UAAC,EAAgB;QAAd,YAAY,kBAAA;IACf,OAAA,YAAY,CAAC,CAAC,KACZ,uBAAG,sIAAA,kEAIF,KACH,CAAC,CAAC,EAAE;AANJ,CAMI,EAWJ,UAAC,EAAgB;QAAd,YAAY,kBAAA;IACf,OAAA,YAAY,CAAC,CAAC,KACZ,uBAAG,0iBAAA,uFAGY,EAAoB,6YAclC,KAdc,qBAAa,CAAC,MAAM,EAerC,CAAC,CAAC,EAAE;AAnBJ,CAmBI,EAKF,UAAC,EAAW;QAAT,OAAO,aAAA;IACV,OAAA,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACb,2FAA2F,CAC5F;AAFD,CAEC,EAQD,UAAC,EAAW;QAAT,OAAO,aAAA;IAAO,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;AAA9B,CAA8B,EAClC,qBAAa,CAAC,kBAAU,CAAC,EAUtB,UAAC,EAAgB;QAAd,YAAY,kBAAA;IAC/B,OAAA,YAAY,CAAC,CAAC,CAAC,qBAAa,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAa,CAAC,kBAAU,CAAC;AAA/D,CAA+D,EAgDnE;AAEF,0EAA0E;AAC1E,8EAA8E;AACjE,QAAA,iBAAiB,GAAG,2BAAM,CAAC,GAAG,8ZAAqB,0OAMvD,EAA+B,yEAEtB,EAAsD,oCAGvE,KALQ,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAAhB,CAAgB,EAEtB,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;AAAvC,CAAuC,EAGtE;AACW,QAAA,qBAAqB,GAAG,2BAAM,CAAC,IAAI,oLAAoB,4FAI1B,EAAsB,mBAC/D,KADyC,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAC9D;AAEF,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,UAAU;AACG,QAAA,eAAe,GAAG,IAAA,2BAAM,EAAC,oBAAW,CAAC,qlCAYhD,MACE,EAeG,ohCAoBH,EAQI,IACP,KA5CG,UAAC,EAAuB;QAArB,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,GAAG,SAAA;IACtB,OAAA,KAAK,CAAC,CAAC,KACL,uBAAG,wIAAA,oEAIF,KACH,CAAC,KAAC,uBAAG,wWAAA,+CAEqB,EAAc,2LAGpB,EAAqB,sDAGtC,KANuB,UAAG,OAAO,OAAI,EAGpB,GAAG,IAAI,UAAG,OAAO,OAAI,CAGtC;AAdH,CAcG,EAoBH,UAAC,EAAiC;QAA/B,QAAQ,cAAA,EAAE,OAAO,aAAA,EAAE,GAAG,SAAA,EAAE,KAAK,WAAA;IAChC,OAAA,QAAQ,CAAC,CAAC,KACR,uBAAG,iLAAA,qEAEqB,EAAe,eACjC,EAAoF,qBAEzF,KAHuB,GAAG,IAAI,QAAQ,EACjC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4CAAqC,OAAO,iBAAO,OAAO,SAAM,EAG5F,CAAC,CAAC,EAAE;AAPJ,CAOI,EACN;AAEF,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,yEAAyE;AAC5D,QAAA,wBAAwB,GAAG,2BAAM,CAAC,GAAG,8ZAKhD,MACE,EASG,wTAMkB,EAA8B,cAC9C,EAA8B,OACtC,KAjBG,UAAC,EAAyB;QAAvB,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,KAAK,WAAA;IACxB,OAAA,KAAK,CAAC,CAAC;QACL,EAAE;QACJ,CAAC,KAAC,uBAAG,gOAAA,8BACmB,EAAO,sDAEb,EAAK,kEAGpB,KALqB,OAAO,EAEb,KAAK,CAGpB;AARH,CAQG,EAMkB,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAAf,CAAe,EAC9C,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAAf,CAAe,EACrC;AACW,QAAA,2BAA2B,GAAG,2BAAM,CAAC,GAAG,uUAAqC,oEAI/E,EAAsB,sLAI7B,EAWG,IACN,KAhBU,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAI7B,UAAC,EAAS;QAAP,KAAK,WAAA;IACR,OAAA,KAAK,CAAC,CAAC,KACL,uBAAG,6IAAA,0BACe,EAAkB,2CAEnC,KAFiB,0BAAkB,EAGtC,CAAC,KAAC,uBAAG,8MAAA,+BACoB,EAAY,uGAIlC,KAJsB,oBAAY,CAIlC;AAVH,CAUG,EACL;AAEF,iFAAiF;AACjF,iFAAiF;AACjF,yEAAyE;AACzE,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,mEAAmE;AACtD,QAAA,yBAAyB,GAAG,2BAAM,CAAC,GAAG,iFAAsC,MACrF,EAeG,IACN,KAhBG,UAAC,EAAiB;QAAf,KAAK,WAAA,EAAE,MAAM,YAAA;IAChB,OAAA,KAAK,CAAC,CAAC,KACL,uBAAG,8LAAA,wEAGQ,EAAmB,2BACZ,EAAkB,iBACnC,KAFU,MAAM,IAAI,SAAS,EACZ,0BAAkB,EAEtC,CAAC,KAAC,uBAAG,gQAAA,6KAMoB,EAAY,WAClC,KADsB,oBAAY,CAClC;AAdH,CAcG,EACL;AAEF,kFAAkF;AAClF,gFAAgF;AAChF,kFAAkF;AAClF,mFAAmF;AACnF,gFAAgF;AAChF,iFAAiF;AACpE,QAAA,iBAAiB,GAAG,2BAAM,CAAC,IAAI,wlBAAmD,gKAQzE,EAAsB,mBAC5B,EAAsD,2BAC9C,EAAsB,mTAY5B,EAAsB,UAEvC,KAhBqB,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAC5B,UAAC,EAAwB;QAAtB,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,GAAG,SAAA;IAAO,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AAAxB,CAAwB,EAC9C,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAY5B,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAEtC;AAEW,QAAA,cAAc,GAAG,2BAAM,CAAC,GAAG,g2BAAmD,uEAI3E,EAAgB,2LAI5B,EASG,qhBAWN,KAxBe,UAAC,EAAO;QAAL,GAAG,SAAA;IAAO,OAAA,GAAG;AAAH,CAAG,EAI5B,UAAC,EAAkB;QAAhB,KAAK,WAAA,EAAE,OAAO,aAAA;IACjB,OAAA,KAAK,CAAC,CAAC,KACL,uBAAG,+GAAA,0BACe,EAAkB,aACnC,KADiB,0BAAkB,EAEtC,CAAC,KAAC,uBAAG,sKAAA,sDAEmB,EAAO,wCAE5B,KAFqB,OAAO,CAE5B;AARH,CAQG,EAWL;AAEF,qEAAqE;AACxD,QAAA,gBAAgB,GAAG,2BAAM,CAAC,GAAG,+IAAA,0EAKzC,KAAC;AAEW,QAAA,cAAc,GAAG,2BAAM,CAAC,GAAG,+QAAwC,oEAIrE,EAAsB,6HAMrB,EAAoD,KAC/D,KAPU,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAMrB,UAAC,EAAY;QAAV,QAAQ,cAAA;IAAO,OAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAAlC,CAAkC,EAC9D;AAEF,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,wBAAwB;AACX,QAAA,eAAe,GAAG,IAAA,2BAAM,EAAC,gBAAO,CAAC,8NAAA,yJAO7C,KAAC;AAEW,QAAA,iBAAiB,GAAG,2BAAM,CAAC,GAAG,kIAAA,6DAI1C,KAAC;AAEF;+EAC+E;AAClE,QAAA,eAAe,GAAG,2BAAM,CAAC,GAAG,yLAAoB,sDAGlD,EAAsB,4DAIhC,KAJU,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAI/B;AAEF;qDACqD;AACxC,QAAA,cAAc,GAAG,2BAAM,CAAC,GAAG,83DAAsC,+lBAgBjE,EAAsB,qBACjB,EAA8C,omCAqCnD,EAAsB,2FAKlC,KA3CY,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EACjB,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAA9B,CAA8B,EAqCnD,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAKjC;AAEW,QAAA,gBAAgB,GAAG,2BAAM,CAAC,GAAG,uaAAA,kWAQzC,KAAC;AAEF,4EAA4E;AAC5E,gFAAgF;AAChF,+EAA+E;AAC/E,sEAAsE;AACzD,QAAA,eAAe,GAAG,2BAAM,CAAC,IAAI,4LAAqC,2FAK/D,EAAsB,mBACtB,EAAiE,KAChF,KAFe,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EACtB,UAAC,EAAiB;QAAf,MAAM,YAAA,EAAE,KAAK,WAAA;IAAO,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAa,MAAM,OAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAA1C,CAA0C,EAC/E;AAEW,QAAA,gBAAgB,GAAG,2BAAM,CAAC,IAAI,mKAAoB,kEAGpD,EAAsB,0BAEhC,KAFU,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAE/B;AAEW,QAAA,YAAY,GAAG,2BAAM,CAAC,GAAG,iHAAA,4CAGrC,KAAC;AAEF,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AACnE,QAAA,cAAc,GAAG,2BAAM,CAAC,GAAG,kIAAA,6DAIvC,KAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,eAAe,GAC1B,wFAAwF,CAAC;AAE3F,qEAAqE;AACrE,2EAA2E;AAC3E,yEAAyE;AACzE,kFAAkF;AAClF,8CAA8C;AACjC,QAAA,iBAAiB,GAAG,2BAAM,CAAC,GAAG,iUAA+C,6EAI1E,EAAgB,yBACV,EAAwB,cACnC,EAAgB,oBACV,EAAe,4GAM/B,KATe,UAAC,EAAO;QAAL,GAAG,SAAA;IAAO,OAAA,GAAG;AAAH,CAAG,EACV,UAAC,EAAW;QAAT,OAAO,aAAA;IAAO,OAAA,OAAO;AAAP,CAAO,EACnC,UAAC,EAAO;QAAL,GAAG,SAAA;IAAO,OAAA,GAAG;AAAH,CAAG,EACV,uBAAe,EAM9B;AAEF,4EAA4E;AAC/D,QAAA,iBAAiB,GAAG,2BAAM,CAAC,IAAI,oMAAqC,6FAKjE,EAAsB,yBAChB,EAAwB,KAC7C,KAFe,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAChB,UAAC,EAAW;QAAT,OAAO,aAAA;IAAO,OAAA,OAAO;AAAP,CAAO,EAC5C;AAEW,QAAA,eAAe,GAAG,2BAAM,CAAC,GAAG,qsaAevC,+zCA4B2B,EAAS,+vCAyB1B,EAAiB,kBAChB,EAAiB,kOAKZ,EAA0B,kLAS1B,EAAsB,mEAGf,EAAsB,gDAE7B,EAAsB,msBAef,EAAgC,0WAcvC,EAAsB,kGAIf,EAAsB,s7BAwB7B,EAA6B,oJAO3B,EAA6B,02BAkB/B,EAAsB,4uDA0CtB,EAAsB,+zEA0D5B,EAAc,u5FAiEtB,EAgFI,IACP,KArX4B,iBAAS,EAyB1B,yBAAiB,EAChB,yBAAiB,EAKZ,UAAC,EAAY;QAAV,QAAQ,cAAA;IAAO,OAAA,QAAQ;AAAR,CAAQ,EAS1B,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAGf,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAE7B,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAef,UAAC,EAAe;QAAb,WAAW,iBAAA;IAAO,OAAA,WAAW;AAAX,CAAW,EAcvC,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAIf,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EAwB7B,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,UAAG,MAAM,OAAI;AAAb,CAAa,EAO3B,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,UAAG,MAAM,OAAI;AAAb,CAAa,EAkB/B,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EA0CtB,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,MAAM;AAAN,CAAM,EA0D5B,sBAAc,EAiEtB,UAAC,EAAoB;QAAlB,KAAK,WAAA,EAAE,SAAS,eAAA;IACnB,OAAA,KAAK,CAAC,CAAC,KACL,uBAAG,k2FAAA,8LAOyB,EAAS,mWAUjB,EAAkB,26BAuBV,EAAS,+LAOjB,EAAkB,4SASzB,EAAkB,21BAqB9B,KAtE2B,SAAS,EAUjB,0BAAkB,EAuBV,SAAS,EAOjB,0BAAkB,EASzB,0BAAkB,EAsBjC,CAAC,CAAC,EAAE;AA/EJ,CA+EI,EACN;AAEF,6EAA6E;AAC7E,gFAAgF;AAChF,4EAA4E;AAC5E,6DAA6D;AAC7D,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,wDAAwD;AAC3C,QAAA,mBAAmB,GAAG,2BAAM,CAAC,GAAG,mOAAA,uJAOhB,EAAgC,KAC5D,KAD4B,UAAC,EAAS;QAAP,KAAK,WAAA;IAAO,OAAA,UAAG,KAAK,CAAC,IAAI,OAAI;AAAjB,CAAiB,EAC3D;AAEW,QAAA,mBAAmB,GAAG,IAAA,2BAAM,EAAC,gBAAO,CAAC,0GAAA,qCAGjD,KAAC"}
|
|
@@ -30,6 +30,9 @@ export interface ICompactToolbarContext {
|
|
|
30
30
|
};
|
|
31
31
|
invalidCount: number;
|
|
32
32
|
attentionCount: number;
|
|
33
|
+
/** How many of `attentionCount` are faults (invalid, or a required field the person
|
|
34
|
+
* has been to and left empty). Zero on a fresh form: the rest are only to fill in. */
|
|
35
|
+
attentionFaultCount: number;
|
|
33
36
|
completion: {
|
|
34
37
|
set: number;
|
|
35
38
|
done: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactToolbarContext.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/compactToolbarContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;wDAEwD;AACxD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAEnF,8EAA8E;AAC9E,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;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,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtE,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;2FACuF;IACvF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtE,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;
|
|
1
|
+
{"version":3,"file":"compactToolbarContext.js","sourceRoot":"","sources":["../../../../src/components/form/engine/compactToolbarContext.ts"],"names":[],"mappings":";;;AACA,6DAAqD;AAoExC,QAAA,qBAAqB,GAAG,IAAA,oCAAa,EAChD,EAA4B,CAC7B,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IReqoreTheme } from '@qoretechnologies/reqore/dist/constants/theme';
|
|
3
|
+
/**
|
|
4
|
+
* How a form looks. The look only: which fields exist, how they bucket, what a
|
|
5
|
+
* click does and what is validated are identical in every appearance.
|
|
6
|
+
*
|
|
7
|
+
* - `'default'` — the established read-first look: tinted status boxes, an
|
|
8
|
+
* intent-coloured completion meter, a status dot on every row.
|
|
9
|
+
* - `'calm'` — colour only where something needs a person. The status boxes are
|
|
10
|
+
* plain panels on the theme's panel surface with label/value rows split by
|
|
11
|
+
* hairlines; labels are grey; a missing required value is an amber word
|
|
12
|
+
* instead of a red asterisk and message; counts are quiet numbers; a healthy
|
|
13
|
+
* row carries no dot; Yes/No are plain words; nothing is forced into
|
|
14
|
+
* uppercase. Opt-in, so an app that has not asked for it does not change.
|
|
15
|
+
*/
|
|
16
|
+
export type TFormEngineAppearance = 'default' | 'calm';
|
|
17
|
+
/**
|
|
18
|
+
* The appearance in force for everything below it: the engine's own rows and
|
|
19
|
+
* toolbar, every field editor it mounts, and every nested (`arg_schema`)
|
|
20
|
+
* sub-form, which inherits it unless it is given one of its own.
|
|
21
|
+
*
|
|
22
|
+
* `FormEngine` provides it from its `appearance` prop. A host may also wrap
|
|
23
|
+
* its whole tree in it, to set the appearance once for every form — and for
|
|
24
|
+
* the field components it renders outside a form.
|
|
25
|
+
*/
|
|
26
|
+
export declare const FormAppearanceContext: import("react").Context<TFormEngineAppearance>;
|
|
27
|
+
export declare const FormAppearanceProvider: import("react").Provider<TFormEngineAppearance>;
|
|
28
|
+
/** The appearance in force here; `'default'` when nothing set one. */
|
|
29
|
+
export declare const useFormAppearance: () => TFormEngineAppearance;
|
|
30
|
+
/** Shorthand for the one question most call sites ask. */
|
|
31
|
+
export declare const useIsCalmForm: () => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* The surface a calm section paints, matching the one Reqore gives a panel:
|
|
34
|
+
* `theme.panel.main` when the theme declares one, else the panel shade Reqore
|
|
35
|
+
* derives from `main`. Read here rather than through Reqore's own helper so the
|
|
36
|
+
* whole peer range keeps working — the helper arrived after the floor.
|
|
37
|
+
*/
|
|
38
|
+
export declare const getCalmPanelSurface: (theme: IReqoreTheme) => string;
|
|
39
|
+
/** The neutral 1px edge of a calm section, and of every row inside it. */
|
|
40
|
+
export declare const getCalmPanelHairline: (theme: IReqoreTheme) => string;
|
|
41
|
+
/**
|
|
42
|
+
* What a calm form writes in place of an empty required value. Editable: what
|
|
43
|
+
* to do about it. Read-only: only what is the case, because the reader cannot
|
|
44
|
+
* add anything.
|
|
45
|
+
*/
|
|
46
|
+
export declare const CALM_REQUIRED_LABEL = "Required \u00B7 add a value";
|
|
47
|
+
export declare const CALM_REQUIRED_READ_LABEL = "Required \u00B7 not set";
|
|
48
|
+
//# sourceMappingURL=formAppearance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formAppearance.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/formAppearance.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAQ7E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,gDAA8D,CAAC;AAEjG,eAAO,MAAM,sBAAsB,iDAAiC,CAAC;AAErE,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,QAAO,qBACW,CAAC;AAEjD,0DAA0D;AAC1D,eAAO,MAAM,aAAa,QAAO,OAAyC,CAAC;AAiB3E;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,UAAW,YAAY,KAAG,MACmC,CAAC;AAE9F,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,UAAW,YAAY,KAAG,MACqC,CAAC;AAEjG;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,gCAA2B,CAAC;AAC5D,eAAO,MAAM,wBAAwB,4BAAuB,CAAC"}
|