@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,299 +0,0 @@
|
|
|
1
|
-
# SmartEditor — unused LSP methods
|
|
2
|
-
|
|
3
|
-
Follow-up to the `0.10.0` UX batch (see
|
|
4
|
-
[`SMART_EDITOR_UX_POLISH.md`](./SMART_EDITOR_UX_POLISH.md)). The Qorus
|
|
5
|
-
LSP server advertises 13+ standard LSP methods we don't consume from
|
|
6
|
-
the client. This task triages each, lands the ones with real value
|
|
7
|
-
for DPQL / Qonsole today, and documents why the rest are deferred or
|
|
8
|
-
permanently out of scope.
|
|
9
|
-
|
|
10
|
-
**Status:** done — committed in `d54597e`. Wires `textDocument/signatureHelp`; other 12 LSP methods deferred per the per-method rationale below. **Awaiting browser verification (mock + live story exist; live story confirmed against the real Qorus DPQL LSP).**
|
|
11
|
-
|
|
12
|
-
**Live-verification notes (captured after the initial implementation):**
|
|
13
|
-
|
|
14
|
-
- Real server signature shape differs from the hypothetical one
|
|
15
|
-
documented in §"Design decisions → 1." below. The Qorus DPQL handler
|
|
16
|
-
emits a single `→ <type>` return annotation in the `label`, and uses
|
|
17
|
-
**human-friendly capitalized parameter names** (`"String Value"`,
|
|
18
|
-
`"Start Character"`) rather than identifier-style (`"value1"`,
|
|
19
|
-
`"start"`). Both are valid LSP `SignatureInformation`; the render
|
|
20
|
-
path handles both.
|
|
21
|
-
- **`coalesce` and `concat` are single-variadic-parameter on the
|
|
22
|
-
server.** Both return one parameter (`"Value"`). Typing more commas
|
|
23
|
-
does NOT advance the active parameter — the server semantically
|
|
24
|
-
treats all args as the same conceptual slot. The original task plan
|
|
25
|
-
used `coalesce` as the demo case; the live story uses `substr`
|
|
26
|
-
instead because it has three distinct positional parameters and
|
|
27
|
-
visibly demos active-parameter advancement.
|
|
28
|
-
- Server-probed shapes for functions with distinct positional params:
|
|
29
|
-
- `substr(String Value, Start Character, Length) → string`
|
|
30
|
-
- `round(Number, Precision) → auto`
|
|
31
|
-
- `format_date(Date To Format, Format String) → string`
|
|
32
|
-
- `nullif(Value, Compare Value) → auto`
|
|
33
|
-
- `split(String To Split, Separator) → list<auto>`
|
|
34
|
-
- Real server **also pushes a `textDocument/publishDiagnostics`** for
|
|
35
|
-
incomplete input — `substr("hello", ` flags as "Unexpected token ''
|
|
36
|
-
in value position". The diagnostic clears once the syntax is
|
|
37
|
-
complete. The editor's existing diagnostic panel renders it.
|
|
38
|
-
Expected behavior.
|
|
39
|
-
- Capability advertisement: real server advertises 22 LSP providers
|
|
40
|
-
in `initialize`, but per the per-method rationale below, most return
|
|
41
|
-
null/empty for `languageId: 'dpql'`. The capability gate on
|
|
42
|
-
`session.capabilities?.signatureHelpProvider` is the right check
|
|
43
|
-
before wiring features.
|
|
44
|
-
**Scope:** one new feature (signatureHelp), one capability-detection
|
|
45
|
-
helper, eight explicit "rejected — defer" decisions.
|
|
46
|
-
**Estimated size:** ~250 lines + tests, ~1.5 days.
|
|
47
|
-
|
|
48
|
-
## Goal
|
|
49
|
-
|
|
50
|
-
The DpqlEditor should feel like a real code editor when you're inside
|
|
51
|
-
a function call — typing `coalesce(@a, ` should show a popover with
|
|
52
|
-
the signature `coalesce(value1, value2, …, default)`, the current
|
|
53
|
-
argument highlighted. This is the single highest-leverage LSP feature
|
|
54
|
-
we don't yet use.
|
|
55
|
-
|
|
56
|
-
## Research findings (server)
|
|
57
|
-
|
|
58
|
-
Full audit at the foot of this file. Summary:
|
|
59
|
-
|
|
60
|
-
The server (`qorus/Classes/QorusLspWebSocketHandler.qc`)
|
|
61
|
-
unconditionally advertises every LSP provider it knows about in the
|
|
62
|
-
`initialize` response (line 841-907), but **most of them early-return
|
|
63
|
-
`[]` or `null` for DPQL and Qonsole** — the handlers branch by
|
|
64
|
-
`languageId` and only the Qore / TypeScript / Python paths do
|
|
65
|
-
meaningful work. DPQL is implemented only for `completion`, `hover`,
|
|
66
|
-
`semanticTokens`, `formatting`, `signatureHelp`. Qonsole is
|
|
67
|
-
implemented for `completion`, `hover`, `semanticTokens`, `codeAction`.
|
|
68
|
-
|
|
69
|
-
| Method | DPQL | Qonsole | Value for DPQL |
|
|
70
|
-
|---|---|---|---|
|
|
71
|
-
| `textDocument/signatureHelp` | **yes** (`dpql-get-signature-help`) | yes | **HIGH** ← this task lands this |
|
|
72
|
-
| `textDocument/codeAction` | no | yes | LOW (no DPQL impl) |
|
|
73
|
-
| `textDocument/documentHighlight` | no | no | LOW |
|
|
74
|
-
| `textDocument/inlayHint` | no | no | LOW |
|
|
75
|
-
| `textDocument/prepareRename` + `rename` | no | no | LOW |
|
|
76
|
-
| `textDocument/selectionRange` | no | no | LOW today; MEDIUM if DPQL gains AST-driven |
|
|
77
|
-
| `textDocument/onTypeFormatting` | no | no | LOW (single-line) |
|
|
78
|
-
| `textDocument/definition` | no | no | LOW (hover covers it) |
|
|
79
|
-
| `textDocument/references` | no | no | LOW (single-line) |
|
|
80
|
-
| `textDocument/foldingRange` | no | no | LOW (single-line) |
|
|
81
|
-
| `textDocument/documentSymbol` | no | no | LOW (no symbols) |
|
|
82
|
-
| `textDocument/codeLens` | no | no | LOW (no top-level decls) |
|
|
83
|
-
| `workspace/executeCommand` | no | no (rejects `qonsole.*`) | LOW |
|
|
84
|
-
|
|
85
|
-
**Only one method is worth implementing now for the DPQL story we
|
|
86
|
-
ship.** The rest are documented as known not-supported-server-side
|
|
87
|
-
and revisited if/when the server gains support.
|
|
88
|
-
|
|
89
|
-
## Design decisions
|
|
90
|
-
|
|
91
|
-
### 1. `textDocument/signatureHelp` — implement
|
|
92
|
-
|
|
93
|
-
**Server contract:**
|
|
94
|
-
- Triggers: `(`, `,`, ` `, `-`, `=` (advertised by
|
|
95
|
-
`signatureHelpProvider.triggerCharacters`)
|
|
96
|
-
- Response shape:
|
|
97
|
-
```json
|
|
98
|
-
{
|
|
99
|
-
"signatures": [
|
|
100
|
-
{
|
|
101
|
-
"label": "coalesce(value1, value2, ..., default)",
|
|
102
|
-
"documentation": { "kind": "markdown", "value": "..." },
|
|
103
|
-
"parameters": [
|
|
104
|
-
{ "label": "value1", "documentation": {"kind":"markdown","value":"..."} },
|
|
105
|
-
...
|
|
106
|
-
]
|
|
107
|
-
}
|
|
108
|
-
],
|
|
109
|
-
"activeSignature": 0,
|
|
110
|
-
"activeParameter": 1
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
- Empty case: `{ "signatures": [], "activeSignature": 0, "activeParameter": 0 }`
|
|
114
|
-
|
|
115
|
-
**Client UX:**
|
|
116
|
-
- Small pinned pill **above** the caret (above, not below, so the
|
|
117
|
-
completion popover and signature pill don't overlap; they coexist
|
|
118
|
-
side-by-side or stacked)
|
|
119
|
-
- Shows the active signature's `label` with the parameter at
|
|
120
|
-
`activeParameter` highlighted (bold + accent color from the
|
|
121
|
-
`info` intent)
|
|
122
|
-
- Below the label: the active parameter's `documentation.value` as
|
|
123
|
-
markdown (capped at ~2 lines, scrollable past)
|
|
124
|
-
- Dismisses on: Escape, closing paren, cursor moves outside the
|
|
125
|
-
call (heuristic: cursor offset < open-paren position), or
|
|
126
|
-
`session.diagnostics` reports an error covering the call site
|
|
127
|
-
|
|
128
|
-
**Trigger logic:**
|
|
129
|
-
- Fire on the server-advertised triggers via the existing
|
|
130
|
-
`onSlateChangeImpl` path (`useLspAutocomplete.ts:443`)
|
|
131
|
-
- Also re-fire on any cursor move while a signature is currently
|
|
132
|
-
open — `activeParameter` advances when the user types a comma or
|
|
133
|
-
moves between args
|
|
134
|
-
- Debounce ~100ms (a bit faster than completions — feels snappier
|
|
135
|
-
for "where is my cursor inside this call")
|
|
136
|
-
|
|
137
|
-
**Position:**
|
|
138
|
-
- Anchor at the caret's DOM rect like the completion popover, but
|
|
139
|
-
`top: rect.top - 4` (above the line, with a 4px gap)
|
|
140
|
-
- Re-use the same "measure-after-debounce" pattern that fixed the
|
|
141
|
-
completion popover positioning bug from Phase 5
|
|
142
|
-
|
|
143
|
-
### 2. Generic LSP capability detection
|
|
144
|
-
|
|
145
|
-
The completion handler already captures the semantic-tokens legend
|
|
146
|
-
from initialize. Extend the same pattern so consumers can check
|
|
147
|
-
whether the server supports a given provider:
|
|
148
|
-
|
|
149
|
-
```ts
|
|
150
|
-
// lspClient.ts
|
|
151
|
-
public capabilities: ILspServerCapabilities | null = null;
|
|
152
|
-
// ILspServerCapabilities — minimal shape; just the providers we care about
|
|
153
|
-
// signatureHelpProvider?: { triggerCharacters?, retriggerCharacters? }
|
|
154
|
-
// hoverProvider?: boolean
|
|
155
|
-
// completionProvider?: { triggerCharacters? }
|
|
156
|
-
// semanticTokensProvider?: { legend, full?, range? }
|
|
157
|
-
// codeActionProvider?: { codeActionKinds? }
|
|
158
|
-
// ... (only what we read)
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
Surface as `session.capabilities` (and `session.semanticTokensLegend`
|
|
162
|
-
becomes a thin alias for `capabilities?.semanticTokensProvider?.legend`).
|
|
163
|
-
|
|
164
|
-
This gives wrappers a clean way to test "does this server support
|
|
165
|
-
signature help?" before wiring the trigger — no hardcoded server
|
|
166
|
-
assumptions.
|
|
167
|
-
|
|
168
|
-
### 3. Rejected — defer with rationale
|
|
169
|
-
|
|
170
|
-
For each LOW-value method, explicitly land a "we considered this and
|
|
171
|
-
declined" note in the README or design doc rather than leaving them
|
|
172
|
-
silently unimplemented. Future contributors should not have to redo
|
|
173
|
-
this research.
|
|
174
|
-
|
|
175
|
-
The rationale per method is in §research-findings below. The README's
|
|
176
|
-
Components section gains a short subsection "LSP methods supported"
|
|
177
|
-
that lists `completion`, `hover`, `formatting`, `semanticTokens`,
|
|
178
|
-
`diagnostics`, `signatureHelp` (after this task) and a one-line "Why
|
|
179
|
-
not X / Y" pointer.
|
|
180
|
-
|
|
181
|
-
## Surface area
|
|
182
|
-
|
|
183
|
-
| File | Change |
|
|
184
|
-
|---|---|
|
|
185
|
-
| `src/utils/lspClient.types.ts` | new `ILspSignatureHelp`, `ILspSignatureInformation`, `ILspParameterInformation`, `ILspServerCapabilities` types |
|
|
186
|
-
| `src/utils/lspClient.ts` | capture full `initialize` `capabilities` (not just the semantic-tokens legend); new `getSignatureHelp(line, character): Promise<ILspSignatureHelp \| null>` |
|
|
187
|
-
| `src/components/smartEditor/useLspSession.ts` | surface `capabilities: ILspServerCapabilities \| null` in the result |
|
|
188
|
-
| `src/components/smartEditor/useLspSignatureHelp.ts` | **new** — hook returning `{ signature, activePill, position, clear }`. Same skeleton as `useLspHover` (mousemove → here it's cursor-position-aware) |
|
|
189
|
-
| `src/components/smartEditor/SmartEditor.tsx` | render the signature pill `<ReqorePopover>` above the caret; trigger via the existing `onSlateChangeImpl` based on capability's `triggerCharacters` |
|
|
190
|
-
| `src/components/smartEditor/types.ts` | new `enableSignatureHelp?: boolean` prop (default `true`) |
|
|
191
|
-
| `__tests__/smartEditor/signatureHelp.test.ts` | **new** — unit tests for position mapping + active-parameter advancement |
|
|
192
|
-
| `src/components/dpqlEditor/DpqlEditor.stories.tsx` | mock `textDocument/signatureHelp` handler (return a synthetic `coalesce(...)` signature); new `WithSignatureHelp` story |
|
|
193
|
-
| `README.md` | document `enableSignatureHelp`; "LSP methods supported" subsection |
|
|
194
|
-
|
|
195
|
-
## Tasks
|
|
196
|
-
|
|
197
|
-
### Setup
|
|
198
|
-
|
|
199
|
-
- [ ] Read the Qore-spec dpql signature-help test fixtures to capture
|
|
200
|
-
a realistic signature shape (`/Users/nick/Projects/QoreTechnologies/qore-2/test/...` if any) — falls back to the `coalesce` example if no fixture exists
|
|
201
|
-
|
|
202
|
-
### Types + LspClient
|
|
203
|
-
|
|
204
|
-
- [ ] `src/utils/lspClient.types.ts` — add `ILspParameterInformation`,
|
|
205
|
-
`ILspSignatureInformation`, `ILspSignatureHelp`,
|
|
206
|
-
`ILspServerCapabilities` (minimal — only fields we read)
|
|
207
|
-
- [ ] `src/utils/lspClient.ts` — store the full `capabilities` hash
|
|
208
|
-
from `initialize` response (currently we only extract the
|
|
209
|
-
semantic-tokens legend). Backwards-compat: keep the existing
|
|
210
|
-
`semanticTokensLegend` field as a derived getter
|
|
211
|
-
- [ ] `LspClient.getSignatureHelp(line, character)` — sends
|
|
212
|
-
`textDocument/signatureHelp` with the URI + position; returns
|
|
213
|
-
the response or `null` on no signatures
|
|
214
|
-
|
|
215
|
-
### Session hook
|
|
216
|
-
|
|
217
|
-
- [ ] `useLspSession` — expose `capabilities` in the result
|
|
218
|
-
- [ ] Re-capture in the connect-effect alongside the existing legend
|
|
219
|
-
capture
|
|
220
|
-
|
|
221
|
-
### `useLspSignatureHelp` hook
|
|
222
|
-
|
|
223
|
-
- [ ] New file: `src/components/smartEditor/useLspSignatureHelp.ts`
|
|
224
|
-
- [ ] Signature: `useLspSignatureHelp(session, editorRef, converter, options?)`
|
|
225
|
-
- [ ] State: `{ signature: ILspSignatureHelp | null, position: { left, top } | null, clear: () => void }`
|
|
226
|
-
- [ ] Debounce 100ms; cancel on cursor moves outside any open paren
|
|
227
|
-
- [ ] Stale-response guard via `requestIdRef` (same pattern as hover)
|
|
228
|
-
- [ ] Skips if `!session.capabilities?.signatureHelpProvider`
|
|
229
|
-
|
|
230
|
-
### SmartEditor wiring
|
|
231
|
-
|
|
232
|
-
- [ ] New prop `enableSignatureHelp?: boolean` (default `true`)
|
|
233
|
-
- [ ] Call `useLspSignatureHelp(...)` alongside the other LSP hooks
|
|
234
|
-
- [ ] Trigger from `onSlateChangeImpl` when the typed character is in
|
|
235
|
-
the server's advertised `signatureHelpProvider.triggerCharacters`
|
|
236
|
-
AND `enableSignatureHelp` is true
|
|
237
|
-
- [ ] Render the signature pill `<ReqorePopover>` anchored at
|
|
238
|
-
`{ top: rect.top - 4, left: rect.left }` with `placement='top-start'`
|
|
239
|
-
- [ ] Pill content: signature label with active parameter bolded,
|
|
240
|
-
below it the active parameter's documentation rendered via
|
|
241
|
-
`react-markdown`
|
|
242
|
-
- [ ] Dismiss on Escape (extend the existing keyboard handler), on
|
|
243
|
-
cursor moves out of the call, on close-paren
|
|
244
|
-
|
|
245
|
-
### Stories + tests
|
|
246
|
-
|
|
247
|
-
- [ ] DpqlEditor mock: handle `textDocument/signatureHelp` by
|
|
248
|
-
returning a synthetic `coalesce(value1, value2, default)`
|
|
249
|
-
signature
|
|
250
|
-
- [ ] New story `Components/DpqlEditor → WithSignatureHelp` — initial
|
|
251
|
-
value `coalesce(@name, ` so the pill is visible on mount
|
|
252
|
-
- [ ] Play test: assert the pill appears, `activeParameter` is 1
|
|
253
|
-
(`value2`), advances to 2 (`default`) on typing a comma
|
|
254
|
-
- [ ] Unit tests for `getSignatureHelp` request shape, the
|
|
255
|
-
capability gate (no request when provider absent)
|
|
256
|
-
|
|
257
|
-
### Documentation
|
|
258
|
-
|
|
259
|
-
- [ ] README.md — add `enableSignatureHelp` to SmartEditor props
|
|
260
|
-
table; add an "LSP methods supported" subsection that lists
|
|
261
|
-
what's wired and includes a one-line "Why not X" entry for
|
|
262
|
-
each of the 12 deferred methods
|
|
263
|
-
- [ ] Inline TSDoc on `enableSignatureHelp` explains it's gated on
|
|
264
|
-
server capability — turning it on with a non-supporting server
|
|
265
|
-
is a silent no-op
|
|
266
|
-
|
|
267
|
-
### Checks
|
|
268
|
-
|
|
269
|
-
- [ ] Typecheck, lint, jest, storybook play tests all pass
|
|
270
|
-
- [ ] **STOP — user verifies in browser** before commit
|
|
271
|
-
|
|
272
|
-
## Research findings — per-method deferral rationale
|
|
273
|
-
|
|
274
|
-
(For the README's "Why not X" pointers. Sourced from the deep server
|
|
275
|
-
audit; full notes in research transcript.)
|
|
276
|
-
|
|
277
|
-
| Method | Why deferred |
|
|
278
|
-
|---|---|
|
|
279
|
-
| `textDocument/codeAction` | Server has no DPQL handler. For Qonsole it works but our editor primitive isn't where quick-fix UI belongs — that's qorus-ide-side. Add later if a Qonsole-specific consumer needs it. |
|
|
280
|
-
| `textDocument/documentHighlight` | Server returns `[]` for both DPQL and Qonsole. |
|
|
281
|
-
| `textDocument/inlayHint` | Server returns `[]`. Single-line DPQL would crowd ghost-text. |
|
|
282
|
-
| `textDocument/prepareRename` + `rename` | Server returns `null`. DPQL field names aren't user-renameable (server-owned schema). |
|
|
283
|
-
| `textDocument/selectionRange` | Server returns `[]`. Could become useful if DPQL parser exposes AST ranges, but no current consumer asks for it. |
|
|
284
|
-
| `textDocument/onTypeFormatting` | Server returns `[]`. DPQL is single-line, no `{}` blocks. |
|
|
285
|
-
| `textDocument/definition` | Server returns `[]`. Field "definitions" already surfaced via hover. |
|
|
286
|
-
| `textDocument/references` | Server returns `[]`. Short expressions; no cross-reference scope. |
|
|
287
|
-
| `textDocument/foldingRange` | Server returns `[]`. Single-line. |
|
|
288
|
-
| `textDocument/documentSymbol` | Server returns `[]`. Server comment: "command buffers are single-line and do not expose symbols". |
|
|
289
|
-
| `textDocument/codeLens` | Server returns `[]`. No top-level declarations in DPQL/Qonsole input. |
|
|
290
|
-
| `workspace/executeCommand` | Server rejects `qonsole.*` (wizard launch is REST-based — see Qonsole task). No other commands defined. |
|
|
291
|
-
|
|
292
|
-
## Out of scope
|
|
293
|
-
|
|
294
|
-
- Wiring code-actions for Qonsole only (would land in the Qonsole
|
|
295
|
-
features task, not here)
|
|
296
|
-
- Implementing client-side rename UI even if the server stays no-op
|
|
297
|
-
- Adding signature help to QonsoleSmartInput (covered by the
|
|
298
|
-
Qonsole-features task; signature help for natural-language input
|
|
299
|
-
doesn't make sense the same way it does for DPQL function calls)
|
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
# SmartEditor / DpqlEditor — review follow-ups (PR #62)
|
|
2
|
-
|
|
3
|
-
Source: reviewer feedback on toolkit-react PR #62 (the `0.10.0` editor batch).
|
|
4
|
-
Four work items.
|
|
5
|
-
|
|
6
|
-
**Status:** all 4 items done pending user verify (uncommitted)
|
|
7
|
-
|
|
8
|
-
- **Task 1** ✅ removed the client "Templates" button + `templates`/`stateId`
|
|
9
|
-
props (our work, unreleased, server-redundant). Mock now position-aware:
|
|
10
|
-
`$`→templates, `@`→fields. `WithTemplates` story reworked to demo the
|
|
11
|
-
`$`-server flow.
|
|
12
|
-
- **Task 2** ✅ play tests added: DPQL `WithSignatureHelp` (pill on mount),
|
|
13
|
-
`WithTemplates` (`$`/`@` routing), Qonsole `WithCommitCharacters`
|
|
14
|
-
(`=` commit, no `==`), `WithWizardItems` (`onWizardStart` fires),
|
|
15
|
-
SmartEditor `WithMarkdownDocs` + `WithGroupedKinds` (open dropdowns).
|
|
16
|
-
- **Task 3** ✅ theme-transparency: popovers inherit the ambient theme
|
|
17
|
-
(no more hardcoded `#1a1a1a`); focused row uses `custom1` (QorusPurple);
|
|
18
|
-
`#160437` → semantic `pending:darken`. Storybook decorator applies
|
|
19
|
-
qorus-ide's theme (`#121212` + Qorus intents) so snapshots show the
|
|
20
|
-
in-IDE look.
|
|
21
|
-
- **Task 4** ✅ the look-alike SmartEditor stories now open their
|
|
22
|
-
dropdowns via `play` (combined with Task 2).
|
|
23
|
-
- **Bonus** ✅ two live stories: `LiveDpqlEditorWithAlertPayload` (verify
|
|
24
|
-
`@` fields live) + `LiveDpqlEditorWithFsmContext` (verify `$data:`).
|
|
25
|
-
|
|
26
|
-
**Verification:** 263 jest pass; 161/162 storybook play tests pass (the 1
|
|
27
|
-
is the pre-existing unrelated `FormEngine.OnValidityChange` flake). Design
|
|
28
|
-
verified in browser — dropdown on `#121212`, purple focused row.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
Reviewer's message (verbatim):
|
|
33
|
-
> Because I think the idea was that when you type `$` it should show you
|
|
34
|
-
> templates, when you write `@` it should show you fields etc.
|
|
35
|
-
>
|
|
36
|
-
> can you please go back and also add more storybook play tests, so that
|
|
37
|
-
> if the story is wrong we can detect it in the CI?
|
|
38
|
-
> Also the design could be improved I think as well, so that it matches
|
|
39
|
-
> the IDE more (eg the screenshot)
|
|
40
|
-
> There are multiple stories that look the same in the SmartEditor (just
|
|
41
|
-
> an empty input box)
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Task 1 — `$` → templates, `@` → fields (fix the trigger model)
|
|
46
|
-
|
|
47
|
-
**Intended UX (per reviewer):** typing `$` surfaces templates; typing `@`
|
|
48
|
-
surfaces field references. Both through the same on-typing completion
|
|
49
|
-
dropdown — NOT a separate button, NOT on-focus.
|
|
50
|
-
|
|
51
|
-
**Current state (the mismatch):**
|
|
52
|
-
- `$` IS already a trigger char: `DPQL_TRIGGERS = new Set(['@', '$', '.', ':'])`
|
|
53
|
-
(`DpqlEditor.tsx:52`). So typing `$` fires `getCompletions` → the LSP
|
|
54
|
-
**server**. Whether the server returns templates for a `$` context is a
|
|
55
|
-
server-side question we haven't confirmed.
|
|
56
|
-
- The client-supplied `templates` prop (static items like `$local:input`,
|
|
57
|
-
`$timestamp:now`) is rendered as a **separate "Templates" dropdown
|
|
58
|
-
button above the editor** (`DpqlEditor.tsx:241` `topActions` →
|
|
59
|
-
`ReqoreDropdown`). This is redundant with the `$`-trigger idea and is
|
|
60
|
-
the thing the reviewer is questioning.
|
|
61
|
-
|
|
62
|
-
**Important nuance discovered while scoping** — there are *two different*
|
|
63
|
-
trigger models in play, and they're not the same:
|
|
64
|
-
- **Native `ReqoreTextarea`/`ReqoreRichTextEditor` `templates` prop**
|
|
65
|
-
(inherited via `IReqoreRichTextEditorProps extends IReqoreTextareaProps`)
|
|
66
|
-
→ opens the templates popover on **click/focus** of the editor
|
|
67
|
-
(`ReqoreDropdown` with `closeOnTargetClick: false`). This is the "click
|
|
68
|
-
in → popup shows" behaviour the reviewer first referenced for the other
|
|
69
|
-
fields.
|
|
70
|
-
- **Reviewer's stated intent now** → `$` (typing) shows templates.
|
|
71
|
-
|
|
72
|
-
These differ. For an LSP-backed editor where `@` already opens fields
|
|
73
|
-
**on typing**, the **`$`-on-typing** model is the consistent one — a
|
|
74
|
-
click/focus popup would compete with the `@` completion overlay and
|
|
75
|
-
reverse the deliberate "trigger-on-typing-only" design (commit
|
|
76
|
-
`6fb9bf3`). So Task 1 = the `$`-on-typing model, not the native
|
|
77
|
-
click-popup.
|
|
78
|
-
|
|
79
|
-
**ANSWER — confirmed from the qorus server source** (`Classes/QorusLspWebSocketHandler.qc`):
|
|
80
|
-
|
|
81
|
-
The server is the **single authoritative source for both** `@` fields and
|
|
82
|
-
`$` templates. It is **position-aware** — one `dpql-get-completions` call
|
|
83
|
-
returns the right items based on the cursor context. So `$`→templates and
|
|
84
|
-
`@`→fields is **already the server's design**; the client does NOT branch.
|
|
85
|
-
|
|
86
|
-
Evidence:
|
|
87
|
-
- Triggers advertised: `"dpql": {"@": True, "$": True, ".": True, " ": True}`
|
|
88
|
-
(`:269`).
|
|
89
|
-
- The completion handler (`:1260-1294`) calls a single
|
|
90
|
-
`DpqlActionSession.handleAction("dpql-get-completions", {text, position,
|
|
91
|
-
template_context, fields})` and maps the unified result to LSP items. The
|
|
92
|
-
server parses text+position and returns fields after `@`, templates after
|
|
93
|
-
`$`, plus functions/keywords/operators (`:7910` fallback comment:
|
|
94
|
-
"functions, keywords, operators, templates").
|
|
95
|
-
- **Templates are server-derived, NOT client-supplied.**
|
|
96
|
-
`buildDpqlTemplateContext` (`:8648`) builds the template context from:
|
|
97
|
-
- `state_data` from the **FSM context** (set via `dpql/setFsmContext` →
|
|
98
|
-
`uriToFsmContext`), and
|
|
99
|
-
- `record_fields` from the provider/recordType fields, and
|
|
100
|
-
- global Qorus template namespaces via `QorusExpressionHandler::QorusExpressionMap`
|
|
101
|
-
(`:7916` fallback path) — this is very likely where `$local:` /
|
|
102
|
-
`$timestamp:` / `$config:` come from (the exact items our static
|
|
103
|
-
`templates` prop hard-codes). **[verify: confirm QorusExpressionMap
|
|
104
|
-
yields those namespaces]**
|
|
105
|
-
|
|
106
|
-
**Conclusion: it is NOT "both" — the proper source is the server.**
|
|
107
|
-
`$`→templates already works **today** via the existing `$` trigger +
|
|
108
|
-
`getCompletions`, *provided the editor's context is set* (`fsmContext`
|
|
109
|
-
and/or `provider`/`recordType`). The static client `templates` prop +
|
|
110
|
-
the "Templates" button **duplicate** what the server already returns on
|
|
111
|
-
`$`, and worse, present it as a button instead of the `$`-trigger flow.
|
|
112
|
-
|
|
113
|
-
**The most correct + proper implementation:**
|
|
114
|
-
1. **Remove the `topActions` "Templates" button** from `DpqlEditor`
|
|
115
|
-
(`:241`). It duplicates the server's `$` completions.
|
|
116
|
-
2. Rely on the existing `$` trigger → `getCompletions` → server returns
|
|
117
|
-
templates. No client branching, no injection in the normal path.
|
|
118
|
-
3. The `WithTemplates` story is demonstrating the **wrong mechanism** (the
|
|
119
|
-
static button). Rework it to set an `fsmContext` (or provider) and a
|
|
120
|
-
mock that returns templates on `$`, so it shows the real `$`→templates
|
|
121
|
-
flow.
|
|
122
|
-
4. **Remove the static `templates` prop entirely (the "clean" version) —
|
|
123
|
-
confirmed SAFE, no reviewer sign-off needed.** Rationale:
|
|
124
|
-
- The prop is **our** addition (commit `6e11c7b`, this batch), not a
|
|
125
|
-
reqore feature. Only the *type* `IReqoreFormTemplates` is reqore's.
|
|
126
|
-
- `DpqlEditor` is **brand-new in the unreleased `0.10.0`** — the
|
|
127
|
-
published `0.8.11` doesn't even export it, so there is **no external
|
|
128
|
-
consumer** of the prop.
|
|
129
|
-
- The qorus-ide wrapper does **not** pass `templates`.
|
|
130
|
-
- **Server-confirmed redundant**: live `$` returned `$autovar:`,
|
|
131
|
-
`$config:`, `$data:`, `$env:`, `$for:`, `$foreach:`, … — a *fuller*
|
|
132
|
-
set than the prop's hard-coded `$local`/`$timestamp`/`$config`. The
|
|
133
|
-
server (QorusExpressionMap + FSM `state_data` + record fields) is
|
|
134
|
-
strictly better and always present for an LSP-backed editor.
|
|
135
|
-
- No realistic DPQL case needs client-supplied templates.
|
|
136
|
-
→ Drop the prop + the button. (`IReqoreFormTemplates` import goes too.)
|
|
137
|
-
|
|
138
|
-
**EMPIRICALLY VERIFIED (live server):**
|
|
139
|
-
- `$` in `LiveDpqlEditorWithSignatureHelp` (no context) → server returns the
|
|
140
|
-
global namespaces (`$autovar:`, `$config:`, `$data:`, `$env:`, `$for:`,
|
|
141
|
-
`$foreach:`, …). ✓ confirms `$`→templates is server-driven + context-free.
|
|
142
|
-
- `@` in the same (no-context) story → **nothing**, which is **correct**:
|
|
143
|
-
field refs come from `getDpqlFields(uri)`, which only exist once a context
|
|
144
|
-
is bound (`provider`/`recordType`, `alertPayloadContext`, or FSM). The
|
|
145
|
-
server's NO-CONTEXT fallback returns "functions, keywords, operators,
|
|
146
|
-
templates" — **fields are deliberately not in that list**. So `@`-empty
|
|
147
|
-
without a context is by design, not a bug.
|
|
148
|
-
- **Still to verify (needs a new live story with a real context):** `@`
|
|
149
|
-
returning actual fields. Add `LiveDpqlEditorWithAlertPayload`
|
|
150
|
-
(`alertPayloadContext: true`) and type `@` → expect real alert-payload
|
|
151
|
-
fields. Optionally `LiveDpqlEditorWithFsmContext` for `$data:` state
|
|
152
|
-
templates beyond the globals.
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## Task 2 — Storybook play tests for CI regression detection
|
|
157
|
-
|
|
158
|
-
Reviewer wants CI to catch a broken story. Current coverage:
|
|
159
|
-
- 26 stories across DpqlEditor / SmartEditor / QonsoleSmartInput.
|
|
160
|
-
- Only **4 explicit `play` tests** (`CanTypeText`, `LspCompletionRoundtrip`,
|
|
161
|
-
SmartEditor `BasicMock`, QonsoleSmartInput `BasicMock`). The rest are
|
|
162
|
-
smoke-only (render-without-throw) — which is why "158/159 pass" sounded
|
|
163
|
-
like more behavioural coverage than it is.
|
|
164
|
-
|
|
165
|
-
**Add deterministic play tests to the MOCK stories** (live stories stay
|
|
166
|
-
smoke-only — non-deterministic against real `/lsp`):
|
|
167
|
-
- DpqlEditor `WithSignatureHelp` (mock): pill on mount with `Start Character`
|
|
168
|
-
highlighted → type `0, ` → `Length` highlighted → type `)` → pill gone.
|
|
169
|
-
- DpqlEditor `$`→templates and `@`→fields (after Task 1): assert the right
|
|
170
|
-
dropdown opens per trigger.
|
|
171
|
-
- QonsoleSmartInput `WithCommitCharacters`: type `-`,`-`,`l`,`=` → no `==` dup.
|
|
172
|
-
- QonsoleSmartInput `WithWizardItems`: select wizard item → `onWizardStart`
|
|
173
|
-
spy called with the descriptor.
|
|
174
|
-
- QonsoleSmartInput `BasicMock`: already has the `/l`→`/list` no-dup +
|
|
175
|
-
slot-grammar assertions — keep / extend.
|
|
176
|
-
|
|
177
|
-
**Constraint already learned:** programmatic `execCommand`/synthetic
|
|
178
|
-
`InputEvent` do NOT reliably go through Slate's `beforeinput` pipeline —
|
|
179
|
-
use `@storybook/test` `userEvent.type` (the existing 4 play tests do this
|
|
180
|
-
successfully). Some assertions (signature param advance) were only verified
|
|
181
|
-
manually; codifying them is the point of this task.
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Task 3 — Design polish to match the IDE
|
|
186
|
-
|
|
187
|
-
Reviewer: "the design could be improved … so that it matches the IDE more
|
|
188
|
-
(eg the screenshot)".
|
|
189
|
-
|
|
190
|
-
**The IDE's design tokens (confirmed — `qorus-ide/src/constants/util.ts`
|
|
191
|
-
`defaultReqoreTheme`, applied app-wide via `ReqoreUIProvider` in
|
|
192
|
-
`src/index.tsx`):**
|
|
193
|
-
- `main: '#121212'` (app surface)
|
|
194
|
-
- `header.background: '#000000'`
|
|
195
|
-
- intents: `success: '#4a7110'`, **`custom1: '#762f7e'` (QorusPurple)**,
|
|
196
|
-
`custom2: '#b34e1d'` (Attention/orange)
|
|
197
|
-
- theme name `vscode`; options: button/dialog animations off, `glowingIcons`,
|
|
198
|
-
tooltip delay 300, `closePopoversOnEscPress`.
|
|
199
|
-
|
|
200
|
-
**The mismatch:** our `styling.ts` **hardcodes** its own surfaces instead
|
|
201
|
-
of inheriting the ambient theme:
|
|
202
|
-
- `SMART_EDITOR_POPOVER_CUSTOM_THEME.main = '#1a1a1a'` (vs the IDE's
|
|
203
|
-
`#121212`)
|
|
204
|
-
- gradient `#160437` etc.
|
|
205
|
-
- focused row / chips use generic `info` (blue) — the IDE's brand accent is
|
|
206
|
-
**QorusPurple `#762f7e` (custom1)**, which is why our blue-accented
|
|
207
|
-
dropdown reads as "not quite the IDE".
|
|
208
|
-
|
|
209
|
-
**The correct approach (per `qorus-ide/design/REQORE_REQRAFT.md`: "use
|
|
210
|
-
customTheme/effect/intent, don't hardcode"):** the editor is a **library**
|
|
211
|
-
component — it must NOT bake in qorus-ide's brand hexes (that couples
|
|
212
|
-
reqraft to one consumer). Instead:
|
|
213
|
-
|
|
214
|
-
1. **Make the editor theme-transparent** — stop forcing `#1a1a1a`; use
|
|
215
|
-
`transparent` + inherit the ambient Reqore theme so the popover surface
|
|
216
|
-
becomes whatever the host app's `main` is. Embedded in qorus-ide →
|
|
217
|
-
automatically `#121212`; embedded elsewhere → that app's surface. This is
|
|
218
|
-
the "matches the IDE" win AND keeps reqraft consumer-agnostic.
|
|
219
|
-
2. **Use semantic intents, not hexes** — let the focused-row / chip accent
|
|
220
|
-
resolve through the theme's intent palette (so qorus-ide colours it with
|
|
221
|
-
its `custom1` purple; the library ships a sensible default).
|
|
222
|
-
3. **Storybook preview** — add a decorator that wraps the editor stories in
|
|
223
|
-
a qorus-ide-like theme (`main: '#121212'`, `intents.custom1 = '#762f7e'`,
|
|
224
|
-
`custom2 = '#b34e1d'`) so the Chromatic snapshots show the in-IDE look.
|
|
225
|
-
This is how we "see the match" without running the whole IDE — and it's
|
|
226
|
-
what the reviewer's screenshot compares against.
|
|
227
|
-
|
|
228
|
-
**To do:**
|
|
229
|
-
- `styling.ts`: replace hardcoded `#1a1a1a`/`#160437` popover surfaces with
|
|
230
|
-
`transparent` + ambient-theme inheritance; keep `backgroundBlur`.
|
|
231
|
-
- Audit `COMPLETION_KIND_INTENTS` + focused-row + chip intents → semantic
|
|
232
|
-
intents that the host theme colours (not literal blue).
|
|
233
|
-
- Add the qorus-ide-theme Storybook decorator (global, in `.storybook` or a
|
|
234
|
-
per-editor-story decorator) so stories render on `#121212` with the Qorus
|
|
235
|
-
intents.
|
|
236
|
-
- Then eyeball row padding/height, chip style, type-caption treatment
|
|
237
|
-
against the screenshot and nudge spacing.
|
|
238
|
-
|
|
239
|
-
**Why we can do this without reviewer back-and-forth:** the design target is
|
|
240
|
-
the IDE's own published theme tokens (`defaultReqoreTheme`) — not a
|
|
241
|
-
subjective choice. "Match the IDE" = "inherit the IDE's theme + use its
|
|
242
|
-
intent palette", which is objectively defined in `constants/util.ts`. The
|
|
243
|
-
only subjective polish (exact padding/row height) we tune against the
|
|
244
|
-
screenshot.
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## Task 4 — Deduplicate / differentiate empty-looking SmartEditor stories
|
|
249
|
-
|
|
250
|
-
Reviewer: "multiple stories that look the same in the SmartEditor (just an
|
|
251
|
-
empty input box)".
|
|
252
|
-
|
|
253
|
-
**Confirmed:** the 3 SmartEditor mock stories all seed `initialValue: ''`:
|
|
254
|
-
- `BasicMock`, `WithMarkdownDocs`, `WithGroupedKinds` → all render as an
|
|
255
|
-
identical empty box at rest, so their Chromatic snapshots are
|
|
256
|
-
indistinguishable. (`LiveQonsole` seeds `/list services ` so it differs.)
|
|
257
|
-
|
|
258
|
-
**Options (pick per story):**
|
|
259
|
-
- Seed a representative `initialValue` so each looks distinct at rest, OR
|
|
260
|
-
- Add a `play` that opens the dropdown so the Chromatic snapshot captures
|
|
261
|
-
the differentiated content (this doubles as Task 2 coverage), OR
|
|
262
|
-
- Consolidate stories that genuinely demo the same thing.
|
|
263
|
-
|
|
264
|
-
Recommendation: combine with Task 2 — give each a `play` that opens its
|
|
265
|
-
characteristic dropdown state, which both differentiates the snapshot AND
|
|
266
|
-
adds the CI assertion. Net: one pass covers Tasks 2 + 4 for SmartEditor.
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
## Suggested order
|
|
271
|
-
|
|
272
|
-
1. **Task 1** decision (ask reviewer: server `$` templates vs client-injected
|
|
273
|
-
vs both) — blocks the implementation but not the others.
|
|
274
|
-
2. **Tasks 2 + 4 together** — play tests that open dropdowns differentiate
|
|
275
|
-
the snapshots AND give CI coverage. Do the non-`$` ones now; add the
|
|
276
|
-
`$`→templates assertion after Task 1 lands.
|
|
277
|
-
3. **Task 3** — needs the reviewer's design target; iterative.
|
|
278
|
-
|
|
279
|
-
All on `feature/dpql-editor` (PR #62) as follow-up commits **after** the
|
|
280
|
-
user verifies — no commits without explicit OK.
|