@qoretechnologies/reqraft 0.10.64 → 0.10.65-pr.137.g20c3bec
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 +41 -8
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlCompletions.d.ts +35 -0
- package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
- package/dist/components/dpqlEditor/dpqlCompletions.js +122 -0
- package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +47 -5
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +390 -62
- 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 +59 -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 +61 -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 +327 -123
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +29 -3
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +66 -11
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +597 -173
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
- package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
- package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
- package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +25 -3
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
- package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
- package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +32 -1
- package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowContext.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts +22 -10
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +53 -39
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
- package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
- package/dist/components/form/engine/compactToolbarColors.js +21 -0
- package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
- package/dist/components/form/engine/inheritProps.d.ts +29 -0
- package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
- package/dist/components/form/engine/inheritProps.js +43 -0
- package/dist/components/form/engine/inheritProps.js.map +1 -0
- package/dist/components/form/engine/operatorSummary.d.ts +26 -0
- package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
- package/dist/components/form/engine/operatorSummary.js +35 -0
- package/dist/components/form/engine/operatorSummary.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +24 -8
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +77 -109
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/readFirstColors.d.ts +30 -0
- package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
- package/dist/components/form/engine/readFirstColors.js +51 -0
- package/dist/components/form/engine/readFirstColors.js.map +1 -0
- package/dist/components/form/engine/rowFocus.d.ts +2 -0
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +26 -3
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/engine/typeChoices.d.ts +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.js +2 -1
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
- package/dist/components/form/engine/variants/variantParts.js +25 -17
- package/dist/components/form/engine/variants/variantParts.js.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.js +7 -6
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts +66 -3
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +475 -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 +29 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +161 -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/loneValue.d.ts +17 -0
- package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
- package/dist/components/form/expressions/loneValue.js +33 -0
- package/dist/components/form/expressions/loneValue.js.map +1 -0
- package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/mockExpressions.js +22 -5
- package/dist/components/form/expressions/mockExpressions.js.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
- package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.js +43 -10
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
- package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
- package/dist/components/form/expressions/textOfExpression.js +49 -0
- package/dist/components/form/expressions/textOfExpression.js.map +1 -0
- package/dist/components/form/expressions/types.d.ts +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 +43 -20
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +39 -6
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
- package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
- package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
- package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
- package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.js +24 -0
- package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
- package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +91 -53
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
- package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
- package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
- package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
- package/dist/components/form/fields/binary/Binary.js +23 -3
- package/dist/components/form/fields/binary/Binary.js.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
- package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.js +9 -1
- package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
- package/dist/components/form/fields/color/Color.d.ts +103 -16
- package/dist/components/form/fields/color/Color.d.ts.map +1 -1
- package/dist/components/form/fields/color/Color.js +616 -16
- package/dist/components/form/fields/color/Color.js.map +1 -1
- package/dist/components/form/fields/emittedValues.d.ts +34 -3
- package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
- package/dist/components/form/fields/emittedValues.js +24 -1
- package/dist/components/form/fields/emittedValues.js.map +1 -1
- package/dist/components/form/fields/file/File.d.ts +1 -1
- package/dist/components/form/fields/file/File.d.ts.map +1 -1
- package/dist/components/form/fields/file/File.js +4 -2
- package/dist/components/form/fields/file/File.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +29 -8
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +13 -9
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +6 -0
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +41 -6
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/object/Object.d.ts +1 -1
- package/dist/components/form/fields/object/Object.d.ts.map +1 -1
- package/dist/components/form/fields/object/Object.js +4 -2
- package/dist/components/form/fields/object/Object.js.map +1 -1
- package/dist/components/form/fields/pendingEdit.d.ts +52 -0
- package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
- package/dist/components/form/fields/pendingEdit.js +79 -0
- package/dist/components/form/fields/pendingEdit.js.map +1 -0
- package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/form/fields/radio-group/RadioGroup.js +4 -3
- package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +211 -85
- 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 +77 -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 +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 +103 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +652 -104
- 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 +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 +11 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +24 -1
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/form/typeSentenceForm.d.ts +11 -0
- package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
- package/dist/components/form/typeSentenceForm.js +40 -0
- package/dist/components/form/typeSentenceForm.js.map +1 -0
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +19 -7
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/log/Log.d.ts.map +1 -1
- package/dist/components/log/Log.js +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 +45 -0
- package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
- package/dist/components/smartEditor/CompletionMenu.js +207 -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 +366 -187
- 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 +38 -0
- package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
- package/dist/components/smartEditor/templateCompletions.js +126 -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 +66 -2
- package/dist/components/smartEditor/types.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.d.ts +62 -2
- package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.js +345 -146
- 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 +351 -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/supportTicket/AttachmentChips.d.ts.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.js +15 -5
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +27 -6
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +20 -2
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +9 -4
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
- package/dist/components/ticketThread/TicketThread.js +38 -13
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/allowedValues.d.ts +21 -0
- package/dist/helpers/allowedValues.d.ts.map +1 -1
- package/dist/helpers/allowedValues.js +40 -1
- package/dist/helpers/allowedValues.js.map +1 -1
- package/dist/helpers/descriptionTooltip.d.ts +46 -0
- package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
- package/dist/helpers/descriptionTooltip.js +76 -0
- package/dist/helpers/descriptionTooltip.js.map +1 -0
- package/dist/helpers/domProps.d.ts +5 -0
- package/dist/helpers/domProps.d.ts.map +1 -0
- package/dist/helpers/domProps.js +47 -0
- package/dist/helpers/domProps.js.map +1 -0
- package/dist/helpers/expressions.d.ts +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/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 +85 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.js +301 -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.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/templates.d.ts +68 -14
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +210 -24
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +28 -1
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +166 -37
- 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 +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
|
@@ -10,28 +10,41 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
18
47
|
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
48
|
};
|
|
36
49
|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
37
50
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
@@ -48,22 +61,27 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
48
61
|
// Copyright 2026 Qore Technologies, s.r.o.
|
|
49
62
|
var reqore_1 = require("@qoretechnologies/reqore");
|
|
50
63
|
var Popover_1 = require("@qoretechnologies/reqore/dist/components/Popover");
|
|
64
|
+
var sizes_1 = require("@qoretechnologies/reqore/dist/constants/sizes");
|
|
51
65
|
var RichTextEditor_1 = require("@qoretechnologies/reqore/dist/components/RichTextEditor");
|
|
52
66
|
var colors_1 = require("@qoretechnologies/reqore/dist/helpers/colors");
|
|
53
|
-
var react_1 =
|
|
67
|
+
var react_1 = require("react");
|
|
68
|
+
var react_use_1 = require("react-use");
|
|
54
69
|
var slate_1 = require("slate");
|
|
55
70
|
var slate_react_1 = require("slate-react");
|
|
56
71
|
var emittedValues_1 = require("../form/fields/emittedValues");
|
|
57
72
|
var helpers_1 = require("./helpers");
|
|
73
|
+
var useTemplateTags_1 = require("../form/fields/rich-text/useTemplateTags");
|
|
74
|
+
var CompletionMenu_1 = require("./CompletionMenu");
|
|
58
75
|
var MarkdownDoc_1 = require("./MarkdownDoc");
|
|
59
|
-
var
|
|
76
|
+
var typedReferences_1 = require("./typedReferences");
|
|
60
77
|
var useLspAutocomplete_1 = require("./useLspAutocomplete");
|
|
61
78
|
var useLspDiagnosticDecorations_1 = require("./useLspDiagnosticDecorations");
|
|
62
79
|
var useLspHover_1 = require("./useLspHover");
|
|
80
|
+
var useCoarsePointer_1 = require("../../hooks/useCoarsePointer");
|
|
63
81
|
var useLspSemanticTokens_1 = require("./useLspSemanticTokens");
|
|
64
82
|
var useLspSignatureHelp_1 = require("./useLspSignatureHelp");
|
|
65
83
|
// One-Dark-ish palette keyed off the LSP semantic-token legend; absent
|
|
66
|
-
// types fall through to Slate's default text
|
|
84
|
+
// types fall through to Slate's default text color.
|
|
67
85
|
var SEMANTIC_TOKEN_COLORS = {
|
|
68
86
|
keyword: '#c678dd', // purple — control flow, `in`, `not`, `between`, …
|
|
69
87
|
operator: '#56b6c2', // cyan — ==, !=, &&, ||, =~, !~, …
|
|
@@ -82,56 +100,6 @@ var SEMANTIC_TOKEN_COLORS = {
|
|
|
82
100
|
decorator: '#c678dd', // purple
|
|
83
101
|
namespace: '#e5c07b', // yellow
|
|
84
102
|
};
|
|
85
|
-
// Kind chip + a Warning chip (Qonsole flags mutating verbs) for a
|
|
86
|
-
// completion row; undefined when neither applies.
|
|
87
|
-
function buildKindBadge(item) {
|
|
88
|
-
var _a;
|
|
89
|
-
var kindIntent = ((_a = item.metadata) === null || _a === void 0 ? void 0 : _a.kind) !== undefined ? styling_1.COMPLETION_KIND_INTENTS[item.metadata.kind] : undefined;
|
|
90
|
-
var kindBadge = item.kindLabel ?
|
|
91
|
-
{
|
|
92
|
-
label: item.kindLabel,
|
|
93
|
-
minimal: true,
|
|
94
|
-
size: 'small',
|
|
95
|
-
intent: kindIntent,
|
|
96
|
-
}
|
|
97
|
-
: null;
|
|
98
|
-
var warningBadge = item.warning ?
|
|
99
|
-
{
|
|
100
|
-
label: 'Warning',
|
|
101
|
-
size: 'small',
|
|
102
|
-
intent: 'warning',
|
|
103
|
-
tooltip: item.warning,
|
|
104
|
-
}
|
|
105
|
-
: null;
|
|
106
|
-
if (warningBadge && kindBadge)
|
|
107
|
-
return [kindBadge, warningBadge];
|
|
108
|
-
if (warningBadge)
|
|
109
|
-
return [warningBadge];
|
|
110
|
-
if (kindBadge)
|
|
111
|
-
return kindBadge;
|
|
112
|
-
return undefined;
|
|
113
|
-
}
|
|
114
|
-
// Tooltip prop rendering a row's LSP `documentation` (markdown/plaintext),
|
|
115
|
-
// or undefined when there is none.
|
|
116
|
-
function buildDocTooltip(item) {
|
|
117
|
-
var _a;
|
|
118
|
-
var doc = item.documentation;
|
|
119
|
-
if (!doc)
|
|
120
|
-
return undefined;
|
|
121
|
-
var isMarkdown = typeof doc === 'object' && doc !== null && doc.kind === 'markdown';
|
|
122
|
-
var text = typeof doc === 'string' ? doc : ((_a = doc === null || doc === void 0 ? void 0 : doc.value) !== null && _a !== void 0 ? _a : '');
|
|
123
|
-
if (!text)
|
|
124
|
-
return undefined;
|
|
125
|
-
return {
|
|
126
|
-
content: (0, jsx_runtime_1.jsx)(MarkdownDoc_1.MarkdownDoc, { content: text, markdown: isMarkdown }),
|
|
127
|
-
placement: 'right',
|
|
128
|
-
delay: 200,
|
|
129
|
-
// The cast covers popover props missing from the older tooltip type.
|
|
130
|
-
flat: true,
|
|
131
|
-
transparent: true,
|
|
132
|
-
backgroundBlur: 20,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
103
|
// Applies the server's `textEdit` (replacing the typed partial token so
|
|
136
104
|
// `-` + `--desc=` doesn't become `---desc=`), else inserts at the cursor.
|
|
137
105
|
// DPQL/Qonsole wrappers override this to insert tag chips.
|
|
@@ -175,19 +143,6 @@ var defaultCompletionInserter = function (item, editor, ctx) {
|
|
|
175
143
|
// Editor may not be focused.
|
|
176
144
|
}
|
|
177
145
|
};
|
|
178
|
-
// Module-scoped so the reference is stable across renders — an inline
|
|
179
|
-
// object would defeat ReqoreMenuItem's memoization.
|
|
180
|
-
var COMPLETION_ITEM_STYLE = { fontFamily: 'monospace' };
|
|
181
|
-
// Memoized completion row so badge/tooltip derivation runs once per item,
|
|
182
|
-
// not on every SmartEditor re-render.
|
|
183
|
-
var CompletionMenuItem = (0, react_1.memo)(function (_a) {
|
|
184
|
-
var item = _a.item, isFocused = _a.isFocused, onSelect = _a.onSelect;
|
|
185
|
-
var badge = (0, react_1.useMemo)(function () { return buildKindBadge(item); }, [item]);
|
|
186
|
-
var tooltip = (0, react_1.useMemo)(function () { return buildDocTooltip(item); }, [item]);
|
|
187
|
-
var handleClick = (0, react_1.useCallback)(function () { return onSelect(item); }, [onSelect, item]);
|
|
188
|
-
return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMenuItem, { icon: item.icon, label: item.label, description: item.description, badge: badge, tooltip: tooltip, selected: isFocused, active: isFocused, minimal: true, scrollIntoView: isFocused, onClick: handleClick, compact: true, style: COMPLETION_ITEM_STYLE }));
|
|
189
|
-
});
|
|
190
|
-
CompletionMenuItem.displayName = 'CompletionMenuItem';
|
|
191
146
|
// Memoized signature pill. Prefers ABOVE the caret line, falling back to
|
|
192
147
|
// BELOW when that would clip the viewport top; horizontally clamped to the
|
|
193
148
|
// viewport.
|
|
@@ -246,13 +201,26 @@ var SignatureHelpPill = (0, react_1.memo)(function (_a) {
|
|
|
246
201
|
boxShadow: '0 4px 16px rgba(0,0,0,0.3)',
|
|
247
202
|
pointerEvents: 'none',
|
|
248
203
|
zIndex: 100,
|
|
249
|
-
}, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreCallout, { size: 'small', paddingSize: 'tiny', style: { fontFamily:
|
|
204
|
+
}, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreCallout, { size: 'small', paddingSize: 'tiny', style: { fontFamily: reqore_1.ReqoreFonts.mono }, label: label }), paramDoc && ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: 4, opacity: 0.85 }, children: (0, jsx_runtime_1.jsx)(MarkdownDoc_1.MarkdownDoc, { content: paramDoc, markdown: true }) }))] }, "sig-".concat(position.left, "-").concat(position.top, "-").concat(placeBelow)));
|
|
250
205
|
});
|
|
251
206
|
SignatureHelpPill.displayName = 'SignatureHelpPill';
|
|
207
|
+
/** Distinguishes the completion lists of the editors on a page, for each editor's `aria-controls`. */
|
|
208
|
+
var completionMenuCounter = 0;
|
|
209
|
+
/* The text's box in its row: it takes the row, and gives it up to the Details button beside it on a touch
|
|
210
|
+
screen. */
|
|
211
|
+
/** The width of the editor's row (Reqore's phone width) at or below which its Details button is its icon alone. */
|
|
212
|
+
var DETAILS_WORD_MIN_ROW_WIDTH = 480;
|
|
213
|
+
var EDITOR_BOX_STYLE = {
|
|
214
|
+
position: 'relative',
|
|
215
|
+
flex: '1 1 auto',
|
|
216
|
+
minWidth: 0,
|
|
217
|
+
};
|
|
252
218
|
exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
253
|
-
var
|
|
219
|
+
var _b, _c;
|
|
220
|
+
var session = _a.session, value = _a.value, onChange = _a.onChange, decorate = _a.decorate, customRenderLeaf = _a.customRenderLeaf, tagRenderer = _a.tagRenderer, onTagClick = _a.onTagClick, triggerCharacters = _a.triggerCharacters, _d = _a.converter, converter = _d === void 0 ? helpers_1.defaultSlateConverter : _d, _e = _a.completionInserter, completionInserter = _e === void 0 ? defaultCompletionInserter : _e, topActions = _a.topActions, height = _a.height, size = _a.size, _f = _a.readOnly, readOnly = _f === void 0 ? false : _f, _g = _a.showDiagnostics, showDiagnostics = _g === void 0 ? true : _g, onBlur = _a.onBlur, tags = _a.tags, loadingIndicator = _a.loadingIndicator, _h = _a.enableHover, enableHover = _h === void 0 ? true : _h, hoverDelayMs = _a.hoverDelayMs, _j = _a.isLoading, isLoading = _j === void 0 ? false : _j, _k = _a.enableSignatureHelp, enableSignatureHelp = _k === void 0 ? true : _k, _l = _a.completeOnClick, completeOnClick = _l === void 0 ? false : _l, completionsWith = _a.completionsWith, emptyCompletionMessage = _a.emptyCompletionMessage, presentDiagnostics = _a.presentDiagnostics;
|
|
254
221
|
var theme = (0, reqore_1.useReqoreTheme)();
|
|
255
222
|
var editorRef = (0, react_1.useRef)(null);
|
|
223
|
+
var completionMenuId = (0, react_1.useMemo)(function () { return "completion-menu-".concat(++completionMenuCounter); }, []);
|
|
256
224
|
var lastPlainTextRef = (0, react_1.useRef)(value);
|
|
257
225
|
// Cached Slate nodes, refreshed only on EXTERNAL value changes — not on
|
|
258
226
|
// the typing echo. Passing a fresh ref every keystroke re-runs
|
|
@@ -264,9 +232,9 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
264
232
|
from outside — a leading chip gains an empty text leaf before it — without
|
|
265
233
|
changing its text, so `value` never changes and the cache above kept the
|
|
266
234
|
tree the editor no longer had. Every offset computed from it (token
|
|
267
|
-
|
|
235
|
+
colors, diagnostics, signature help) then pointed one leaf off: a Text
|
|
268
236
|
view seeded with `"$local:name" == "John"` was never highlighted. */
|
|
269
|
-
var
|
|
237
|
+
var _m = (0, react_1.useReducer)(function (count) { return count + 1; }, 0), editorTreeVersion = _m[0], noteEditorTree = _m[1];
|
|
270
238
|
(0, react_1.useImperativeHandle)(ref, function () { return editorRef.current; }, []);
|
|
271
239
|
// Gates all LSP hooks on both the connection (`isReady`) and any
|
|
272
240
|
// wrapper context binding (`isContextReady`) — without the latter,
|
|
@@ -274,16 +242,68 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
274
242
|
// the server context-less and the dropdown silently closes. Generic
|
|
275
243
|
// sessions set `isContextReady: true`, collapsing this to `isReady`.
|
|
276
244
|
var lspReady = session.isReady && session.isContextReady;
|
|
245
|
+
/* What the list offers at the caret: the server's answer, with the host's own entries merged in where they
|
|
246
|
+
can be written (`completionsWith`). Where no server can be asked, the host's alone. */
|
|
247
|
+
var noServer = session.isUnavailable && !!completionsWith;
|
|
248
|
+
var askServer = session.getCompletions;
|
|
249
|
+
var getCompletions = (0, react_1.useCallback)(function (plainText, offset) { return __awaiter(void 0, void 0, void 0, function () {
|
|
250
|
+
var serverItems, _a;
|
|
251
|
+
return __generator(this, function (_b) {
|
|
252
|
+
switch (_b.label) {
|
|
253
|
+
case 0:
|
|
254
|
+
if (!noServer) return [3 /*break*/, 1];
|
|
255
|
+
_a = undefined;
|
|
256
|
+
return [3 /*break*/, 3];
|
|
257
|
+
case 1: return [4 /*yield*/, askServer(plainText, offset)];
|
|
258
|
+
case 2:
|
|
259
|
+
_a = _b.sent();
|
|
260
|
+
_b.label = 3;
|
|
261
|
+
case 3:
|
|
262
|
+
serverItems = _a;
|
|
263
|
+
return [2 /*return*/, completionsWith ?
|
|
264
|
+
completionsWith({ plainText: plainText, offset: offset, serverItems: serverItems })
|
|
265
|
+
: (serverItems !== null && serverItems !== void 0 ? serverItems : [])];
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
}); }, [noServer, askServer, completionsWith]);
|
|
277
269
|
var autocomplete = (0, useLspAutocomplete_1.useLspAutocomplete)({
|
|
278
|
-
getCompletions:
|
|
279
|
-
isReady: lspReady,
|
|
270
|
+
getCompletions: getCompletions,
|
|
271
|
+
isReady: lspReady || noServer,
|
|
280
272
|
triggerCharacters: triggerCharacters,
|
|
281
273
|
converter: converter,
|
|
282
274
|
inserter: completionInserter,
|
|
275
|
+
emptyMessage: emptyCompletionMessage,
|
|
283
276
|
});
|
|
284
277
|
var hover = (0, useLspHover_1.useLspHover)(session, editorRef, converter, {
|
|
285
278
|
enabled: enableHover,
|
|
279
|
+
debounceMs: hoverDelayMs,
|
|
280
|
+
// a chip whose props carry a tooltip (a field the record describes) shows that, not the server's hover too
|
|
281
|
+
chipHasOwnHover: function (tag) {
|
|
282
|
+
var _a;
|
|
283
|
+
return !!((_a = tagRenderer === null || tagRenderer === void 0 ? void 0 : tagRenderer(tag)) === null || _a === void 0 ? void 0 : _a.tooltip);
|
|
284
|
+
},
|
|
286
285
|
});
|
|
286
|
+
/* The hover the popover drawn in this render is of: what it dismisses when it closes, and nothing newer. */
|
|
287
|
+
var shownHoverId = hover.hoverId;
|
|
288
|
+
/* A finger cannot hover: where the pointer is one, "Details" shows what the server says of the word at the
|
|
289
|
+
caret, in the same pop-up a mouse gets by hovering. Only where the server says anything (`hoverProvider`). */
|
|
290
|
+
var coarse = (0, useCoarsePointer_1.useCoarsePointer)();
|
|
291
|
+
/* The row the text and its Details button share, measured: in a row a phone's width or narrower, Details is its
|
|
292
|
+
icon alone - its word took the text's room (Foxhoundn on qlip #383: "The details button should be just an icon
|
|
293
|
+
on such small screen / container size"). The row, not the screen: an editor in a narrow card on a wide
|
|
294
|
+
screen is as short of room. */
|
|
295
|
+
var _o = (0, react_use_1.useMeasure)(), rowRef = _o[0], rowWidth = _o[1].width;
|
|
296
|
+
var detailsSaysItsWord = !rowWidth || rowWidth > DETAILS_WORD_MIN_ROW_WIDTH;
|
|
297
|
+
var showDetailsButton = coarse &&
|
|
298
|
+
// Details says what the word at the caret is, and a read-only text has no caret: a tap on a read-only
|
|
299
|
+
// rendering (a collapsed row's expression) opens what holds it, where Details is
|
|
300
|
+
!readOnly &&
|
|
301
|
+
enableHover &&
|
|
302
|
+
session.isReady &&
|
|
303
|
+
!!((_c = (_b = session.client) === null || _b === void 0 ? void 0 : _b.capabilities) === null || _c === void 0 ? void 0 : _c.hoverProvider);
|
|
304
|
+
/* The hover Details showed, drawn as a card under the button rather than over the text (`showAtCaret`). */
|
|
305
|
+
var _p = (0, react_1.useState)(), detailsHoverId = _p[0], setDetailsHoverId = _p[1];
|
|
306
|
+
var detailsShown = detailsHoverId !== undefined && hover.hoverId === detailsHoverId;
|
|
287
307
|
/* What the editor has reported and the host has not handed back yet. A host can hand an emit back
|
|
288
308
|
after the next key is already in the editor - one that debounces, or a render that lands between
|
|
289
309
|
two keys - and that stale value is not a change: rebuilding the document from it replaced the text
|
|
@@ -309,7 +329,7 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
309
329
|
}, [value, converter, editorTreeVersion]);
|
|
310
330
|
/* A value set from outside is a change to the document as much as typing
|
|
311
331
|
is — a Text view seeded after mount, a Preview following the author. The
|
|
312
|
-
server
|
|
332
|
+
server colors and diagnoses its own copy of the text, so it must hold
|
|
313
333
|
this one; typing already sent its text, and is not resent. */
|
|
314
334
|
var syncDocument = session.didChange;
|
|
315
335
|
(0, react_1.useEffect)(function () {
|
|
@@ -323,7 +343,37 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
323
343
|
lastPlainTextRef.current = value;
|
|
324
344
|
syncDocument(value);
|
|
325
345
|
}, [syncDocument, value, emitted]);
|
|
326
|
-
|
|
346
|
+
/* The server's diagnostics as the editor says them: in the host's words for what it wrote itself
|
|
347
|
+
(`presentDiagnostics`), and without the error of a reference half-typed at the caret while its list is open
|
|
348
|
+
or on its way - a `$` typed to ask for a template is not a mistake yet (qorus#646, David's decision). It
|
|
349
|
+
is said once the list is put away. */
|
|
350
|
+
var listActive = autocomplete.isActive;
|
|
351
|
+
var shownDiagnostics = (0, react_1.useMemo)(function () {
|
|
352
|
+
var _a;
|
|
353
|
+
var editor = editorRef.current;
|
|
354
|
+
var nodes = (_a = editor === null || editor === void 0 ? void 0 : editor.children) !== null && _a !== void 0 ? _a : slateValue;
|
|
355
|
+
var said = presentDiagnostics ?
|
|
356
|
+
presentDiagnostics(session.diagnostics, converter.fromSlateNodes(nodes))
|
|
357
|
+
: session.diagnostics;
|
|
358
|
+
var at = editor === null || editor === void 0 ? void 0 : editor.selection;
|
|
359
|
+
if (!listActive || !converter.referenceBeingWritten || !at || !slate_1.Range.isCollapsed(at)) {
|
|
360
|
+
return said;
|
|
361
|
+
}
|
|
362
|
+
var _b = at.anchor.path, index = _b[0], child = _b[1];
|
|
363
|
+
var paragraph = nodes[index];
|
|
364
|
+
if (at.anchor.path.length !== 2 || !paragraph) {
|
|
365
|
+
return said;
|
|
366
|
+
}
|
|
367
|
+
var end = converter.selectionToOffset([paragraph], [0, child], at.anchor.offset);
|
|
368
|
+
var written = converter.referenceBeingWritten(converter.fromSlateNodes([paragraph]).slice(0, end));
|
|
369
|
+
return written > 0 ?
|
|
370
|
+
said.filter(function (_a) {
|
|
371
|
+
var start = _a.range.start;
|
|
372
|
+
return !(start.line === index && start.character >= end - written && start.character < end);
|
|
373
|
+
})
|
|
374
|
+
: said;
|
|
375
|
+
}, [session.diagnostics, presentDiagnostics, converter, slateValue, listActive]);
|
|
376
|
+
var diagnosticDecorate = (0, useLspDiagnosticDecorations_1.useLspDiagnosticDecorations)(shownDiagnostics, converter, slateValue);
|
|
327
377
|
// Server-driven syntax highlighting (replaces the old client-side regex
|
|
328
378
|
// highlighter — see design doc §7).
|
|
329
379
|
var semanticDecorate = (0, useLspSemanticTokens_1.useLspSemanticTokens)(session, converter, slateValue);
|
|
@@ -337,7 +387,7 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
337
387
|
// Diagnostics last so the wavy underline isn't overdrawn.
|
|
338
388
|
return __spreadArray(__spreadArray(__spreadArray([], userRanges, true), semanticRanges, true), diagRanges, true);
|
|
339
389
|
}, [decorate, semanticDecorate, diagnosticDecorate, showDiagnostics]);
|
|
340
|
-
// Paints semantic-token
|
|
390
|
+
// Paints semantic-token colors and diagnostic underlines, falling
|
|
341
391
|
// through to the consumer's `customRenderLeaf` for everything else.
|
|
342
392
|
var renderLeafWithMarks = (0, react_1.useCallback)(function (props) {
|
|
343
393
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -358,7 +408,7 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
358
408
|
}, children: child }));
|
|
359
409
|
}
|
|
360
410
|
}
|
|
361
|
-
// Underline outermost so it overlays the syntax
|
|
411
|
+
// Underline outermost so it overlays the syntax color; hex
|
|
362
412
|
// fallbacks cover host themes that omit a diagnostic intent.
|
|
363
413
|
if (leaf.error) {
|
|
364
414
|
var underlineColor = leaf.severity === 2 ? ((_d = (_c = theme.intents) === null || _c === void 0 ? void 0 : _c.warning) !== null && _d !== void 0 ? _d : '#f0a500')
|
|
@@ -372,6 +422,79 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
372
422
|
}
|
|
373
423
|
return child;
|
|
374
424
|
}, [customRenderLeaf, theme]);
|
|
425
|
+
/* A reference typed out in full is drawn as its chip, as one picked from the completion list is: the
|
|
426
|
+
paragraph is redrawn from its text, which the converter reads it in (`rechipTypedReferences`). The text is
|
|
427
|
+
the same, so nothing is reported for it. */
|
|
428
|
+
var drawTypedReferences = function (editor, index, rechipped) {
|
|
429
|
+
slate_1.Editor.withoutNormalizing(editor, function () {
|
|
430
|
+
var paragraph = editor.children[index];
|
|
431
|
+
for (var child = paragraph.children.length - 1; child >= 0; child -= 1) {
|
|
432
|
+
slate_1.Transforms.removeNodes(editor, { at: [index, child] });
|
|
433
|
+
}
|
|
434
|
+
slate_1.Transforms.insertNodes(editor, rechipped.children, {
|
|
435
|
+
at: [index, 0],
|
|
436
|
+
});
|
|
437
|
+
});
|
|
438
|
+
if (rechipped.caret) {
|
|
439
|
+
slate_1.Transforms.select(editor, rechipped.caret);
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
// the editor has been left: every reference typed in it is drawn as its chip
|
|
443
|
+
var handleBlur = (0, react_1.useCallback)(function () {
|
|
444
|
+
var editor = editorRef.current;
|
|
445
|
+
if (editor && !readOnly) {
|
|
446
|
+
editor.children.forEach(function (paragraph, index) {
|
|
447
|
+
var rechipped = (0, typedReferences_1.rechipTypedReferences)(converter, paragraph, index);
|
|
448
|
+
if (rechipped) {
|
|
449
|
+
drawTypedReferences(editor, index, rechipped);
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur();
|
|
454
|
+
}, [converter, readOnly, onBlur]);
|
|
455
|
+
/* A chip put in at the caret takes the place of the reference being written there, wherever it is picked
|
|
456
|
+
from (qorus#646, David's review). The completion list's inserter takes it away itself; the list the
|
|
457
|
+
editor's templates are browsed in is reqore's, which puts a chip in at the caret as it is: a `$` typed to
|
|
458
|
+
ask for a template stayed in front of the one picked, and `pos + 1 + $pos` is refused by the server. A
|
|
459
|
+
Slate plugin on the editor reqore made for this one (its `insertNodes`), so both are one step of one
|
|
460
|
+
change - one text sent, one undo. A chip put in at a place of its own (`at`: a typed reference drawn as its
|
|
461
|
+
chip, a chip replaced) is left alone. */
|
|
462
|
+
var referenceBeingWritten = readOnly ? undefined : converter.referenceBeingWritten;
|
|
463
|
+
(0, react_1.useEffect)(function () {
|
|
464
|
+
var editor = editorRef.current;
|
|
465
|
+
if (!editor || !referenceBeingWritten) {
|
|
466
|
+
return undefined;
|
|
467
|
+
}
|
|
468
|
+
var insertNodes = editor.insertNodes;
|
|
469
|
+
editor.insertNodes = function (nodes, options) {
|
|
470
|
+
var at = editor.selection;
|
|
471
|
+
var inserted = Array.isArray(nodes) ? nodes : [nodes];
|
|
472
|
+
var chip = inserted.length === 1 && inserted[0].type === 'tag';
|
|
473
|
+
if (chip && !(options === null || options === void 0 ? void 0 : options.at) && at && slate_1.Range.isCollapsed(at) && at.anchor.path.length === 2) {
|
|
474
|
+
var _a = at.anchor.path, index = _a[0], child = _a[1];
|
|
475
|
+
var paragraph = editor.children[index];
|
|
476
|
+
if (paragraph) {
|
|
477
|
+
var before = converter
|
|
478
|
+
.fromSlateNodes([paragraph])
|
|
479
|
+
.slice(0, converter.selectionToOffset([paragraph], [0, child], at.anchor.offset));
|
|
480
|
+
var written = referenceBeingWritten(before);
|
|
481
|
+
// what is being written is typed text, in the text the caret is in
|
|
482
|
+
if (written > 0 && written <= at.anchor.offset) {
|
|
483
|
+
slate_1.Transforms.delete(editor, {
|
|
484
|
+
at: {
|
|
485
|
+
anchor: { path: at.anchor.path, offset: at.anchor.offset - written },
|
|
486
|
+
focus: at.anchor,
|
|
487
|
+
},
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
insertNodes(nodes, options);
|
|
493
|
+
};
|
|
494
|
+
return function () {
|
|
495
|
+
editor.insertNodes = insertNodes;
|
|
496
|
+
};
|
|
497
|
+
}, [converter, referenceBeingWritten]);
|
|
375
498
|
var handleSlateChange = (0, react_1.useCallback)(function (newNodes) {
|
|
376
499
|
var plainText = converter.fromSlateNodes(newNodes);
|
|
377
500
|
// A selection change reports the same tree; anything else is the tree
|
|
@@ -390,6 +513,18 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
390
513
|
// parameter never advances.
|
|
391
514
|
onChange(plainText);
|
|
392
515
|
session.didChange(plainText);
|
|
516
|
+
// a reference typed out in full, and left by the character just typed, is drawn as its chip
|
|
517
|
+
var editor = editorRef.current;
|
|
518
|
+
var at = editor === null || editor === void 0 ? void 0 : editor.selection;
|
|
519
|
+
if (editor && at && slate_1.Range.isCollapsed(at) && !readOnly && converter.endsReference) {
|
|
520
|
+
var _a = at.anchor.path, index = _a[0], child = _a[1];
|
|
521
|
+
var paragraph = newNodes[index];
|
|
522
|
+
var rechipped = paragraph &&
|
|
523
|
+
(0, typedReferences_1.rechipTypedReferences)(converter, paragraph, index, converter.selectionToOffset([paragraph], [0, child], at.anchor.offset));
|
|
524
|
+
if (rechipped) {
|
|
525
|
+
drawTypedReferences(editor, index, rechipped);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
393
528
|
}
|
|
394
529
|
if (editorRef.current && !readOnly) {
|
|
395
530
|
autocomplete.onSlateChange(editorRef.current, newNodes);
|
|
@@ -398,22 +533,62 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
398
533
|
// Replace mode: open the dropdown at the chip's DOM rect (not the
|
|
399
534
|
// editor selection — clicks on a Slate VOID inline don't reliably
|
|
400
535
|
// update `editor.selection`) and atomically swap the chip on select.
|
|
536
|
+
var hasBrowseList = !!tags && Object.keys(tags).length > 0;
|
|
401
537
|
var handleTagClickDefault = (0, react_1.useCallback)(function (tag, editor) {
|
|
402
538
|
if (readOnly)
|
|
403
539
|
return;
|
|
540
|
+
/* An editor with a browse list (`tags`) answers a click on a chip with that list, as a click anywhere
|
|
541
|
+
in its text, and as a value's text does: one list at a time. Opening the chip's replacements beside
|
|
542
|
+
it put two lists over the text, and what was typed then reached neither (qorus#646, David: "you
|
|
543
|
+
can't type"). */
|
|
544
|
+
if (hasBrowseList)
|
|
545
|
+
return;
|
|
404
546
|
try {
|
|
405
547
|
var tagPath = slate_react_1.ReactEditor.findPath(editor, tag);
|
|
406
548
|
var domNode = slate_react_1.ReactEditor.toDOMNode(editor, tag);
|
|
407
549
|
var rect = domNode.getBoundingClientRect();
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
});
|
|
550
|
+
/* An editor that completes on a click lists what can stand in the chip's place - the fields and
|
|
551
|
+
templates the chip is one of - and the pick replaces it (qorus#646, David: a click on pos listed
|
|
552
|
+
nothing). */
|
|
553
|
+
autocomplete.openAtChip(editor, tagPath, { left: rect.left, bottom: rect.bottom }, { inItsPlace: completeOnClick });
|
|
412
554
|
}
|
|
413
555
|
catch (_a) {
|
|
414
556
|
// Tag may have been removed mid-render — ignore.
|
|
415
557
|
}
|
|
416
|
-
}, [readOnly, autocomplete]);
|
|
558
|
+
}, [readOnly, autocomplete, hasBrowseList, completeOnClick]);
|
|
559
|
+
/* A click, a tap or Tab into the text asks what can be written at the caret (`completeOnClick`): the caret the
|
|
560
|
+
page put there, which Slate's selection follows only later. Not a click on a chip, which is a control of
|
|
561
|
+
its own, nor anything outside the text: the list's rows are drawn elsewhere, and their clicks reach this
|
|
562
|
+
box through React. */
|
|
563
|
+
var openAtCaret = autocomplete.openAtCaret;
|
|
564
|
+
var completeAtPageCaret = (0, react_1.useCallback)(function (target) {
|
|
565
|
+
var editor = editorRef.current;
|
|
566
|
+
if (!completeOnClick || readOnly || !editor)
|
|
567
|
+
return;
|
|
568
|
+
try {
|
|
569
|
+
var root = slate_react_1.ReactEditor.toDOMNode(editor, editor);
|
|
570
|
+
if (!(target instanceof Node) || !root.contains(target))
|
|
571
|
+
return;
|
|
572
|
+
if (target instanceof Element && target.closest('[data-slate-void="true"]'))
|
|
573
|
+
return;
|
|
574
|
+
var page = slate_react_1.ReactEditor.getWindow(editor).getSelection();
|
|
575
|
+
if (!page || page.rangeCount === 0 || !page.isCollapsed)
|
|
576
|
+
return;
|
|
577
|
+
var caret = slate_react_1.ReactEditor.toSlateRange(editor, page, {
|
|
578
|
+
exactMatch: false,
|
|
579
|
+
suppressThrow: true,
|
|
580
|
+
});
|
|
581
|
+
if (!caret)
|
|
582
|
+
return;
|
|
583
|
+
var box = page.getRangeAt(0).getBoundingClientRect();
|
|
584
|
+
// a caret in an empty line has no box of its own: the text's
|
|
585
|
+
var at = box.width || box.height ? box : root.getBoundingClientRect();
|
|
586
|
+
openAtCaret(editor, caret.anchor, { left: at.left, bottom: at.bottom });
|
|
587
|
+
}
|
|
588
|
+
catch (_a) {
|
|
589
|
+
// the editor is not drawn, or the page's caret is not in it: nothing is asked
|
|
590
|
+
}
|
|
591
|
+
}, [completeOnClick, readOnly, openAtCaret]);
|
|
417
592
|
var resolvedTagClick = onTagClick !== null && onTagClick !== void 0 ? onTagClick : handleTagClickDefault;
|
|
418
593
|
// ReqoreRichTextEditor memoizes `renderElement` without `onTagClick` in
|
|
419
594
|
// its deps, so it captures the FIRST render's handler forever (stale
|
|
@@ -431,15 +606,6 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
431
606
|
return;
|
|
432
607
|
autocomplete.onItemSelect(item, editorRef.current);
|
|
433
608
|
}, [autocomplete]);
|
|
434
|
-
// Flatten groups into rows carrying a flat index to compare against
|
|
435
|
-
// `focusedIndex` (which is flat across all groups).
|
|
436
|
-
var completionGroups = (0, react_1.useMemo)(function () {
|
|
437
|
-
var flatIndex = 0;
|
|
438
|
-
return autocomplete.groups.map(function (group) { return ({
|
|
439
|
-
label: group.label,
|
|
440
|
-
items: group.items.map(function (item) { return ({ item: item, index: flatIndex++ }); }),
|
|
441
|
-
}); });
|
|
442
|
-
}, [autocomplete.groups]);
|
|
443
609
|
// Overlay shown while the session connects, a context binding resolves,
|
|
444
610
|
// or the wrapper signals `isLoading` (e.g. DpqlEditor awaiting
|
|
445
611
|
// `dpql/toRichtext`). The editor stays mounted underneath;
|
|
@@ -453,82 +619,95 @@ exports.SmartEditor = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
453
619
|
var overlayContent = !showLoadingOverlay ? null
|
|
454
620
|
: loadingIndicator !== undefined && loadingIndicator !== null ? loadingIndicator
|
|
455
621
|
: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreSpinner, { iconColor: 'info:lighten:2', size: 'small', centered: true, labelEffect: { textSize: 'small' }, children: defaultLoadingLabel });
|
|
456
|
-
return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, children: [topActions, (0, jsx_runtime_1.jsxs)(
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
//
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
hover.
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
622
|
+
return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, children: [topActions, (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { ref: rowRef, fluid: true, verticalAlign: 'flex-start', className: 'smart-editor-row', "data-completion": autocomplete.isOpen ? 'open'
|
|
623
|
+
: autocomplete.isActive ?
|
|
624
|
+
'asking'
|
|
625
|
+
: 'idle', children: [(0, jsx_runtime_1.jsxs)("div", { style: EDITOR_BOX_STYLE, onClick: function (event) { return completeAtPageCaret(event.target); },
|
|
626
|
+
// Tab's key comes up in the editor it moved the focus into
|
|
627
|
+
onKeyUp: function (event) {
|
|
628
|
+
if (event.key === 'Tab')
|
|
629
|
+
completeAtPageCaret(event.target);
|
|
630
|
+
}, children: [(0, jsx_runtime_1.jsx)(RichTextEditor_1.ReqoreRichTextEditor, { ref: editorRef, value: slateValue, onChange: handleSlateChange, readOnly: readOnly, customRenderLeaf: renderLeafWithMarks, decorate: composedDecorate, getTagProps: tagRenderer, onTagClick: stableOnTagClick, size: size, onBlur: handleBlur,
|
|
631
|
+
// the field's templates, browsed when the text is clicked, tapped or tabbed into: the browse list,
|
|
632
|
+
// drawn as the completion list is
|
|
633
|
+
tags: tags, tagsListProps: __assign({ useTargetWidth: true }, useTemplateTags_1.TEMPLATE_BROWSE_LIST_PROPS), "aria-autocomplete": 'list', "aria-expanded": autocomplete.isOpen, "aria-controls": completionMenuId, panelProps: {
|
|
634
|
+
fluid: true,
|
|
635
|
+
flat: true,
|
|
636
|
+
style: {
|
|
637
|
+
// Auto-grow: the editor sizes to its content and grows
|
|
638
|
+
// as lines are added. `height` is an optional *minimum*
|
|
639
|
+
// floor (e.g. a multi-line code editor); when omitted,
|
|
640
|
+
// a single comfortable line so the empty field stays
|
|
641
|
+
// clickable and the diagnostics panel hugs the input
|
|
642
|
+
// instead of sitting below a tall reserved box.
|
|
643
|
+
minHeight: height !== null && height !== void 0 ? height : '2.4em',
|
|
644
|
+
/* reqore's mono stack, as every other code-like text: the bare generic keyword is the browser's
|
|
645
|
+
default fixed-width font (Courier in Chrome on macOS), larger than the field's own face */
|
|
646
|
+
fontFamily: reqore_1.ReqoreFonts.mono,
|
|
647
|
+
/* the size the text is written in (the text area's, for this size), so the frame and its `em`
|
|
648
|
+
floor are the text's: a fixed 13px was larger than a small field's text, and the panel's own
|
|
649
|
+
size larger again, which made the frame taller than the field's other tabs */
|
|
650
|
+
fontSize: sizes_1.CONTROL_TEXT_FROM_SIZE[size !== null && size !== void 0 ? size : 'normal'],
|
|
651
|
+
},
|
|
652
|
+
} }), showLoadingOverlay && ((0, jsx_runtime_1.jsx)("div", {
|
|
653
|
+
// Absolutely-positioned, centred panel covering the
|
|
654
|
+
// editor body. `backdrop-filter: blur` matches the
|
|
655
|
+
// 20px backdrop blur Reqore uses for drawers — keeps
|
|
656
|
+
// the editor content faintly readable underneath while
|
|
657
|
+
// signalling "this surface is paused". Pointer events
|
|
658
|
+
// pass through; the LSP-dependent paths short-circuit
|
|
659
|
+
// on `!isReady` / `!isContextReady` anyway.
|
|
660
|
+
style: {
|
|
661
|
+
position: 'absolute',
|
|
662
|
+
inset: 0,
|
|
663
|
+
display: 'flex',
|
|
664
|
+
alignItems: 'center',
|
|
665
|
+
justifyContent: 'center',
|
|
666
|
+
background: 'rgba(10, 10, 10, 0.35)',
|
|
667
|
+
backdropFilter: 'blur(4px)',
|
|
668
|
+
WebkitBackdropFilter: 'blur(4px)',
|
|
669
|
+
borderRadius: 4,
|
|
670
|
+
pointerEvents: 'none',
|
|
671
|
+
zIndex: 2,
|
|
672
|
+
}, children: overlayContent })), (0, jsx_runtime_1.jsx)(CompletionMenu_1.CompletionMenu, { autocomplete: autocomplete, id: completionMenuId, onSelect: handleCompletionSelect, pendingLabel: !session.isReady ? 'Connecting to language server…'
|
|
673
|
+
: !session.isContextReady ? 'Loading schema…'
|
|
674
|
+
: undefined }), hover.hoverContent && hover.hoverPosition && (
|
|
675
|
+
// Non-interactive (`pointerEvents: none`) so typing/clicking
|
|
676
|
+
// doesn't dismiss it via a focus trap.
|
|
677
|
+
(0, jsx_runtime_1.jsx)(Popover_1.ReqorePopover
|
|
678
|
+
// one popover per hover: the next one is a popover of its own, wherever it is
|
|
679
|
+
, __assign({ component: 'span', wrapperStyle: {
|
|
680
|
+
position: 'fixed',
|
|
681
|
+
top: hover.hoverPosition.top,
|
|
682
|
+
left: hover.hoverPosition.left,
|
|
683
|
+
width: '1px',
|
|
684
|
+
height: '1px',
|
|
685
|
+
pointerEvents: 'none',
|
|
686
|
+
}, content: (0, jsx_runtime_1.jsx)("div", { style: { padding: 4 }, children: (0, jsx_runtime_1.jsx)(MarkdownDoc_1.MarkdownDoc, { content: hover.hoverContent.value, markdown: hover.hoverContent.kind === 'markdown' }) }), openOnMount: true, noArrow: true,
|
|
687
|
+
/* A mouse's hover floats over the word it is of, as glass. What Details shows is a card of its
|
|
688
|
+
own, under the button and beside the text, on a surface it reads on. */
|
|
689
|
+
placement: detailsShown ? 'bottom-end' : 'top', handler: 'hover', closeOnOutsideClick: true, minWidth: '220px' }, (detailsShown ? {} : { flat: true, transparent: true, backgroundBlur: 20 }), { onToggleChange: function (open) {
|
|
690
|
+
// this hover only: a popover replaced by the next hover says it closed as it goes
|
|
691
|
+
if (!open)
|
|
692
|
+
hover.clearHover(shownHoverId);
|
|
693
|
+
} }), "hover-".concat(hover.hoverId))), signatureHelp.signature && signatureHelp.position && ((0, jsx_runtime_1.jsx)(SignatureHelpPill, { signature: signatureHelp.signature, position: signatureHelp.position }))] }), showDetailsButton && ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'smart-editor-details', icon: 'InformationLine', fixed: true, flat: true, minimal: true, "aria-label": 'Show what the word at the cursor is', tooltip: detailsSaysItsWord ? undefined : 'Details',
|
|
694
|
+
// the press keeps the focus, and the caret the details are of, in the text
|
|
695
|
+
onMouseDown: function (event) { return event.preventDefault(); }, onClick: function (event) {
|
|
696
|
+
var _a;
|
|
697
|
+
// anchored under the button's right edge: the card opens beside the text, not over it
|
|
698
|
+
/* Under the row, not only under the button: an editor of more than one line is taller than
|
|
699
|
+
the button, and the card drawn under the button covered the lines below the first
|
|
700
|
+
(DpqlEditor · Details On A Chip On A Touch Screen, at 390px). */
|
|
701
|
+
var _b = event.currentTarget.getBoundingClientRect(), right = _b.right, bottom = _b.bottom;
|
|
702
|
+
var row = event.currentTarget.closest('.smart-editor-row');
|
|
703
|
+
var rowBottom = (_a = row === null || row === void 0 ? void 0 : row.getBoundingClientRect().bottom) !== null && _a !== void 0 ? _a : bottom;
|
|
704
|
+
void hover
|
|
705
|
+
.showAtCaret({ left: right, top: Math.max(bottom, rowBottom) })
|
|
706
|
+
.then(setDetailsHoverId);
|
|
707
|
+
}, children: detailsSaysItsWord ? 'Details' : undefined }))] }), showDiagnostics && shownDiagnostics.length > 0 && (
|
|
708
|
+
// One ReqoreMessage per diagnostic, severity → intent. The same
|
|
709
|
+
// diagnostics as the inline underline above (`shownDiagnostics`).
|
|
710
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { vertical: true, fluid: true, size: 'small', children: shownDiagnostics.map(function (diag, i) { return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { intent: (0, useLspDiagnosticDecorations_1.severityToIntent)(diag.severity), "data-severity": (0, useLspDiagnosticDecorations_1.severityToIntent)(diag.severity), icon: diag.severity === 2 ? 'AlertLine'
|
|
532
711
|
: diag.severity && diag.severity >= 3 ?
|
|
533
712
|
'InformationLine'
|
|
534
713
|
: 'ErrorWarningLine', size: 'small', opaque: false, children: diag.message }, "".concat(diag.range.start.line, ":").concat(diag.range.start.character, ":").concat(i))); }) }))] }));
|