@qoretechnologies/reqraft 0.10.25 → 0.10.26
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/.claude/CLAUDE.md +52 -23
- package/design/COMPACT_ENGINE_REDESIGN.md +156 -0
- package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +353 -0
- package/dist/components/FocusedEditing/index.d.ts +9 -1
- package/dist/components/FocusedEditing/index.d.ts.map +1 -1
- package/dist/components/FocusedEditing/index.js +2 -2
- package/dist/components/FocusedEditing/index.js.map +1 -1
- package/dist/components/composer/Composer.d.ts +108 -0
- package/dist/components/composer/Composer.d.ts.map +1 -0
- package/dist/components/composer/Composer.js +238 -0
- package/dist/components/composer/Composer.js.map +1 -0
- package/dist/components/composer/helpers.d.ts +21 -0
- package/dist/components/composer/helpers.d.ts.map +1 -0
- package/dist/components/composer/helpers.js +75 -0
- package/dist/components/composer/helpers.js.map +1 -0
- package/dist/components/composer/index.d.ts +3 -0
- package/dist/components/composer/index.d.ts.map +1 -0
- package/dist/components/composer/index.js +19 -0
- package/dist/components/composer/index.js.map +1 -0
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +307 -110
- 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 +123 -106
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +107 -11
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +618 -179
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +9 -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 +7 -3
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +88 -51
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarContext.d.ts +1 -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/optionActions.d.ts +28 -0
- package/dist/components/form/engine/optionActions.d.ts.map +1 -0
- package/dist/components/form/engine/optionActions.js +18 -0
- package/dist/components/form/engine/optionActions.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +63 -2
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +121 -6
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/rendererTypes.d.ts +35 -0
- package/dist/components/form/engine/rendererTypes.d.ts.map +1 -0
- package/dist/components/form/engine/rendererTypes.js +63 -0
- package/dist/components/form/engine/rendererTypes.js.map +1 -0
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts +6 -0
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -0
- package/dist/components/form/engine/variants/VariantCalmTable.js +94 -0
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -0
- package/dist/components/form/engine/variants/VariantCards.d.ts +6 -0
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -0
- package/dist/components/form/engine/variants/VariantCards.js +80 -0
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -0
- package/dist/components/form/engine/variants/VariantFocus.d.ts +7 -0
- package/dist/components/form/engine/variants/VariantFocus.d.ts.map +1 -0
- package/dist/components/form/engine/variants/VariantFocus.js +138 -0
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -0
- package/dist/components/form/engine/variants/VariantMinimal.d.ts +6 -0
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -0
- package/dist/components/form/engine/variants/VariantMinimal.js +73 -0
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -0
- package/dist/components/form/engine/variants/focusDemo.d.ts +13 -0
- package/dist/components/form/engine/variants/focusDemo.d.ts.map +1 -0
- package/dist/components/form/engine/variants/focusDemo.js +139 -0
- package/dist/components/form/engine/variants/focusDemo.js.map +1 -0
- package/dist/components/form/engine/variants/variantModel.d.ts +70 -0
- package/dist/components/form/engine/variants/variantModel.d.ts.map +1 -0
- package/dist/components/form/engine/variants/variantModel.js +133 -0
- package/dist/components/form/engine/variants/variantModel.js.map +1 -0
- package/dist/components/form/engine/variants/variantParts.d.ts +79 -0
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -0
- package/dist/components/form/engine/variants/variantParts.js +191 -0
- package/dist/components/form/engine/variants/variantParts.js.map +1 -0
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +13 -2
- package/dist/components/form/expressions/builder/index.js.map +1 -1
- package/dist/components/form/expressions/useExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/useExpressions.js +4 -1
- package/dist/components/form/expressions/useExpressions.js.map +1 -1
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +5 -3
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +2 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +8 -26
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +3 -0
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +42 -8
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/binary/Binary.d.ts +15 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -0
- package/dist/components/form/fields/binary/Binary.js +74 -0
- package/dist/components/form/fields/binary/Binary.js.map +1 -0
- package/dist/components/form/fields/boolean/Boolean.js +1 -1
- package/dist/components/form/fields/boolean/Boolean.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 +5 -4
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +29 -12
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts +8 -2
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +52 -16
- package/dist/components/form/fields/select/SelectCollection.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 +21 -0
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -0
- package/dist/components/imageLightbox/ImageLightbox.js +169 -0
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -0
- package/dist/components/imageLightbox/index.d.ts +2 -0
- package/dist/components/imageLightbox/index.d.ts.map +1 -0
- package/dist/components/imageLightbox/index.js +18 -0
- package/dist/components/imageLightbox/index.js.map +1 -0
- package/dist/components/searchFilterBar/SearchFilterBar.d.ts +33 -0
- package/dist/components/searchFilterBar/SearchFilterBar.d.ts.map +1 -0
- package/dist/components/searchFilterBar/SearchFilterBar.js +76 -0
- package/dist/components/searchFilterBar/SearchFilterBar.js.map +1 -0
- package/dist/components/searchFilterBar/index.d.ts +2 -0
- package/dist/components/searchFilterBar/index.d.ts.map +1 -0
- package/dist/components/searchFilterBar/index.js +18 -0
- package/dist/components/searchFilterBar/index.js.map +1 -0
- package/dist/components/supportTicket/AttachmentChips.d.ts +10 -0
- package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -0
- package/dist/components/supportTicket/AttachmentChips.js +122 -0
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -0
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +43 -0
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -0
- package/dist/components/supportTicket/InterfaceReferenceTags.js +31 -0
- package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -0
- package/dist/components/supportTicket/ReferencePicker.d.ts +87 -0
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -0
- package/dist/components/supportTicket/ReferencePicker.js +295 -0
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -0
- package/dist/components/supportTicket/TicketHeader.d.ts +86 -0
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -0
- package/dist/components/supportTicket/TicketHeader.js +149 -0
- package/dist/components/supportTicket/TicketHeader.js.map +1 -0
- package/dist/components/supportTicket/TicketMetaTags.d.ts +32 -0
- package/dist/components/supportTicket/TicketMetaTags.d.ts.map +1 -0
- package/dist/components/supportTicket/TicketMetaTags.js +21 -0
- package/dist/components/supportTicket/TicketMetaTags.js.map +1 -0
- package/dist/components/supportTicket/TicketReplyBox.d.ts +63 -0
- package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -0
- package/dist/components/supportTicket/TicketReplyBox.js +115 -0
- package/dist/components/supportTicket/TicketReplyBox.js.map +1 -0
- package/dist/components/supportTicket/attachmentAccess.d.ts +37 -0
- package/dist/components/supportTicket/attachmentAccess.d.ts.map +1 -0
- package/dist/components/supportTicket/attachmentAccess.js +132 -0
- package/dist/components/supportTicket/attachmentAccess.js.map +1 -0
- package/dist/components/supportTicket/fileToAttachment.d.ts +9 -0
- package/dist/components/supportTicket/fileToAttachment.d.ts.map +1 -0
- package/dist/components/supportTicket/fileToAttachment.js +28 -0
- package/dist/components/supportTicket/fileToAttachment.js.map +1 -0
- package/dist/components/supportTicket/index.d.ts +11 -0
- package/dist/components/supportTicket/index.d.ts.map +1 -0
- package/dist/components/supportTicket/index.js +27 -0
- package/dist/components/supportTicket/index.js.map +1 -0
- package/dist/components/supportTicket/meta.d.ts +71 -0
- package/dist/components/supportTicket/meta.d.ts.map +1 -0
- package/dist/components/supportTicket/meta.js +115 -0
- package/dist/components/supportTicket/meta.js.map +1 -0
- package/dist/components/supportTicket/ticketModel.d.ts +102 -0
- package/dist/components/supportTicket/ticketModel.d.ts.map +1 -0
- package/dist/components/supportTicket/ticketModel.js +3 -0
- package/dist/components/supportTicket/ticketModel.js.map +1 -0
- package/dist/components/ticketReferences/TicketReferences.d.ts +52 -0
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -0
- package/dist/components/ticketReferences/TicketReferences.js +492 -0
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -0
- package/dist/components/ticketReferences/index.d.ts +3 -0
- package/dist/components/ticketReferences/index.d.ts.map +1 -0
- package/dist/components/ticketReferences/index.js +6 -0
- package/dist/components/ticketReferences/index.js.map +1 -0
- package/dist/components/ticketThread/TicketThread.d.ts +57 -0
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -0
- package/dist/components/ticketThread/TicketThread.js +299 -0
- package/dist/components/ticketThread/TicketThread.js.map +1 -0
- package/dist/components/ticketThread/index.d.ts +3 -0
- package/dist/components/ticketThread/index.d.ts.map +1 -0
- package/dist/components/ticketThread/index.js +7 -0
- package/dist/components/ticketThread/index.js.map +1 -0
- package/dist/helpers/common.d.ts +5 -0
- package/dist/helpers/common.d.ts.map +1 -1
- package/dist/helpers/common.js +20 -1
- package/dist/helpers/common.js.map +1 -1
- package/dist/helpers/scrollbar.d.ts +2 -0
- package/dist/helpers/scrollbar.d.ts.map +1 -0
- package/dist/helpers/scrollbar.js +25 -0
- package/dist/helpers/scrollbar.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/StorageProvider.d.ts +13 -0
- package/dist/providers/StorageProvider.d.ts.map +1 -1
- package/dist/providers/StorageProvider.js +29 -5
- package/dist/providers/StorageProvider.js.map +1 -1
- package/package.json +6 -5
- package/src/components/FocusedEditing/index.tsx +17 -2
- package/src/components/composer/Composer.stories.tsx +238 -0
- package/src/components/composer/Composer.tsx +545 -0
- package/src/components/composer/helpers.ts +74 -0
- package/src/components/composer/index.ts +2 -0
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +74 -2
- package/src/components/form/engine/CompactRow.tsx +561 -283
- package/src/components/form/engine/CompactToolbar.tsx +216 -182
- package/src/components/form/engine/FormEngine.stories.tsx +1736 -162
- package/src/components/form/engine/FormEngine.tsx +886 -170
- package/src/components/form/engine/FormEngineRemote.stories.tsx +377 -0
- package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +8 -0
- package/src/components/form/engine/compactRowContext.ts +14 -0
- package/src/components/form/engine/compactRowStyles.ts +273 -146
- package/src/components/form/engine/compactToolbarContext.ts +1 -0
- package/src/components/form/engine/optionActions.ts +40 -0
- package/src/components/form/engine/readFirst.ts +169 -10
- package/src/components/form/engine/rendererTypes.ts +55 -0
- package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +159 -0
- package/src/components/form/engine/variants/VariantCalmTable.tsx +242 -0
- package/src/components/form/engine/variants/VariantCards.tsx +212 -0
- package/src/components/form/engine/variants/VariantFocus.tsx +382 -0
- package/src/components/form/engine/variants/VariantMinimal.tsx +170 -0
- package/src/components/form/engine/variants/focusDemo.ts +145 -0
- package/src/components/form/engine/variants/variantModel.ts +216 -0
- package/src/components/form/engine/variants/variantParts.tsx +313 -0
- package/src/components/form/expressions/ExpressionField.stories.tsx +84 -2
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +213 -19
- package/src/components/form/expressions/builder/index.tsx +12 -1
- package/src/components/form/expressions/useExpressions.ts +4 -1
- package/src/components/form/fields/Field.stories.tsx +40 -0
- package/src/components/form/fields/Field.tsx +10 -1
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +13 -36
- package/src/components/form/fields/array/ArrayAutoField.stories.tsx +64 -0
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +146 -2
- package/src/components/form/fields/auto/AutoFormField.tsx +42 -1
- package/src/components/form/fields/binary/Binary.stories.tsx +122 -0
- package/src/components/form/fields/binary/Binary.tsx +81 -0
- package/src/components/form/fields/boolean/Boolean.stories.tsx +58 -0
- package/src/components/form/fields/boolean/Boolean.tsx +1 -1
- package/src/components/form/fields/byte-size/ByteSize.stories.tsx +24 -0
- package/src/components/form/fields/color/Color.stories.tsx +30 -0
- package/src/components/form/fields/cron/Cron.stories.tsx +8 -0
- package/src/components/form/fields/date/Date.stories.tsx +22 -0
- package/src/components/form/fields/file/File.stories.tsx +48 -0
- package/src/components/form/fields/long-string/LongString.stories.tsx +24 -0
- package/src/components/form/fields/markdown/Markdown.stories.tsx +8 -0
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +14 -10
- package/src/components/form/fields/number/Number.stories.tsx +31 -0
- package/src/components/form/fields/object/Object.stories.tsx +88 -0
- package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +24 -0
- package/src/components/form/fields/rich-text/RichText.stories.tsx +23 -0
- package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +72 -0
- package/src/components/form/fields/select/Select.stories.tsx +108 -0
- package/src/components/form/fields/select/Select.tsx +38 -12
- package/src/components/form/fields/select/SelectCollection.tsx +78 -17
- package/src/components/form/fields/string/String.stories.tsx +16 -0
- package/src/components/form/fields/template/TemplateField.stories.tsx +160 -0
- package/src/components/form/fields/url/Url.stories.tsx +24 -0
- package/src/components/form/index.tsx +2 -0
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +238 -0
- package/src/components/imageLightbox/ImageLightbox.tsx +236 -0
- package/src/components/imageLightbox/index.ts +1 -0
- package/src/components/log/Log.stories.tsx +96 -0
- package/src/components/menu/Menu.stories.tsx +54 -0
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +83 -37
- package/src/components/searchFilterBar/SearchFilterBar.tsx +131 -0
- package/src/components/searchFilterBar/index.ts +1 -0
- package/src/components/smartEditor/SmartEditor.stories.tsx +32 -0
- package/src/components/supportTicket/AttachmentChips.stories.tsx +171 -0
- package/src/components/supportTicket/AttachmentChips.tsx +147 -0
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +171 -0
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +96 -0
- package/src/components/supportTicket/ReferencePicker.stories.tsx +519 -0
- package/src/components/supportTicket/ReferencePicker.tsx +563 -0
- package/src/components/supportTicket/TicketConversation.stories.tsx +121 -0
- package/src/components/supportTicket/TicketHeader.stories.tsx +183 -0
- package/src/components/supportTicket/TicketHeader.tsx +247 -0
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +103 -0
- package/src/components/supportTicket/TicketMetaTags.tsx +85 -0
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +351 -0
- package/src/components/supportTicket/TicketReplyBox.tsx +146 -0
- package/src/components/supportTicket/attachmentAccess.ts +97 -0
- package/src/components/supportTicket/fileToAttachment.ts +24 -0
- package/src/components/supportTicket/index.ts +10 -0
- package/src/components/supportTicket/meta.ts +185 -0
- package/src/components/supportTicket/ticketModel.ts +131 -0
- package/src/components/ticketReferences/TicketReferences.stories.tsx +315 -0
- package/src/components/ticketReferences/TicketReferences.tsx +886 -0
- package/src/components/ticketReferences/index.ts +2 -0
- package/src/components/ticketThread/TicketThread.stories.tsx +828 -0
- package/src/components/ticketThread/TicketThread.tsx +704 -0
- package/src/components/ticketThread/index.ts +6 -0
- package/src/helpers/common.ts +19 -0
- package/src/helpers/scrollbar.ts +32 -0
- package/src/hooks/useFetch/useFetch.stories.tsx +30 -0
- package/src/hooks/useStorage/useStorage.stories.tsx +82 -0
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +127 -1
- package/src/index.tsx +8 -1
- package/src/providers/StorageProvider.tsx +30 -4
- package/src/stores/currentUser/currentUser.stories.tsx +49 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.VariantFocus = void 0;
|
|
11
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
12
|
+
/**
|
|
13
|
+
* VARIANT 3 — "Focus" (production-leaning)
|
|
14
|
+
*
|
|
15
|
+
* The original Focus structure — three expandable boxes (Needs attention / Set /
|
|
16
|
+
* Optional) — with the engine's real functionality layered in:
|
|
17
|
+
* • REQUIRED (one-of) GROUPS highlighted as a "pick one" cluster in the box,
|
|
18
|
+
* • schema GROUPS as thin Minimal-style labels INSIDE the Set / Optional boxes,
|
|
19
|
+
* • a "Descriptions" toggle (short_desc under every field),
|
|
20
|
+
* • COMPLEX fields showing their nested value inline with Show-more,
|
|
21
|
+
* • real inline editing (AutoFormField) on click.
|
|
22
|
+
*
|
|
23
|
+
* Attention box and the rest are EXCLUSIVE: a field needing attention sits in the
|
|
24
|
+
* box until resolved, then drops into Set (or Optional) below.
|
|
25
|
+
*/
|
|
26
|
+
var reqore_1 = require("@qoretechnologies/reqore");
|
|
27
|
+
var react_1 = __importDefault(require("react"));
|
|
28
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
29
|
+
var variantParts_1 = require("./variantParts");
|
|
30
|
+
var Wrap = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 18px;\n font-size: 13px;\n\n .vf-row {\n display: grid;\n grid-template-columns: minmax(190px, 320px) minmax(0, 1fr) auto;\n column-gap: 16px;\n row-gap: 2px;\n align-items: center;\n /* Single-line rows: centre the content within the min-height. */\n align-content: center;\n min-height: 38px;\n padding: 6px 12px;\n border-radius: 8px;\n cursor: pointer;\n }\n /* Rows with a description / preview / editor below: pin the name+value to the\n top instead of centring the whole block. */\n .vf-row.vf-tall {\n align-content: start;\n }\n .vf-row:hover,\n .vf-row[aria-expanded='true'] {\n background: ", ";\n }\n .vf-section {\n border-radius: 12px;\n padding: 6px;\n }\n .vf-sechead {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n user-select: none;\n }\n .vf-grouplabel {\n font-size: 10px;\n letter-spacing: 1px;\n text-transform: uppercase;\n padding: 10px 0 2px 12px;\n }\n .vf-cluster {\n border-radius: 10px;\n padding: 4px 4px 6px;\n margin: 2px 0;\n }\n .vf-desc {\n grid-column: 1 / -1;\n padding: 0 0 2px;\n font-size: 12px;\n line-height: 1.45;\n }\n .vf-preview {\n grid-column: 2 / -1;\n padding: 2px 0 4px;\n }\n @media (max-width: 640px) {\n .vf-row {\n grid-template-columns: 1fr auto;\n grid-template-areas: 'label dot' 'value value';\n row-gap: 2px;\n }\n .vf-label {\n grid-area: label;\n }\n .vf-value {\n grid-area: value;\n }\n .vf-dot {\n grid-area: dot;\n }\n .vf-preview {\n grid-column: 1 / -1;\n }\n }\n"], ["\n display: flex;\n flex-flow: column;\n gap: 18px;\n font-size: 13px;\n\n .vf-row {\n display: grid;\n grid-template-columns: minmax(190px, 320px) minmax(0, 1fr) auto;\n column-gap: 16px;\n row-gap: 2px;\n align-items: center;\n /* Single-line rows: centre the content within the min-height. */\n align-content: center;\n min-height: 38px;\n padding: 6px 12px;\n border-radius: 8px;\n cursor: pointer;\n }\n /* Rows with a description / preview / editor below: pin the name+value to the\n top instead of centring the whole block. */\n .vf-row.vf-tall {\n align-content: start;\n }\n .vf-row:hover,\n .vf-row[aria-expanded='true'] {\n background: ", ";\n }\n .vf-section {\n border-radius: 12px;\n padding: 6px;\n }\n .vf-sechead {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n user-select: none;\n }\n .vf-grouplabel {\n font-size: 10px;\n letter-spacing: 1px;\n text-transform: uppercase;\n padding: 10px 0 2px 12px;\n }\n .vf-cluster {\n border-radius: 10px;\n padding: 4px 4px 6px;\n margin: 2px 0;\n }\n .vf-desc {\n grid-column: 1 / -1;\n padding: 0 0 2px;\n font-size: 12px;\n line-height: 1.45;\n }\n .vf-preview {\n grid-column: 2 / -1;\n padding: 2px 0 4px;\n }\n @media (max-width: 640px) {\n .vf-row {\n grid-template-columns: 1fr auto;\n grid-template-areas: 'label dot' 'value value';\n row-gap: 2px;\n }\n .vf-label {\n grid-area: label;\n }\n .vf-value {\n grid-area: value;\n }\n .vf-dot {\n grid-area: dot;\n }\n .vf-preview {\n grid-column: 1 / -1;\n }\n }\n"])), function (_a) {
|
|
31
|
+
var $hover = _a.$hover;
|
|
32
|
+
return $hover;
|
|
33
|
+
});
|
|
34
|
+
var Row = function (_a) {
|
|
35
|
+
var _b;
|
|
36
|
+
var r = _a.r, form = _a.form, showDesc = _a.showDesc;
|
|
37
|
+
var c = (0, variantParts_1.useVariantColors)();
|
|
38
|
+
var editing = form.editing === r.name;
|
|
39
|
+
var isHash = r.value.kind === 'hash';
|
|
40
|
+
// A row is "tall" (has something below the name/value line) when editing, when
|
|
41
|
+
// it's a complex preview, or when descriptions are shown for it.
|
|
42
|
+
var tall = editing || isHash || (showDesc && !!r.shortDesc);
|
|
43
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: tall ? 'vf-row vf-tall' : 'vf-row', role: 'button', tabIndex: 0, "aria-expanded": editing, onClick: function () { return !r.readOnly && form.startEdit(r.name); }, children: [(0, jsx_runtime_1.jsxs)("span", { className: 'vf-label', style: { fontWeight: 600, color: c.text, display: 'flex', alignItems: 'center', gap: 6, minWidth: 0 }, children: [r.label, r.required ?
|
|
44
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Asterisk', size: '9px', style: { color: c.danger } })
|
|
45
|
+
: null] }), (0, jsx_runtime_1.jsxs)("span", { className: 'vf-value', style: { color: c.muted, minWidth: 0 }, children: [(0, jsx_runtime_1.jsx)(variantParts_1.ValueView, { value: r.value }), r.reason && r.status !== 'set' ?
|
|
46
|
+
(0, jsx_runtime_1.jsx)("span", { style: { color: (0, variantParts_1.STATUS_COLOR)(r.status, c), fontSize: 12, marginLeft: 8 }, children: r.reason })
|
|
47
|
+
: null] }), (0, jsx_runtime_1.jsx)("span", { className: 'vf-dot', style: { display: 'inline-flex', justifyContent: 'flex-end' }, children: (0, jsx_runtime_1.jsx)(variantParts_1.StatusDot, { status: r.status }) }), showDesc && r.shortDesc && !editing ?
|
|
48
|
+
(0, jsx_runtime_1.jsx)("div", { className: 'vf-desc', style: { color: c.faint }, children: r.shortDesc })
|
|
49
|
+
: null, isHash && !editing ?
|
|
50
|
+
(0, jsx_runtime_1.jsx)("div", { className: 'vf-preview', children: (0, jsx_runtime_1.jsx)(variantParts_1.ComplexPreview, { value: (_b = r.field) === null || _b === void 0 ? void 0 : _b.value, onOpen: function () { return !r.readOnly && form.startEdit(r.name); } }) })
|
|
51
|
+
: null, editing ?
|
|
52
|
+
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [r.shortDesc ? (0, jsx_runtime_1.jsx)("div", { className: 'vf-desc', style: { color: c.faint }, children: r.shortDesc }) : null, (0, jsx_runtime_1.jsx)(variantParts_1.InlineEdit, { row: r, onDone: form.stopEdit })] })
|
|
53
|
+
: null] }));
|
|
54
|
+
};
|
|
55
|
+
/** A one-of required group, highlighted: "pick one of these". */
|
|
56
|
+
var RequiredCluster = function (_a) {
|
|
57
|
+
var rows = _a.rows, form = _a.form, showDesc = _a.showDesc;
|
|
58
|
+
var c = (0, variantParts_1.useVariantColors)();
|
|
59
|
+
var tint = c.warning;
|
|
60
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: 'vf-cluster', style: { background: "".concat(tint, "10"), border: "1px solid ".concat(tint, "33") }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: 6, padding: '8px 0 2px 12px' }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'LinkM', size: '11px', style: { color: tint } }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: 10, letterSpacing: 1, textTransform: 'uppercase', color: tint }, children: "One of the below is required" })] }), rows.map(function (r) { return (0, jsx_runtime_1.jsx)(Row, { r: r, form: form, showDesc: showDesc }, r.name); })] }));
|
|
61
|
+
};
|
|
62
|
+
var Section = function (_a) {
|
|
63
|
+
var title = _a.title, intent = _a.intent, count = _a.count, children = _a.children, _b = _a.defaultOpen, defaultOpen = _b === void 0 ? true : _b;
|
|
64
|
+
var _c = react_1.default.useState(defaultOpen), open = _c[0], setOpen = _c[1];
|
|
65
|
+
if (!count)
|
|
66
|
+
return null;
|
|
67
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: 'vf-section', style: { background: "".concat(intent, "0e"), border: "1px solid ".concat(intent, "22") }, children: [(0, jsx_runtime_1.jsxs)("div", { className: 'vf-sechead', onClick: function () { return setOpen(function (o) { return !o; }); }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: open ? 'ArrowDownSLine' : 'ArrowRightSLine', size: '15px' }), (0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { effect: { weight: 'bold' }, children: title }), (0, jsx_runtime_1.jsx)("span", { style: {
|
|
68
|
+
background: "".concat(intent, "22"),
|
|
69
|
+
color: intent,
|
|
70
|
+
borderRadius: 20,
|
|
71
|
+
padding: '1px 9px',
|
|
72
|
+
fontSize: 12,
|
|
73
|
+
fontWeight: 700,
|
|
74
|
+
}, children: count })] }), open ? (0, jsx_runtime_1.jsx)("div", { children: children }) : null] }));
|
|
75
|
+
};
|
|
76
|
+
/** Rows of a given status, grouped by schema group with thin Minimal-style
|
|
77
|
+
* labels. Used inside the Set and Optional boxes. */
|
|
78
|
+
var GroupedRows = function (_a) {
|
|
79
|
+
var groups = _a.groups, status = _a.status, skip = _a.skip, form = _a.form, showDesc = _a.showDesc;
|
|
80
|
+
var c = (0, variantParts_1.useVariantColors)();
|
|
81
|
+
var sections = groups
|
|
82
|
+
.map(function (g) { return ({ g: g, rows: g.rows.filter(function (r) { return r.status === status && !skip.has(r.name); }) }); })
|
|
83
|
+
.filter(function (s) { return s.rows.length; });
|
|
84
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: sections.map(function (_a) {
|
|
85
|
+
var g = _a.g, rows = _a.rows;
|
|
86
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [sections.length > 1 ?
|
|
87
|
+
(0, jsx_runtime_1.jsx)("div", { className: 'vf-grouplabel', style: { color: c.faint }, children: g.label })
|
|
88
|
+
: null, rows.map(function (r) { return (0, jsx_runtime_1.jsx)(Row, { r: r, form: form, showDesc: showDesc }, r.name); })] }, g.name));
|
|
89
|
+
}) }));
|
|
90
|
+
};
|
|
91
|
+
var VariantFocus = function (_a) {
|
|
92
|
+
var options = _a.options, values = _a.values, config = _a.config;
|
|
93
|
+
var c = (0, variantParts_1.useVariantColors)();
|
|
94
|
+
var form = (0, variantParts_1.useVariantForm)(options, values, config);
|
|
95
|
+
var s = form.summary;
|
|
96
|
+
var showDesc = form.showDescriptions;
|
|
97
|
+
var allRows = form.visibleGroups.flatMap(function (g) { return g.rows; });
|
|
98
|
+
var unmetGroups = Object.values(form.requiredGroups).filter(function (g) { return !g.satisfied; });
|
|
99
|
+
var unmetMembers = new Set();
|
|
100
|
+
unmetGroups.forEach(function (g) { return g.members.forEach(function (m) { return unmetMembers.add(m); }); });
|
|
101
|
+
// Attention = invalid + individually-required-todo (NOT one-of members, which
|
|
102
|
+
// show as their cluster) + the unmet one-of clusters.
|
|
103
|
+
var attentionRows = allRows.filter(function (r) { return (r.status === 'invalid' || r.status === 'todo') && !unmetMembers.has(r.name); });
|
|
104
|
+
var attentionCount = attentionRows.length + unmetGroups.length;
|
|
105
|
+
var skip = new Set(attentionRows.map(function (r) { return r.name; }));
|
|
106
|
+
unmetMembers.forEach(function (n) { return skip.add(n); });
|
|
107
|
+
var setCount = allRows.filter(function (r) { return r.status === 'set' && !skip.has(r.name); }).length;
|
|
108
|
+
var optionalCount = allRows.filter(function (r) { return r.status === 'unset' && !skip.has(r.name); }).length;
|
|
109
|
+
// Group the attention items by schema group (placing each one-of cluster under
|
|
110
|
+
// its members' group) so the attention box reads like the Set / Optional boxes.
|
|
111
|
+
var clusterGroupName = function (members) { var _a; return (_a = form.visibleGroups.find(function (g) { return g.rows.some(function (r) { return r.name === members[0]; }); })) === null || _a === void 0 ? void 0 : _a.name; };
|
|
112
|
+
var attnGroups = form.visibleGroups
|
|
113
|
+
.map(function (g) { return ({
|
|
114
|
+
g: g,
|
|
115
|
+
rows: g.rows.filter(function (r) { return (r.status === 'invalid' || r.status === 'todo') && !unmetMembers.has(r.name); }),
|
|
116
|
+
clusters: unmetGroups.filter(function (rg) { return clusterGroupName(rg.members) === g.name; }),
|
|
117
|
+
}); })
|
|
118
|
+
.filter(function (x) { return x.rows.length || x.clusters.length; });
|
|
119
|
+
return ((0, jsx_runtime_1.jsxs)(Wrap, { "$hover": c.hover, "$faint": c.faint, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexFlow: 'column', gap: 10 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'baseline', gap: 12, flexWrap: 'wrap' }, children: [(0, jsx_runtime_1.jsxs)(reqore_1.ReqoreP, { size: 'big', effect: { weight: 'bold' }, children: [s.pct, "% complete"] }), (0, jsx_runtime_1.jsxs)("span", { style: { color: c.muted, fontSize: 12 }, children: [s.set, "/", s.total, " set"] }), s.attention ?
|
|
120
|
+
(0, jsx_runtime_1.jsx)("button", { type: 'button', onClick: form.toggleAttention, style: {
|
|
121
|
+
background: 'none',
|
|
122
|
+
border: 'none',
|
|
123
|
+
cursor: 'pointer',
|
|
124
|
+
color: c.warning,
|
|
125
|
+
fontSize: 12,
|
|
126
|
+
textDecoration: 'underline',
|
|
127
|
+
textUnderlineOffset: 3,
|
|
128
|
+
}, children: form.filter === 'attention' ? '← show all' : "".concat(s.attention, " need attention \u2192") })
|
|
129
|
+
: null] }), (0, jsx_runtime_1.jsxs)("div", { style: { height: 4, borderRadius: 2, background: c.line, overflow: 'hidden', display: 'flex' }, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: "".concat((s.set / s.total) * 100, "%"), background: c.success } }), (0, jsx_runtime_1.jsx)("div", { style: { width: "".concat((s.attention / s.total) * 100, "%"), background: c.warning } })] })] }), (0, jsx_runtime_1.jsx)(variantParts_1.VariantToolbar, { form: form }), (0, jsx_runtime_1.jsx)(Section, { title: 'Needs attention', intent: c.warning, count: attentionCount, children: attnGroups.map(function (_a) {
|
|
130
|
+
var g = _a.g, rows = _a.rows, clusters = _a.clusters;
|
|
131
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [attnGroups.length > 1 ?
|
|
132
|
+
(0, jsx_runtime_1.jsx)("div", { className: 'vf-grouplabel', style: { color: c.faint }, children: g.label })
|
|
133
|
+
: null, clusters.map(function (cl) { return ((0, jsx_runtime_1.jsx)(RequiredCluster, { rows: allRows.filter(function (r) { return cl.members.includes(r.name); }), form: form, showDesc: showDesc }, cl.key)); }), rows.map(function (r) { return (0, jsx_runtime_1.jsx)(Row, { r: r, form: form, showDesc: showDesc }, r.name); })] }, g.name));
|
|
134
|
+
}) }), (0, jsx_runtime_1.jsx)(Section, { title: 'Set', intent: c.success, count: setCount, children: (0, jsx_runtime_1.jsx)(GroupedRows, { groups: form.visibleGroups, status: 'set', skip: skip, form: form, showDesc: showDesc }) }), (0, jsx_runtime_1.jsx)(Section, { title: 'Optional \u2014 not set', intent: c.muted, count: optionalCount, defaultOpen: false, children: (0, jsx_runtime_1.jsx)(GroupedRows, { groups: form.visibleGroups, status: 'unset', skip: skip, form: form, showDesc: showDesc }) })] }));
|
|
135
|
+
};
|
|
136
|
+
exports.VariantFocus = VariantFocus;
|
|
137
|
+
var templateObject_1;
|
|
138
|
+
//# sourceMappingURL=VariantFocus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariantFocus.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantFocus.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IQorusFormField, IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
|
|
2
|
+
export declare const VariantMinimal: ({ options, values, }: {
|
|
3
|
+
options: IQorusFormSchema;
|
|
4
|
+
values: Record<string, IQorusFormField>;
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=VariantMinimal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariantMinimal.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantMinimal.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA+DjF,eAAO,MAAM,cAAc,yBAGxB;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,OAAO,MAAM,EAAE,eAAe,CAAC,CAAC;CACzC,4CA2FA,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.VariantMinimal = void 0;
|
|
11
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
12
|
+
/**
|
|
13
|
+
* VARIANT 4 — "Minimal" (Notion / Linear inspired)
|
|
14
|
+
*
|
|
15
|
+
* Direction: the lightest possible treatment. No surfaces, no boxes, no group
|
|
16
|
+
* panels — just a quiet `label · value` list with a hairline status tick on the
|
|
17
|
+
* left edge. TAP a row to reveal its description and edit it inline — NO hover
|
|
18
|
+
* dependency, so it behaves identically on phone. Densest of the four.
|
|
19
|
+
*/
|
|
20
|
+
var reqore_1 = require("@qoretechnologies/reqore");
|
|
21
|
+
var react_1 = __importDefault(require("react"));
|
|
22
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
23
|
+
var variantParts_1 = require("./variantParts");
|
|
24
|
+
var Wrap = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-flow: column;\n gap: 4px;\n font-size: 13px;\n\n .vm-group {\n font-size: 11px;\n letter-spacing: 1px;\n text-transform: uppercase;\n padding: 16px 0 6px 14px;\n }\n .vm-row {\n display: grid;\n grid-template-columns: minmax(180px, 320px) minmax(0, 1fr);\n gap: 14px;\n align-items: baseline;\n padding: 7px 12px 7px 14px;\n border-left: 2px solid transparent;\n cursor: pointer;\n border-radius: 0 6px 6px 0;\n }\n .vm-row[aria-expanded='true'] {\n background: ", ";\n }\n @media (hover: hover) {\n .vm-row:hover {\n background: ", ";\n }\n }\n .vm-label {\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n }\n .vm-detail {\n grid-column: 1 / -1;\n color: ", ";\n padding: 4px 0 2px;\n font-size: 12px;\n line-height: 1.5;\n }\n @media (max-width: 620px) {\n .vm-row {\n grid-template-columns: 1fr;\n gap: 2px;\n }\n }\n"], ["\n display: flex;\n flex-flow: column;\n gap: 4px;\n font-size: 13px;\n\n .vm-group {\n font-size: 11px;\n letter-spacing: 1px;\n text-transform: uppercase;\n padding: 16px 0 6px 14px;\n }\n .vm-row {\n display: grid;\n grid-template-columns: minmax(180px, 320px) minmax(0, 1fr);\n gap: 14px;\n align-items: baseline;\n padding: 7px 12px 7px 14px;\n border-left: 2px solid transparent;\n cursor: pointer;\n border-radius: 0 6px 6px 0;\n }\n .vm-row[aria-expanded='true'] {\n background: ", ";\n }\n @media (hover: hover) {\n .vm-row:hover {\n background: ", ";\n }\n }\n .vm-label {\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n }\n .vm-detail {\n grid-column: 1 / -1;\n color: ", ";\n padding: 4px 0 2px;\n font-size: 12px;\n line-height: 1.5;\n }\n @media (max-width: 620px) {\n .vm-row {\n grid-template-columns: 1fr;\n gap: 2px;\n }\n }\n"])), function (_a) {
|
|
25
|
+
var $hover = _a.$hover;
|
|
26
|
+
return $hover;
|
|
27
|
+
}, function (_a) {
|
|
28
|
+
var $hover = _a.$hover;
|
|
29
|
+
return $hover;
|
|
30
|
+
}, function (_a) {
|
|
31
|
+
var $faint = _a.$faint;
|
|
32
|
+
return $faint;
|
|
33
|
+
});
|
|
34
|
+
var VariantMinimal = function (_a) {
|
|
35
|
+
var options = _a.options, values = _a.values;
|
|
36
|
+
var c = (0, variantParts_1.useVariantColors)();
|
|
37
|
+
var form = (0, variantParts_1.useVariantForm)(options, values);
|
|
38
|
+
var s = form.summary;
|
|
39
|
+
return ((0, jsx_runtime_1.jsxs)(Wrap, { "$hover": c.hover, "$line": c.line, "$faint": c.faint, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
40
|
+
display: 'flex',
|
|
41
|
+
alignItems: 'center',
|
|
42
|
+
gap: 10,
|
|
43
|
+
padding: '0 12px 10px',
|
|
44
|
+
borderBottom: "1px solid ".concat(c.line),
|
|
45
|
+
}, children: [(0, jsx_runtime_1.jsx)("span", { style: { width: 8, height: 8, borderRadius: '50%', background: s.attention ? c.warning : c.success } }), (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreP, { effect: { weight: 'bold' }, children: [s.pct, "%"] }), (0, jsx_runtime_1.jsxs)("span", { style: { color: c.muted, fontSize: 12 }, children: [s.set, "/", s.total, " set"] }), s.attention ?
|
|
46
|
+
(0, jsx_runtime_1.jsx)("button", { type: 'button', onClick: form.toggleAttention, style: {
|
|
47
|
+
background: 'none',
|
|
48
|
+
border: 'none',
|
|
49
|
+
cursor: 'pointer',
|
|
50
|
+
color: c.warning,
|
|
51
|
+
fontSize: 12,
|
|
52
|
+
textDecoration: 'underline',
|
|
53
|
+
textUnderlineOffset: 3,
|
|
54
|
+
}, children: form.filter === 'attention' ? '← all' : "".concat(s.attention, " to resolve \u2192") })
|
|
55
|
+
: null] }), (0, jsx_runtime_1.jsx)(variantParts_1.VariantToolbar, { form: form }), form.visibleGroups.map(function (g) { return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: 'vm-group', style: { color: c.faint }, children: g.label }), g.rows.map(function (r) {
|
|
56
|
+
var editing = form.editing === r.name;
|
|
57
|
+
var hasDetail = !!(r.shortDesc || r.longDesc);
|
|
58
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: 'vm-row', role: 'button', tabIndex: 0, "aria-expanded": editing, style: { borderLeftColor: r.status === 'set' || r.status === 'unset' ? 'transparent' : (0, variantParts_1.STATUS_COLOR)(r.status, c) }, onClick: function () { return !r.readOnly && form.startEdit(r.name); }, children: [(0, jsx_runtime_1.jsxs)("span", { className: 'vm-label', style: { color: c.text, fontWeight: 500 }, children: [r.label, r.required ?
|
|
59
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Asterisk', size: '8px', style: { color: c.danger } })
|
|
60
|
+
: null] }), (0, jsx_runtime_1.jsxs)("span", { style: { color: c.muted, minWidth: 0, display: 'inline-flex', alignItems: 'baseline', gap: 8 }, children: [(0, jsx_runtime_1.jsx)(variantParts_1.ValueView, { value: r.value }), r.status === 'invalid' || r.status === 'todo' ?
|
|
61
|
+
(0, jsx_runtime_1.jsxs)("span", { style: { color: (0, variantParts_1.STATUS_COLOR)(r.status, c), fontSize: 12 }, children: ["\u00B7 ", r.reason] })
|
|
62
|
+
: null] }), editing ?
|
|
63
|
+
(0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [hasDetail ?
|
|
64
|
+
(0, jsx_runtime_1.jsxs)("div", { className: 'vm-detail', children: [r.shortDesc ? (0, jsx_runtime_1.jsx)("div", { children: r.shortDesc }) : null, r.longDesc ?
|
|
65
|
+
(0, jsx_runtime_1.jsx)("div", { style: { marginTop: r.shortDesc ? 4 : 0 }, children: r.longDesc.replace(/[#`*]/g, '') })
|
|
66
|
+
: null] })
|
|
67
|
+
: null, (0, jsx_runtime_1.jsx)(variantParts_1.InlineEdit, { row: r, onDone: form.stopEdit })] })
|
|
68
|
+
: null] }, r.name));
|
|
69
|
+
})] }, g.name)); })] }));
|
|
70
|
+
};
|
|
71
|
+
exports.VariantMinimal = VariantMinimal;
|
|
72
|
+
var templateObject_1;
|
|
73
|
+
//# sourceMappingURL=VariantMinimal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VariantMinimal.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/VariantMinimal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A richer, realistic demo schema for the Focus-Pro variant — exercises the
|
|
3
|
+
* features the basic fixture lacks: NAMED groups, a one-of REQUIRED GROUP,
|
|
4
|
+
* a complex nested hash (Show-more preview), allowed-values, files/lists, plus
|
|
5
|
+
* a mix of set / invalid / required-unset / optional states. Modelled loosely
|
|
6
|
+
* on a Qorus datasource connection config.
|
|
7
|
+
*/
|
|
8
|
+
import { IQorusFormField, IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
|
|
9
|
+
export declare const getFocusDemoOptions: () => IQorusFormSchema;
|
|
10
|
+
export declare const focusDemoValue: Record<string, IQorusFormField>;
|
|
11
|
+
export declare const focusDemoInvalid: Record<string, string>;
|
|
12
|
+
export declare const focusDemoGroupLabels: Record<string, string>;
|
|
13
|
+
//# sourceMappingURL=focusDemo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusDemo.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/focusDemo.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEjF,eAAO,MAAM,mBAAmB,QAAO,gBAwGJ,CAAC;AAEpC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAe1D,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEnD,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMvD,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.focusDemoGroupLabels = exports.focusDemoInvalid = exports.focusDemoValue = exports.getFocusDemoOptions = void 0;
|
|
4
|
+
var getFocusDemoOptions = function () {
|
|
5
|
+
return ({
|
|
6
|
+
// --- Connection -------------------------------------------------------
|
|
7
|
+
url: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
ui_type: 'string',
|
|
10
|
+
display_name: 'Connection URL',
|
|
11
|
+
short_desc: 'The full datasource URL (driver://user@host:port/db).',
|
|
12
|
+
desc: 'Accepts any Qore datasource URL. Templates like `$config:db-url` are supported.',
|
|
13
|
+
group: 'connection',
|
|
14
|
+
required: true,
|
|
15
|
+
supports_templates: true,
|
|
16
|
+
},
|
|
17
|
+
port: {
|
|
18
|
+
type: 'int',
|
|
19
|
+
ui_type: 'number',
|
|
20
|
+
display_name: 'Port',
|
|
21
|
+
short_desc: 'TCP port of the database server.',
|
|
22
|
+
group: 'connection',
|
|
23
|
+
default_value: { type: 'int', value: 5432 },
|
|
24
|
+
},
|
|
25
|
+
database: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
ui_type: 'string',
|
|
28
|
+
display_name: 'Database name',
|
|
29
|
+
short_desc: 'Name of the schema/database to connect to.',
|
|
30
|
+
group: 'connection',
|
|
31
|
+
required: true,
|
|
32
|
+
},
|
|
33
|
+
// --- Authentication (one-of required group) ---------------------------
|
|
34
|
+
token: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
ui_type: 'string',
|
|
37
|
+
display_name: 'API token',
|
|
38
|
+
short_desc: 'Bearer token — use this OR a username/password.',
|
|
39
|
+
group: 'authentication',
|
|
40
|
+
required_groups: ['auth'],
|
|
41
|
+
supports_templates: true,
|
|
42
|
+
},
|
|
43
|
+
username: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
ui_type: 'string',
|
|
46
|
+
display_name: 'Username',
|
|
47
|
+
short_desc: 'Database user — paired with a password.',
|
|
48
|
+
group: 'authentication',
|
|
49
|
+
required_groups: ['auth'],
|
|
50
|
+
},
|
|
51
|
+
password: {
|
|
52
|
+
type: 'string',
|
|
53
|
+
ui_type: 'string',
|
|
54
|
+
display_name: 'Password',
|
|
55
|
+
short_desc: 'Database password.',
|
|
56
|
+
group: 'authentication',
|
|
57
|
+
required_groups: ['auth'],
|
|
58
|
+
supports_templates: true,
|
|
59
|
+
},
|
|
60
|
+
// --- Advanced ---------------------------------------------------------
|
|
61
|
+
options: {
|
|
62
|
+
type: 'hash',
|
|
63
|
+
ui_type: 'hash',
|
|
64
|
+
display_name: 'Driver options',
|
|
65
|
+
short_desc: 'Extra key/value options passed to the driver.',
|
|
66
|
+
group: 'advanced',
|
|
67
|
+
},
|
|
68
|
+
poolSize: {
|
|
69
|
+
type: 'int',
|
|
70
|
+
ui_type: 'number',
|
|
71
|
+
display_name: 'Pool size',
|
|
72
|
+
short_desc: 'Max simultaneous connections.',
|
|
73
|
+
group: 'advanced',
|
|
74
|
+
default_value: { type: 'int', value: 10 },
|
|
75
|
+
},
|
|
76
|
+
timeout: {
|
|
77
|
+
type: 'int',
|
|
78
|
+
ui_type: 'number',
|
|
79
|
+
display_name: 'Timeout (s)',
|
|
80
|
+
short_desc: 'Connection timeout in seconds.',
|
|
81
|
+
group: 'advanced',
|
|
82
|
+
},
|
|
83
|
+
logLevel: {
|
|
84
|
+
type: 'string',
|
|
85
|
+
ui_type: 'string',
|
|
86
|
+
display_name: 'Log level',
|
|
87
|
+
short_desc: 'Verbosity of the connection log.',
|
|
88
|
+
group: 'advanced',
|
|
89
|
+
allowed_values: [
|
|
90
|
+
{ value: 'error', display_name: 'Error' },
|
|
91
|
+
{ value: 'info', display_name: 'Info' },
|
|
92
|
+
{ value: 'debug', display_name: 'Debug' },
|
|
93
|
+
],
|
|
94
|
+
},
|
|
95
|
+
// --- Optional (non-preselected — render in the Optional group) ---------
|
|
96
|
+
sslCert: {
|
|
97
|
+
type: 'file',
|
|
98
|
+
ui_type: 'file',
|
|
99
|
+
display_name: 'SSL certificate',
|
|
100
|
+
short_desc: 'Client certificate for mutual TLS.',
|
|
101
|
+
},
|
|
102
|
+
tags: {
|
|
103
|
+
type: 'list',
|
|
104
|
+
ui_type: 'list',
|
|
105
|
+
display_name: 'Tags',
|
|
106
|
+
short_desc: 'Free-form labels for this connection.',
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
exports.getFocusDemoOptions = getFocusDemoOptions;
|
|
111
|
+
exports.focusDemoValue = {
|
|
112
|
+
url: { type: 'string', value: 'pgsql://hq.qoretechnologies.com:5432/omq' },
|
|
113
|
+
// database: intentionally unset → required to-do
|
|
114
|
+
// auth group: intentionally none set → one-of unsatisfied → attention
|
|
115
|
+
options: {
|
|
116
|
+
type: 'hash',
|
|
117
|
+
value: {
|
|
118
|
+
sslmode: { type: 'string', value: 'require' },
|
|
119
|
+
application_name: { type: 'string', value: 'qorus-ide' },
|
|
120
|
+
connect_timeout: { type: 'int', value: 8 },
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
logLevel: { type: 'string', value: 'info' },
|
|
124
|
+
// timeout: invalid (entered 0)
|
|
125
|
+
timeout: { type: 'int', value: 0 },
|
|
126
|
+
};
|
|
127
|
+
// Demo-only invalid reasons (in the engine these come from the validity pass).
|
|
128
|
+
exports.focusDemoInvalid = {
|
|
129
|
+
timeout: 'Must be greater than 0',
|
|
130
|
+
};
|
|
131
|
+
// Display labels for the named groups.
|
|
132
|
+
exports.focusDemoGroupLabels = {
|
|
133
|
+
connection: 'Connection',
|
|
134
|
+
authentication: 'Authentication',
|
|
135
|
+
advanced: 'Advanced',
|
|
136
|
+
optional: 'Optional',
|
|
137
|
+
general: 'General',
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=focusDemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focusDemo.js","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/focusDemo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared row model for the FormEngine compact VARIANTS playground.
|
|
3
|
+
*
|
|
4
|
+
* This is a prototyping harness: every variant renders the SAME normalized rows
|
|
5
|
+
* (derived from a real options schema + values via the real `readFirst`
|
|
6
|
+
* formatters) and differs only in layout / chrome / UX. That keeps the
|
|
7
|
+
* comparison about presentation, not data. Editing is intentionally stubbed
|
|
8
|
+
* (expand shows a placeholder) — the point is to compare the read-first view
|
|
9
|
+
* that currently feels crowded, then graft the winner onto the real engine.
|
|
10
|
+
*/
|
|
11
|
+
import { IQorusFormField, IQorusFormSchema } from '@qoretechnologies/ts-toolkit';
|
|
12
|
+
export type TVariantStatus = 'set' | 'unset' | 'todo' | 'invalid';
|
|
13
|
+
export type TVariantValueKind = 'text' | 'number' | 'bool' | 'color' | 'file' | 'template' | 'richtext' | 'hash' | 'empty';
|
|
14
|
+
export interface IVariantValue {
|
|
15
|
+
kind: TVariantValueKind;
|
|
16
|
+
/** Human-readable summary (already formatted by readFirst). */
|
|
17
|
+
display: string;
|
|
18
|
+
/** color: css color; file: size label; hash: field count; template: label */
|
|
19
|
+
extra?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface IVariantRow {
|
|
22
|
+
name: string;
|
|
23
|
+
label: string;
|
|
24
|
+
shortDesc?: string;
|
|
25
|
+
longDesc?: string;
|
|
26
|
+
required: boolean;
|
|
27
|
+
readOnly: boolean;
|
|
28
|
+
status: TVariantStatus;
|
|
29
|
+
/** Short reason for todo/invalid, e.g. "Text value is empty". */
|
|
30
|
+
reason?: string;
|
|
31
|
+
value: IVariantValue;
|
|
32
|
+
typeLabel: string;
|
|
33
|
+
/** required_groups this field belongs to (one-of constraints). */
|
|
34
|
+
requiredGroups: string[];
|
|
35
|
+
/** True when this field is a member of an unsatisfied one-of group. */
|
|
36
|
+
inUnmetGroup: boolean;
|
|
37
|
+
/** Raw schema + value object — passed to AutoFormField for REAL editing. */
|
|
38
|
+
schema: any;
|
|
39
|
+
field: any;
|
|
40
|
+
}
|
|
41
|
+
export interface IVariantGroup {
|
|
42
|
+
name: string;
|
|
43
|
+
label: string;
|
|
44
|
+
rows: IVariantRow[];
|
|
45
|
+
}
|
|
46
|
+
/** One-of required group: members + whether any is filled. */
|
|
47
|
+
export interface IRequiredGroupInfo {
|
|
48
|
+
key: string;
|
|
49
|
+
members: string[];
|
|
50
|
+
memberLabels: string[];
|
|
51
|
+
satisfied: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface IVariantConfig {
|
|
54
|
+
groupLabels?: Record<string, string>;
|
|
55
|
+
/** name → reason; in the engine this comes from the validity pass. */
|
|
56
|
+
invalidReasons?: Record<string, string>;
|
|
57
|
+
}
|
|
58
|
+
export declare function buildVariantGroups(options: IQorusFormSchema, values: Record<string, IQorusFormField>, config?: IVariantConfig): {
|
|
59
|
+
groups: IVariantGroup[];
|
|
60
|
+
requiredGroups: Record<string, IRequiredGroupInfo>;
|
|
61
|
+
};
|
|
62
|
+
export declare function summarize(groups: IVariantGroup[]): {
|
|
63
|
+
total: number;
|
|
64
|
+
set: number;
|
|
65
|
+
todo: number;
|
|
66
|
+
invalid: number;
|
|
67
|
+
attention: number;
|
|
68
|
+
pct: number;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=variantModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variantModel.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/engine/variants/variantModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAajF,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,OAAO,GACP,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,GACV,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AA4CD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACvC,MAAM,GAAE,cAAmB,GAC1B;IAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;CAAE,CAqEjF;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE;;;;;;;EAShD"}
|