@qoretechnologies/reqraft 0.10.65 → 0.10.66-pr.137.ga1983bf
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 +413 -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 +322 -124
- 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 +29 -3
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +66 -11
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +570 -176
- 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.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +25 -3
- 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 +12 -6
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +30 -1
- 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 +59 -22
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +102 -55
- 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/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 +24 -8
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +77 -109
- 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 +2 -0
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +26 -3
- 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 +43 -10
- 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 +43 -20
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +39 -6
- 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 +119 -62
- 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.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +29 -8
- 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 +13 -9
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +6 -0
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +41 -6
- 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 +4 -3
- 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 +382 -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 +678 -107
- 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 +451 -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 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +25 -1
- 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 -7
- 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 +584 -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 +336 -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 +562 -151
- 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/ReferencePicker.d.ts +9 -2
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +27 -6
- 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 +20 -2
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +9 -4
- 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 +38 -13
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/allowedValues.d.ts +21 -0
- package/dist/helpers/allowedValues.d.ts.map +1 -1
- package/dist/helpers/allowedValues.js +40 -1
- 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/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/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 -2620
- package/src/components/form/engine/CompactToolbar.tsx +0 -330
- package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
- package/src/components/form/engine/FormEngine.tsx +0 -4569
- package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
- package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
- package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
- 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 -742
- 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 -148
- package/src/components/form/engine/compactRowStyles.ts +0 -898
- package/src/components/form/engine/compactToolbarContext.ts +0 -69
- 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 -1077
- 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 -101
- 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 -137
- 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/Field.stories.tsx +0 -143
- package/src/components/form/fields/Field.tsx +0 -732
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
- 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 -1164
- 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 -120
- package/src/components/form/fields/long-string/LongString.tsx +0 -130
- 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 -139
- package/src/components/form/fields/number/Number.stories.tsx +0 -159
- package/src/components/form/fields/number/Number.tsx +0 -160
- 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 -46
- 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 -1717
- 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 -47
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
- 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 -129
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
- package/src/components/supportTicket/ReferencePicker.tsx +0 -563
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -247
- 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 -354
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
- 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 -73
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
- package/src/components/ticketReferences/TicketReferences.tsx +0 -906
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
- package/src/components/ticketThread/TicketThread.tsx +0 -719
- 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 -249
- 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/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 -61
- 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,250 +0,0 @@
|
|
|
1
|
-
# DataSchema editor — migrate `schema-definition` to Reqraft
|
|
2
|
-
|
|
3
|
-
Phase 2 of the field migration (see
|
|
4
|
-
[`design/FORM_ENGINE_FIELD_MIGRATION.md`](../design/FORM_ENGINE_FIELD_MIGRATION.md)).
|
|
5
|
-
Ports qorus-ide's `SchemaDefinitionEditor` into the Reqraft form engine
|
|
6
|
-
as the first complex, server-catalogue-driven field. **Depends on
|
|
7
|
-
phase 1** ([`REQRAFT_AUTO_FIELD.md`](./REQRAFT_AUTO_FIELD.md)) — the
|
|
8
|
-
catalogue's leaf adapter emits `auto` for non-primitive fields.
|
|
9
|
-
|
|
10
|
-
**Status:** done pending user verify — implemented 2026-06-09 (still
|
|
11
|
-
uncommitted, on top of the also-uncommitted phase 1). 8/8 story play
|
|
12
|
-
tests pass via `test-storybook` (was 5/5; Sandboxed + WithValidationBanner
|
|
13
|
-
added via FIELD_STACK phase 3, the ReadOnly zero-inputs play restored in the
|
|
14
|
-
remediation batch); prod typecheck + eslint clean. Verified
|
|
15
|
-
live: catalogue-driven tabs, the Tables inline panels, the table editor
|
|
16
|
-
with sub-tabs + `ReqoreTable`, and the **column drawer rendering the
|
|
17
|
-
`FormEngine`-driven leaf form** (the `<Options>`→`FormEngine` seam) — name
|
|
18
|
-
field, allowed-value select, bool toggle, comment, "More Options 5".
|
|
19
|
-
No runtime errors reference the ported code.
|
|
20
|
-
|
|
21
|
-
**Scope:** copy the generic catalogue machinery near-verbatim; the real
|
|
22
|
-
work is the one integration seam (`<Options>` → Reqraft `FormEngine`)
|
|
23
|
-
plus porting two bespoke layout tabs and swapping qorus-ide-only deps.
|
|
24
|
-
**Estimated size:** 16 source files (~3,280 lines, incl. mocks) ported;
|
|
25
|
-
net new Reqraft code modest because most is copy + import-repoint.
|
|
26
|
-
~1 week incl. tests/iteration.
|
|
27
|
-
|
|
28
|
-
## Reference
|
|
29
|
-
|
|
30
|
-
Source dir: `qorus-frontend/qorus-ide/src/components/Field/schemaDefinition/`
|
|
31
|
-
|
|
32
|
-
| File | Role | Port difficulty |
|
|
33
|
-
|---|---|---|
|
|
34
|
-
| `types.ts` (185) | `ISchemaOptionCatalog`, `ICatalogNode`, `IDataSchemaDefinition` | copy verbatim |
|
|
35
|
-
| `catalog.ts` (238) | node discriminators + `catalogLeafToFieldSchema` | copy verbatim |
|
|
36
|
-
| `helpers.ts` (110) | `SECTION_ICONS`, `sectionCount` | copy verbatim |
|
|
37
|
-
| `useSchemaOptionCatalog.ts` (49) | `useFetch('schemas?action=options')` | repoint `useFetch` import |
|
|
38
|
-
| `referenceSuggestions.tsx` (151) | FK/PK contextual suggestion resolvers | copy verbatim (self-contained) |
|
|
39
|
-
| `catalogContext.tsx` (32) | catalogue provider | copy verbatim |
|
|
40
|
-
| `CatalogLeafForm.tsx` (242) | **leaf renderer → `<Options>`** | **rewrite leaf render to `FormEngine`** |
|
|
41
|
-
| `CatalogNodeEditor.tsx` (730) | group/map/list dispatch + drawer editors | port; swap `QorusTable`, `Hint` |
|
|
42
|
-
| `TablesTab.tsx` (138) + `TableEditor.tsx` (155) | inline-panel tables, nested tabs | port (bespoke layout) |
|
|
43
|
-
| `MigrationsTab.tsx` (187) | version timeline | port (bespoke layout) |
|
|
44
|
-
| `InlineValidationBanner.tsx` (138) | name-mismatch / version hints | port |
|
|
45
|
-
| `starterTemplate.ts` (68) | `createEmptyDefinition` | copy verbatim |
|
|
46
|
-
| `mockCatalog.ts` (325) + `mockDefinition.ts` (111) | story/test fixtures | copy verbatim |
|
|
47
|
-
|
|
48
|
-
Server contract: `GET schemas?action=options` → `ISchemaOptionCatalog`
|
|
49
|
-
(`{ fields, definition, actions }`; editor uses `definition`). 100%
|
|
50
|
-
server-driven, no FE field fallbacks. Catalogue → tabs mapping is
|
|
51
|
-
hardcoded `PRIMARY_SECTIONS = [schema, tables, sequences,
|
|
52
|
-
reference_data, migrations]` + an Advanced bucket for trusted users
|
|
53
|
-
(`index.tsx:65-71, 156-174`).
|
|
54
|
-
|
|
55
|
-
## Surface area
|
|
56
|
-
|
|
57
|
-
| File | Change |
|
|
58
|
-
|---|---|
|
|
59
|
-
| `src/components/form/fields/schema-definition/*` | **new** — ported dir (see Reference table) |
|
|
60
|
-
| `src/components/form/fields/schema-definition/CatalogLeafForm.tsx` | leaf render uses Reqraft `FormEngine`, not `<Options>` |
|
|
61
|
-
| `src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx` | **new** — mock-catalogue stories |
|
|
62
|
-
| `src/components/form/fields/Field.tsx` | add `case 'schema-definition':` (+ `ui_type === 'schema-definition'`) → editor |
|
|
63
|
-
| `src/components/form/index.tsx` | export `SchemaDefinitionField` |
|
|
64
|
-
| `__tests__/form/schemaDefinition/*` | **new** — catalogue walk + leaf adapter |
|
|
65
|
-
|
|
66
|
-
## Items
|
|
67
|
-
|
|
68
|
-
### 1. Port the catalogue-generic machinery
|
|
69
|
-
|
|
70
|
-
**Decision.** Copy `types.ts`, `catalog.ts`, `helpers.ts`,
|
|
71
|
-
`referenceSuggestions.tsx`, `catalogContext.tsx`, `starterTemplate.ts`,
|
|
72
|
-
`mockCatalog.ts`, `mockDefinition.ts` into
|
|
73
|
-
`src/components/form/fields/schema-definition/` with no logic changes.
|
|
74
|
-
These have **zero qorus-ide coupling** (only `react`, `react-use`,
|
|
75
|
-
`@qoretechnologies/reqore`, `@qoretechnologies/ts-toolkit`,
|
|
76
|
-
`styled-components`).
|
|
77
|
-
|
|
78
|
-
**Surface area.** New files; import paths only.
|
|
79
|
-
|
|
80
|
-
**Tests.** Unit-test the node discriminators (`isCatalogLeaf/Group/
|
|
81
|
-
Map/List`) and `catalogLeafToFieldSchema` against `mockCatalog`.
|
|
82
|
-
|
|
83
|
-
### 2. Repoint the catalogue fetch hook
|
|
84
|
-
|
|
85
|
-
**Decision.** `useSchemaOptionCatalog` already imports `useFetch` from
|
|
86
|
-
`@qoretechnologies/reqraft`; inside Reqraft it imports from the local
|
|
87
|
-
barrel/`hooks/useFetch`. Keep the `override` / `errorOverride` props
|
|
88
|
-
(stories inject a mock catalogue without a server).
|
|
89
|
-
|
|
90
|
-
**Surface area.** `useSchemaOptionCatalog.ts` import line.
|
|
91
|
-
|
|
92
|
-
**Tests.** Story passing `override={mockCatalog}` renders without a
|
|
93
|
-
network call.
|
|
94
|
-
|
|
95
|
-
### 3. Leaf renderer → `FormEngine` (the integration seam)
|
|
96
|
-
|
|
97
|
-
**Decision.** This is the crux. In `CatalogLeafForm`, the per-leaf
|
|
98
|
-
options schema (built by `catalogLeafToFieldSchema`, already an
|
|
99
|
-
`IOptionsSchema`) is currently rendered by qorus-ide's `<Options>`. We
|
|
100
|
-
**do not port `<Options>`** (`systemOptions.tsx`, 1500+ lines, heavily
|
|
101
|
-
IDE-coupled). Instead render with Reqraft `FormEngine`:
|
|
102
|
-
|
|
103
|
-
```tsx
|
|
104
|
-
// CatalogLeafForm.tsx (Reqraft)
|
|
105
|
-
<FormEngine
|
|
106
|
-
name={name}
|
|
107
|
-
options={schema} // IOptionsSchema from catalogLeafToFieldSchema
|
|
108
|
-
value={optionsValue}
|
|
109
|
-
onChange={handleChange}
|
|
110
|
-
flat
|
|
111
|
-
wrapperPadding='none'
|
|
112
|
-
minColumnWidth='300px'
|
|
113
|
-
size='small'
|
|
114
|
-
/>
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
The phase-1 `auto` field is what makes this correct: leaves typed
|
|
118
|
-
`auto` (the catalogue's catch-all) now render the type-picker instead
|
|
119
|
-
of a textarea. Verify the read-only branch (`ReqoreDescriptionList`)
|
|
120
|
-
and the reference-suggestion injection (allowed-values + `_creatable`)
|
|
121
|
-
still apply — both are independent of the renderer choice.
|
|
122
|
-
|
|
123
|
-
**Surface area.** `CatalogLeafForm.tsx` edit-mode render (~30 lines
|
|
124
|
-
changed). Confirm `FormEngine`'s `onChange(name, value)` signature maps
|
|
125
|
-
cleanly to the leaf `handleChange`.
|
|
126
|
-
|
|
127
|
-
**Tests.** Story with a leaf catalogue including `string`, `int`,
|
|
128
|
-
`select-string` (allowed_values), `list<string>`, and an `auto`
|
|
129
|
-
fallback leaf — all render correct fields; editing emits the right
|
|
130
|
-
value shape.
|
|
131
|
-
|
|
132
|
-
### 4. Port `CatalogNodeEditor` (group/map/list + drawers)
|
|
133
|
-
|
|
134
|
-
**Decision.** Port the recursive dispatcher and the map/list overview +
|
|
135
|
-
drawer editors. Swap two qorus-ide deps:
|
|
136
|
-
- `QorusTable` → `ReqoreTable` directly (see design Open question;
|
|
137
|
-
re-add search/sort only if a section is routinely large).
|
|
138
|
-
- `Hint` → Reqraft equivalent or drop (cosmetic).
|
|
139
|
-
|
|
140
|
-
**Surface area.** `CatalogNodeEditor.tsx` (~730 lines, mostly copy).
|
|
141
|
-
|
|
142
|
-
**Tests.** Map section (e.g. `tables`) renders an entry table + opens
|
|
143
|
-
a drawer; list section (e.g. `migrations`) supports add/reorder.
|
|
144
|
-
|
|
145
|
-
### 5. Port the bespoke tabs + validation banner
|
|
146
|
-
|
|
147
|
-
**Decision.** Port `TablesTab` + `TableEditor` (inline-expandable
|
|
148
|
-
panels, nested `ReqoreTabs` per table section, wrapped in the
|
|
149
|
-
suggestion provider), `MigrationsTab` (version timeline of
|
|
150
|
-
`CatalogGroupBody` blocks), and `InlineValidationBanner`
|
|
151
|
-
(name-mismatch / version-bump / save-error hints). These are
|
|
152
|
-
presentation wrappers around the generic renderer.
|
|
153
|
-
|
|
154
|
-
**Surface area.** `TablesTab.tsx`, `TableEditor.tsx`,
|
|
155
|
-
`MigrationsTab.tsx`, `InlineValidationBanner.tsx`.
|
|
156
|
-
|
|
157
|
-
**Tests.** Visual stories per tab against `mockCatalog` +
|
|
158
|
-
`mockDefinition`.
|
|
159
|
-
|
|
160
|
-
### 6. Expose as a Reqraft field type
|
|
161
|
-
|
|
162
|
-
**Decision.** Add `case 'schema-definition':` to `FormField` (and the
|
|
163
|
-
`ui_type === 'schema-definition'` alias), mirroring qorus-ide's
|
|
164
|
-
`auto.tsx` ui_type branch — `value` is the `definition` hash,
|
|
165
|
-
`onChange(definition)`. Export `SchemaDefinitionField` from the form
|
|
166
|
-
barrel.
|
|
167
|
-
|
|
168
|
-
**Surface area.** `Field.tsx`, `form/index.tsx`.
|
|
169
|
-
|
|
170
|
-
**Tests.** `FormEngine` story embedding a `schema-definition` field
|
|
171
|
-
round-trips a full `IDataSchemaDefinition`.
|
|
172
|
-
|
|
173
|
-
## Sequencing
|
|
174
|
-
|
|
175
|
-
1. Item 1 (generic machinery) + Item 2 (fetch hook) — no UI yet
|
|
176
|
-
2. Item 3 (leaf → `FormEngine`) — unblocks everything visual; **needs
|
|
177
|
-
phase 1 merged**
|
|
178
|
-
3. Item 4 (node editor) — groups/maps/lists render
|
|
179
|
-
4. Item 5 (bespoke tabs + banner) — full editor
|
|
180
|
-
5. Item 6 (field-type exposure) — wire into the dispatcher
|
|
181
|
-
6. Stories + tests throughout; full pass at the end
|
|
182
|
-
|
|
183
|
-
## Tasks
|
|
184
|
-
|
|
185
|
-
- [x] Copy generic machinery (`types`, `catalog`, `helpers`,
|
|
186
|
-
`referenceSuggestions`, `catalogContext`, `starterTemplate`,
|
|
187
|
-
`mockCatalog`, `mockDefinition`); fix imports. **Copied the whole
|
|
188
|
-
dir verbatim** — sibling `./` imports stayed valid; only ~7 files
|
|
189
|
-
had outside deps to repoint.
|
|
190
|
-
- [x] Repoint `useSchemaOptionCatalog` to Reqraft `useFetch`
|
|
191
|
-
(`../../../../hooks/useFetch/useFetch`); kept `override`/`errorOverride`
|
|
192
|
-
- [x] `CatalogLeafForm` edit render → Reqraft `FormEngine`. Reqraft's
|
|
193
|
-
`FormEngine` exports the **same** `flattenOptions` / `IOptionsSchema`
|
|
194
|
-
/ value+onChange contract as qorus-ide `<Options>`, so the seam was
|
|
195
|
-
a near drop-in (`Options` default import → `FormEngine` named).
|
|
196
|
-
Read-only viewer + suggestion-injection branches untouched (copied
|
|
197
|
-
verbatim; drawer leaf form verified live).
|
|
198
|
-
- [x] Port `CatalogNodeEditor`; `QorusTable`→`ReqoreTable` (both map +
|
|
199
|
-
list editors), `DRAWER_STYLE` inlined as a local const
|
|
200
|
-
- [x] Port `TablesTab` + `TableEditor`, `MigrationsTab`,
|
|
201
|
-
`InlineValidationBanner` (verbatim; `Hint` repointed to a local shim)
|
|
202
|
-
- [x] `Hint`/`Loader` local shims (`Hint.tsx` → `ReqoreMessage`,
|
|
203
|
-
`Loader.tsx` → `ReqoreSpinner`) replacing qorus-ide `../../Help` /
|
|
204
|
-
`../../Loader`
|
|
205
|
-
- [x] `index.tsx` editor shell — tabs (`PRIMARY_SECTIONS` + Advanced),
|
|
206
|
-
catalogue-load error callout, providers (verbatim; shim imports)
|
|
207
|
-
- [x] `case 'schema-definition':` in `FormField`; export
|
|
208
|
-
`SchemaDefinitionEditor` from the form barrel. Both the direct `type`
|
|
209
|
-
path AND the `ui_type` (FormEngine option) path are wired — the latter
|
|
210
|
-
via the `schema-definition` pass-through in both
|
|
211
|
-
`mapQorusTypeToFormFieldType` copies.
|
|
212
|
-
- [x] Stories: `Empty`, `Populated`, `ReadOnly`, `CatalogError`,
|
|
213
|
-
`ViaFormField`, `ViaFormEngineUiType` (`SchemaDefinitionField.stories.tsx`).
|
|
214
|
-
6/6 play tests pass; `Populated` opens Tables → asserts both table
|
|
215
|
-
panels; `ViaFormField` is the direct dispatcher round-trip;
|
|
216
|
-
`ViaFormEngineUiType` is the FormEngine `ui_type` round-trip.
|
|
217
|
-
- [x] Resolve the `QorusTable` open question — **used `ReqoreTable`
|
|
218
|
-
directly**; search/sort not re-added (acceptable; revisit if a
|
|
219
|
-
section grows large).
|
|
220
|
-
- [x] Tests: 5/5 story play tests pass via `test-storybook`; prod
|
|
221
|
-
typecheck + eslint clean. (No separate jest file — fields are
|
|
222
|
-
tested via stories here.)
|
|
223
|
-
- [x] 2026-06-11 follow-ups: now 8/8 plays (Sandboxed +
|
|
224
|
-
WithValidationBanner via FIELD_STACK phase 3; ReadOnly zero-inputs
|
|
225
|
-
play restored); the IDE's 3 schemaDefinition jest suites ported to
|
|
226
|
-
`__tests__/schemaDefinition/` (~37 tests) — the "no separate jest
|
|
227
|
-
file" note above is superseded.
|
|
228
|
-
- [ ] **STOP — user verifies in browser** before commit
|
|
229
|
-
|
|
230
|
-
## Out of scope
|
|
231
|
-
|
|
232
|
-
- ~~`ui_type: 'schema-definition'` via the FormEngine/TemplateField path.~~
|
|
233
|
-
**Done** (2026-06-09 follow-up): both `mapQorusTypeToFormFieldType` copies
|
|
234
|
-
pass `schema-definition` through (cast past `TQorusType`), so a `FormEngine`
|
|
235
|
-
option declared `ui_type: 'schema-definition'` renders the editor.
|
|
236
|
-
`catalogOverride` rides through `fieldProps` (FormEngine spreads the option
|
|
237
|
-
→ TemplateField `{...rest}` → FormField). Story: `ViaFormEngineUiType`
|
|
238
|
-
(verified live — the value round-trips, populated schema renders).
|
|
239
|
-
- Suggestion-injection (FK/PK contextual `allowed_values`) is ported
|
|
240
|
-
verbatim and **verified live** (2026-06-09): a table's Primary Key
|
|
241
|
-
`columns` field offers the table's own columns as "Saved & Suggested
|
|
242
|
-
Values". Not asserted by an automated play test (fiddly to drive), but
|
|
243
|
-
confirmed by hand.
|
|
244
|
-
- Porting qorus-ide's `<Options>` / `systemOptions.tsx` (we use
|
|
245
|
-
`FormEngine` instead)
|
|
246
|
-
- The `schema` *interface-selector* type (bucket 3 — app-coupled)
|
|
247
|
-
- Schema `actions` (validate/diff/align/drop) — the catalogue exposes
|
|
248
|
-
them but the editor doesn't drive them; out of scope here
|
|
249
|
-
- Server-side catalogue changes — consume `schemas?action=options`
|
|
250
|
-
as-is
|
|
@@ -1,340 +0,0 @@
|
|
|
1
|
-
# SmartEditor — context handling, debounced loader, README
|
|
2
|
-
|
|
3
|
-
Follow-up to the `0.10.0` UX batch (see
|
|
4
|
-
[`SMART_EDITOR_UX_POLISH.md`](./SMART_EDITOR_UX_POLISH.md)). This is
|
|
5
|
-
the catch-all for smaller correctness / polish items surfaced by the
|
|
6
|
-
post-`0.10.0` audit: a startup race in DPQL context binding, a
|
|
7
|
-
loader-flash on fast LSP responses, the missing FSM and Alert-payload
|
|
8
|
-
context props (required for the upcoming Alert Rule editor in
|
|
9
|
-
qorus-ide), and the README drift across this batch.
|
|
10
|
-
|
|
11
|
-
**Status:** items 1/2/4 done — committed in `5e94fd7` (item 1, `isContextReady` race), `8e6fe0f` (item 2, debounced loader), `2a53a1a` (item 4, FSM + alert-payload props). Item 3 (README catch-up) deferred to the final release-prep step at the end of the full batch — single README pass against the complete post-batch API. **Awaiting browser verification.**
|
|
12
|
-
|
|
13
|
-
**Scope:** four items, all small-to-medium. README update is
|
|
14
|
-
non-optional given how many props have been added.
|
|
15
|
-
**Estimated size:** ~150 lines, 1 day.
|
|
16
|
-
|
|
17
|
-
## Items
|
|
18
|
-
|
|
19
|
-
### 1. Initial DPQL context race
|
|
20
|
-
|
|
21
|
-
**Symptom.** `session.isReady` flips true when the LSP `initialize`
|
|
22
|
-
and `didOpen` complete (`useLspSession.ts:106`). `useDpqlSession`
|
|
23
|
-
THEN fires `dpql/setContext` in a separate effect — adding a second
|
|
24
|
-
roundtrip before the document has its provider context bound. If
|
|
25
|
-
the user types `@` in the first ~50–200ms after mount, the
|
|
26
|
-
completion request hits the server context-less; server returns
|
|
27
|
-
zero items; dropdown opens then closes silently.
|
|
28
|
-
|
|
29
|
-
**Server behaviour.** Tolerates context-less requests structurally
|
|
30
|
-
(no error), but returns empty results — exactly what makes the bug
|
|
31
|
-
hard to diagnose.
|
|
32
|
-
|
|
33
|
-
**Decision.** Add a `isContextReady?: boolean` field to
|
|
34
|
-
`IUseLspSessionResult`, defaulting to `true` (generic primitive has
|
|
35
|
-
no context concept). `useDpqlSession` overrides it: starts `false`,
|
|
36
|
-
flips `true` only after the `dpql/setContext` promise resolves, OR
|
|
37
|
-
flips `true` immediately if no `provider` is configured (no context
|
|
38
|
-
binding to do).
|
|
39
|
-
|
|
40
|
-
In SmartEditor, gate LSP-driven hooks
|
|
41
|
-
(`useLspAutocomplete`, `useLspHover`, `useLspSemanticTokens`) on the
|
|
42
|
-
combined signal `session.isReady && (session.isContextReady ?? true)`.
|
|
43
|
-
The loading overlay's copy becomes "Loading schema…" when
|
|
44
|
-
`isReady && !isContextReady`.
|
|
45
|
-
|
|
46
|
-
**Edge cases:**
|
|
47
|
-
- `provider` is set but `dpql/setContext` ERRORS — flip `isContextReady` true anyway (best-effort; the editor still works without provider-driven completions).
|
|
48
|
-
- `provider` changes after initial mount — flip `isContextReady` back
|
|
49
|
-
to `false` until the new context resolves.
|
|
50
|
-
|
|
51
|
-
**Surface area:**
|
|
52
|
-
- `src/components/smartEditor/useLspSession.ts` — add `isContextReady` (default `true`)
|
|
53
|
-
- `src/components/dpqlEditor/useDpqlSession.ts` — track and expose
|
|
54
|
-
- `src/components/smartEditor/SmartEditor.tsx` — combined gate; loading-overlay copy switch
|
|
55
|
-
- `src/components/smartEditor/useLspAutocomplete.ts` — accept `isReady` (no API change; the caller passes the combined gate)
|
|
56
|
-
|
|
57
|
-
**Tests:** Storybook story that delays the mock's `dpql/setContext`
|
|
58
|
-
response by 500ms; play test types `@` in first 200ms and asserts
|
|
59
|
-
the dropdown does NOT appear; assert overlay copy is "Loading schema…".
|
|
60
|
-
|
|
61
|
-
**Complexity:** small.
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
### 2. `isFetching` loader debouncing (anti-flash)
|
|
66
|
-
|
|
67
|
-
**Symptom.** `useLspAutocomplete.ts:335` sets `isFetching=true`
|
|
68
|
-
synchronously when the LSP request fires. For sub-100ms mock
|
|
69
|
-
responses the user never sees the "Loading completions…" stub.
|
|
70
|
-
For ~200–500ms live responses, the stub flashes briefly then swaps
|
|
71
|
-
for items — visible jitter.
|
|
72
|
-
|
|
73
|
-
**Decision.** Mirror VS Code's "delay progress" pattern. Don't set
|
|
74
|
-
`isFetching=true` synchronously; schedule it via
|
|
75
|
-
`setTimeout(() => setIsFetching(true), LOADER_DELAY_MS)` where
|
|
76
|
-
`LOADER_DELAY_MS = 250`. Clear in the `finally` of the request and
|
|
77
|
-
in `close()`. Net effect: fast responses never set the flag; only
|
|
78
|
-
genuinely slow roundtrips do.
|
|
79
|
-
|
|
80
|
-
`setIsOpen(true)` stays synchronous — opening an items-less popover
|
|
81
|
-
is fine for ~250ms; renders nothing visible until either items
|
|
82
|
-
arrive (popover populates) or the timer elapses (loading stub shows).
|
|
83
|
-
|
|
84
|
-
**Surface area:**
|
|
85
|
-
- `src/components/smartEditor/useLspAutocomplete.ts` —
|
|
86
|
-
`performCompletionRequest`, add a `fetchingTimerRef`, clear in
|
|
87
|
-
`close()` and in the unmount-cancel effect
|
|
88
|
-
- Named constant `LOADER_DELAY_MS = 250` next to `DEBOUNCE_MS = 150`
|
|
89
|
-
|
|
90
|
-
**Tests:** Unit test with `jest.useFakeTimers()`:
|
|
91
|
-
- Fire request → advance 240ms → `isFetching === false`
|
|
92
|
-
- Advance to 260ms → `isFetching === true`
|
|
93
|
-
- Resolve request → `isFetching === false`
|
|
94
|
-
- Fire request, resolve in 80ms → `isFetching` never sets true
|
|
95
|
-
|
|
96
|
-
**Complexity:** small.
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
### 3. README drift across the `0.10.0` batch
|
|
101
|
-
|
|
102
|
-
**Symptom.** The published README (`toolkit-react/README.md`) hasn't
|
|
103
|
-
been updated since `0.9.0`. Six new SmartEditor / DpqlEditor props
|
|
104
|
-
landed across phases 4–7, none documented. The Components section
|
|
105
|
-
also doesn't mention diagnostics, hover, semantic tokens, or the
|
|
106
|
-
chip-replace flow.
|
|
107
|
-
|
|
108
|
-
**Missing — DpqlEditor:**
|
|
109
|
-
- `useServerParse` (Phase 6)
|
|
110
|
-
|
|
111
|
-
**Missing — SmartEditor:**
|
|
112
|
-
- `loadingIndicator?: React.ReactNode` (Phase 4)
|
|
113
|
-
- `enableHover?: boolean` (Phase 5)
|
|
114
|
-
- `isLoading?: boolean` (Phase 6)
|
|
115
|
-
- (After item 4 in this task) `alertPayloadContext?: boolean`,
|
|
116
|
-
`fsmContext?: ...` on DpqlEditor
|
|
117
|
-
- (After SMART_EDITOR_LSP_FEATURES item 1)
|
|
118
|
-
`enableSignatureHelp?: boolean`
|
|
119
|
-
|
|
120
|
-
**Missing behaviours:**
|
|
121
|
-
- LSP-driven syntax highlighting (semantic tokens) — referenced in
|
|
122
|
-
the features list but no API documentation. Add an "LSP methods
|
|
123
|
-
supported" subsection
|
|
124
|
-
- Diagnostics surface (inline wavy underlines + ReqoreMessage panel)
|
|
125
|
-
- Markdown documentation on completion rows (hover-tooltip)
|
|
126
|
-
- Chip click → Replace mode flow
|
|
127
|
-
- Loading overlay states (connecting, parsing, fetching)
|
|
128
|
-
|
|
129
|
-
**Wrong:**
|
|
130
|
-
- `triggerCharacters` is described as "Characters that open the
|
|
131
|
-
completion dropdown" with no mention of language defaults or that
|
|
132
|
-
the generic SmartEditor's default (`{., :, space}`) differs from
|
|
133
|
-
both DPQL (`@$.:`) and Qonsole (`/-.:=` + space)
|
|
134
|
-
|
|
135
|
-
**Decision.** A focused README update that documents every prop
|
|
136
|
-
landed since `0.9.0`, adds an "LSP methods supported" section, and
|
|
137
|
-
corrects the misleading trigger-characters description.
|
|
138
|
-
|
|
139
|
-
**Surface area:** `README.md` only.
|
|
140
|
-
|
|
141
|
-
**Complexity:** small (writing time).
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
### 4. `dpql/setFsmContext` + `dpql/setAlertPayloadContext` props
|
|
146
|
-
|
|
147
|
-
**Background.** The server supports two additional context-binding
|
|
148
|
-
methods we don't expose:
|
|
149
|
-
|
|
150
|
-
- **`dpql/setAlertPayloadContext`** — binds the document's field set
|
|
151
|
-
to the canonical alert-payload schema (severity, alert_type,
|
|
152
|
-
alert_code, alert_class, interface_type, interface_name,
|
|
153
|
-
alert_object, …). Required for the Alert Rule / Silence editor to
|
|
154
|
-
produce correct completions and diagnostics on `@payload.field`
|
|
155
|
-
references.
|
|
156
|
-
- **`dpql/setFsmContext`** — binds an FSM context (by inline
|
|
157
|
-
definition, draft id, or published fsm id) so `$data:` /
|
|
158
|
-
`$fsminput:` template namespaces resolve against the FSM's state
|
|
159
|
-
graph. Required for FSM-state-aware completions when DpqlEditor is
|
|
160
|
-
used inside an FSM state editor.
|
|
161
|
-
|
|
162
|
-
**Source confirmation.** `qorus-ide/.tasks/ALERT_RULES_AND_SILENCES.md`
|
|
163
|
-
explicitly calls out the alert-rule editor's `match` field as
|
|
164
|
-
"DPQL completions — genuinely new". This task is the gating piece
|
|
165
|
-
of Reqraft work.
|
|
166
|
-
|
|
167
|
-
**Decision.** Two new props on `DpqlEditor`:
|
|
168
|
-
|
|
169
|
-
```ts
|
|
170
|
-
interface IDpqlEditorProps {
|
|
171
|
-
// ...
|
|
172
|
-
/**
|
|
173
|
-
* When true, bind the document's field set to the canonical
|
|
174
|
-
* alert-payload schema instead of (or in addition to) the
|
|
175
|
-
* `provider`/`recordType` context. Required for the Alert Rule
|
|
176
|
-
* / Silence editor. Sends `metadata.dpql_context: "alert-payload"`
|
|
177
|
-
* on `didOpen` so the binding lands at open-time without an
|
|
178
|
-
* extra roundtrip. When toggled off later, falls back to the
|
|
179
|
-
* `provider` / `recordType` context via `dpql/setContext`.
|
|
180
|
-
*/
|
|
181
|
-
alertPayloadContext?: boolean;
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* FSM context for state-aware template completions. Exactly one
|
|
185
|
-
* of `fsm` / `draftId` / `fsmId` must be provided; pass
|
|
186
|
-
* `undefined` (or no FSM source) to clear. Fires
|
|
187
|
-
* `dpql/setFsmContext` whenever the object identity changes.
|
|
188
|
-
*/
|
|
189
|
-
fsmContext?:
|
|
190
|
-
| { fsm: Record<string, any>; currentState?: string }
|
|
191
|
-
| { draftId: string; currentState?: string }
|
|
192
|
-
| { fsmId: number; currentState?: string };
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
These compose with each other: a DPQL editor can have BOTH a
|
|
197
|
-
provider context AND an FSM context. Provider gives field
|
|
198
|
-
completions, FSM gives template completions. `alertPayloadContext`
|
|
199
|
-
REPLACES the provider context (server treats them as mutually
|
|
200
|
-
exclusive — one binding per URI).
|
|
201
|
-
|
|
202
|
-
`isContextReady` (from item 1) covers all three context types — we
|
|
203
|
-
flip it false until whichever binding the editor is configured for
|
|
204
|
-
resolves.
|
|
205
|
-
|
|
206
|
-
**Surface area:**
|
|
207
|
-
- `src/components/dpqlEditor/types.ts` — `IDpqlEditorProps` gains
|
|
208
|
-
`alertPayloadContext`, `fsmContext` (discriminated union)
|
|
209
|
-
- `src/components/dpqlEditor/useDpqlSession.ts` — new effects firing
|
|
210
|
-
`dpql/setAlertPayloadContext` / `dpql/setFsmContext`; update
|
|
211
|
-
`isContextReady` logic
|
|
212
|
-
- `src/components/dpqlEditor/DpqlEditor.tsx` — pass through
|
|
213
|
-
- `src/components/dpqlEditor/DpqlEditor.stories.tsx` — mock handlers
|
|
214
|
-
for both methods; new stories `WithAlertPayloadContext`,
|
|
215
|
-
`WithFsmContext`
|
|
216
|
-
- `README.md` — document both props (done via item 3)
|
|
217
|
-
|
|
218
|
-
**Tests:** Storybook play tests:
|
|
219
|
-
- `WithAlertPayloadContext` — asserts `didOpen` metadata includes
|
|
220
|
-
`dpql_context: "alert-payload"` and a `dpql/setAlertPayloadContext`
|
|
221
|
-
call happens
|
|
222
|
-
- `WithFsmContext` — asserts `dpql/setFsmContext` fires with the
|
|
223
|
-
configured `fsmId` and `currentState`; asserts that switching
|
|
224
|
-
`fsmId` re-fires
|
|
225
|
-
- Both should assert `isContextReady` gates correctly
|
|
226
|
-
|
|
227
|
-
**Complexity:** medium (multiple new effects, type discriminated
|
|
228
|
-
union, two new stories with mock handlers).
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
## Sequencing
|
|
233
|
-
|
|
234
|
-
Land in this order so each builds on the previous:
|
|
235
|
-
|
|
236
|
-
1. Item 1 (`isContextReady`) — establishes the readiness gate that
|
|
237
|
-
item 4 reuses
|
|
238
|
-
2. Item 2 (debounced loader) — independent; can be parallel with 1
|
|
239
|
-
3. Item 4 (FSM + alert-payload props) — depends on item 1
|
|
240
|
-
4. Item 3 (README) — last, so it documents everything that just
|
|
241
|
-
landed
|
|
242
|
-
|
|
243
|
-
## Surface area summary
|
|
244
|
-
|
|
245
|
-
| File | Items |
|
|
246
|
-
|---|---|
|
|
247
|
-
| `src/components/smartEditor/useLspSession.ts` | 1 |
|
|
248
|
-
| `src/components/smartEditor/SmartEditor.tsx` | 1 |
|
|
249
|
-
| `src/components/smartEditor/useLspAutocomplete.ts` | 1, 2 |
|
|
250
|
-
| `src/components/dpqlEditor/useDpqlSession.ts` | 1, 4 |
|
|
251
|
-
| `src/components/dpqlEditor/types.ts` | 4 |
|
|
252
|
-
| `src/components/dpqlEditor/DpqlEditor.tsx` | 4 |
|
|
253
|
-
| `src/components/dpqlEditor/DpqlEditor.stories.tsx` | 4 |
|
|
254
|
-
| `__tests__/smartEditor/loaderDebounce.test.ts` | 2 (new) |
|
|
255
|
-
| `__tests__/dpqlEditor/contextReady.test.ts` | 1 (new) |
|
|
256
|
-
| `README.md` | 3 |
|
|
257
|
-
| `QONSOLE_LSP_REFERENCE.md` | (covered by QONSOLE_ASSIST_FEATURES) |
|
|
258
|
-
|
|
259
|
-
## Tasks
|
|
260
|
-
|
|
261
|
-
### 1. `isContextReady`
|
|
262
|
-
|
|
263
|
-
- [ ] `useLspSession` — add `isContextReady: boolean` to result,
|
|
264
|
-
default `true`
|
|
265
|
-
- [ ] `useDpqlSession` — track and expose. `false` initially, flips
|
|
266
|
-
`true` after first context-binding resolves (or immediately if
|
|
267
|
-
no context is configured)
|
|
268
|
-
- [ ] `SmartEditor` — combine `isReady && isContextReady` for the
|
|
269
|
-
LSP-driven hooks
|
|
270
|
-
- [ ] Loading-overlay copy switches to "Loading schema…" when
|
|
271
|
-
`isReady && !isContextReady`
|
|
272
|
-
- [ ] Storybook story with delayed-context mock; play test confirms
|
|
273
|
-
no dropdown opens during the delay
|
|
274
|
-
- [ ] Unit-test the context-ready combinator
|
|
275
|
-
|
|
276
|
-
### 2. Loader debouncing
|
|
277
|
-
|
|
278
|
-
- [ ] `LOADER_DELAY_MS = 250` constant
|
|
279
|
-
- [ ] `performCompletionRequest` schedules `setIsFetching(true)` via
|
|
280
|
-
`setTimeout`; clears in `finally`
|
|
281
|
-
- [ ] `close()` clears the pending timer
|
|
282
|
-
- [ ] Unit test the four timing cases (fast / slow / cancelled / on
|
|
283
|
-
error)
|
|
284
|
-
|
|
285
|
-
### 4. FSM + Alert-payload props (land before 3, depend on 1)
|
|
286
|
-
|
|
287
|
-
- [ ] `IDpqlEditorProps` extended with `alertPayloadContext`,
|
|
288
|
-
`fsmContext` (discriminated union)
|
|
289
|
-
- [ ] `useDpqlSession` — new effect for alert-payload: when
|
|
290
|
-
`alertPayloadContext === true`, include
|
|
291
|
-
`dpql_context: 'alert-payload'` in `initialMetadata` (no
|
|
292
|
-
separate call needed); when it flips false later, fire
|
|
293
|
-
`dpql/setContext` with the provider context to restore
|
|
294
|
-
- [ ] `useDpqlSession` — new effect for FSM context: fire
|
|
295
|
-
`dpql/setFsmContext` whenever the `fsmContext` object identity
|
|
296
|
-
changes (including identity-changed-to-undefined → clear)
|
|
297
|
-
- [ ] `isContextReady` flips false on context-config change, true
|
|
298
|
-
when the resolution resolves
|
|
299
|
-
- [ ] Type-level enforcement: `fsmContext` is a discriminated union
|
|
300
|
-
so consumers can't provide multiple sources
|
|
301
|
-
- [ ] Storybook mocks for both server methods
|
|
302
|
-
- [ ] Stories `WithAlertPayloadContext` and `WithFsmContext`
|
|
303
|
-
- [ ] Play tests verify the right requests fire
|
|
304
|
-
|
|
305
|
-
### 3. README update (land last)
|
|
306
|
-
|
|
307
|
-
- [ ] Update DpqlEditor props table: add `useServerParse`,
|
|
308
|
-
`alertPayloadContext`, `fsmContext`
|
|
309
|
-
- [ ] Update SmartEditor props table: add `loadingIndicator`,
|
|
310
|
-
`enableHover`, `isLoading`, `enableSignatureHelp` (if
|
|
311
|
-
SMART_EDITOR_LSP_FEATURES landed)
|
|
312
|
-
- [ ] New section "LSP methods supported" — what's wired, with a
|
|
313
|
-
one-line "why not X" pointer to each deferred method per
|
|
314
|
-
`SMART_EDITOR_LSP_FEATURES.md`
|
|
315
|
-
- [ ] Fix the `triggerCharacters` description: clarify it's a
|
|
316
|
-
per-wrapper concern with sensible language-specific defaults;
|
|
317
|
-
show DPQL and Qonsole defaults
|
|
318
|
-
- [ ] Mention behaviours: semantic-token highlighting, diagnostics,
|
|
319
|
-
hover, markdown docs, Replace-mode chip click, loading states
|
|
320
|
-
- [ ] Code example for `alertPayloadContext` use in an Alert Rule
|
|
321
|
-
context
|
|
322
|
-
|
|
323
|
-
### Checks (final)
|
|
324
|
-
|
|
325
|
-
- [ ] Typecheck, lint, jest, storybook play tests all pass
|
|
326
|
-
- [ ] **STOP — user verifies in browser** before commit (per the
|
|
327
|
-
design doc's workflow rule)
|
|
328
|
-
|
|
329
|
-
## Out of scope
|
|
330
|
-
|
|
331
|
-
- Hover-popover replacement of the native `title=` browser tooltip
|
|
332
|
-
on inline diagnostic underlines (separate visual-polish concern)
|
|
333
|
-
- Editor body's own scroll behaviour when content exceeds height
|
|
334
|
-
(Reqore-side)
|
|
335
|
-
- Schema reload triggers when provider changes — already handled by
|
|
336
|
-
the existing `useDpqlSession` effect; no work
|
|
337
|
-
- Server-side bug: when no `provider` is set AND no
|
|
338
|
-
`alertPayloadContext`, completions are effectively dead — this is
|
|
339
|
-
expected per the server contract; the editor displays no
|
|
340
|
-
completions and that's correct
|