@qoretechnologies/reqraft 0.10.64 → 0.10.65-pr.137.g62fcecc
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/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 +25 -5
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +36 -5
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +340 -62
- package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
- package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.js +35 -17
- package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +54 -8
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
- 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 +207 -97
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +29 -3
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +58 -10
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +542 -112
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
- package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
- package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
- package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +24 -3
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +21 -0
- package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowContext.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts +20 -10
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +36 -30
- 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/readFirst.d.ts +24 -8
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +77 -109
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/readFirstColors.d.ts +30 -0
- package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
- package/dist/components/form/engine/readFirstColors.js +51 -0
- package/dist/components/form/engine/readFirstColors.js.map +1 -0
- package/dist/components/form/engine/rowFocus.d.ts +2 -0
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +26 -3
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/engine/typeChoices.d.ts +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.js +2 -1
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
- package/dist/components/form/engine/variants/variantParts.js +25 -17
- package/dist/components/form/engine/variants/variantParts.js.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.js +3 -3
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts +64 -3
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +459 -100
- 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 +27 -9
- 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.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
- 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 +6 -3
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
- package/dist/components/form/expressions/builder/index.d.ts +24 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +138 -78
- 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/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 +40 -9
- 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 +7 -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 +26 -9
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- 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 +20 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +81 -36
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
- package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
- package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
- package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
- package/dist/components/form/fields/binary/Binary.js +23 -3
- package/dist/components/form/fields/binary/Binary.js.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
- package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.js +9 -1
- package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
- package/dist/components/form/fields/color/Color.d.ts +103 -16
- package/dist/components/form/fields/color/Color.d.ts.map +1 -1
- package/dist/components/form/fields/color/Color.js +616 -16
- package/dist/components/form/fields/color/Color.js.map +1 -1
- package/dist/components/form/fields/emittedValues.d.ts +34 -3
- package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
- package/dist/components/form/fields/emittedValues.js +24 -1
- package/dist/components/form/fields/emittedValues.js.map +1 -1
- package/dist/components/form/fields/file/File.d.ts +1 -1
- package/dist/components/form/fields/file/File.d.ts.map +1 -1
- package/dist/components/form/fields/file/File.js +4 -2
- package/dist/components/form/fields/file/File.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +17 -3
- 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 +4 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +6 -0
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +41 -6
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/object/Object.d.ts +1 -1
- package/dist/components/form/fields/object/Object.d.ts.map +1 -1
- package/dist/components/form/fields/object/Object.js +4 -2
- package/dist/components/form/fields/object/Object.js.map +1 -1
- package/dist/components/form/fields/pendingEdit.d.ts +52 -0
- package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
- package/dist/components/form/fields/pendingEdit.js +79 -0
- package/dist/components/form/fields/pendingEdit.js.map +1 -0
- package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +188 -82
- 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 +49 -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 +2 -0
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +19 -10
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +8 -2
- 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 +13 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
- package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
- package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
- package/dist/components/form/fields/template/TemplateField.d.ts +102 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +572 -85
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- 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 +9 -11
- package/dist/components/form/fields/template/TemplateText.js.map +1 -1
- 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 +10 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +23 -1
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +19 -7
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/log/Log.d.ts.map +1 -1
- package/dist/components/log/Log.js +16 -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 +43 -0
- package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
- package/dist/components/smartEditor/CompletionMenu.js +196 -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 +164 -180
- package/dist/components/smartEditor/SmartEditor.js.map +1 -1
- package/dist/components/smartEditor/completionStyle.d.ts +27 -0
- package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
- package/dist/components/smartEditor/completionStyle.js +68 -0
- package/dist/components/smartEditor/completionStyle.js.map +1 -0
- package/dist/components/smartEditor/index.d.ts +5 -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 +18 -0
- package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
- package/dist/components/smartEditor/templateCompletions.js +94 -0
- package/dist/components/smartEditor/templateCompletions.js.map +1 -0
- package/dist/components/smartEditor/typedReferences.d.ts +21 -0
- package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
- package/dist/components/smartEditor/typedReferences.js +82 -0
- package/dist/components/smartEditor/typedReferences.js.map +1 -0
- package/dist/components/smartEditor/types.d.ts +33 -1
- package/dist/components/smartEditor/types.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
- package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
- 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 +279 -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/supportTicket/AttachmentChips.d.ts.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.js +15 -5
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +27 -6
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +20 -2
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +9 -4
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
- package/dist/components/ticketThread/TicketThread.js +38 -13
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/descriptionTooltip.d.ts +43 -0
- package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
- package/dist/helpers/descriptionTooltip.js +70 -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 +107 -2
- package/dist/helpers/expressions.d.ts.map +1 -1
- package/dist/helpers/expressions.js +223 -8
- 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/qorusTypeCatalogue.d.ts +53 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.js +262 -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/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.js +5 -2
- package/dist/helpers/templateText.js.map +1 -1
- package/dist/helpers/templates.d.ts +41 -14
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +152 -9
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +9 -0
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +139 -33
- package/dist/helpers/validations.js.map +1 -1
- package/dist/hooks/useQorusTypes.d.ts +7 -15
- package/dist/hooks/useQorusTypes.d.ts.map +1 -1
- package/dist/hooks/useQorusTypes.js +25 -166
- 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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- 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/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 -5
- package/.claude/CLAUDE.md +0 -317
- package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
- package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
- package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
- package/.tasks/FIELD_STACK_REPORT.md +0 -234
- package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
- package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
- package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
- package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
- package/.tasks/INDEX.md +0 -111
- package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
- package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
- package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
- package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
- package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
- package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
- package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
- package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
- package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
- package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
- package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
- package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
- package/CODE_OF_CONDUCT.md +0 -105
- package/CONTRIBUTING.MD +0 -78
- package/SECURITY.md +0 -3
- package/chromatic.config.json +0 -5
- package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
- package/design/COMPACT_INFO_DISPLAY.md +0 -87
- package/design/COMPACT_PARITY.md +0 -85
- package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
- package/design/FORM_ENGINE_COMPACT.md +0 -300
- package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
- package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
- package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
- package/design/IDE_INTEGRATION.md +0 -64
- package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
- package/design/SELECT_DIALOG_FLOOR.md +0 -86
- package/design/SMART_EDITOR_UX.md +0 -438
- package/design/TRACKING.md +0 -290
- package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
- package/src/components/Description/index.tsx +0 -254
- package/src/components/Description/markdownRendererContext.tsx +0 -29
- package/src/components/FocusedEditing/index.tsx +0 -50
- package/src/components/codeSize/index.tsx +0 -79
- package/src/components/composer/Composer.stories.tsx +0 -238
- package/src/components/composer/Composer.tsx +0 -554
- package/src/components/composer/helpers.ts +0 -74
- package/src/components/composer/index.ts +0 -2
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
- package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
- package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
- package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
- package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
- package/src/components/dpqlEditor/dpqlTags.ts +0 -114
- package/src/components/dpqlEditor/index.ts +0 -41
- package/src/components/dpqlEditor/types.ts +0 -203
- package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
- package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
- package/src/components/form/engine/CompactRow.tsx +0 -2620
- package/src/components/form/engine/CompactToolbar.tsx +0 -330
- package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
- package/src/components/form/engine/FormEngine.tsx +0 -4569
- package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
- package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
- package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
- package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
- package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
- package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
- package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
- package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
- package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
- package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
- package/src/components/form/engine/compactRowContext.ts +0 -148
- package/src/components/form/engine/compactRowStyles.ts +0 -898
- package/src/components/form/engine/compactToolbarContext.ts +0 -69
- package/src/components/form/engine/optionActions.ts +0 -128
- package/src/components/form/engine/optionsContext.ts +0 -24
- package/src/components/form/engine/readFirst.ts +0 -1077
- package/src/components/form/engine/rendererTypes.ts +0 -107
- package/src/components/form/engine/revealRow.ts +0 -123
- package/src/components/form/engine/rowFocus.ts +0 -101
- package/src/components/form/engine/rowMenuContext.ts +0 -159
- package/src/components/form/engine/rowOpenPicker.ts +0 -27
- package/src/components/form/engine/typeChoices.ts +0 -63
- package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
- package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
- package/src/components/form/engine/variants/VariantCards.tsx +0 -212
- package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
- package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
- package/src/components/form/engine/variants/focusDemo.ts +0 -145
- package/src/components/form/engine/variants/variantModel.ts +0 -223
- package/src/components/form/engine/variants/variantParts.tsx +0 -313
- package/src/components/form/expressions/DpqlRendering.tsx +0 -85
- package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
- package/src/components/form/expressions/ExpressionField.tsx +0 -503
- package/src/components/form/expressions/argumentPresence.ts +0 -213
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
- package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
- package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
- package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
- package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
- package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
- package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
- package/src/components/form/expressions/builder/index.tsx +0 -1545
- package/src/components/form/expressions/builder/item.tsx +0 -89
- package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
- package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
- package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
- package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
- package/src/components/form/expressions/mockExpressions.ts +0 -317
- package/src/components/form/expressions/renderExpressionToText.ts +0 -137
- package/src/components/form/expressions/types.ts +0 -110
- package/src/components/form/expressions/useExpressions.ts +0 -101
- package/src/components/form/expressions/useRenderExpression.ts +0 -165
- package/src/components/form/fields/Field.stories.tsx +0 -143
- package/src/components/form/fields/Field.tsx +0 -732
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
- package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
- package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
- package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
- package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
- package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
- package/src/components/form/fields/binary/Binary.tsx +0 -91
- package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
- package/src/components/form/fields/boolean/Boolean.tsx +0 -34
- package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
- package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
- package/src/components/form/fields/color/Color.stories.tsx +0 -99
- package/src/components/form/fields/color/Color.tsx +0 -46
- package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
- package/src/components/form/fields/cron/Cron.tsx +0 -80
- package/src/components/form/fields/date/Date.stories.tsx +0 -77
- package/src/components/form/fields/date/Date.tsx +0 -55
- package/src/components/form/fields/emittedValues.ts +0 -70
- package/src/components/form/fields/file/File.stories.tsx +0 -161
- package/src/components/form/fields/file/File.tsx +0 -227
- package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
- package/src/components/form/fields/long-string/LongString.tsx +0 -130
- package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
- package/src/components/form/fields/markdown/Markdown.tsx +0 -81
- package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
- package/src/components/form/fields/number/Number.stories.tsx +0 -159
- package/src/components/form/fields/number/Number.tsx +0 -160
- package/src/components/form/fields/object/Object.stories.tsx +0 -398
- package/src/components/form/fields/object/Object.tsx +0 -255
- package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
- package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
- package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
- package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
- package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
- package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
- package/src/components/form/fields/rich-text/RichText.tsx +0 -537
- package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
- package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
- package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
- package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
- package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
- package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
- package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
- package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
- package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
- package/src/components/form/fields/schema-definition/catalog.ts +0 -237
- package/src/components/form/fields/schema-definition/helpers.ts +0 -90
- package/src/components/form/fields/schema-definition/index.tsx +0 -418
- package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
- package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
- package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
- package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
- package/src/components/form/fields/schema-definition/types.ts +0 -185
- package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
- package/src/components/form/fields/select/Select.stories.tsx +0 -872
- package/src/components/form/fields/select/Select.tsx +0 -624
- package/src/components/form/fields/select/SelectCollection.tsx +0 -594
- package/src/components/form/fields/string/String.stories.tsx +0 -86
- package/src/components/form/fields/string/String.tsx +0 -43
- package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
- package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
- package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
- package/src/components/form/fields/template/TemplateField.tsx +0 -1717
- package/src/components/form/fields/template/TemplateText.tsx +0 -115
- package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
- package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
- package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
- package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
- package/src/components/form/fields/timeout/Timeout.tsx +0 -87
- package/src/components/form/fields/url/Url.stories.tsx +0 -94
- package/src/components/form/fields/url/Url.tsx +0 -85
- package/src/components/form/index.tsx +0 -47
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
- package/src/components/imageLightbox/index.ts +0 -1
- package/src/components/log/Log.stories.tsx +0 -333
- package/src/components/log/Log.tsx +0 -285
- package/src/components/menu/Menu.stories.tsx +0 -155
- package/src/components/menu/Menu.tsx +0 -312
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
- package/src/components/qonsoleSmartInput/index.ts +0 -16
- package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
- package/src/components/qonsoleSmartInput/types.ts +0 -133
- package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
- package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
- package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
- package/src/components/searchFilterBar/index.ts +0 -1
- package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
- package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
- package/src/components/smartEditor/SmartEditor.tsx +0 -808
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
- package/src/components/smartEditor/helpers.ts +0 -217
- package/src/components/smartEditor/index.ts +0 -35
- package/src/components/smartEditor/styling.ts +0 -45
- package/src/components/smartEditor/types.ts +0 -211
- package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
- package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
- package/src/components/smartEditor/useLspHover.ts +0 -230
- package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
- package/src/components/smartEditor/useLspSession.ts +0 -231
- package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
- package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
- package/src/components/supportTicket/AttachmentChips.tsx +0 -147
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
- package/src/components/supportTicket/ReferencePicker.tsx +0 -563
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -247
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
- package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
- package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
- package/src/components/supportTicket/attachmentAccess.ts +0 -97
- package/src/components/supportTicket/fileToAttachment.ts +0 -24
- package/src/components/supportTicket/index.ts +0 -10
- package/src/components/supportTicket/meta.ts +0 -206
- package/src/components/supportTicket/ticketModel.ts +0 -131
- package/src/components/supportTicket/useLoadedImages.ts +0 -73
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
- package/src/components/ticketReferences/TicketReferences.tsx +0 -906
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
- package/src/components/ticketThread/TicketThread.tsx +0 -719
- package/src/components/ticketThread/index.ts +0 -6
- package/src/contexts/FetchContext.tsx +0 -25
- package/src/contexts/ReqraftContext.tsx +0 -9
- package/src/contexts/StorageContext.tsx +0 -33
- package/src/global.d.ts +0 -4
- package/src/helpers/allowedValues.ts +0 -249
- package/src/helpers/choiceChip.ts +0 -227
- package/src/helpers/common.ts +0 -326
- package/src/helpers/dpqlDetection.ts +0 -209
- package/src/helpers/expressions.ts +0 -140
- package/src/helpers/optionUiTypes.ts +0 -199
- package/src/helpers/options.ts +0 -150
- package/src/helpers/providerValue.ts +0 -125
- package/src/helpers/scrollbar.ts +0 -32
- package/src/helpers/singleLineString.ts +0 -61
- package/src/helpers/templateItems.ts +0 -81
- package/src/helpers/templateText.ts +0 -350
- package/src/helpers/templates.ts +0 -602
- package/src/helpers/validations.ts +0 -2085
- package/src/hooks/useArgSchema.ts +0 -37
- package/src/hooks/useCoarsePointer.ts +0 -30
- package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
- package/src/hooks/useFetch/useFetch.tsx +0 -154
- package/src/hooks/usePhoneViewport.ts +0 -34
- package/src/hooks/useQorusTypes.ts +0 -233
- package/src/hooks/useReqraftProperty.ts +0 -16
- package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
- package/src/hooks/useStorage/useStorage.ts +0 -35
- package/src/hooks/useTemplates.ts +0 -123
- package/src/hooks/useValidation.ts +0 -9
- package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
- package/src/hooks/useWhyDidYouUpdate.ts +0 -38
- package/src/index.tsx +0 -86
- package/src/providers/FetchProvider.tsx +0 -40
- package/src/providers/ReqraftProvider.tsx +0 -52
- package/src/providers/StorageProvider.tsx +0 -131
- package/src/stores/currentUser/currentUser.stories.tsx +0 -100
- package/src/stores/currentUser/currentUser.tsx +0 -94
- package/src/stories/Data/fileFieldArgSchema.json +0 -86
- package/src/stories/Tests/utils.ts +0 -320
- package/src/stories/storyNetwork.ts +0 -92
- package/src/stories/tracking.tsx +0 -206
- package/src/tracking/browser/attach.ts +0 -186
- package/src/tracking/browser/env.ts +0 -78
- package/src/tracking/core/consent.ts +0 -37
- package/src/tracking/core/engagement.ts +0 -47
- package/src/tracking/core/experiments.ts +0 -258
- package/src/tracking/core/hash.ts +0 -26
- package/src/tracking/core/ids.ts +0 -25
- package/src/tracking/core/observable.ts +0 -23
- package/src/tracking/core/queue.ts +0 -131
- package/src/tracking/core/sections.ts +0 -166
- package/src/tracking/core/storage.ts +0 -69
- package/src/tracking/core/tracker.ts +0 -417
- package/src/tracking/core/types.ts +0 -162
- package/src/tracking/core/utm.ts +0 -23
- package/src/tracking/index.ts +0 -72
- package/src/tracking/markup.ts +0 -17
- package/src/tracking/react/Experiment.tsx +0 -44
- package/src/tracking/react/TrackingProvider.tsx +0 -56
- package/src/tracking/react/hooks.ts +0 -106
- package/src/tracking/react/index.ts +0 -13
- package/src/tracking/testing.ts +0 -108
- package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
- package/src/tracking/ui/ExperimentCard.tsx +0 -667
- package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
- package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
- package/src/tracking/ui/anchor.ts +0 -180
- package/src/tracking/ui/card.ts +0 -464
- package/src/tracking/ui/client.ts +0 -117
- package/src/tracking/ui/index.ts +0 -77
- package/src/tracking/ui/types.ts +0 -110
- package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
- package/src/types/Form.ts +0 -29
- package/src/types.ts +0 -14
- package/src/utils/datetime.ts +0 -10
- package/src/utils/fetch.ts +0 -457
- package/src/utils/lspClient.ts +0 -711
- package/src/utils/lspClient.types.ts +0 -211
- package/src/utils/queryUnlessCancelled.ts +0 -28
- package/src/utils/websocket.ts +0 -293
- package/vite.config.ts +0 -58
- package/vitest.config.ts +0 -69
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# The select picker's dialog floor
|
|
2
|
-
|
|
3
|
-
**As-built.** `src/components/form/fields/select/SelectCollection.tsx` —
|
|
4
|
-
`SELECT_DIALOG_MIN_WIDTH`, `SELECT_DIALOG_MIN_HEIGHT`, `StyledSelectDialog`.
|
|
5
|
-
|
|
6
|
-
## What it is
|
|
7
|
-
|
|
8
|
-
The picker dialog (`ReqoreModal`) is resizable, and it cannot be dragged below
|
|
9
|
-
**320px wide x 180px tall**. The floor is expressed as CSS on the element
|
|
10
|
-
`re-resizable` sizes, not as a prop on the modal:
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
min-width: min(320px, 90vw) !important;
|
|
14
|
-
min-height: min(180px, 90vh) !important;
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Why those two numbers
|
|
18
|
-
|
|
19
|
-
Measured on `components-form-select--item-actions-in-the-title-bar` at
|
|
20
|
-
1400x1000, sweeping the dialog's width and height:
|
|
21
|
-
|
|
22
|
-
- **320px wide.** The collection lays its rows out in 300px columns
|
|
23
|
-
(`minColumnWidth`), so a row is 300px wide whatever the dialog does. At 300px
|
|
24
|
-
the row overhangs the dialog by 13px and at 310px by 3px; 320px is the first
|
|
25
|
-
round width that contains it (-7px). From 340px the row grows with the box.
|
|
26
|
-
- **180px tall.** The panel header is 55px and the search field 26px, and both
|
|
27
|
-
are whole from 100px — but the list below them has to show one entry in full
|
|
28
|
-
or there is nothing choosable in the dialog. A plain row is 56px and is whole
|
|
29
|
-
from 160px; a row carrying a description is 70px and needs 174px. The floor
|
|
30
|
-
takes the taller of the two, because the same dialog serves both (qorus-ide's
|
|
31
|
-
assertion-kind picker is the described-row case). 180px is the first round
|
|
32
|
-
height that contains it.
|
|
33
|
-
|
|
34
|
-
Both are capped at the viewport — `min(320px, 90vw)` / `min(180px, 90vh)` — so
|
|
35
|
-
a phone gets a dialog it can see all of rather than a floor wider than its
|
|
36
|
-
screen. reqore's own maximum for a centred modal is `90vw` / `90vh`, so the cap
|
|
37
|
-
matches the ceiling it is measured against. The cap only engages below roughly
|
|
38
|
-
a 356px viewport (320 / 0.9).
|
|
39
|
-
|
|
40
|
-
## Why CSS and not `minSize` / `minWidth`
|
|
41
|
-
|
|
42
|
-
**reqore 0.74.1 has no working per-modal minimum.** A modal is a `ReqoreDrawer`
|
|
43
|
-
with `layout === 'center'`, and in that branch the floor is a literal:
|
|
44
|
-
|
|
45
|
-
```js
|
|
46
|
-
minHeight: layout === 'center' ? '40px' : layout === 'horizontal' ? … minSize || '40px' …
|
|
47
|
-
minWidth: layout === 'center' ? '40px' : layout === 'vertical' ? … minSize || '40px' …
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
(`node_modules/@qoretechnologies/reqore/dist/components/Drawer/index.js`,
|
|
51
|
-
≈L284-295.) `minSize` is read only on the edge layouts, so a centred modal
|
|
52
|
-
ignores it entirely and floors at 40px.
|
|
53
|
-
|
|
54
|
-
`className` does reach the element `re-resizable` sizes and drags, and a CSS
|
|
55
|
-
`min-width` clamps that element's **rendered** box however far the drag goes.
|
|
56
|
-
So the floor holds against the reqore we pin *and* against the `minWidth` /
|
|
57
|
-
`minHeight` props reqore grew later.
|
|
58
|
-
|
|
59
|
-
`!important` is load-bearing, not decoration: `re-resizable` writes its own
|
|
60
|
-
`min-width` / `min-height` **inline** on this same element, and an inline
|
|
61
|
-
declaration beats a normal one from a stylesheet.
|
|
62
|
-
|
|
63
|
-
## The cost: the inline width and the rendered box diverge
|
|
64
|
-
|
|
65
|
-
Clamping the box from outside `re-resizable` rather than through it costs one
|
|
66
|
-
thing, and it is not the thing it looks like. The drag stays exact: each move
|
|
67
|
-
sizes the box from where the drag *started* plus the pointer's delta, not from
|
|
68
|
-
the last size, so coming back out tracks the pointer with no dead zone.
|
|
69
|
-
Measured: past the floor the rendered box holds **320x180** while the inline
|
|
70
|
-
`style.width` reads **40px**, and 300px back out the box is 400px again.
|
|
71
|
-
|
|
72
|
-
What is left behind is that divergence — an inline width smaller than the box
|
|
73
|
-
anyone can see.
|
|
74
|
-
|
|
75
|
-
> **Read this dialog's size from its rect (`getBoundingClientRect()`), never
|
|
76
|
-
> from `style.width` / `style.height`.** A test or a consumer that reads the
|
|
77
|
-
> inline value gets 40px for a dialog that is plainly 320px wide.
|
|
78
|
-
|
|
79
|
-
## Exit condition
|
|
80
|
-
|
|
81
|
-
Drop the whole mechanism — the styled wrapper, the `!important`, and this
|
|
82
|
-
document — once reqraft can pin a reqore whose centred modals honour a
|
|
83
|
-
per-modal minimum. At that point `SELECT_DIALOG_MIN_WIDTH` /
|
|
84
|
-
`SELECT_DIALOG_MIN_HEIGHT` become `minWidth` / `minHeight` props on the modal,
|
|
85
|
-
`re-resizable` is told the floor instead of being overruled after the fact, and
|
|
86
|
-
the inline size and the rendered box agree again.
|
|
@@ -1,438 +0,0 @@
|
|
|
1
|
-
# SmartEditor + DpqlEditor + QonsoleSmartInput — UX polish
|
|
2
|
-
|
|
3
|
-
Locked design for the user-facing polish work on top of the `0.9.0`
|
|
4
|
-
foundation. Mirrors the Phase 5 / Phase 6 sections of the original
|
|
5
|
-
`qorus-ide/.design/DPQL_RICHTEXT.md` (carried forward here as the
|
|
6
|
-
component now lives in Reqraft) and absorbs the issues found while
|
|
7
|
-
testing against the live `wss://hq.qoretechnologies.com:8092/lsp`
|
|
8
|
-
endpoint.
|
|
9
|
-
|
|
10
|
-
The execution checklist lives at
|
|
11
|
-
[`.tasks/SMART_EDITOR_UX_POLISH.md`](../.tasks/SMART_EDITOR_UX_POLISH.md).
|
|
12
|
-
|
|
13
|
-
## Goal
|
|
14
|
-
|
|
15
|
-
Turn the working-but-rough editor from `0.9.0` into a component that
|
|
16
|
-
**feels finished** when dropped into a real form: predictable
|
|
17
|
-
completion triggering, polished dropdown, visible error feedback, and
|
|
18
|
-
graceful loading state. Same scope as the original design, just
|
|
19
|
-
deferred until after the extraction was proven.
|
|
20
|
-
|
|
21
|
-
## Out of scope (separately tracked)
|
|
22
|
-
|
|
23
|
-
- ExpressionBuilder rewiring (qorus-ide side, separate consumer task)
|
|
24
|
-
- Alert Rule editor integration (`dpql-expression` field type — needs a
|
|
25
|
-
Qorus server change; tracked in `qorus-ide/.tasks/ALERT_RULES_AND_SILENCES.md`)
|
|
26
|
-
- The Reqore-side `Function components cannot be given refs` warning
|
|
27
|
-
in `ReqoreTooltipComponent` (pre-existing, file as a Reqore follow-up)
|
|
28
|
-
- `QonsoleSmartInput` integration into qorus-ide's `QonsoleInput.tsx`
|
|
29
|
-
(separate qorus-ide branch — issue [toolkit-react#61](https://github.com/qoretechnologies/toolkit-react/issues/61))
|
|
30
|
-
|
|
31
|
-
## Items locked in this batch
|
|
32
|
-
|
|
33
|
-
### 1. Dropdown opens only on user-initiated typing
|
|
34
|
-
|
|
35
|
-
**Problem.** Currently the autocomplete trigger fires on every Slate
|
|
36
|
-
`onChange`, including selection-only changes. Clicking into
|
|
37
|
-
`/list services ` lands the cursor after a space (a trigger
|
|
38
|
-
character) and immediately opens the dropdown with no user action.
|
|
39
|
-
|
|
40
|
-
**Fix.** Track the previous plain-text in `useLspAutocomplete`. In
|
|
41
|
-
`onSlateChange`, bail early when the text didn't change vs the
|
|
42
|
-
previous tick (selection-only change). Trigger detection only runs on
|
|
43
|
-
actual content mutations.
|
|
44
|
-
|
|
45
|
-
**Surface area.** `src/components/smartEditor/useLspAutocomplete.ts`
|
|
46
|
-
only. No prop changes. ~10 lines.
|
|
47
|
-
|
|
48
|
-
**Tests.** Extend the `BasicMock` play test for QonsoleSmartInput:
|
|
49
|
-
load with `/list services ` initial value, click into the editor,
|
|
50
|
-
sleep 500ms, assert the dropdown is **not** present. Then type `-`,
|
|
51
|
-
assert the dropdown **is** present.
|
|
52
|
-
|
|
53
|
-
### 2. Dropdown visual polish
|
|
54
|
-
|
|
55
|
-
**Problem.** Current dropdown is bare `ReqoreMenu` rendered in a
|
|
56
|
-
`ReqorePopover` positioned relative to the editor container. Looks
|
|
57
|
-
sparse, ignores LSP metadata (markdown documentation, sortText,
|
|
58
|
-
filterText, kind grouping), and floats far from the caret.
|
|
59
|
-
|
|
60
|
-
**Fix.**
|
|
61
|
-
- **Position under the caret.** Use the Slate selection's DOM rect
|
|
62
|
-
(`ReactEditor.toDOMRange(editor, selection).getBoundingClientRect()`)
|
|
63
|
-
to position the popover with pixel-accurate `top`/`left`. The trigger
|
|
64
|
-
span pattern from the original `.design/DPQL_RICHTEXT.md` §4 is the
|
|
65
|
-
reference.
|
|
66
|
-
- **Render `documentation` as markdown.** LSP returns
|
|
67
|
-
`{kind: 'markdown', value: '...'}`. Use `react-markdown` (already a
|
|
68
|
-
Reqraft transitive dep) for the description column. Plaintext
|
|
69
|
-
fallback when `kind: 'plaintext'`.
|
|
70
|
-
- **Visual treatment.** Tighten row heights, monospace label,
|
|
71
|
-
right-aligned kind chip (Field / Method / Keyword / Snippet), focused
|
|
72
|
-
row highlight that respects the Reqore theme. Decision pending — see
|
|
73
|
-
Open question A.
|
|
74
|
-
- **Group by kind when there are multiple.** Use LSP CompletionItemKind
|
|
75
|
-
groups (we have the map already at `useLspAutocomplete:14`). Skip
|
|
76
|
-
grouping when only one kind is present (current behavior).
|
|
77
|
-
- **Respect server sort/filter.** Sort items by `sortText` (already
|
|
78
|
-
done), filter against `filterText` when present (NEW — currently
|
|
79
|
-
unused).
|
|
80
|
-
|
|
81
|
-
**Surface area.** `src/components/smartEditor/useLspAutocomplete.ts`
|
|
82
|
-
(positioning + filter/sort), `src/components/smartEditor/SmartEditor.tsx`
|
|
83
|
-
(dropdown JSX). No prop changes. Medium — ~120 lines added.
|
|
84
|
-
|
|
85
|
-
**Tests.** Visual stories only (a new "WithMarkdownDocs" story for
|
|
86
|
-
SmartEditor; existing play tests still pass with the canned mock items).
|
|
87
|
-
|
|
88
|
-
### 3. Diagnostics surface
|
|
89
|
-
|
|
90
|
-
**Problem.** Invalid syntax produces no visible feedback. The LSP
|
|
91
|
-
already pushes `publishDiagnostics` (we capture in
|
|
92
|
-
`session.diagnostics`) and we silently store but never render them.
|
|
93
|
-
|
|
94
|
-
**Fix.** Two surfaces, both driven by `session.diagnostics`:
|
|
95
|
-
|
|
96
|
-
- **Inline wavy red underline** on offending tokens. New hook
|
|
97
|
-
`useLspDiagnosticDecorations(diagnostics, converter)` returns a
|
|
98
|
-
Slate `decorate` function that emits `{ error: true, errorMessage }`
|
|
99
|
-
ranges over diagnostic spans. Compose with the language-specific
|
|
100
|
-
`decorate` in the same component (e.g. DpqlEditor combines syntax +
|
|
101
|
-
diagnostic decorations).
|
|
102
|
-
- **Error panel below the editor** — `ReqoreMessage` stack with
|
|
103
|
-
`intent='danger'` / `'warning'` per diagnostic, ordered by position.
|
|
104
|
-
Renders as a sibling to the editor's `ReqoreControlGroup`. Hidden
|
|
105
|
-
when `diagnostics.length === 0`.
|
|
106
|
-
|
|
107
|
-
**Surface area.** New `src/components/smartEditor/useLspDiagnosticDecorations.ts`,
|
|
108
|
-
edits to `src/components/smartEditor/SmartEditor.tsx` (panel render),
|
|
109
|
-
edits to `src/components/dpqlEditor/DpqlEditor.tsx` (compose decorate
|
|
110
|
-
fns). Both DPQL and Qonsole get diagnostics. Medium — ~150 lines + 1
|
|
111
|
-
test file.
|
|
112
|
-
|
|
113
|
-
**Tests.** Unit test for the decorate hook (LSP positions → Slate
|
|
114
|
-
ranges). Storybook story `WithDiagnostics` for QonsoleSmartInput
|
|
115
|
-
that mocks an invalid syntax response.
|
|
116
|
-
|
|
117
|
-
### 4. Connection / loading state
|
|
118
|
-
|
|
119
|
-
**Problem.** Editor mounts and accepts typing before `session.isReady`
|
|
120
|
-
is true. The autocomplete logic short-circuits on `!isReady` so
|
|
121
|
-
completions silently fail until the LSP handshake completes (~300ms in
|
|
122
|
-
practice).
|
|
123
|
-
|
|
124
|
-
**Fix.** While `!session.isReady`, render a small overlay or
|
|
125
|
-
disable-and-spinner state. Two reasonable presentations:
|
|
126
|
-
- (a) `ReqoreSpinner` overlay inside the editor body with text
|
|
127
|
-
"Connecting to language server…"
|
|
128
|
-
- (b) Greyed-out + disabled editor until ready (`readOnly` flicker)
|
|
129
|
-
|
|
130
|
-
(a) is friendlier — the user sees it's loading but doesn't think it's
|
|
131
|
-
broken. Default to (a). The editor body still shows the initial value.
|
|
132
|
-
|
|
133
|
-
**Surface area.** `src/components/smartEditor/SmartEditor.tsx` only.
|
|
134
|
-
~20 lines + a new prop `loadingIndicator?: React.ReactNode` so
|
|
135
|
-
wrappers can override the default.
|
|
136
|
-
|
|
137
|
-
**Tests.** Visual stories. Existing play tests need a wait-for-ready
|
|
138
|
-
assertion before typing — currently they sleep blindly and hope the
|
|
139
|
-
session is ready.
|
|
140
|
-
|
|
141
|
-
### 5. Hover info via `textDocument/hover`
|
|
142
|
-
|
|
143
|
-
**Problem.** Hovering a token in `/list services ` should show the
|
|
144
|
-
markdown hover content the server already supplies (the live spike
|
|
145
|
-
captured `**/list**\n\nList resources`). Currently nothing happens on
|
|
146
|
-
hover.
|
|
147
|
-
|
|
148
|
-
**Fix.** New helper `useLspHover(session, converter, editorRef)` that:
|
|
149
|
-
- Listens for `mousemove` on the editor's contenteditable element
|
|
150
|
-
- Debounces to 300ms idle
|
|
151
|
-
- Converts mouse position → Slate point → LSP position
|
|
152
|
-
- Calls `session.client.getHover(line, character)`
|
|
153
|
-
- Renders a small `ReqorePopover` with the markdown content next to
|
|
154
|
-
the cursor
|
|
155
|
-
|
|
156
|
-
**Surface area.** New `src/components/smartEditor/useLspHover.ts`
|
|
157
|
-
(~80 lines), small wire-in inside `SmartEditor.tsx`. Opt-in via
|
|
158
|
-
`enableHover?: boolean` prop (default `true`).
|
|
159
|
-
|
|
160
|
-
**Tests.** Unit test of the position-mapping math. No play test —
|
|
161
|
-
hover behaviour is hard to drive in jsdom and Playwright reliably.
|
|
162
|
-
|
|
163
|
-
### 6. `dpql/toRichtext` opt-in for accurate plain-text → Slate parsing
|
|
164
|
-
|
|
165
|
-
**Problem.** Our `plainTextToSlate` in `dpqlEditor/dpqlHelpers.ts` is a
|
|
166
|
-
client-side regex. It handles `$prefix:value` and `@field` but misses
|
|
167
|
-
nested expressions, function calls with templates inside, and quoted
|
|
168
|
-
edge cases. The server's `dpql/toRichtext` does this correctly.
|
|
169
|
-
|
|
170
|
-
**Fix.** Add an opt-in `useServerParse?: boolean` prop on
|
|
171
|
-
`DpqlEditor`. When true:
|
|
172
|
-
- On mount and on every external `value` change, call
|
|
173
|
-
`client.customRequest('dpql/toRichtext', { text: value })` asynchronously
|
|
174
|
-
- Show the loading state (item 4) while parsing
|
|
175
|
-
- Use the server's richtext output for Slate's initial value
|
|
176
|
-
- Falls back to client regex if the server call fails or times out
|
|
177
|
-
|
|
178
|
-
Default `false` for backward compatibility — current consumers keep the
|
|
179
|
-
synchronous-render behaviour.
|
|
180
|
-
|
|
181
|
-
**Surface area.** `src/components/dpqlEditor/DpqlEditor.tsx` and
|
|
182
|
-
`useDpqlSession.ts`. Small wrapper around an existing custom method.
|
|
183
|
-
~40 lines.
|
|
184
|
-
|
|
185
|
-
**Tests.** Storybook story `WithServerParse` against the live LSP.
|
|
186
|
-
Add mock for `dpql/toRichtext` in DpqlEditor's BasicMock if needed.
|
|
187
|
-
|
|
188
|
-
### 7. Server-driven syntax highlighting via LSP semantic tokens
|
|
189
|
-
|
|
190
|
-
**Added 2026-05-26 — design doc revision.** Surfaced during Phase 5
|
|
191
|
-
verification. The original design omitted this item under the
|
|
192
|
-
assumption that the existing client-side regex highlighter was
|
|
193
|
-
adequate. Closer research showed it is fundamentally wrong.
|
|
194
|
-
|
|
195
|
-
**Problem.** Our `useDpqlSyntaxHighlighting.ts` was copy-pasted from
|
|
196
|
-
qorus-ide's `services/dpqlMonacoSetup.ts`, which itself was a
|
|
197
|
-
"placeholder until LSP semantic tokens are wired" that never got
|
|
198
|
-
replaced. The keyword list is **SQL**, not DPQL:
|
|
199
|
-
|
|
200
|
-
- DPQL has no `SELECT` / `FROM` / `WHERE` / `JOIN` / `GROUP BY` / etc.
|
|
201
|
-
- DPQL uses `&&` / `||` / `!`, **not** `AND` / `OR` / `NOT`.
|
|
202
|
-
- DPQL has no `--` or `/* */` comments — both currently coloured by
|
|
203
|
-
our regex.
|
|
204
|
-
- The `COUNT` / `SUM` / `AVG` / `MIN` / `MAX` aggregates aren't DPQL
|
|
205
|
-
built-ins.
|
|
206
|
-
- DPQL has unique constructs the regex doesn't even attempt to
|
|
207
|
-
handle: `=~` / `!~` regex match, `..` range, `between … and …`,
|
|
208
|
-
`in (…)` / `not in (…)`, `<deadbeef>` binary literals, ISO-8601
|
|
209
|
-
date literals.
|
|
210
|
-
|
|
211
|
-
The authoritative grammar lives in
|
|
212
|
-
[`qore-2/design/dpql-syntax.md`](../../QoreTechnologies/qore-2/design/dpql-syntax.md)
|
|
213
|
-
and the tokenizer in
|
|
214
|
-
[`qore-2/qlib/DataProvider/DpqlTokenizer.qc`](../../QoreTechnologies/qore-2/qlib/DataProvider/DpqlTokenizer.qc).
|
|
215
|
-
Reproducing this in JS bug-for-bug compatible would be a non-trivial
|
|
216
|
-
maintenance burden.
|
|
217
|
-
|
|
218
|
-
**Fix.** Drive syntax highlighting from the LSP's
|
|
219
|
-
`textDocument/semanticTokens/full` response. Confirmed during the
|
|
220
|
-
Qonsole spike (`QONSOLE_LSP_RESPONSES.txt`, section 9) that the
|
|
221
|
-
shared `/lsp` endpoint already advertises and serves semantic tokens
|
|
222
|
-
with the LSP-standard 16-type / 6-modifier legend — both DPQL and
|
|
223
|
-
Qonsole benefit identically.
|
|
224
|
-
|
|
225
|
-
Concrete plumbing:
|
|
226
|
-
|
|
227
|
-
- **`LspClient`** captures `semanticTokensProvider.legend` from the
|
|
228
|
-
initialize response and exposes it as a public field
|
|
229
|
-
(`semanticTokensLegend: ILspSemanticTokensLegend | null`).
|
|
230
|
-
- **`useLspSession`** surfaces the legend in its return.
|
|
231
|
-
- **New `useLspSemanticTokens(session, converter, nodes, options?)` hook**
|
|
232
|
-
in `src/components/smartEditor/`:
|
|
233
|
-
- Debounces document changes (~250ms idle)
|
|
234
|
-
- Calls `session.client.getSemanticTokens()` (we already have it)
|
|
235
|
-
- Decodes the flat int-5-tuple array (deltaLine, deltaStart,
|
|
236
|
-
length, tokenType-idx, tokenModifiers-bitmask) per LSP spec
|
|
237
|
-
- Maps each token's `{line, character, length}` to a Slate `Range`
|
|
238
|
-
via the converter
|
|
239
|
-
- Emits ranges with marks `tokenType: string` and `tokenModifiers: string[]`
|
|
240
|
-
- Returns a stable `decorate` function composable into
|
|
241
|
-
`SmartEditor`'s `composedDecorate`
|
|
242
|
-
- **`SmartEditor.tsx` customRenderLeaf** extends the leaf renderer
|
|
243
|
-
to honour the LSP-standard semantic-token types with
|
|
244
|
-
theme-appropriate colours (keyword, function, method, class,
|
|
245
|
-
property, string, number, comment, operator, regexp, variable,
|
|
246
|
-
parameter, etc.).
|
|
247
|
-
- **`useDpqlSyntaxHighlighting.ts` is removed** as a copy-paste
|
|
248
|
-
artifact. A thin offline fallback (`useDpqlFallbackHighlighting`)
|
|
249
|
-
may be added later if needed; for now, no highlighting until the
|
|
250
|
-
LSP connects is acceptable (the loading overlay from item 4
|
|
251
|
-
signals this).
|
|
252
|
-
- **DpqlEditor stories** — the misleading `WithPlainText` value
|
|
253
|
-
`SELECT * FROM users WHERE name = "Alice"` is replaced with a
|
|
254
|
-
valid DPQL expression (e.g. `1 == 1` or `2026 - 2024 == 2`).
|
|
255
|
-
|
|
256
|
-
**The server holds the text the editor shows** *(revised 2026-09-14)*. The
|
|
257
|
-
server colours and diagnoses its own copy of the document, so two things must
|
|
258
|
-
stay true, and neither did for a value set from outside rather than typed:
|
|
259
|
-
|
|
260
|
-
- **Every value reaches the server.** `SmartEditor` passes each `value` to
|
|
261
|
-
`session.didChange`, which sends only text the server does not already hold,
|
|
262
|
-
and holds text set before the document opened for `didOpen`. Before, only
|
|
263
|
-
typing was sent and `didOpen` carried the text at mount, so a Preview that
|
|
264
|
-
follows the author was coloured for text it no longer showed.
|
|
265
|
-
- **Offsets use the tree the editor holds.** Slate normalises a value set from
|
|
266
|
-
outside — a leading chip gains an empty text leaf before it — without
|
|
267
|
-
changing its text, so `value` does not change. `SmartEditor` adopts every
|
|
268
|
-
tree the editor reports as the one token, diagnostic and signature offsets
|
|
269
|
-
are computed against. Before, it kept the pre-normalisation tree and every
|
|
270
|
-
offset pointed one leaf off: a Text view seeded with
|
|
271
|
-
`"$local:name" == "John"` was never highlighted.
|
|
272
|
-
|
|
273
|
-
Guarded by `__tests__/smartEditor/sessionKeepsServerText.test.ts` and the
|
|
274
|
-
`ExpressionField` story *Via Form Engine Text Mode*, which asserts the seeded
|
|
275
|
-
text is coloured.
|
|
276
|
-
|
|
277
|
-
**Surface area.**
|
|
278
|
-
`src/utils/lspClient.ts` (legend capture, ~10 lines),
|
|
279
|
-
`src/utils/lspClient.types.ts` (new `ILspSemanticTokensLegend` /
|
|
280
|
-
`ILspSemanticToken` types, ~10 lines),
|
|
281
|
-
`src/components/smartEditor/useLspSession.ts` (expose legend,
|
|
282
|
-
~5 lines),
|
|
283
|
-
`src/components/smartEditor/useLspSemanticTokens.ts` (new, ~150
|
|
284
|
-
lines including the LSP int-array decoder),
|
|
285
|
-
`src/components/smartEditor/SmartEditor.tsx` (compose into
|
|
286
|
-
decorate, extend renderLeaf colours, ~30 lines),
|
|
287
|
-
`src/components/dpqlEditor/DpqlEditor.tsx` (drop the
|
|
288
|
-
`useDpqlSyntaxHighlighting` import + caller, ~5 lines net removal),
|
|
289
|
-
removed `src/components/dpqlEditor/useDpqlSyntaxHighlighting.ts`,
|
|
290
|
-
fixed `src/components/dpqlEditor/DpqlEditor.stories.tsx` (one
|
|
291
|
-
example value).
|
|
292
|
-
|
|
293
|
-
**Tests.** Unit tests for the LSP int-array decoder (delta
|
|
294
|
-
re-basing, modifier bitmask). Mock-socket extension to return a
|
|
295
|
-
synthetic semantic-tokens payload for a known expression. New story
|
|
296
|
-
`WithSemanticTokens` on DpqlEditor demonstrating highlighting on
|
|
297
|
-
`@status == "active" && @age >= $config:min_age`.
|
|
298
|
-
|
|
299
|
-
**Rationale for landing this BEFORE the `0.10.0` release.** The
|
|
300
|
-
current highlighting is *visibly* wrong on real DPQL — every `&&` /
|
|
301
|
-
`||` / `=~` is uncoloured while every typo like `AND` / `OR` is
|
|
302
|
-
mis-coloured green. Shipping `0.10.0` with this in place would mean
|
|
303
|
-
the FE consumer's first impression of the DPQL editor includes
|
|
304
|
-
visibly broken syntax highlighting. That bar is higher than "matches
|
|
305
|
-
the design doc as originally written" — it's "doesn't actively
|
|
306
|
-
mislead users about the language".
|
|
307
|
-
|
|
308
|
-
## Locked decisions
|
|
309
|
-
|
|
310
|
-
### Theme — Reqore-native, borrowing from qorus-ide
|
|
311
|
-
|
|
312
|
-
Match the visual vocabulary of the rest of the IDE. Concretely:
|
|
313
|
-
- Use `ReqoreMenu` chrome (already in place) — rounded, theme-tinted.
|
|
314
|
-
- Lift styling cues from qorus-ide's existing conventions documented in
|
|
315
|
-
`qorus-frontend/qorus-ide/design/SHARED_COMPONENTS.md` and
|
|
316
|
-
`design/REQORE_REQRAFT.md` (drawer/menu opacity, `INTERFACE_TABLE_TAG_EFFECT`
|
|
317
|
-
for chips, the `DRAWER_STYLE` opacity vocabulary where applicable).
|
|
318
|
-
- Concrete improvements still scoped per item 2 (tighter rows, kind chips
|
|
319
|
-
on the right, focused-row highlight, markdown documentation).
|
|
320
|
-
|
|
321
|
-
### Decorate composition — merge inside SmartEditor
|
|
322
|
-
|
|
323
|
-
**Revised 2026-05-26.** Originally specified the wrapper combining
|
|
324
|
-
`useDpqlSyntaxHighlighting` + `useLspDiagnosticDecorations`. With
|
|
325
|
-
the item 7 revision, `useDpqlSyntaxHighlighting` is gone — both
|
|
326
|
-
syntax highlighting (via LSP semantic tokens) and diagnostics are
|
|
327
|
-
session-driven, so they live in **SmartEditor** rather than the
|
|
328
|
-
wrapper. SmartEditor's `composedDecorate` merges:
|
|
329
|
-
|
|
330
|
-
```typescript
|
|
331
|
-
// SmartEditor.tsx
|
|
332
|
-
const diagnosticDecorate = useLspDiagnosticDecorations(session.diagnostics, converter, slateValue);
|
|
333
|
-
const semanticDecorate = useLspSemanticTokens(session, converter, slateValue);
|
|
334
|
-
const composedDecorate = useCallback(
|
|
335
|
-
(entry) => [
|
|
336
|
-
...decorate?.(entry) ?? [], // optional caller override
|
|
337
|
-
...semanticDecorate(entry), // LSP-driven syntax highlighting
|
|
338
|
-
...diagnosticDecorate(entry), // LSP-driven error underlines
|
|
339
|
-
],
|
|
340
|
-
[decorate, semanticDecorate, diagnosticDecorate]
|
|
341
|
-
);
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
Wrappers can still inject extra decorations via the `decorate` prop
|
|
345
|
-
(e.g. embedding-specific overlays), but they no longer have to know
|
|
346
|
-
about LSP plumbing.
|
|
347
|
-
|
|
348
|
-
### Hover popover position — token center
|
|
349
|
-
|
|
350
|
-
When the user hovers a token, the popover anchors to the geometric
|
|
351
|
-
center of the token's DOM rect. Matches VS Code.
|
|
352
|
-
|
|
353
|
-
### Loading state — overlay spinner
|
|
354
|
-
|
|
355
|
-
While `!session.isReady`, render a `ReqoreSpinner` with copy
|
|
356
|
-
"Connecting to language server…" as an absolutely-positioned overlay
|
|
357
|
-
on top of the editor body. The editor itself stays mounted (initial
|
|
358
|
-
value visible) so the user sees what's loading. Editor is not
|
|
359
|
-
explicitly disabled — typing into it is a no-op until the session is
|
|
360
|
-
ready (existing autocomplete short-circuit handles this).
|
|
361
|
-
|
|
362
|
-
### Version bump — single `0.10.0` after all items land
|
|
363
|
-
|
|
364
|
-
Per user preference: no incremental versions per phase. All of items
|
|
365
|
-
1–6 ship together as `0.10.0-beta`. Reqraft `package.json` bumps
|
|
366
|
-
once, at the end of the batch (Phase 8 release prep).
|
|
367
|
-
|
|
368
|
-
**Release strategy revised 2026-05-26.** After phases 1–7 + 6
|
|
369
|
-
shipped, post-batch research surfaced four follow-up task files
|
|
370
|
-
(`.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md`, `LSP_FEATURES.md`,
|
|
371
|
-
`QONSOLE_ASSIST_FEATURES.md`, `VISUAL_POLISH.md`) that are
|
|
372
|
-
sufficiently entangled with the original batch to share a release
|
|
373
|
-
tag rather than ship as `0.10.1` / `0.10.2` / `0.11.0`:
|
|
374
|
-
|
|
375
|
-
- **`CONTEXT_AND_POLISH` item 4** (`alertPayloadContext` /
|
|
376
|
-
`fsmContext` props) is the actual qorus-ide alert-rule editor
|
|
377
|
-
blocker. Without it, an immediate `0.10.0-beta` release has no
|
|
378
|
-
consumer.
|
|
379
|
-
- **`VISUAL_POLISH`** styles surfaces introduced by the other
|
|
380
|
-
follow-ups (signature pill, warning chips, wizard items) — landing
|
|
381
|
-
it before they exist would mean a second polish pass.
|
|
382
|
-
- **The full README pass** is cheaper to do once at the end against
|
|
383
|
-
the final API than to update incrementally after each release.
|
|
384
|
-
- **The Reqore patches** (Textarea null-check, renderElement deps)
|
|
385
|
-
need to either ship upstream or be persisted via `patch-package`.
|
|
386
|
-
A held release gives Reqore time to land the PRs.
|
|
387
|
-
|
|
388
|
-
Net: all five `.tasks/*.md` files (the original UX_POLISH plus the
|
|
389
|
-
four follow-ups) ship as a single `0.10.0` tag once every row in
|
|
390
|
-
`.tasks/INDEX.md` is `committed`. No `-beta` intermediate tag, no
|
|
391
|
-
incremental point releases between. The cost is "release happens
|
|
392
|
-
later"; the benefit is "the release tag corresponds to a real
|
|
393
|
-
consumer milestone".
|
|
394
|
-
|
|
395
|
-
## Test plan
|
|
396
|
-
|
|
397
|
-
| Phase | Coverage |
|
|
398
|
-
|---|---|
|
|
399
|
-
| Item 1 | Extended BasicMock play test asserts no-dropdown-on-mount, dropdown-after-typing |
|
|
400
|
-
| Item 2 | New stories: WithMarkdownDocs, WithGroupedKinds. Visual only. |
|
|
401
|
-
| Item 3 | Unit test for `useLspDiagnosticDecorations`. New story WithDiagnostics with mock invalid input. |
|
|
402
|
-
| Item 4 | Adjust existing play tests to wait for ready signal before typing |
|
|
403
|
-
| Item 5 | Unit test of position-mapping math. No play test (jsdom limitation) |
|
|
404
|
-
| Item 6 | Story WithServerParse against live LSP |
|
|
405
|
-
| Item 7 | Unit tests for LSP int-array decoder. Mock-socket returns a synthetic semantic-tokens payload. New WithSemanticTokens story. Fix the broken `WithPlainText` SQL example. |
|
|
406
|
-
|
|
407
|
-
All items together: TS clean, lint clean, all jest tests pass, all
|
|
408
|
-
storybook play tests pass (147 currently in our scope, expected +5).
|
|
409
|
-
|
|
410
|
-
## Migration impact
|
|
411
|
-
|
|
412
|
-
`0.9.0` consumers (DpqlEditor, QonsoleSmartInput) get all items 1–5
|
|
413
|
-
**and 7** automatically — no prop changes. Item 6 is opt-in. No
|
|
414
|
-
breaking changes; this can ship as `0.9.0` (still pre-release) or
|
|
415
|
-
`0.10.0` if we want a "feature-complete" version bump.
|
|
416
|
-
|
|
417
|
-
Item 7 carries one subtle behavioural change: until the LSP session
|
|
418
|
-
becomes ready, no syntax highlighting is rendered (the editor body
|
|
419
|
-
is plain monospace text). The loading overlay from item 4 signals
|
|
420
|
-
this. Consumers who need offline syntax colouring can pass a
|
|
421
|
-
`decorate` prop with their own fallback — but for the standard use
|
|
422
|
-
case (an LSP is reachable within ~300ms of mount), the gap is
|
|
423
|
-
imperceptible.
|
|
424
|
-
|
|
425
|
-
## Status
|
|
426
|
-
|
|
427
|
-
**Design locked 2026-05-25.**
|
|
428
|
-
**Revised 2026-05-26** to add item 7 (LSP semantic tokens) after
|
|
429
|
-
research surfaced that the SQL-style highlighting was a copy-paste
|
|
430
|
-
artifact incompatible with real DPQL syntax. All other items
|
|
431
|
-
unchanged.
|
|
432
|
-
**Revised 2026-05-26 (second)** to update the release strategy
|
|
433
|
-
section — `0.10.0` now bundles the four follow-up task files into a
|
|
434
|
-
single tag rather than shipping `0.10.0-beta` + incremental
|
|
435
|
-
releases. Rationale in the "Version bump" sub-section above.
|
|
436
|
-
|
|
437
|
-
Any new issues discovered during implementation get added to the task
|
|
438
|
-
list as they surface — design doc updates only with explicit revision.
|