@qoretechnologies/reqraft 0.10.66-pr.145.gcb1e59d → 0.10.66
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/README.md +53 -1
- package/dist/components/Description/AllowedValuesHelp.d.ts +20 -0
- package/dist/components/Description/AllowedValuesHelp.d.ts.map +1 -0
- package/dist/components/Description/AllowedValuesHelp.js +86 -0
- package/dist/components/Description/AllowedValuesHelp.js.map +1 -0
- package/dist/components/Description/describedControl.d.ts +54 -0
- package/dist/components/Description/describedControl.d.ts.map +1 -0
- package/dist/components/Description/describedControl.js +81 -0
- package/dist/components/Description/describedControl.js.map +1 -0
- package/dist/components/Description/index.d.ts.map +1 -1
- package/dist/components/Description/index.js +3 -2
- package/dist/components/Description/index.js.map +1 -1
- package/dist/components/colorValue/colorValue.d.ts +59 -0
- package/dist/components/colorValue/colorValue.d.ts.map +1 -0
- package/dist/components/colorValue/colorValue.js +245 -0
- package/dist/components/colorValue/colorValue.js.map +1 -0
- package/dist/components/colorValue/index.d.ts +34 -0
- package/dist/components/colorValue/index.d.ts.map +1 -0
- package/dist/components/colorValue/index.js +136 -0
- package/dist/components/colorValue/index.js.map +1 -0
- package/dist/components/colorValue/labels.d.ts +12 -0
- package/dist/components/colorValue/labels.d.ts.map +1 -0
- package/dist/components/colorValue/labels.js +11 -0
- package/dist/components/colorValue/labels.js.map +1 -0
- package/dist/components/composer/Composer.d.ts +1 -1
- package/dist/components/composer/Composer.d.ts.map +1 -1
- package/dist/components/composer/Composer.js +2 -2
- package/dist/components/composer/Composer.js.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.js +156 -10
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlCompletions.d.ts +39 -0
- package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
- package/dist/components/dpqlEditor/dpqlCompletions.js +294 -0
- package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +54 -5
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +420 -63
- package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlInserter.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlInserter.js +67 -29
- package/dist/components/dpqlEditor/dpqlInserter.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.d.ts +17 -7
- package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.js +44 -17
- package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +94 -8
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +7 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +49 -17
- package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +336 -243
- 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 +20 -57
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +67 -59
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +606 -409
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
- package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
- package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
- package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts +2 -18
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +28 -25
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
- package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
- package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +11 -31
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +30 -6
- 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 +56 -31
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +121 -110
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
- package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
- package/dist/components/form/engine/compactToolbarColors.js +21 -0
- package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
- package/dist/components/form/engine/compactToolbarContext.d.ts +0 -3
- 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/inheritProps.d.ts +29 -0
- package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
- package/dist/components/form/engine/inheritProps.js +43 -0
- package/dist/components/form/engine/inheritProps.js.map +1 -0
- package/dist/components/form/engine/operatorSummary.d.ts +26 -0
- package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
- package/dist/components/form/engine/operatorSummary.js +35 -0
- package/dist/components/form/engine/operatorSummary.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +26 -22
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +79 -115
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/readFirstColors.d.ts +30 -0
- package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
- package/dist/components/form/engine/readFirstColors.js +51 -0
- package/dist/components/form/engine/readFirstColors.js.map +1 -0
- package/dist/components/form/engine/rowFocus.d.ts +3 -9
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +30 -19
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/engine/typeChoices.d.ts +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.js +2 -1
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
- package/dist/components/form/engine/variants/variantParts.js +25 -17
- package/dist/components/form/engine/variants/variantParts.js.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.js +7 -6
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +536 -114
- package/dist/components/form/expressions/ExpressionField.js.map +1 -1
- package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
- package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
- package/dist/components/form/expressions/argumentPresence.js +16 -1
- package/dist/components/form/expressions/argumentPresence.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
- package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
- package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
- package/dist/components/form/expressions/builder/index.d.ts +34 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +170 -80
- package/dist/components/form/expressions/builder/index.js.map +1 -1
- package/dist/components/form/expressions/builder/item.d.ts +6 -2
- package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/item.js +19 -5
- package/dist/components/form/expressions/builder/item.js.map +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
- package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
- package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
- package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
- package/dist/components/form/expressions/expressionOperands.js +97 -0
- package/dist/components/form/expressions/expressionOperands.js.map +1 -0
- package/dist/components/form/expressions/fieldPath.d.ts +24 -0
- package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
- package/dist/components/form/expressions/fieldPath.js +152 -0
- package/dist/components/form/expressions/fieldPath.js.map +1 -0
- package/dist/components/form/expressions/loneValue.d.ts +17 -0
- package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
- package/dist/components/form/expressions/loneValue.js +33 -0
- package/dist/components/form/expressions/loneValue.js.map +1 -0
- package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/mockExpressions.js +22 -5
- package/dist/components/form/expressions/mockExpressions.js.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
- package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.js +37 -25
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
- package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
- package/dist/components/form/expressions/textOfExpression.js +49 -0
- package/dist/components/form/expressions/textOfExpression.js.map +1 -0
- package/dist/components/form/expressions/types.d.ts +12 -0
- package/dist/components/form/expressions/types.d.ts.map +1 -1
- package/dist/components/form/expressions/types.js +6 -1
- package/dist/components/form/expressions/types.js.map +1 -1
- package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
- package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
- package/dist/components/form/expressions/useExpressionType.js +181 -0
- package/dist/components/form/expressions/useExpressionType.js.map +1 -0
- package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
- package/dist/components/form/expressions/useRenderExpression.js +13 -9
- package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
- package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
- package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
- package/dist/components/form/expressions/wildcardExpressions.js +101 -0
- package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +39 -18
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +0 -7
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +46 -35
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
- package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
- package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
- package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
- package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.js +24 -0
- package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
- package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +123 -79
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
- package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
- package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
- package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
- package/dist/components/form/fields/binary/Binary.js +23 -3
- package/dist/components/form/fields/binary/Binary.js.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
- package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.js +9 -1
- package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
- package/dist/components/form/fields/color/Color.d.ts +103 -16
- package/dist/components/form/fields/color/Color.d.ts.map +1 -1
- package/dist/components/form/fields/color/Color.js +616 -16
- package/dist/components/form/fields/color/Color.js.map +1 -1
- package/dist/components/form/fields/emittedValues.d.ts +34 -3
- package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
- package/dist/components/form/fields/emittedValues.js +24 -1
- package/dist/components/form/fields/emittedValues.js.map +1 -1
- package/dist/components/form/fields/file/File.d.ts +1 -1
- package/dist/components/form/fields/file/File.d.ts.map +1 -1
- package/dist/components/form/fields/file/File.js +4 -2
- package/dist/components/form/fields/file/File.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts +1 -7
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +30 -13
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +10 -7
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +7 -4
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +45 -18
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/object/Object.d.ts +1 -1
- package/dist/components/form/fields/object/Object.d.ts.map +1 -1
- package/dist/components/form/fields/object/Object.js +4 -2
- package/dist/components/form/fields/object/Object.js.map +1 -1
- package/dist/components/form/fields/pendingEdit.d.ts +52 -0
- package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
- package/dist/components/form/fields/pendingEdit.js +79 -0
- package/dist/components/form/fields/pendingEdit.js.map +1 -0
- package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/form/fields/radio-group/RadioGroup.js +8 -13
- package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +426 -91
- package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
- package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/index.js +8 -4
- package/dist/components/form/fields/schema-definition/index.js.map +1 -1
- package/dist/components/form/fields/select/Select.d.ts +10 -1
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +28 -14
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +25 -12
- package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
- package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
- package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
- package/dist/components/form/fields/select/unavailableRow.js +55 -0
- package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
- package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
- package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
- package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +706 -168
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
- package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplatePicker.js +459 -0
- package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
- package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
- package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateText.js +22 -16
- package/dist/components/form/fields/template/TemplateText.js.map +1 -1
- package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
- package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
- package/dist/components/form/fields/template/referenceNames.js +69 -0
- package/dist/components/form/fields/template/referenceNames.js.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.js +204 -0
- package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
- package/dist/components/form/index.d.ts +12 -2
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +25 -3
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/form/typeSentenceForm.d.ts +17 -0
- package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
- package/dist/components/form/typeSentenceForm.js +54 -0
- package/dist/components/form/typeSentenceForm.js.map +1 -0
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +19 -9
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/log/Log.d.ts.map +1 -1
- package/dist/components/log/Log.js +20 -8
- package/dist/components/log/Log.js.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +19 -10
- package/dist/components/menu/Menu.js.map +1 -1
- package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
- package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
- package/dist/components/smartEditor/CompletionMenu.js +302 -0
- package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
- package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
- package/dist/components/smartEditor/MarkdownDoc.js +3 -3
- package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
- package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
- package/dist/components/smartEditor/SmartEditor.js +616 -190
- package/dist/components/smartEditor/SmartEditor.js.map +1 -1
- package/dist/components/smartEditor/completionStyle.d.ts +28 -0
- package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
- package/dist/components/smartEditor/completionStyle.js +79 -0
- package/dist/components/smartEditor/completionStyle.js.map +1 -0
- package/dist/components/smartEditor/contextTitle.d.ts +10 -0
- package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
- package/dist/components/smartEditor/contextTitle.js +21 -0
- package/dist/components/smartEditor/contextTitle.js.map +1 -0
- package/dist/components/smartEditor/editingAids.d.ts +64 -0
- package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
- package/dist/components/smartEditor/editingAids.js +213 -0
- package/dist/components/smartEditor/editingAids.js.map +1 -0
- package/dist/components/smartEditor/index.d.ts +6 -1
- package/dist/components/smartEditor/index.d.ts.map +1 -1
- package/dist/components/smartEditor/index.js +19 -1
- package/dist/components/smartEditor/index.js.map +1 -1
- package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
- package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
- package/dist/components/smartEditor/templateCompletions.js +380 -0
- package/dist/components/smartEditor/templateCompletions.js.map +1 -0
- package/dist/components/smartEditor/typedReferences.d.ts +34 -0
- package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
- package/dist/components/smartEditor/typedReferences.js +179 -0
- package/dist/components/smartEditor/typedReferences.js.map +1 -0
- package/dist/components/smartEditor/types.d.ts +116 -2
- package/dist/components/smartEditor/types.d.ts.map +1 -1
- package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
- package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
- package/dist/components/smartEditor/useEditingAids.js +392 -0
- package/dist/components/smartEditor/useEditingAids.js.map +1 -0
- package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
- package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.js +592 -149
- package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
- package/dist/components/smartEditor/useLspHover.d.ts +33 -7
- package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspHover.js +364 -35
- package/dist/components/smartEditor/useLspHover.js.map +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
- package/dist/components/smartEditor/useLspSession.d.ts +6 -0
- package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSession.js +7 -6
- package/dist/components/smartEditor/useLspSession.js.map +1 -1
- package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
- package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
- package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
- package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
- package/dist/components/smartEditor/useTabCameIn.js +42 -0
- package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
- package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.js +15 -5
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +2 -3
- 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 +9 -3
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +38 -23
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +21 -6
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketReplyBox.js +10 -29
- package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
- package/dist/components/supportTicket/useLoadedImages.d.ts +0 -10
- package/dist/components/supportTicket/useLoadedImages.d.ts.map +1 -1
- package/dist/components/supportTicket/useLoadedImages.js +1 -63
- 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 +10 -9
- 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 +52 -21
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/allowedValues.d.ts +21 -12
- package/dist/helpers/allowedValues.d.ts.map +1 -1
- package/dist/helpers/allowedValues.js +40 -20
- package/dist/helpers/allowedValues.js.map +1 -1
- package/dist/helpers/descriptionTooltip.d.ts +46 -0
- package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
- package/dist/helpers/descriptionTooltip.js +76 -0
- package/dist/helpers/descriptionTooltip.js.map +1 -0
- package/dist/helpers/domProps.d.ts +5 -0
- package/dist/helpers/domProps.d.ts.map +1 -0
- package/dist/helpers/domProps.js +47 -0
- package/dist/helpers/domProps.js.map +1 -0
- package/dist/helpers/expressions.d.ts +115 -4
- package/dist/helpers/expressions.d.ts.map +1 -1
- package/dist/helpers/expressions.js +247 -29
- package/dist/helpers/expressions.js.map +1 -1
- package/dist/helpers/hoveringPointer.d.ts +26 -0
- package/dist/helpers/hoveringPointer.d.ts.map +1 -0
- package/dist/helpers/hoveringPointer.js +29 -0
- package/dist/helpers/hoveringPointer.js.map +1 -0
- package/dist/helpers/markdownText.d.ts +14 -0
- package/dist/helpers/markdownText.d.ts.map +1 -0
- package/dist/helpers/markdownText.js +160 -0
- package/dist/helpers/markdownText.js.map +1 -0
- package/dist/helpers/noDescription.d.ts +9 -0
- package/dist/helpers/noDescription.d.ts.map +1 -0
- package/dist/helpers/noDescription.js +13 -0
- package/dist/helpers/noDescription.js.map +1 -0
- package/dist/helpers/optionUiTypes.d.ts +2 -2
- package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.js +505 -0
- package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
- package/dist/helpers/readableColors.d.ts +36 -0
- package/dist/helpers/readableColors.d.ts.map +1 -0
- package/dist/helpers/readableColors.js +116 -0
- package/dist/helpers/readableColors.js.map +1 -0
- package/dist/helpers/recordFieldReference.d.ts +15 -0
- package/dist/helpers/recordFieldReference.d.ts.map +1 -0
- package/dist/helpers/recordFieldReference.js +89 -0
- package/dist/helpers/recordFieldReference.js.map +1 -0
- package/dist/helpers/singleLineString.d.ts.map +1 -1
- package/dist/helpers/singleLineString.js +0 -1
- package/dist/helpers/singleLineString.js.map +1 -1
- package/dist/helpers/templateCatalogue.d.ts +104 -0
- package/dist/helpers/templateCatalogue.d.ts.map +1 -0
- package/dist/helpers/templateCatalogue.js +116 -0
- package/dist/helpers/templateCatalogue.js.map +1 -0
- package/dist/helpers/templateCatalogueContext.d.ts +19 -0
- package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
- package/dist/helpers/templateCatalogueContext.js +31 -0
- package/dist/helpers/templateCatalogueContext.js.map +1 -0
- package/dist/helpers/templateItems.d.ts +2 -2
- package/dist/helpers/templateItems.d.ts.map +1 -1
- package/dist/helpers/templateItems.js +6 -4
- package/dist/helpers/templateItems.js.map +1 -1
- package/dist/helpers/templateText.d.ts +1 -0
- package/dist/helpers/templateText.d.ts.map +1 -1
- package/dist/helpers/templateText.js +7 -3
- package/dist/helpers/templateText.js.map +1 -1
- package/dist/helpers/templateTree.d.ts +248 -0
- package/dist/helpers/templateTree.d.ts.map +1 -0
- package/dist/helpers/templateTree.js +892 -0
- package/dist/helpers/templateTree.js.map +1 -0
- package/dist/helpers/templateType.d.ts +28 -0
- package/dist/helpers/templateType.d.ts.map +1 -0
- package/dist/helpers/templateType.js +30 -0
- package/dist/helpers/templateType.js.map +1 -0
- package/dist/helpers/templates.d.ts +86 -16
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +305 -45
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +27 -0
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +169 -39
- package/dist/helpers/validations.js.map +1 -1
- package/dist/helpers/webLink.d.ts +8 -0
- package/dist/helpers/webLink.d.ts.map +1 -0
- package/dist/helpers/webLink.js +29 -0
- package/dist/helpers/webLink.js.map +1 -0
- package/dist/hooks/useQorusTypes.d.ts +12 -17
- package/dist/hooks/useQorusTypes.d.ts.map +1 -1
- package/dist/hooks/useQorusTypes.js +44 -172
- package/dist/hooks/useQorusTypes.js.map +1 -1
- package/dist/hooks/useReadableIntentShade.d.ts +9 -0
- package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
- package/dist/hooks/useReadableIntentShade.js +23 -0
- package/dist/hooks/useReadableIntentShade.js.map +1 -0
- package/dist/hooks/useReadableOpacity.d.ts +6 -0
- package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
- package/dist/hooks/useReadableOpacity.js +17 -0
- package/dist/hooks/useReadableOpacity.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
- package/dist/tracking/ui/ExperimentCard.js +26 -10
- package/dist/tracking/ui/ExperimentCard.js.map +1 -1
- package/dist/tracking/ui/card.d.ts +2 -2
- package/dist/tracking/ui/card.d.ts.map +1 -1
- package/dist/tracking/ui/card.js +2 -2
- package/dist/tracking/ui/card.js.map +1 -1
- package/dist/tracking/ui/readable.d.ts +14 -0
- package/dist/tracking/ui/readable.d.ts.map +1 -0
- package/dist/tracking/ui/readable.js +60 -0
- package/dist/tracking/ui/readable.js.map +1 -0
- package/dist/utils/fetch.d.ts +9 -2
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +6 -5
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/lspClient.types.d.ts +2 -0
- package/dist/utils/lspClient.types.d.ts.map +1 -1
- package/dist/utils/websocket.d.ts +65 -2
- package/dist/utils/websocket.d.ts.map +1 -1
- package/dist/utils/websocket.js +276 -44
- package/dist/utils/websocket.js.map +1 -1
- package/package.json +14 -6
- package/.claude/CLAUDE.md +0 -317
- package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
- package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
- package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
- package/.tasks/FIELD_STACK_REPORT.md +0 -234
- package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
- package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
- package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
- package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
- package/.tasks/INDEX.md +0 -111
- package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
- package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
- package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
- package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
- package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
- package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
- package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
- package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
- package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
- package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
- package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
- package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
- package/CODE_OF_CONDUCT.md +0 -105
- package/CONTRIBUTING.MD +0 -78
- package/SECURITY.md +0 -3
- package/chromatic.config.json +0 -5
- package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
- package/design/COMPACT_INFO_DISPLAY.md +0 -87
- package/design/COMPACT_PARITY.md +0 -85
- package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
- package/design/FORM_ENGINE_COMPACT.md +0 -300
- package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
- package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
- package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
- package/design/IDE_INTEGRATION.md +0 -64
- package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
- package/design/SELECT_DIALOG_FLOOR.md +0 -86
- package/design/SMART_EDITOR_UX.md +0 -438
- package/design/TRACKING.md +0 -290
- package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
- package/dist/components/form/engine/formAppearance.d.ts +0 -49
- package/dist/components/form/engine/formAppearance.d.ts.map +0 -1
- package/dist/components/form/engine/formAppearance.js +0 -50
- package/dist/components/form/engine/formAppearance.js.map +0 -1
- package/dist/components/form/fields/ChoiceGroupHeading.d.ts +0 -21
- package/dist/components/form/fields/ChoiceGroupHeading.d.ts.map +0 -1
- package/dist/components/form/fields/ChoiceGroupHeading.js +0 -33
- package/dist/components/form/fields/ChoiceGroupHeading.js.map +0 -1
- package/dist/components/form/fields/allowed-values/savedValues.d.ts +0 -30
- package/dist/components/form/fields/allowed-values/savedValues.d.ts.map +0 -1
- package/dist/components/form/fields/allowed-values/savedValues.js +0 -39
- package/dist/components/form/fields/allowed-values/savedValues.js.map +0 -1
- package/dist/helpers/fieldDescription.d.ts +0 -16
- package/dist/helpers/fieldDescription.d.ts.map +0 -1
- package/dist/helpers/fieldDescription.js +0 -40
- package/dist/helpers/fieldDescription.js.map +0 -1
- package/src/components/Description/index.tsx +0 -254
- package/src/components/Description/markdownRendererContext.tsx +0 -29
- package/src/components/FocusedEditing/index.tsx +0 -50
- package/src/components/codeSize/index.tsx +0 -79
- package/src/components/composer/Composer.stories.tsx +0 -238
- package/src/components/composer/Composer.tsx +0 -554
- package/src/components/composer/helpers.ts +0 -74
- package/src/components/composer/index.ts +0 -2
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
- package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
- package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
- package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
- package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
- package/src/components/dpqlEditor/dpqlTags.ts +0 -114
- package/src/components/dpqlEditor/index.ts +0 -41
- package/src/components/dpqlEditor/types.ts +0 -203
- package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
- package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
- package/src/components/form/engine/CompactRow.tsx +0 -2740
- package/src/components/form/engine/CompactToolbar.tsx +0 -399
- package/src/components/form/engine/FormEngine.stories.tsx +0 -9934
- package/src/components/form/engine/FormEngine.tsx +0 -4891
- package/src/components/form/engine/FormEngineAppearance.stories.tsx +0 -609
- package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -335
- package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
- package/src/components/form/engine/OptionFieldMessages.tsx +0 -548
- package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
- package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
- package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
- package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -755
- package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
- package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
- package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
- package/src/components/form/engine/compactRowContext.ts +0 -153
- package/src/components/form/engine/compactRowStyles.ts +0 -1087
- package/src/components/form/engine/compactToolbarContext.ts +0 -72
- package/src/components/form/engine/formAppearance.ts +0 -79
- package/src/components/form/engine/optionActions.ts +0 -128
- package/src/components/form/engine/optionsContext.ts +0 -24
- package/src/components/form/engine/readFirst.ts +0 -1090
- package/src/components/form/engine/rendererTypes.ts +0 -107
- package/src/components/form/engine/revealRow.ts +0 -123
- package/src/components/form/engine/rowFocus.ts +0 -112
- package/src/components/form/engine/rowMenuContext.ts +0 -159
- package/src/components/form/engine/rowOpenPicker.ts +0 -27
- package/src/components/form/engine/typeChoices.ts +0 -63
- package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
- package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
- package/src/components/form/engine/variants/VariantCards.tsx +0 -212
- package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
- package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
- package/src/components/form/engine/variants/focusDemo.ts +0 -145
- package/src/components/form/engine/variants/variantModel.ts +0 -223
- package/src/components/form/engine/variants/variantParts.tsx +0 -313
- package/src/components/form/expressions/DpqlRendering.tsx +0 -85
- package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
- package/src/components/form/expressions/ExpressionField.tsx +0 -503
- package/src/components/form/expressions/argumentPresence.ts +0 -213
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
- package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
- package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
- package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
- package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
- package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
- package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
- package/src/components/form/expressions/builder/index.tsx +0 -1545
- package/src/components/form/expressions/builder/item.tsx +0 -89
- package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
- package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
- package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
- package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
- package/src/components/form/expressions/mockExpressions.ts +0 -317
- package/src/components/form/expressions/renderExpressionToText.ts +0 -152
- package/src/components/form/expressions/types.ts +0 -110
- package/src/components/form/expressions/useExpressions.ts +0 -101
- package/src/components/form/expressions/useRenderExpression.ts +0 -165
- package/src/components/form/fields/ChoiceGroupHeading.tsx +0 -38
- package/src/components/form/fields/Field.stories.tsx +0 -143
- package/src/components/form/fields/Field.tsx +0 -734
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -321
- package/src/components/form/fields/allowed-values/savedValues.ts +0 -64
- package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
- package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
- package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
- package/src/components/form/fields/auto/AutoFormField.tsx +0 -1183
- package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
- package/src/components/form/fields/binary/Binary.tsx +0 -91
- package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
- package/src/components/form/fields/boolean/Boolean.tsx +0 -34
- package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
- package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
- package/src/components/form/fields/color/Color.stories.tsx +0 -99
- package/src/components/form/fields/color/Color.tsx +0 -46
- package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
- package/src/components/form/fields/cron/Cron.tsx +0 -80
- package/src/components/form/fields/date/Date.stories.tsx +0 -77
- package/src/components/form/fields/date/Date.tsx +0 -55
- package/src/components/form/fields/emittedValues.ts +0 -70
- package/src/components/form/fields/file/File.stories.tsx +0 -161
- package/src/components/form/fields/file/File.tsx +0 -227
- package/src/components/form/fields/long-string/LongString.stories.tsx +0 -147
- package/src/components/form/fields/long-string/LongString.tsx +0 -141
- package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
- package/src/components/form/fields/markdown/Markdown.tsx +0 -81
- package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -140
- package/src/components/form/fields/number/Number.stories.tsx +0 -159
- package/src/components/form/fields/number/Number.tsx +0 -175
- package/src/components/form/fields/object/Object.stories.tsx +0 -398
- package/src/components/form/fields/object/Object.tsx +0 -255
- package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
- package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -52
- package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
- package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
- package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
- package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
- package/src/components/form/fields/rich-text/RichText.tsx +0 -537
- package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
- package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
- package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
- package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
- package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
- package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
- package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
- package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
- package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
- package/src/components/form/fields/schema-definition/catalog.ts +0 -237
- package/src/components/form/fields/schema-definition/helpers.ts +0 -90
- package/src/components/form/fields/schema-definition/index.tsx +0 -418
- package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
- package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
- package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
- package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
- package/src/components/form/fields/schema-definition/types.ts +0 -185
- package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
- package/src/components/form/fields/select/Select.stories.tsx +0 -872
- package/src/components/form/fields/select/Select.tsx +0 -624
- package/src/components/form/fields/select/SelectCollection.tsx +0 -594
- package/src/components/form/fields/string/String.stories.tsx +0 -86
- package/src/components/form/fields/string/String.tsx +0 -43
- package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
- package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
- package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
- package/src/components/form/fields/template/TemplateField.tsx +0 -1749
- package/src/components/form/fields/template/TemplateText.tsx +0 -115
- package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
- package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
- package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
- package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
- package/src/components/form/fields/timeout/Timeout.tsx +0 -87
- package/src/components/form/fields/url/Url.stories.tsx +0 -94
- package/src/components/form/fields/url/Url.tsx +0 -85
- package/src/components/form/index.tsx +0 -49
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -238
- package/src/components/imageLightbox/index.ts +0 -1
- package/src/components/log/Log.stories.tsx +0 -333
- package/src/components/log/Log.tsx +0 -285
- package/src/components/menu/Menu.stories.tsx +0 -155
- package/src/components/menu/Menu.tsx +0 -312
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
- package/src/components/qonsoleSmartInput/index.ts +0 -16
- package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
- package/src/components/qonsoleSmartInput/types.ts +0 -133
- package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
- package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
- package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
- package/src/components/searchFilterBar/index.ts +0 -1
- package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
- package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
- package/src/components/smartEditor/SmartEditor.tsx +0 -808
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
- package/src/components/smartEditor/helpers.ts +0 -217
- package/src/components/smartEditor/index.ts +0 -35
- package/src/components/smartEditor/styling.ts +0 -45
- package/src/components/smartEditor/types.ts +0 -211
- package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
- package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
- package/src/components/smartEditor/useLspHover.ts +0 -230
- package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
- package/src/components/smartEditor/useLspSession.ts +0 -231
- package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
- package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
- package/src/components/supportTicket/AttachmentChips.tsx +0 -147
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -130
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -580
- package/src/components/supportTicket/ReferencePicker.tsx +0 -573
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -120
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -248
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
- package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -357
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -172
- package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
- package/src/components/supportTicket/attachmentAccess.ts +0 -97
- package/src/components/supportTicket/fileToAttachment.ts +0 -24
- package/src/components/supportTicket/index.ts +0 -10
- package/src/components/supportTicket/meta.ts +0 -206
- package/src/components/supportTicket/ticketModel.ts +0 -131
- package/src/components/supportTicket/useLoadedImages.ts +0 -93
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -341
- package/src/components/ticketReferences/TicketReferences.tsx +0 -914
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -898
- package/src/components/ticketThread/TicketThread.tsx +0 -706
- package/src/components/ticketThread/index.ts +0 -6
- package/src/contexts/FetchContext.tsx +0 -25
- package/src/contexts/ReqraftContext.tsx +0 -9
- package/src/contexts/StorageContext.tsx +0 -33
- package/src/global.d.ts +0 -4
- package/src/helpers/allowedValues.ts +0 -268
- package/src/helpers/choiceChip.ts +0 -227
- package/src/helpers/common.ts +0 -326
- package/src/helpers/dpqlDetection.ts +0 -209
- package/src/helpers/expressions.ts +0 -140
- package/src/helpers/fieldDescription.ts +0 -39
- package/src/helpers/optionUiTypes.ts +0 -199
- package/src/helpers/options.ts +0 -150
- package/src/helpers/providerValue.ts +0 -125
- package/src/helpers/scrollbar.ts +0 -32
- package/src/helpers/singleLineString.ts +0 -62
- package/src/helpers/templateItems.ts +0 -81
- package/src/helpers/templateText.ts +0 -350
- package/src/helpers/templates.ts +0 -602
- package/src/helpers/validations.ts +0 -2085
- package/src/hooks/useArgSchema.ts +0 -37
- package/src/hooks/useCoarsePointer.ts +0 -30
- package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
- package/src/hooks/useFetch/useFetch.tsx +0 -154
- package/src/hooks/usePhoneViewport.ts +0 -34
- package/src/hooks/useQorusTypes.ts +0 -233
- package/src/hooks/useReqraftProperty.ts +0 -16
- package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
- package/src/hooks/useStorage/useStorage.ts +0 -35
- package/src/hooks/useTemplates.ts +0 -123
- package/src/hooks/useValidation.ts +0 -9
- package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
- package/src/hooks/useWhyDidYouUpdate.ts +0 -38
- package/src/index.tsx +0 -86
- package/src/providers/FetchProvider.tsx +0 -40
- package/src/providers/ReqraftProvider.tsx +0 -52
- package/src/providers/StorageProvider.tsx +0 -131
- package/src/stores/currentUser/currentUser.stories.tsx +0 -100
- package/src/stores/currentUser/currentUser.tsx +0 -94
- package/src/stories/Data/fileFieldArgSchema.json +0 -86
- package/src/stories/Tests/utils.ts +0 -320
- package/src/stories/storyNetwork.ts +0 -92
- package/src/stories/tracking.tsx +0 -206
- package/src/tracking/browser/attach.ts +0 -186
- package/src/tracking/browser/env.ts +0 -78
- package/src/tracking/core/consent.ts +0 -37
- package/src/tracking/core/engagement.ts +0 -47
- package/src/tracking/core/experiments.ts +0 -258
- package/src/tracking/core/hash.ts +0 -26
- package/src/tracking/core/ids.ts +0 -25
- package/src/tracking/core/observable.ts +0 -23
- package/src/tracking/core/queue.ts +0 -131
- package/src/tracking/core/sections.ts +0 -166
- package/src/tracking/core/storage.ts +0 -69
- package/src/tracking/core/tracker.ts +0 -417
- package/src/tracking/core/types.ts +0 -162
- package/src/tracking/core/utm.ts +0 -23
- package/src/tracking/index.ts +0 -72
- package/src/tracking/markup.ts +0 -17
- package/src/tracking/react/Experiment.tsx +0 -44
- package/src/tracking/react/TrackingProvider.tsx +0 -56
- package/src/tracking/react/hooks.ts +0 -106
- package/src/tracking/react/index.ts +0 -13
- package/src/tracking/testing.ts +0 -108
- package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
- package/src/tracking/ui/ExperimentCard.tsx +0 -667
- package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
- package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
- package/src/tracking/ui/anchor.ts +0 -180
- package/src/tracking/ui/card.ts +0 -464
- package/src/tracking/ui/client.ts +0 -117
- package/src/tracking/ui/index.ts +0 -77
- package/src/tracking/ui/types.ts +0 -110
- package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
- package/src/types/Form.ts +0 -29
- package/src/types.ts +0 -14
- package/src/utils/datetime.ts +0 -10
- package/src/utils/fetch.ts +0 -457
- package/src/utils/lspClient.ts +0 -711
- package/src/utils/lspClient.types.ts +0 -211
- package/src/utils/queryUnlessCancelled.ts +0 -28
- package/src/utils/websocket.ts +0 -293
- package/vite.config.ts +0 -58
- package/vitest.config.ts +0 -69
|
@@ -1,223 +0,0 @@
|
|
|
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
|
-
import {
|
|
13
|
-
colorToCss,
|
|
14
|
-
formatBytes,
|
|
15
|
-
formatOptionValue,
|
|
16
|
-
getFileSize,
|
|
17
|
-
getOptionGroup,
|
|
18
|
-
getOptionGroupLabel,
|
|
19
|
-
getValueType,
|
|
20
|
-
isOptionValueEmpty,
|
|
21
|
-
} from '../readFirst';
|
|
22
|
-
import { isValueTemplate } from '../../../../helpers/templates';
|
|
23
|
-
import { hasAllDependenciesFullfilled } from '../../../../helpers/validations';
|
|
24
|
-
|
|
25
|
-
export type TVariantStatus =
|
|
26
|
-
| 'set' // has a valid value
|
|
27
|
-
| 'unset' // empty, not required — calm, no alarm
|
|
28
|
-
| 'todo' // required (or required-group) but unset — gentle amber
|
|
29
|
-
| 'invalid'; // user-entered value fails validation — red (only when surfaced)
|
|
30
|
-
|
|
31
|
-
export type TVariantValueKind =
|
|
32
|
-
| 'text'
|
|
33
|
-
| 'number'
|
|
34
|
-
| 'bool'
|
|
35
|
-
| 'color'
|
|
36
|
-
| 'file'
|
|
37
|
-
| 'template'
|
|
38
|
-
| 'richtext'
|
|
39
|
-
| 'hash'
|
|
40
|
-
| 'empty';
|
|
41
|
-
|
|
42
|
-
export interface IVariantValue {
|
|
43
|
-
kind: TVariantValueKind;
|
|
44
|
-
/** Human-readable summary (already formatted by readFirst). */
|
|
45
|
-
display: string;
|
|
46
|
-
/** color: css color; file: size label; hash: field count; template: label */
|
|
47
|
-
extra?: string;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export interface IVariantRow {
|
|
51
|
-
name: string;
|
|
52
|
-
label: string;
|
|
53
|
-
shortDesc?: string;
|
|
54
|
-
longDesc?: string;
|
|
55
|
-
required: boolean;
|
|
56
|
-
readOnly: boolean;
|
|
57
|
-
status: TVariantStatus;
|
|
58
|
-
/** Short reason for todo/invalid, e.g. "Text value is empty". */
|
|
59
|
-
reason?: string;
|
|
60
|
-
value: IVariantValue;
|
|
61
|
-
typeLabel: string;
|
|
62
|
-
/** required_groups this field belongs to (one-of constraints). */
|
|
63
|
-
requiredGroups: string[];
|
|
64
|
-
/** True when this field is a member of an unsatisfied one-of group. */
|
|
65
|
-
inUnmetGroup: boolean;
|
|
66
|
-
/** Raw schema + value object — passed to AutoFormField for REAL editing. */
|
|
67
|
-
schema: any;
|
|
68
|
-
field: any;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export interface IVariantGroup {
|
|
72
|
-
name: string;
|
|
73
|
-
label: string;
|
|
74
|
-
rows: IVariantRow[];
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/** One-of required group: members + whether any is filled. */
|
|
78
|
-
export interface IRequiredGroupInfo {
|
|
79
|
-
key: string;
|
|
80
|
-
members: string[];
|
|
81
|
-
memberLabels: string[];
|
|
82
|
-
satisfied: boolean;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export interface IVariantConfig {
|
|
86
|
-
groupLabels?: Record<string, string>;
|
|
87
|
-
/** name → reason; in the engine this comes from the validity pass. */
|
|
88
|
-
invalidReasons?: Record<string, string>;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Default (basic-fixture) invalid set — overridable via config.
|
|
92
|
-
const DEFAULT_INVALID: Record<string, string> = {
|
|
93
|
-
optionWithInvalidValue: 'Text value is empty',
|
|
94
|
-
schemaOption: 'Hash arguments are invalid',
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
function buildValue(field: IQorusFormField | undefined, schema: any): IVariantValue {
|
|
98
|
-
if (!field || isOptionValueEmpty(field.value)) return { kind: 'empty', display: '' };
|
|
99
|
-
|
|
100
|
-
const valueType = getValueType(field, schema);
|
|
101
|
-
const formatted = formatOptionValue(field, schema);
|
|
102
|
-
|
|
103
|
-
if (valueType === 'rgbcolor') {
|
|
104
|
-
return { kind: 'color', display: formatted, extra: colorToCss(field.value) };
|
|
105
|
-
}
|
|
106
|
-
if (valueType === 'file') {
|
|
107
|
-
const size = getFileSize(field.value);
|
|
108
|
-
return {
|
|
109
|
-
kind: 'file',
|
|
110
|
-
display: formatted,
|
|
111
|
-
extra: size !== undefined ? formatBytes(size) : undefined,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
if (valueType === 'bool' || valueType === 'boolean') {
|
|
115
|
-
return { kind: 'bool', display: formatted };
|
|
116
|
-
}
|
|
117
|
-
if (valueType === 'hash' || valueType === 'free-hash') {
|
|
118
|
-
return { kind: 'hash', display: formatted };
|
|
119
|
-
}
|
|
120
|
-
if (typeof field.value === 'string' && isValueTemplate(field.value)) {
|
|
121
|
-
// The real chip resolves the template's display name from the templates
|
|
122
|
-
// list; the prototype shows a friendly label of the key.
|
|
123
|
-
const label =
|
|
124
|
-
field.value.replace(/^\$[a-z]+:/i, '').replace(/[-_]/g, ' ') || field.value;
|
|
125
|
-
return { kind: 'template', display: label.replace(/\b\w/g, (c) => c.toUpperCase()), extra: 'local' };
|
|
126
|
-
}
|
|
127
|
-
if (valueType === 'richtext' && Array.isArray(field.value)) {
|
|
128
|
-
return { kind: 'richtext', display: formatted };
|
|
129
|
-
}
|
|
130
|
-
return { kind: 'text', display: formatted };
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export function buildVariantGroups(
|
|
134
|
-
options: IQorusFormSchema,
|
|
135
|
-
values: Record<string, IQorusFormField>,
|
|
136
|
-
config: IVariantConfig = {}
|
|
137
|
-
): { groups: IVariantGroup[]; requiredGroups: Record<string, IRequiredGroupInfo> } {
|
|
138
|
-
const invalidReasons = config.invalidReasons ?? DEFAULT_INVALID;
|
|
139
|
-
const groupMap = new Map<string, IVariantGroup>();
|
|
140
|
-
|
|
141
|
-
// Pass 1: collect one-of required-group membership + satisfaction.
|
|
142
|
-
const reqGroups: Record<string, IRequiredGroupInfo> = {};
|
|
143
|
-
Object.entries(options).forEach(([name, schema]: [string, any]) => {
|
|
144
|
-
(schema?.required_groups || []).forEach((key: string) => {
|
|
145
|
-
if (!reqGroups[key]) reqGroups[key] = { key, members: [], memberLabels: [], satisfied: false };
|
|
146
|
-
reqGroups[key].members.push(name);
|
|
147
|
-
reqGroups[key].memberLabels.push((schema?.display_name as string) || name);
|
|
148
|
-
if (!isOptionValueEmpty(values[name]?.value)) reqGroups[key].satisfied = true;
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
Object.entries(options).forEach(([name, schema]: [string, any]) => {
|
|
153
|
-
const field = values[name];
|
|
154
|
-
const empty = isOptionValueEmpty(field?.value);
|
|
155
|
-
const ownGroups: string[] = schema?.required_groups || [];
|
|
156
|
-
// Member of a one-of group that nobody has satisfied yet.
|
|
157
|
-
// A field locked by an unmet `depends_on` does not apply yet, so it is
|
|
158
|
-
// neither required nor part of an unmet group — the engine's rule.
|
|
159
|
-
const locked =
|
|
160
|
-
!!schema?.depends_on && !hasAllDependenciesFullfilled(schema.depends_on, values, options);
|
|
161
|
-
const inUnmetGroup =
|
|
162
|
-
!locked && ownGroups.some((k) => reqGroups[k] && !reqGroups[k].satisfied);
|
|
163
|
-
const required = !locked && !!schema?.required;
|
|
164
|
-
|
|
165
|
-
let status: TVariantStatus;
|
|
166
|
-
let reason: string | undefined;
|
|
167
|
-
if (invalidReasons[name]) {
|
|
168
|
-
status = 'invalid';
|
|
169
|
-
reason = invalidReasons[name];
|
|
170
|
-
} else if (empty && required) {
|
|
171
|
-
status = 'todo';
|
|
172
|
-
reason = 'Needs a value';
|
|
173
|
-
} else if (empty && inUnmetGroup) {
|
|
174
|
-
status = 'todo';
|
|
175
|
-
reason = `One of ${reqGroups[ownGroups[0]].memberLabels.join(' / ')}`;
|
|
176
|
-
} else if (empty) {
|
|
177
|
-
status = 'unset';
|
|
178
|
-
} else {
|
|
179
|
-
status = 'set';
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
const groupName = getOptionGroup(schema);
|
|
183
|
-
const groupLabel = config.groupLabels?.[groupName] ?? getOptionGroupLabel(groupName, undefined);
|
|
184
|
-
if (!groupMap.has(groupName)) {
|
|
185
|
-
groupMap.set(groupName, { name: groupName, label: groupLabel, rows: [] });
|
|
186
|
-
}
|
|
187
|
-
groupMap.get(groupName)!.rows.push({
|
|
188
|
-
name,
|
|
189
|
-
label: (schema?.display_name as string) || name,
|
|
190
|
-
shortDesc: schema?.short_desc,
|
|
191
|
-
longDesc: schema?.desc,
|
|
192
|
-
// The asterisk still marks it: it is required once it applies.
|
|
193
|
-
required: !!schema?.required || ownGroups.length > 0,
|
|
194
|
-
readOnly: !!schema?.readonly,
|
|
195
|
-
status,
|
|
196
|
-
reason,
|
|
197
|
-
value: buildValue(field, schema),
|
|
198
|
-
typeLabel: `${(schema?.ui_type as string) || (schema?.type as string) || 'auto'}`,
|
|
199
|
-
requiredGroups: ownGroups,
|
|
200
|
-
inUnmetGroup,
|
|
201
|
-
schema,
|
|
202
|
-
field,
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
// Stable group order: 'general' first, then the rest, 'optional' last.
|
|
207
|
-
const groups = Array.from(groupMap.values()).sort((a, b) => {
|
|
208
|
-
const rank = (g: string) => (g === 'general' ? 0 : g === 'optional' ? 2 : 1);
|
|
209
|
-
return rank(a.name) - rank(b.name);
|
|
210
|
-
});
|
|
211
|
-
return { groups, requiredGroups: reqGroups };
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
export function summarize(groups: IVariantGroup[]) {
|
|
215
|
-
const rows = groups.flatMap((g) => g.rows);
|
|
216
|
-
const total = rows.length;
|
|
217
|
-
const set = rows.filter((r) => r.status === 'set').length;
|
|
218
|
-
const todo = rows.filter((r) => r.status === 'todo').length;
|
|
219
|
-
const invalid = rows.filter((r) => r.status === 'invalid').length;
|
|
220
|
-
const attention = todo + invalid;
|
|
221
|
-
const pct = total ? Math.round((set / total) * 100) : 0;
|
|
222
|
-
return { total, set, todo, invalid, attention, pct };
|
|
223
|
-
}
|
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared rendering parts for the FormEngine compact VARIANTS playground.
|
|
3
|
-
* Value rendering is shared so every variant shows identical data; the `tone`
|
|
4
|
-
* prop lets a variant choose a calm (desaturated) or vivid chip treatment.
|
|
5
|
-
*/
|
|
6
|
-
import {
|
|
7
|
-
ReqoreButton,
|
|
8
|
-
ReqoreCollapsibleContent,
|
|
9
|
-
ReqoreControlGroup,
|
|
10
|
-
ReqoreIcon,
|
|
11
|
-
ReqoreInput,
|
|
12
|
-
ReqoreTag,
|
|
13
|
-
} from '@qoretechnologies/reqore';
|
|
14
|
-
import { useReqoreTheme } from '@qoretechnologies/reqore/dist/hooks/useTheme';
|
|
15
|
-
import React from 'react';
|
|
16
|
-
import { AutoFormField } from '../../fields/auto/AutoFormField';
|
|
17
|
-
import { StructuredDataView } from '../_structuredData/StructuredDataView';
|
|
18
|
-
import {
|
|
19
|
-
buildVariantGroups,
|
|
20
|
-
summarize,
|
|
21
|
-
IVariantGroup,
|
|
22
|
-
IVariantRow,
|
|
23
|
-
IVariantValue,
|
|
24
|
-
TVariantStatus,
|
|
25
|
-
} from './variantModel';
|
|
26
|
-
|
|
27
|
-
export function useVariantColors() {
|
|
28
|
-
const theme = useReqoreTheme();
|
|
29
|
-
const intents = (theme.intents || {}) as Record<string, string>;
|
|
30
|
-
return {
|
|
31
|
-
main: theme.main as string,
|
|
32
|
-
text: (theme.text?.color as string) || '#e8e8e8',
|
|
33
|
-
muted: `${(theme.text?.color as string) || '#e8e8e8'}99`,
|
|
34
|
-
faint: `${(theme.text?.color as string) || '#e8e8e8'}55`,
|
|
35
|
-
line: `${(theme.text?.color as string) || '#ffffff'}14`,
|
|
36
|
-
hover: `${(theme.text?.color as string) || '#ffffff'}0c`,
|
|
37
|
-
surface: `${(theme.text?.color as string) || '#ffffff'}08`,
|
|
38
|
-
danger: intents.danger || '#a82a2a',
|
|
39
|
-
warning: intents.warning || '#d17c29',
|
|
40
|
-
success: intents.success || '#4a7110',
|
|
41
|
-
info: intents.info || '#3b7bbf',
|
|
42
|
-
custom1: intents.custom1 || '#762f7e',
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export const STATUS_COLOR = (
|
|
47
|
-
status: TVariantStatus,
|
|
48
|
-
c: ReturnType<typeof useVariantColors>
|
|
49
|
-
) =>
|
|
50
|
-
status === 'invalid' ? c.danger
|
|
51
|
-
: status === 'todo' ? c.warning
|
|
52
|
-
: status === 'set' ? c.success
|
|
53
|
-
: c.faint;
|
|
54
|
-
|
|
55
|
-
/** A single status mark — one dot, color = severity. Replaces stripe+box+icon. */
|
|
56
|
-
export const StatusDot = ({
|
|
57
|
-
status,
|
|
58
|
-
size = 7,
|
|
59
|
-
}: {
|
|
60
|
-
status: TVariantStatus;
|
|
61
|
-
size?: number;
|
|
62
|
-
}) => {
|
|
63
|
-
const c = useVariantColors();
|
|
64
|
-
if (status === 'unset') return null;
|
|
65
|
-
return (
|
|
66
|
-
<span
|
|
67
|
-
aria-hidden
|
|
68
|
-
style={{
|
|
69
|
-
width: size,
|
|
70
|
-
height: size,
|
|
71
|
-
borderRadius: '50%',
|
|
72
|
-
flex: '0 0 auto',
|
|
73
|
-
background: STATUS_COLOR(status, c),
|
|
74
|
-
boxShadow: status !== 'set' ? `0 0 0 3px ${STATUS_COLOR(status, c)}22` : undefined,
|
|
75
|
-
}}
|
|
76
|
-
/>
|
|
77
|
-
);
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
/** The value summary. `tone='calm'` desaturates template/richtext chips. */
|
|
81
|
-
export const ValueView = ({
|
|
82
|
-
value,
|
|
83
|
-
tone = 'calm',
|
|
84
|
-
}: {
|
|
85
|
-
value: IVariantValue;
|
|
86
|
-
tone?: 'calm' | 'vivid';
|
|
87
|
-
}) => {
|
|
88
|
-
const c = useVariantColors();
|
|
89
|
-
const ellipsis: React.CSSProperties = {
|
|
90
|
-
overflow: 'hidden',
|
|
91
|
-
textOverflow: 'ellipsis',
|
|
92
|
-
whiteSpace: 'nowrap',
|
|
93
|
-
minWidth: 0,
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
switch (value.kind) {
|
|
97
|
-
case 'empty':
|
|
98
|
-
// A quiet dash reads as "no value" without shouting "Not set" on every row.
|
|
99
|
-
return <span style={{ color: c.faint }}>—</span>;
|
|
100
|
-
|
|
101
|
-
case 'color':
|
|
102
|
-
return (
|
|
103
|
-
<span style={{ display: 'inline-flex', alignItems: 'center', gap: 7, minWidth: 0 }}>
|
|
104
|
-
<span
|
|
105
|
-
aria-hidden
|
|
106
|
-
style={{
|
|
107
|
-
width: 12,
|
|
108
|
-
height: 12,
|
|
109
|
-
borderRadius: 3,
|
|
110
|
-
flex: '0 0 auto',
|
|
111
|
-
background: value.extra,
|
|
112
|
-
border: `1px solid ${c.line}`,
|
|
113
|
-
}}
|
|
114
|
-
/>
|
|
115
|
-
<span style={ellipsis}>{value.display}</span>
|
|
116
|
-
</span>
|
|
117
|
-
);
|
|
118
|
-
|
|
119
|
-
case 'file':
|
|
120
|
-
return (
|
|
121
|
-
<span style={{ display: 'inline-flex', alignItems: 'center', gap: 6, minWidth: 0 }}>
|
|
122
|
-
<ReqoreIcon icon='FileLine' size='13px' style={{ color: c.muted, flexShrink: 0 }} />
|
|
123
|
-
<span style={ellipsis}>{value.display}</span>
|
|
124
|
-
{value.extra ?
|
|
125
|
-
<span style={{ color: c.faint, fontSize: 11, flexShrink: 0 }}>{value.extra}</span>
|
|
126
|
-
: null}
|
|
127
|
-
</span>
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
case 'bool':
|
|
131
|
-
return <span>{value.display}</span>;
|
|
132
|
-
|
|
133
|
-
case 'hash':
|
|
134
|
-
return (
|
|
135
|
-
<span style={{ display: 'inline-flex', alignItems: 'center', gap: 6, color: c.muted }}>
|
|
136
|
-
<ReqoreIcon icon='BracesLine' size='12px' style={{ color: c.faint }} />
|
|
137
|
-
<span>{value.display}</span>
|
|
138
|
-
</span>
|
|
139
|
-
);
|
|
140
|
-
|
|
141
|
-
case 'template':
|
|
142
|
-
return tone === 'vivid' ?
|
|
143
|
-
<ReqoreTag size='small' intent='info' icon='ExchangeDollarLine' label={value.display} />
|
|
144
|
-
: <span
|
|
145
|
-
style={{
|
|
146
|
-
display: 'inline-flex',
|
|
147
|
-
alignItems: 'center',
|
|
148
|
-
gap: 5,
|
|
149
|
-
padding: '1px 7px',
|
|
150
|
-
borderRadius: 4,
|
|
151
|
-
background: c.surface,
|
|
152
|
-
border: `1px solid ${c.line}`,
|
|
153
|
-
color: c.text,
|
|
154
|
-
fontSize: 12,
|
|
155
|
-
maxWidth: '100%',
|
|
156
|
-
...ellipsis,
|
|
157
|
-
}}
|
|
158
|
-
>
|
|
159
|
-
<ReqoreIcon icon='ExchangeDollarLine' size='11px' style={{ color: c.custom1, flexShrink: 0 }} />
|
|
160
|
-
<span style={ellipsis}>{value.display}</span>
|
|
161
|
-
</span>;
|
|
162
|
-
|
|
163
|
-
case 'richtext':
|
|
164
|
-
return <span style={ellipsis}>{value.display}</span>;
|
|
165
|
-
|
|
166
|
-
default:
|
|
167
|
-
return <span style={ellipsis}>{value.display}</span>;
|
|
168
|
-
}
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
/** A reusable description disclosure used by every variant (tap-friendly).
|
|
172
|
-
* Unifies short_desc (inline) + long desc into ONE control. */
|
|
173
|
-
export const useDisclosure = () => {
|
|
174
|
-
const [open, setOpen] = React.useState<Record<string, boolean>>({});
|
|
175
|
-
return {
|
|
176
|
-
isOpen: (id: string) => !!open[id],
|
|
177
|
-
toggle: (id: string) => setOpen((p) => ({ ...p, [id]: !p[id] })),
|
|
178
|
-
};
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
// ---------------------------------------------------------------------------
|
|
182
|
-
// Shared form state: filter (all / needs-attention), add-field, inline editing.
|
|
183
|
-
// Each variant calls useVariantForm and renders <VariantToolbar> + <InlineEdit>.
|
|
184
|
-
// ---------------------------------------------------------------------------
|
|
185
|
-
export type TVariantFilter = 'all' | 'attention';
|
|
186
|
-
|
|
187
|
-
export function useVariantForm(options: any, values: any, config?: any) {
|
|
188
|
-
const [filter, setFilter] = React.useState<TVariantFilter>('all');
|
|
189
|
-
const [query, setQuery] = React.useState('');
|
|
190
|
-
const [showDescriptions, setShowDescriptions] = React.useState(false);
|
|
191
|
-
const [editing, setEditing] = React.useState<string | null>(null);
|
|
192
|
-
|
|
193
|
-
const { groups, requiredGroups } = React.useMemo(
|
|
194
|
-
() => buildVariantGroups(options, values, config),
|
|
195
|
-
[options, values, config]
|
|
196
|
-
);
|
|
197
|
-
const summary = React.useMemo(() => summarize(groups), [groups]);
|
|
198
|
-
|
|
199
|
-
// Filtered view: text query (label match) + 'attention' (todo/invalid only).
|
|
200
|
-
const visibleGroups: IVariantGroup[] = React.useMemo(() => {
|
|
201
|
-
const q = query.trim().toLowerCase();
|
|
202
|
-
return groups
|
|
203
|
-
.map((g) => ({
|
|
204
|
-
...g,
|
|
205
|
-
rows: g.rows.filter(
|
|
206
|
-
(r) =>
|
|
207
|
-
(filter === 'all' || r.status === 'todo' || r.status === 'invalid') &&
|
|
208
|
-
(!q || r.label.toLowerCase().includes(q) || r.name.toLowerCase().includes(q))
|
|
209
|
-
),
|
|
210
|
-
}))
|
|
211
|
-
.filter((g) => g.rows.length);
|
|
212
|
-
}, [groups, filter, query]);
|
|
213
|
-
|
|
214
|
-
return {
|
|
215
|
-
groups,
|
|
216
|
-
visibleGroups,
|
|
217
|
-
requiredGroups,
|
|
218
|
-
summary,
|
|
219
|
-
filter,
|
|
220
|
-
setFilter,
|
|
221
|
-
toggleAttention: () => setFilter((f) => (f === 'attention' ? 'all' : 'attention')),
|
|
222
|
-
query,
|
|
223
|
-
setQuery,
|
|
224
|
-
showDescriptions,
|
|
225
|
-
toggleDescriptions: () => setShowDescriptions((v) => !v),
|
|
226
|
-
editing,
|
|
227
|
-
startEdit: (name: string) => setEditing((cur) => (cur === name ? null : name)),
|
|
228
|
-
stopEdit: () => setEditing(null),
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export type TVariantForm = ReturnType<typeof useVariantForm>;
|
|
233
|
-
|
|
234
|
-
/** Compact toolbar: just a prominent filter field. The "needs attention" control
|
|
235
|
-
* lives in each variant's header (the count line is the link); all optional
|
|
236
|
-
* fields render inline in the Optional group, so there's no "add field" step. */
|
|
237
|
-
export const VariantToolbar = ({ form }: { form: TVariantForm }) => {
|
|
238
|
-
const c = useVariantColors();
|
|
239
|
-
const { summary, query, setQuery, showDescriptions, toggleDescriptions } = form;
|
|
240
|
-
return (
|
|
241
|
-
<ReqoreControlGroup verticalAlign='center' fluid>
|
|
242
|
-
<ReqoreInput
|
|
243
|
-
placeholder='Filter fields…'
|
|
244
|
-
icon='Search2Line'
|
|
245
|
-
iconColor='muted'
|
|
246
|
-
pill
|
|
247
|
-
fluid
|
|
248
|
-
value={query}
|
|
249
|
-
onChange={(e: any) => setQuery(e.currentTarget.value)}
|
|
250
|
-
onClearClick={() => setQuery('')}
|
|
251
|
-
/>
|
|
252
|
-
{/* Show short descriptions under every field — like the compact engine's
|
|
253
|
-
"Show all descriptions" toggle. Icon-only; info-intent when active. */}
|
|
254
|
-
<ReqoreButton
|
|
255
|
-
fixed
|
|
256
|
-
flat
|
|
257
|
-
minimal
|
|
258
|
-
intent={showDescriptions ? 'info' : undefined}
|
|
259
|
-
active={showDescriptions}
|
|
260
|
-
icon={showDescriptions ? 'InformationFill' : 'InformationLine'}
|
|
261
|
-
tooltip={showDescriptions ? 'Hide field descriptions' : 'Show field descriptions'}
|
|
262
|
-
onClick={toggleDescriptions}
|
|
263
|
-
/>
|
|
264
|
-
<span style={{ color: c.faint, fontSize: 12, paddingLeft: 4, whiteSpace: 'nowrap' }}>
|
|
265
|
-
{summary.set}/{summary.total} set
|
|
266
|
-
</span>
|
|
267
|
-
</ReqoreControlGroup>
|
|
268
|
-
);
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
/** Complex value preview — the SAME nested tree + "Show more" fade the compact
|
|
272
|
-
* engine uses, so hash/list fields show their contents immediately. */
|
|
273
|
-
export const ComplexPreview = ({ value, onOpen }: { value: unknown; onOpen?: () => void }) => (
|
|
274
|
-
<ReqoreCollapsibleContent maxCollapsedHeight={120}>
|
|
275
|
-
<div onClick={(e) => e.stopPropagation()}>
|
|
276
|
-
<StructuredDataView
|
|
277
|
-
value={value}
|
|
278
|
-
collapsibleRoot={false}
|
|
279
|
-
defaultExpandDepth={2}
|
|
280
|
-
onItemClick={onOpen}
|
|
281
|
-
/>
|
|
282
|
-
</div>
|
|
283
|
-
</ReqoreCollapsibleContent>
|
|
284
|
-
);
|
|
285
|
-
|
|
286
|
-
/** Inline editor: mounts the REAL field editor (AutoFormField) for the row's
|
|
287
|
-
* schema + value, so clicking a field edits it for real (string, number, bool,
|
|
288
|
-
* colour, file, richtext, list, date, …). Local state only — the prototype
|
|
289
|
-
* doesn't persist; in the engine this flows through handleValueChange. */
|
|
290
|
-
export const InlineEdit = ({ row, onDone }: { row: IVariantRow; onDone: () => void }) => {
|
|
291
|
-
const [value, setValue] = React.useState(row.field?.value);
|
|
292
|
-
return (
|
|
293
|
-
<div
|
|
294
|
-
style={{ gridColumn: '1 / -1', display: 'flex', flexFlow: 'column', gap: 8, padding: '10px 0 12px' }}
|
|
295
|
-
onClick={(e) => e.stopPropagation()}
|
|
296
|
-
>
|
|
297
|
-
<AutoFormField
|
|
298
|
-
{...(row.schema || {})}
|
|
299
|
-
name={row.name}
|
|
300
|
-
value={value}
|
|
301
|
-
default_value={row.schema?.default_value}
|
|
302
|
-
onChange={(_n: string, v: any) => setValue(v)}
|
|
303
|
-
fluid
|
|
304
|
-
size='small'
|
|
305
|
-
/>
|
|
306
|
-
<div style={{ display: 'flex', justifyContent: 'flex-end' }}>
|
|
307
|
-
<ReqoreButton size='small' intent='success' icon='CheckLine' fixed onClick={onDone}>
|
|
308
|
-
Done
|
|
309
|
-
</ReqoreButton>
|
|
310
|
-
</div>
|
|
311
|
-
</div>
|
|
312
|
-
);
|
|
313
|
-
};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Qore Technologies, s.r.o.
|
|
2
|
-
// How a DPQL expression is shown when it is shown but not edited.
|
|
3
|
-
//
|
|
4
|
-
// ONE rendering for every read-only place an expression appears — the Explain
|
|
5
|
-
// panel, the Text view's Preview, the conversion a type-fit message suggests,
|
|
6
|
-
// a collapsed expression row — so they read the same everywhere: monospace,
|
|
7
|
-
// coloured by the language server's semantic tokens (the canonical tokenizer,
|
|
8
|
-
// see `useLspSemanticTokens`), template references as chips. Before, the same
|
|
9
|
-
// expression could be highlighted in one place, plain proportional text in the
|
|
10
|
-
// next and a bare `<code>` in a third, depending only on which component
|
|
11
|
-
// happened to draw it.
|
|
12
|
-
import { ReqoreMessage } from '@qoretechnologies/reqore';
|
|
13
|
-
import { IReqoreFormTemplates } from '@qoretechnologies/reqore/dist/components/Textarea';
|
|
14
|
-
import { useAsync } from 'react-use';
|
|
15
|
-
import { DpqlEditor } from '../../dpqlEditor';
|
|
16
|
-
import { FormFieldsSkeleton } from '../engine/FormFieldsSkeleton';
|
|
17
|
-
import { IExpressionValue } from './types';
|
|
18
|
-
import { useRenderExpression } from './useRenderExpression';
|
|
19
|
-
|
|
20
|
-
const noop = (): void => undefined;
|
|
21
|
-
|
|
22
|
-
export interface IDpqlRenderingProps {
|
|
23
|
-
/** DPQL, or a readable rendering of it, to show. */
|
|
24
|
-
text: string;
|
|
25
|
-
/** The surface's template catalogue: a reference in it reads as its name. */
|
|
26
|
-
templates?: IReqoreFormTemplates;
|
|
27
|
-
'data-testid'?: string;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** Shows `text` as DPQL: monospace, server-coloured, references as chips. */
|
|
31
|
-
export const DpqlRendering = ({ text, templates, 'data-testid': testId }: IDpqlRenderingProps) => (
|
|
32
|
-
<div className='dpql-rendering' data-testid={testId} style={{ width: '100%', minWidth: 0 }}>
|
|
33
|
-
<DpqlEditor
|
|
34
|
-
value={text}
|
|
35
|
-
onChange={noop}
|
|
36
|
-
readOnly
|
|
37
|
-
// The text is a rendering, not something being written: nothing to
|
|
38
|
-
// diagnose, and a hover would describe tokens of a document nobody edits.
|
|
39
|
-
showDiagnostics={false}
|
|
40
|
-
enableHover={false}
|
|
41
|
-
templateTagsUseIntent
|
|
42
|
-
templates={templates}
|
|
43
|
-
// The text is already known; only its colours wait for the server, so
|
|
44
|
-
// nothing is hidden behind "Connecting to language server…".
|
|
45
|
-
loadingIndicator={null}
|
|
46
|
-
/>
|
|
47
|
-
</div>
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
export interface IExpressionRenderingProps {
|
|
51
|
-
/** The expression AST to render. */
|
|
52
|
-
expression: IExpressionValue;
|
|
53
|
-
/** The surface's template catalogue: a reference in it reads as its name. */
|
|
54
|
-
templates?: IReqoreFormTemplates;
|
|
55
|
-
'data-testid'?: string;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* The server's readable rendering of `expression`, shown through
|
|
60
|
-
* `DpqlRendering`. It waits for the server — in the form's one waiting shape —
|
|
61
|
-
* and says so plainly if the server cannot render, rather than showing an
|
|
62
|
-
* approximation that reads like the real thing.
|
|
63
|
-
*/
|
|
64
|
-
export const ExpressionRendering = ({
|
|
65
|
-
expression,
|
|
66
|
-
templates,
|
|
67
|
-
'data-testid': testId,
|
|
68
|
-
}: IExpressionRenderingProps) => {
|
|
69
|
-
const { renderRich } = useRenderExpression();
|
|
70
|
-
const rendering = useAsync(() => renderRich(expression), [JSON.stringify(expression)]);
|
|
71
|
-
|
|
72
|
-
if (rendering.loading) {
|
|
73
|
-
return <FormFieldsSkeleton rows={1} reason='expression-rendering' />;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if (!rendering.value) {
|
|
77
|
-
return (
|
|
78
|
-
<ReqoreMessage size='small' intent='muted' flat opaque={false} data-testid={testId}>
|
|
79
|
-
This expression could not be rendered.
|
|
80
|
-
</ReqoreMessage>
|
|
81
|
-
);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return <DpqlRendering text={rendering.value.text} templates={templates} data-testid={testId} />;
|
|
85
|
-
};
|