@qoretechnologies/reqraft 0.10.65 → 0.10.66-pr.137.ga1983bf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -1
- package/dist/components/Description/AllowedValuesHelp.d.ts +20 -0
- package/dist/components/Description/AllowedValuesHelp.d.ts.map +1 -0
- package/dist/components/Description/AllowedValuesHelp.js +86 -0
- package/dist/components/Description/AllowedValuesHelp.js.map +1 -0
- package/dist/components/Description/describedControl.d.ts +54 -0
- package/dist/components/Description/describedControl.d.ts.map +1 -0
- package/dist/components/Description/describedControl.js +81 -0
- package/dist/components/Description/describedControl.js.map +1 -0
- package/dist/components/Description/index.d.ts.map +1 -1
- package/dist/components/Description/index.js +3 -2
- package/dist/components/Description/index.js.map +1 -1
- package/dist/components/colorValue/colorValue.d.ts +59 -0
- package/dist/components/colorValue/colorValue.d.ts.map +1 -0
- package/dist/components/colorValue/colorValue.js +245 -0
- package/dist/components/colorValue/colorValue.js.map +1 -0
- package/dist/components/colorValue/index.d.ts +34 -0
- package/dist/components/colorValue/index.d.ts.map +1 -0
- package/dist/components/colorValue/index.js +136 -0
- package/dist/components/colorValue/index.js.map +1 -0
- package/dist/components/colorValue/labels.d.ts +12 -0
- package/dist/components/colorValue/labels.d.ts.map +1 -0
- package/dist/components/colorValue/labels.js +11 -0
- package/dist/components/colorValue/labels.js.map +1 -0
- package/dist/components/composer/Composer.d.ts +1 -1
- package/dist/components/composer/Composer.d.ts.map +1 -1
- package/dist/components/composer/Composer.js +2 -2
- package/dist/components/composer/Composer.js.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.js +156 -10
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlCompletions.d.ts +39 -0
- package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
- package/dist/components/dpqlEditor/dpqlCompletions.js +294 -0
- package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +54 -5
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +413 -63
- package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlInserter.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlInserter.js +67 -29
- package/dist/components/dpqlEditor/dpqlInserter.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.d.ts +17 -7
- package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.js +44 -17
- package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +94 -8
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +7 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +49 -17
- package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +322 -124
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +29 -3
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +66 -11
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +570 -176
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
- package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
- package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
- package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +25 -3
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
- package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
- package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +30 -1
- package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowContext.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts +59 -22
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +102 -55
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
- package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
- package/dist/components/form/engine/compactToolbarColors.js +21 -0
- package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
- package/dist/components/form/engine/inheritProps.d.ts +29 -0
- package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
- package/dist/components/form/engine/inheritProps.js +43 -0
- package/dist/components/form/engine/inheritProps.js.map +1 -0
- package/dist/components/form/engine/operatorSummary.d.ts +26 -0
- package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
- package/dist/components/form/engine/operatorSummary.js +35 -0
- package/dist/components/form/engine/operatorSummary.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +24 -8
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +77 -109
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/readFirstColors.d.ts +30 -0
- package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
- package/dist/components/form/engine/readFirstColors.js +51 -0
- package/dist/components/form/engine/readFirstColors.js.map +1 -0
- package/dist/components/form/engine/rowFocus.d.ts +2 -0
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +26 -3
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/engine/typeChoices.d.ts +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.js +2 -1
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
- package/dist/components/form/engine/variants/variantParts.js +25 -17
- package/dist/components/form/engine/variants/variantParts.js.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.js +7 -6
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +536 -114
- package/dist/components/form/expressions/ExpressionField.js.map +1 -1
- package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
- package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
- package/dist/components/form/expressions/argumentPresence.js +16 -1
- package/dist/components/form/expressions/argumentPresence.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
- package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
- package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
- package/dist/components/form/expressions/builder/index.d.ts +34 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +170 -80
- package/dist/components/form/expressions/builder/index.js.map +1 -1
- package/dist/components/form/expressions/builder/item.d.ts +6 -2
- package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/item.js +19 -5
- package/dist/components/form/expressions/builder/item.js.map +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
- package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
- package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
- package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
- package/dist/components/form/expressions/expressionOperands.js +97 -0
- package/dist/components/form/expressions/expressionOperands.js.map +1 -0
- package/dist/components/form/expressions/fieldPath.d.ts +24 -0
- package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
- package/dist/components/form/expressions/fieldPath.js +152 -0
- package/dist/components/form/expressions/fieldPath.js.map +1 -0
- package/dist/components/form/expressions/loneValue.d.ts +17 -0
- package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
- package/dist/components/form/expressions/loneValue.js +33 -0
- package/dist/components/form/expressions/loneValue.js.map +1 -0
- package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/mockExpressions.js +22 -5
- package/dist/components/form/expressions/mockExpressions.js.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
- package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.js +43 -10
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
- package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
- package/dist/components/form/expressions/textOfExpression.js +49 -0
- package/dist/components/form/expressions/textOfExpression.js.map +1 -0
- package/dist/components/form/expressions/types.d.ts +12 -0
- package/dist/components/form/expressions/types.d.ts.map +1 -1
- package/dist/components/form/expressions/types.js +6 -1
- package/dist/components/form/expressions/types.js.map +1 -1
- package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
- package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
- package/dist/components/form/expressions/useExpressionType.js +181 -0
- package/dist/components/form/expressions/useExpressionType.js.map +1 -0
- package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
- package/dist/components/form/expressions/useRenderExpression.js +13 -9
- package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
- package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
- package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
- package/dist/components/form/expressions/wildcardExpressions.js +101 -0
- package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +43 -20
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +39 -6
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
- package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
- package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
- package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
- package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.js +24 -0
- package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
- package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +119 -62
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
- package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
- package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
- package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
- package/dist/components/form/fields/binary/Binary.js +23 -3
- package/dist/components/form/fields/binary/Binary.js.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
- package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.js +9 -1
- package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
- package/dist/components/form/fields/color/Color.d.ts +103 -16
- package/dist/components/form/fields/color/Color.d.ts.map +1 -1
- package/dist/components/form/fields/color/Color.js +616 -16
- package/dist/components/form/fields/color/Color.js.map +1 -1
- package/dist/components/form/fields/emittedValues.d.ts +34 -3
- package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
- package/dist/components/form/fields/emittedValues.js +24 -1
- package/dist/components/form/fields/emittedValues.js.map +1 -1
- package/dist/components/form/fields/file/File.d.ts +1 -1
- package/dist/components/form/fields/file/File.d.ts.map +1 -1
- package/dist/components/form/fields/file/File.js +4 -2
- package/dist/components/form/fields/file/File.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +29 -8
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +13 -9
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +6 -0
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +41 -6
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/object/Object.d.ts +1 -1
- package/dist/components/form/fields/object/Object.d.ts.map +1 -1
- package/dist/components/form/fields/object/Object.js +4 -2
- package/dist/components/form/fields/object/Object.js.map +1 -1
- package/dist/components/form/fields/pendingEdit.d.ts +52 -0
- package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
- package/dist/components/form/fields/pendingEdit.js +79 -0
- package/dist/components/form/fields/pendingEdit.js.map +1 -0
- package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/form/fields/radio-group/RadioGroup.js +4 -3
- package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +382 -91
- package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
- package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/index.js +8 -4
- package/dist/components/form/fields/schema-definition/index.js.map +1 -1
- package/dist/components/form/fields/select/Select.d.ts +10 -1
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +28 -14
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +25 -12
- package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
- package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
- package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
- package/dist/components/form/fields/select/unavailableRow.js +55 -0
- package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
- package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
- package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
- package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +678 -107
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
- package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplatePicker.js +451 -0
- package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
- package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
- package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateText.js +22 -16
- package/dist/components/form/fields/template/TemplateText.js.map +1 -1
- package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
- package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
- package/dist/components/form/fields/template/referenceNames.js +69 -0
- package/dist/components/form/fields/template/referenceNames.js.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.js +204 -0
- package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
- package/dist/components/form/index.d.ts +12 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +25 -1
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/form/typeSentenceForm.d.ts +17 -0
- package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
- package/dist/components/form/typeSentenceForm.js +54 -0
- package/dist/components/form/typeSentenceForm.js.map +1 -0
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +19 -7
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/log/Log.d.ts.map +1 -1
- package/dist/components/log/Log.js +20 -8
- package/dist/components/log/Log.js.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +19 -10
- package/dist/components/menu/Menu.js.map +1 -1
- package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
- package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
- package/dist/components/smartEditor/CompletionMenu.js +302 -0
- package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
- package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
- package/dist/components/smartEditor/MarkdownDoc.js +3 -3
- package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
- package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
- package/dist/components/smartEditor/SmartEditor.js +584 -190
- package/dist/components/smartEditor/SmartEditor.js.map +1 -1
- package/dist/components/smartEditor/completionStyle.d.ts +28 -0
- package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
- package/dist/components/smartEditor/completionStyle.js +79 -0
- package/dist/components/smartEditor/completionStyle.js.map +1 -0
- package/dist/components/smartEditor/contextTitle.d.ts +10 -0
- package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
- package/dist/components/smartEditor/contextTitle.js +21 -0
- package/dist/components/smartEditor/contextTitle.js.map +1 -0
- package/dist/components/smartEditor/editingAids.d.ts +64 -0
- package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
- package/dist/components/smartEditor/editingAids.js +213 -0
- package/dist/components/smartEditor/editingAids.js.map +1 -0
- package/dist/components/smartEditor/index.d.ts +6 -1
- package/dist/components/smartEditor/index.d.ts.map +1 -1
- package/dist/components/smartEditor/index.js +19 -1
- package/dist/components/smartEditor/index.js.map +1 -1
- package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
- package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
- package/dist/components/smartEditor/templateCompletions.js +380 -0
- package/dist/components/smartEditor/templateCompletions.js.map +1 -0
- package/dist/components/smartEditor/typedReferences.d.ts +34 -0
- package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
- package/dist/components/smartEditor/typedReferences.js +179 -0
- package/dist/components/smartEditor/typedReferences.js.map +1 -0
- package/dist/components/smartEditor/types.d.ts +116 -2
- package/dist/components/smartEditor/types.d.ts.map +1 -1
- package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
- package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
- package/dist/components/smartEditor/useEditingAids.js +336 -0
- package/dist/components/smartEditor/useEditingAids.js.map +1 -0
- package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
- package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.js +562 -151
- package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
- package/dist/components/smartEditor/useLspHover.d.ts +33 -7
- package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspHover.js +364 -35
- package/dist/components/smartEditor/useLspHover.js.map +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
- package/dist/components/smartEditor/useLspSession.d.ts +6 -0
- package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSession.js +7 -6
- package/dist/components/smartEditor/useLspSession.js.map +1 -1
- package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
- package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
- package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
- package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
- package/dist/components/smartEditor/useTabCameIn.js +42 -0
- package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
- package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.js +15 -5
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +27 -6
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +20 -2
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +9 -4
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
- package/dist/components/ticketThread/TicketThread.js +38 -13
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/allowedValues.d.ts +21 -0
- package/dist/helpers/allowedValues.d.ts.map +1 -1
- package/dist/helpers/allowedValues.js +40 -1
- package/dist/helpers/allowedValues.js.map +1 -1
- package/dist/helpers/descriptionTooltip.d.ts +46 -0
- package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
- package/dist/helpers/descriptionTooltip.js +76 -0
- package/dist/helpers/descriptionTooltip.js.map +1 -0
- package/dist/helpers/domProps.d.ts +5 -0
- package/dist/helpers/domProps.d.ts.map +1 -0
- package/dist/helpers/domProps.js +47 -0
- package/dist/helpers/domProps.js.map +1 -0
- package/dist/helpers/expressions.d.ts +115 -4
- package/dist/helpers/expressions.d.ts.map +1 -1
- package/dist/helpers/expressions.js +247 -29
- package/dist/helpers/expressions.js.map +1 -1
- package/dist/helpers/hoveringPointer.d.ts +26 -0
- package/dist/helpers/hoveringPointer.d.ts.map +1 -0
- package/dist/helpers/hoveringPointer.js +29 -0
- package/dist/helpers/hoveringPointer.js.map +1 -0
- package/dist/helpers/markdownText.d.ts +14 -0
- package/dist/helpers/markdownText.d.ts.map +1 -0
- package/dist/helpers/markdownText.js +160 -0
- package/dist/helpers/markdownText.js.map +1 -0
- package/dist/helpers/noDescription.d.ts +9 -0
- package/dist/helpers/noDescription.d.ts.map +1 -0
- package/dist/helpers/noDescription.js +13 -0
- package/dist/helpers/noDescription.js.map +1 -0
- package/dist/helpers/optionUiTypes.d.ts +2 -2
- package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.js +505 -0
- package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
- package/dist/helpers/readableColors.d.ts +36 -0
- package/dist/helpers/readableColors.d.ts.map +1 -0
- package/dist/helpers/readableColors.js +116 -0
- package/dist/helpers/readableColors.js.map +1 -0
- package/dist/helpers/recordFieldReference.d.ts +15 -0
- package/dist/helpers/recordFieldReference.d.ts.map +1 -0
- package/dist/helpers/recordFieldReference.js +89 -0
- package/dist/helpers/recordFieldReference.js.map +1 -0
- package/dist/helpers/templateCatalogue.d.ts +104 -0
- package/dist/helpers/templateCatalogue.d.ts.map +1 -0
- package/dist/helpers/templateCatalogue.js +116 -0
- package/dist/helpers/templateCatalogue.js.map +1 -0
- package/dist/helpers/templateCatalogueContext.d.ts +19 -0
- package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
- package/dist/helpers/templateCatalogueContext.js +31 -0
- package/dist/helpers/templateCatalogueContext.js.map +1 -0
- package/dist/helpers/templateItems.d.ts +2 -2
- package/dist/helpers/templateItems.d.ts.map +1 -1
- package/dist/helpers/templateItems.js +6 -4
- package/dist/helpers/templateItems.js.map +1 -1
- package/dist/helpers/templateText.d.ts +1 -0
- package/dist/helpers/templateText.d.ts.map +1 -1
- package/dist/helpers/templateText.js +7 -3
- package/dist/helpers/templateText.js.map +1 -1
- package/dist/helpers/templateTree.d.ts +248 -0
- package/dist/helpers/templateTree.d.ts.map +1 -0
- package/dist/helpers/templateTree.js +892 -0
- package/dist/helpers/templateTree.js.map +1 -0
- package/dist/helpers/templateType.d.ts +28 -0
- package/dist/helpers/templateType.d.ts.map +1 -0
- package/dist/helpers/templateType.js +30 -0
- package/dist/helpers/templateType.js.map +1 -0
- package/dist/helpers/templates.d.ts +86 -16
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +305 -45
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +27 -0
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +169 -39
- package/dist/helpers/validations.js.map +1 -1
- package/dist/helpers/webLink.d.ts +8 -0
- package/dist/helpers/webLink.d.ts.map +1 -0
- package/dist/helpers/webLink.js +29 -0
- package/dist/helpers/webLink.js.map +1 -0
- package/dist/hooks/useQorusTypes.d.ts +12 -17
- package/dist/hooks/useQorusTypes.d.ts.map +1 -1
- package/dist/hooks/useQorusTypes.js +44 -172
- package/dist/hooks/useQorusTypes.js.map +1 -1
- package/dist/hooks/useReadableIntentShade.d.ts +9 -0
- package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
- package/dist/hooks/useReadableIntentShade.js +23 -0
- package/dist/hooks/useReadableIntentShade.js.map +1 -0
- package/dist/hooks/useReadableOpacity.d.ts +6 -0
- package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
- package/dist/hooks/useReadableOpacity.js +17 -0
- package/dist/hooks/useReadableOpacity.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
- package/dist/tracking/ui/ExperimentCard.js +26 -10
- package/dist/tracking/ui/ExperimentCard.js.map +1 -1
- package/dist/tracking/ui/card.d.ts +2 -2
- package/dist/tracking/ui/card.d.ts.map +1 -1
- package/dist/tracking/ui/card.js +2 -2
- package/dist/tracking/ui/card.js.map +1 -1
- package/dist/tracking/ui/readable.d.ts +14 -0
- package/dist/tracking/ui/readable.d.ts.map +1 -0
- package/dist/tracking/ui/readable.js +60 -0
- package/dist/tracking/ui/readable.js.map +1 -0
- package/dist/utils/fetch.d.ts +9 -2
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +6 -5
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/lspClient.types.d.ts +2 -0
- package/dist/utils/lspClient.types.d.ts.map +1 -1
- package/dist/utils/websocket.d.ts +65 -2
- package/dist/utils/websocket.d.ts.map +1 -1
- package/dist/utils/websocket.js +276 -44
- package/dist/utils/websocket.js.map +1 -1
- package/package.json +14 -6
- package/.claude/CLAUDE.md +0 -317
- package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
- package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
- package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
- package/.tasks/FIELD_STACK_REPORT.md +0 -234
- package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
- package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
- package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
- package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
- package/.tasks/INDEX.md +0 -111
- package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
- package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
- package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
- package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
- package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
- package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
- package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
- package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
- package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
- package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
- package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
- package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
- package/CODE_OF_CONDUCT.md +0 -105
- package/CONTRIBUTING.MD +0 -78
- package/SECURITY.md +0 -3
- package/chromatic.config.json +0 -5
- package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
- package/design/COMPACT_INFO_DISPLAY.md +0 -87
- package/design/COMPACT_PARITY.md +0 -85
- package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
- package/design/FORM_ENGINE_COMPACT.md +0 -300
- package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
- package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
- package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
- package/design/IDE_INTEGRATION.md +0 -64
- package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
- package/design/SELECT_DIALOG_FLOOR.md +0 -86
- package/design/SMART_EDITOR_UX.md +0 -438
- package/design/TRACKING.md +0 -290
- package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
- package/src/components/Description/index.tsx +0 -254
- package/src/components/Description/markdownRendererContext.tsx +0 -29
- package/src/components/FocusedEditing/index.tsx +0 -50
- package/src/components/codeSize/index.tsx +0 -79
- package/src/components/composer/Composer.stories.tsx +0 -238
- package/src/components/composer/Composer.tsx +0 -554
- package/src/components/composer/helpers.ts +0 -74
- package/src/components/composer/index.ts +0 -2
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
- package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
- package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
- package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
- package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
- package/src/components/dpqlEditor/dpqlTags.ts +0 -114
- package/src/components/dpqlEditor/index.ts +0 -41
- package/src/components/dpqlEditor/types.ts +0 -203
- package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
- package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
- package/src/components/form/engine/CompactRow.tsx +0 -2620
- package/src/components/form/engine/CompactToolbar.tsx +0 -330
- package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
- package/src/components/form/engine/FormEngine.tsx +0 -4569
- package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
- package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
- package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
- package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
- package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
- package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
- package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
- package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
- package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
- package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
- package/src/components/form/engine/compactRowContext.ts +0 -148
- package/src/components/form/engine/compactRowStyles.ts +0 -898
- package/src/components/form/engine/compactToolbarContext.ts +0 -69
- package/src/components/form/engine/optionActions.ts +0 -128
- package/src/components/form/engine/optionsContext.ts +0 -24
- package/src/components/form/engine/readFirst.ts +0 -1077
- package/src/components/form/engine/rendererTypes.ts +0 -107
- package/src/components/form/engine/revealRow.ts +0 -123
- package/src/components/form/engine/rowFocus.ts +0 -101
- package/src/components/form/engine/rowMenuContext.ts +0 -159
- package/src/components/form/engine/rowOpenPicker.ts +0 -27
- package/src/components/form/engine/typeChoices.ts +0 -63
- package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
- package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
- package/src/components/form/engine/variants/VariantCards.tsx +0 -212
- package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
- package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
- package/src/components/form/engine/variants/focusDemo.ts +0 -145
- package/src/components/form/engine/variants/variantModel.ts +0 -223
- package/src/components/form/engine/variants/variantParts.tsx +0 -313
- package/src/components/form/expressions/DpqlRendering.tsx +0 -85
- package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
- package/src/components/form/expressions/ExpressionField.tsx +0 -503
- package/src/components/form/expressions/argumentPresence.ts +0 -213
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
- package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
- package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
- package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
- package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
- package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
- package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
- package/src/components/form/expressions/builder/index.tsx +0 -1545
- package/src/components/form/expressions/builder/item.tsx +0 -89
- package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
- package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
- package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
- package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
- package/src/components/form/expressions/mockExpressions.ts +0 -317
- package/src/components/form/expressions/renderExpressionToText.ts +0 -137
- package/src/components/form/expressions/types.ts +0 -110
- package/src/components/form/expressions/useExpressions.ts +0 -101
- package/src/components/form/expressions/useRenderExpression.ts +0 -165
- package/src/components/form/fields/Field.stories.tsx +0 -143
- package/src/components/form/fields/Field.tsx +0 -732
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
- package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
- package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
- package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
- package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
- package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
- package/src/components/form/fields/binary/Binary.tsx +0 -91
- package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
- package/src/components/form/fields/boolean/Boolean.tsx +0 -34
- package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
- package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
- package/src/components/form/fields/color/Color.stories.tsx +0 -99
- package/src/components/form/fields/color/Color.tsx +0 -46
- package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
- package/src/components/form/fields/cron/Cron.tsx +0 -80
- package/src/components/form/fields/date/Date.stories.tsx +0 -77
- package/src/components/form/fields/date/Date.tsx +0 -55
- package/src/components/form/fields/emittedValues.ts +0 -70
- package/src/components/form/fields/file/File.stories.tsx +0 -161
- package/src/components/form/fields/file/File.tsx +0 -227
- package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
- package/src/components/form/fields/long-string/LongString.tsx +0 -130
- package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
- package/src/components/form/fields/markdown/Markdown.tsx +0 -81
- package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
- package/src/components/form/fields/number/Number.stories.tsx +0 -159
- package/src/components/form/fields/number/Number.tsx +0 -160
- package/src/components/form/fields/object/Object.stories.tsx +0 -398
- package/src/components/form/fields/object/Object.tsx +0 -255
- package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
- package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
- package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
- package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
- package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
- package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
- package/src/components/form/fields/rich-text/RichText.tsx +0 -537
- package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
- package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
- package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
- package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
- package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
- package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
- package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
- package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
- package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
- package/src/components/form/fields/schema-definition/catalog.ts +0 -237
- package/src/components/form/fields/schema-definition/helpers.ts +0 -90
- package/src/components/form/fields/schema-definition/index.tsx +0 -418
- package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
- package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
- package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
- package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
- package/src/components/form/fields/schema-definition/types.ts +0 -185
- package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
- package/src/components/form/fields/select/Select.stories.tsx +0 -872
- package/src/components/form/fields/select/Select.tsx +0 -624
- package/src/components/form/fields/select/SelectCollection.tsx +0 -594
- package/src/components/form/fields/string/String.stories.tsx +0 -86
- package/src/components/form/fields/string/String.tsx +0 -43
- package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
- package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
- package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
- package/src/components/form/fields/template/TemplateField.tsx +0 -1717
- package/src/components/form/fields/template/TemplateText.tsx +0 -115
- package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
- package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
- package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
- package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
- package/src/components/form/fields/timeout/Timeout.tsx +0 -87
- package/src/components/form/fields/url/Url.stories.tsx +0 -94
- package/src/components/form/fields/url/Url.tsx +0 -85
- package/src/components/form/index.tsx +0 -47
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
- package/src/components/imageLightbox/index.ts +0 -1
- package/src/components/log/Log.stories.tsx +0 -333
- package/src/components/log/Log.tsx +0 -285
- package/src/components/menu/Menu.stories.tsx +0 -155
- package/src/components/menu/Menu.tsx +0 -312
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
- package/src/components/qonsoleSmartInput/index.ts +0 -16
- package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
- package/src/components/qonsoleSmartInput/types.ts +0 -133
- package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
- package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
- package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
- package/src/components/searchFilterBar/index.ts +0 -1
- package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
- package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
- package/src/components/smartEditor/SmartEditor.tsx +0 -808
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
- package/src/components/smartEditor/helpers.ts +0 -217
- package/src/components/smartEditor/index.ts +0 -35
- package/src/components/smartEditor/styling.ts +0 -45
- package/src/components/smartEditor/types.ts +0 -211
- package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
- package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
- package/src/components/smartEditor/useLspHover.ts +0 -230
- package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
- package/src/components/smartEditor/useLspSession.ts +0 -231
- package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
- package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
- package/src/components/supportTicket/AttachmentChips.tsx +0 -147
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
- package/src/components/supportTicket/ReferencePicker.tsx +0 -563
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -247
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
- package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
- package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
- package/src/components/supportTicket/attachmentAccess.ts +0 -97
- package/src/components/supportTicket/fileToAttachment.ts +0 -24
- package/src/components/supportTicket/index.ts +0 -10
- package/src/components/supportTicket/meta.ts +0 -206
- package/src/components/supportTicket/ticketModel.ts +0 -131
- package/src/components/supportTicket/useLoadedImages.ts +0 -73
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
- package/src/components/ticketReferences/TicketReferences.tsx +0 -906
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
- package/src/components/ticketThread/TicketThread.tsx +0 -719
- package/src/components/ticketThread/index.ts +0 -6
- package/src/contexts/FetchContext.tsx +0 -25
- package/src/contexts/ReqraftContext.tsx +0 -9
- package/src/contexts/StorageContext.tsx +0 -33
- package/src/global.d.ts +0 -4
- package/src/helpers/allowedValues.ts +0 -249
- package/src/helpers/choiceChip.ts +0 -227
- package/src/helpers/common.ts +0 -326
- package/src/helpers/dpqlDetection.ts +0 -209
- package/src/helpers/expressions.ts +0 -140
- package/src/helpers/optionUiTypes.ts +0 -199
- package/src/helpers/options.ts +0 -150
- package/src/helpers/providerValue.ts +0 -125
- package/src/helpers/scrollbar.ts +0 -32
- package/src/helpers/singleLineString.ts +0 -61
- package/src/helpers/templateItems.ts +0 -81
- package/src/helpers/templateText.ts +0 -350
- package/src/helpers/templates.ts +0 -602
- package/src/helpers/validations.ts +0 -2085
- package/src/hooks/useArgSchema.ts +0 -37
- package/src/hooks/useCoarsePointer.ts +0 -30
- package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
- package/src/hooks/useFetch/useFetch.tsx +0 -154
- package/src/hooks/usePhoneViewport.ts +0 -34
- package/src/hooks/useQorusTypes.ts +0 -233
- package/src/hooks/useReqraftProperty.ts +0 -16
- package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
- package/src/hooks/useStorage/useStorage.ts +0 -35
- package/src/hooks/useTemplates.ts +0 -123
- package/src/hooks/useValidation.ts +0 -9
- package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
- package/src/hooks/useWhyDidYouUpdate.ts +0 -38
- package/src/index.tsx +0 -86
- package/src/providers/FetchProvider.tsx +0 -40
- package/src/providers/ReqraftProvider.tsx +0 -52
- package/src/providers/StorageProvider.tsx +0 -131
- package/src/stores/currentUser/currentUser.stories.tsx +0 -100
- package/src/stores/currentUser/currentUser.tsx +0 -94
- package/src/stories/Data/fileFieldArgSchema.json +0 -86
- package/src/stories/Tests/utils.ts +0 -320
- package/src/stories/storyNetwork.ts +0 -92
- package/src/stories/tracking.tsx +0 -206
- package/src/tracking/browser/attach.ts +0 -186
- package/src/tracking/browser/env.ts +0 -78
- package/src/tracking/core/consent.ts +0 -37
- package/src/tracking/core/engagement.ts +0 -47
- package/src/tracking/core/experiments.ts +0 -258
- package/src/tracking/core/hash.ts +0 -26
- package/src/tracking/core/ids.ts +0 -25
- package/src/tracking/core/observable.ts +0 -23
- package/src/tracking/core/queue.ts +0 -131
- package/src/tracking/core/sections.ts +0 -166
- package/src/tracking/core/storage.ts +0 -69
- package/src/tracking/core/tracker.ts +0 -417
- package/src/tracking/core/types.ts +0 -162
- package/src/tracking/core/utm.ts +0 -23
- package/src/tracking/index.ts +0 -72
- package/src/tracking/markup.ts +0 -17
- package/src/tracking/react/Experiment.tsx +0 -44
- package/src/tracking/react/TrackingProvider.tsx +0 -56
- package/src/tracking/react/hooks.ts +0 -106
- package/src/tracking/react/index.ts +0 -13
- package/src/tracking/testing.ts +0 -108
- package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
- package/src/tracking/ui/ExperimentCard.tsx +0 -667
- package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
- package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
- package/src/tracking/ui/anchor.ts +0 -180
- package/src/tracking/ui/card.ts +0 -464
- package/src/tracking/ui/client.ts +0 -117
- package/src/tracking/ui/index.ts +0 -77
- package/src/tracking/ui/types.ts +0 -110
- package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
- package/src/types/Form.ts +0 -29
- package/src/types.ts +0 -14
- package/src/utils/datetime.ts +0 -10
- package/src/utils/fetch.ts +0 -457
- package/src/utils/lspClient.ts +0 -711
- package/src/utils/lspClient.types.ts +0 -211
- package/src/utils/queryUnlessCancelled.ts +0 -28
- package/src/utils/websocket.ts +0 -293
- package/vite.config.ts +0 -58
- package/vitest.config.ts +0 -69
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright 2026 Qore Technologies, s.r.o.
|
|
3
|
+
var __assign = (this && this.__assign) || function () {
|
|
4
|
+
__assign = Object.assign || function(t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
+
t[p] = s[p];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
return __assign.apply(this, arguments);
|
|
13
|
+
};
|
|
3
14
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
15
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
16
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -46,12 +57,30 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
46
57
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
47
58
|
};
|
|
48
59
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.useLspAutocomplete = void 0;
|
|
60
|
+
exports.useLspAutocomplete = exports.useCompletionKeys = exports.toDropdownItems = exports.groupCompletionItems = exports.COMPLETION_KIND_CHIPS = void 0;
|
|
50
61
|
var lodash_1 = require("lodash");
|
|
51
62
|
var react_1 = require("react");
|
|
52
63
|
var slate_1 = require("slate");
|
|
53
64
|
var slate_react_1 = require("slate-react");
|
|
54
65
|
var helpers_1 = require("./helpers");
|
|
66
|
+
var templateCompletions_1 = require("./templateCompletions");
|
|
67
|
+
/** What is typed before the editor's caret in the text it is in: never anything across a chip. */
|
|
68
|
+
var typedInTextOf = function (editor) {
|
|
69
|
+
var _a, _b;
|
|
70
|
+
var at = (_a = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _a === void 0 ? void 0 : _a.anchor;
|
|
71
|
+
if (!editor || !at)
|
|
72
|
+
return undefined;
|
|
73
|
+
// the leaf at the caret, read along its path: a paragraph's child
|
|
74
|
+
var node = editor;
|
|
75
|
+
for (var _i = 0, _c = at.path; _i < _c.length; _i++) {
|
|
76
|
+
var index = _c[_i];
|
|
77
|
+
node = (_b = node === null || node === void 0 ? void 0 : node.children) === null || _b === void 0 ? void 0 : _b[index];
|
|
78
|
+
}
|
|
79
|
+
return typeof (node === null || node === void 0 ? void 0 : node.text) === 'string' ?
|
|
80
|
+
node.text.slice(0, at.offset)
|
|
81
|
+
: undefined;
|
|
82
|
+
};
|
|
83
|
+
var templateRowMarks = function (item) { var _a, _b; return ((_b = (_a = (('raw' in item ? item.raw : item))) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : {}); };
|
|
55
84
|
var DEFAULT_TRIGGER_CHARS = new Set(['.', ':', ' ']);
|
|
56
85
|
var DEBOUNCE_MS = 150;
|
|
57
86
|
// Defer `isFetching=true` so the "Loading…" stub only shows for genuinely
|
|
@@ -65,7 +94,7 @@ var COMPLETION_KIND_LABELS = {
|
|
|
65
94
|
14: 'Keywords',
|
|
66
95
|
15: 'Snippets',
|
|
67
96
|
};
|
|
68
|
-
|
|
97
|
+
exports.COMPLETION_KIND_CHIPS = {
|
|
69
98
|
1: 'Text',
|
|
70
99
|
2: 'Method',
|
|
71
100
|
3: 'Function',
|
|
@@ -92,35 +121,184 @@ var COMPLETION_KIND_CHIPS = {
|
|
|
92
121
|
24: 'Operator',
|
|
93
122
|
25: 'TypeParameter',
|
|
94
123
|
};
|
|
124
|
+
/**
|
|
125
|
+
* The list's rows in groups: as ranked when the server ranked them (`sortText`), otherwise by kind - Field,
|
|
126
|
+
* Variable, Function... - when there is more than one.
|
|
127
|
+
*/
|
|
128
|
+
var groupCompletionItems = function (items) {
|
|
129
|
+
var _a;
|
|
130
|
+
if (items.length === 0)
|
|
131
|
+
return [];
|
|
132
|
+
// When the server populates `sortText` it has already ranked items;
|
|
133
|
+
// use the flat list directly rather than re-ordering across kinds.
|
|
134
|
+
// Qonsole takes this path; DPQL has no sortText and falls through.
|
|
135
|
+
var hasSortText = items.some(function (i) { return i.raw.sortText; });
|
|
136
|
+
if (hasSortText) {
|
|
137
|
+
return [{ label: '', items: items }];
|
|
138
|
+
}
|
|
139
|
+
var groupMap = new Map();
|
|
140
|
+
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
|
|
141
|
+
var item = items_1[_i];
|
|
142
|
+
var kind = (_a = item.metadata) === null || _a === void 0 ? void 0 : _a.kind;
|
|
143
|
+
// a template row says its own section: the field's templates, its record fields, or none (Browse all)
|
|
144
|
+
var section = templateRowMarks(item).section;
|
|
145
|
+
var groupLabel = section !== undefined ? section : (kind && COMPLETION_KIND_LABELS[kind]) || 'Other';
|
|
146
|
+
if (!groupMap.has(groupLabel)) {
|
|
147
|
+
groupMap.set(groupLabel, []);
|
|
148
|
+
}
|
|
149
|
+
groupMap.get(groupLabel).push(item);
|
|
150
|
+
}
|
|
151
|
+
if (groupMap.size <= 1) {
|
|
152
|
+
return [{ label: '', items: items }];
|
|
153
|
+
}
|
|
154
|
+
return Array.from(groupMap.entries()).map(function (_a) {
|
|
155
|
+
var label = _a[0], groupItems = _a[1];
|
|
156
|
+
return ({
|
|
157
|
+
label: label,
|
|
158
|
+
items: groupItems,
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
exports.groupCompletionItems = groupCompletionItems;
|
|
163
|
+
/** Completion items as the list's rows. */
|
|
164
|
+
var toDropdownItems = function (lspItems) {
|
|
165
|
+
return lspItems.map(function (item) {
|
|
166
|
+
var _a;
|
|
167
|
+
var insertText = item.insertText || item.label;
|
|
168
|
+
return {
|
|
169
|
+
label: item.label,
|
|
170
|
+
value: insertText,
|
|
171
|
+
icon: (0, helpers_1.mapCompletionKindToIcon)(item.kind),
|
|
172
|
+
description: item.detail,
|
|
173
|
+
documentation: item.documentation,
|
|
174
|
+
// a template says what it is (State data, Context...), not the LSP kind it is sent as (Variable)
|
|
175
|
+
kindLabel: (_a = templateRowMarks(item).kindLabel) !== null && _a !== void 0 ? _a : (item.kind !== undefined && !templateRowMarks(item).browseAll ?
|
|
176
|
+
exports.COMPLETION_KIND_CHIPS[item.kind]
|
|
177
|
+
: undefined),
|
|
178
|
+
warning: item.warning,
|
|
179
|
+
raw: item,
|
|
180
|
+
metadata: {
|
|
181
|
+
insertTextFormat: item.insertTextFormat,
|
|
182
|
+
retrigger: insertText.endsWith(':'),
|
|
183
|
+
kind: item.kind,
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
exports.toDropdownItems = toDropdownItems;
|
|
189
|
+
/**
|
|
190
|
+
* The list's keys, the same wherever it is open, and as the browse list's (`TemplateBrowser`): ArrowDown and
|
|
191
|
+
* ArrowUp move through it, Enter takes the row the keyboard is on, Escape puts it away, Tab leaves it as it
|
|
192
|
+
* leaves any control. Heard before anything else on the page while the list is
|
|
193
|
+
* open - the focus stays where it is (an editor, a picker's button), the list never takes it.
|
|
194
|
+
*/
|
|
195
|
+
var useCompletionKeys = function (_a) {
|
|
196
|
+
var isOpen = _a.isOpen, count = _a.count, setFocusedIndex = _a.setFocusedIndex, onAccept = _a.onAccept, onClose = _a.onClose, onOtherKey = _a.onOtherKey;
|
|
197
|
+
var handlers = (0, react_1.useRef)({ onAccept: onAccept, onClose: onClose, onOtherKey: onOtherKey });
|
|
198
|
+
handlers.current = { onAccept: onAccept, onClose: onClose, onOtherKey: onOtherKey };
|
|
199
|
+
(0, react_1.useEffect)(function () {
|
|
200
|
+
if (!isOpen || count === 0)
|
|
201
|
+
return undefined;
|
|
202
|
+
var handleKeyDown = function (e) {
|
|
203
|
+
var _a, _b;
|
|
204
|
+
var take = function () {
|
|
205
|
+
e.preventDefault();
|
|
206
|
+
e.stopPropagation();
|
|
207
|
+
};
|
|
208
|
+
switch (e.key) {
|
|
209
|
+
case 'ArrowDown':
|
|
210
|
+
take();
|
|
211
|
+
setFocusedIndex(function (prev) { return Math.min(prev + 1, count - 1); });
|
|
212
|
+
break;
|
|
213
|
+
case 'ArrowUp':
|
|
214
|
+
take();
|
|
215
|
+
setFocusedIndex(function (prev) { return Math.max(prev - 1, 0); });
|
|
216
|
+
break;
|
|
217
|
+
case 'Enter':
|
|
218
|
+
take();
|
|
219
|
+
handlers.current.onAccept();
|
|
220
|
+
break;
|
|
221
|
+
case 'Tab':
|
|
222
|
+
/* takes the row the keyboard is on, as Enter does (a code editor's key), and the text keeps the focus:
|
|
223
|
+
leaving the list instead left a half-typed reference standing as if it were one (qorus#646, David's
|
|
224
|
+
review) */
|
|
225
|
+
take();
|
|
226
|
+
handlers.current.onAccept();
|
|
227
|
+
break;
|
|
228
|
+
case 'Escape':
|
|
229
|
+
take();
|
|
230
|
+
handlers.current.onClose();
|
|
231
|
+
break;
|
|
232
|
+
default:
|
|
233
|
+
if ((_b = (_a = handlers.current).onOtherKey) === null || _b === void 0 ? void 0 : _b.call(_a, e))
|
|
234
|
+
take();
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
document.addEventListener('keydown', handleKeyDown, true);
|
|
238
|
+
return function () { return document.removeEventListener('keydown', handleKeyDown, true); };
|
|
239
|
+
}, [isOpen, count, setFocusedIndex]);
|
|
240
|
+
};
|
|
241
|
+
exports.useCompletionKeys = useCompletionKeys;
|
|
95
242
|
function useLspAutocomplete(opts) {
|
|
96
243
|
var _this = this;
|
|
97
|
-
var getCompletions = opts.getCompletions, isReady = opts.isReady, _a = opts.triggerCharacters, triggerCharacters = _a === void 0 ? DEFAULT_TRIGGER_CHARS : _a, converter = opts.converter, inserter = opts.inserter;
|
|
244
|
+
var getCompletions = opts.getCompletions, isReady = opts.isReady, _a = opts.triggerCharacters, triggerCharacters = _a === void 0 ? DEFAULT_TRIGGER_CHARS : _a, converter = opts.converter, inserter = opts.inserter, emptyMessageAt = opts.emptyMessage, commitTyped = opts.commitTyped, noteAt = opts.noteAt;
|
|
245
|
+
var commitTypedRef = (0, react_1.useRef)(commitTyped);
|
|
246
|
+
commitTypedRef.current = commitTyped;
|
|
98
247
|
var _b = (0, react_1.useState)([]), items = _b[0], setItems = _b[1];
|
|
99
248
|
var _c = (0, react_1.useState)(false), isOpen = _c[0], setIsOpen = _c[1];
|
|
100
249
|
var _d = (0, react_1.useState)({ top: 0, left: 0 }), position = _d[0], setPosition = _d[1];
|
|
101
250
|
var _e = (0, react_1.useState)(0), focusedIndex = _e[0], setFocusedIndex = _e[1];
|
|
102
251
|
var _f = (0, react_1.useState)(false), isFetching = _f[0], setIsFetching = _f[1];
|
|
252
|
+
var _g = (0, react_1.useState)(), emptyMessage = _g[0], setEmptyMessage = _g[1];
|
|
253
|
+
var _h = (0, react_1.useState)(), note = _h[0], setNote = _h[1];
|
|
254
|
+
var noteRef = (0, react_1.useRef)();
|
|
255
|
+
noteRef.current = note;
|
|
256
|
+
// asked for and not answered yet: the debounce running, or the answer on its way (`pendingRequestRef`)
|
|
257
|
+
var _j = (0, react_1.useState)(false), isRequested = _j[0], setIsRequested = _j[1];
|
|
103
258
|
// Handle for the deferred `setIsFetching(true)`; cleared on resolve or
|
|
104
259
|
// close so the loader never flashes on a fast-resolved request.
|
|
105
260
|
var fetchingTimerRef = (0, react_1.useRef)(null);
|
|
106
261
|
// Partial token typed since the trigger opened the dropdown; the list
|
|
107
262
|
// narrows to items whose `filterText || label` matches it.
|
|
108
|
-
var
|
|
263
|
+
var _k = (0, react_1.useState)(''), filterPrefix = _k[0], setFilterPrefix = _k[1];
|
|
109
264
|
var focusedIndexRef = (0, react_1.useRef)(0);
|
|
110
265
|
var editorRef = (0, react_1.useRef)(null);
|
|
111
266
|
// "Replace mode": the user clicked a chip and the chosen completion
|
|
112
267
|
// should replace that node. Holds the chip's Slate path, consumed by
|
|
113
268
|
// the inserter via `ctx.replacementPath`.
|
|
114
269
|
var replacingChipPathRef = (0, react_1.useRef)(null);
|
|
270
|
+
/* The chip the list was opened at, kept until the list is drawn closed. A click on that chip closes the list,
|
|
271
|
+
and the popover hears the same click as one outside it first and closes the list then, which forgets the
|
|
272
|
+
chip (`close`): told by `replacingChipPathRef` alone, the chip's own click found no chip and opened the list
|
|
273
|
+
again. */
|
|
274
|
+
var anchoredChipPathRef = (0, react_1.useRef)(null);
|
|
115
275
|
// Holds a chip-click request made before `isReady`; fired by the effect
|
|
116
276
|
// below once the session connects so the click isn't dropped.
|
|
117
277
|
var pendingChipRequestRef = (0, react_1.useRef)(null);
|
|
118
|
-
|
|
119
|
-
//
|
|
120
|
-
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
var
|
|
278
|
+
var _l = (0, react_1.useState)(false), isReplaceMode = _l[0], setIsReplaceMode = _l[1];
|
|
279
|
+
// See `popoverKey` in the result interface — forces a popover re-mount. The ref is the key now, before the
|
|
280
|
+
// list is drawn again: a close from the popover it replaced is told apart by it (`handleExternalClose`).
|
|
281
|
+
var _m = (0, react_1.useState)(0), popoverKey = _m[0], setPopoverKey = _m[1];
|
|
282
|
+
var popoverKeyRef = (0, react_1.useRef)(0);
|
|
283
|
+
var _o = (0, react_1.useState)(null), docsFor = _o[0], setDocsFor = _o[1];
|
|
284
|
+
// the template picker in place of the rows, and where it is open
|
|
285
|
+
var _p = (0, react_1.useState)(null), browse = _p[0], setBrowseState = _p[1];
|
|
286
|
+
var browseRef = (0, react_1.useRef)(null);
|
|
287
|
+
var setBrowse = (0, react_1.useCallback)(function (next) {
|
|
288
|
+
browseRef.current = next;
|
|
289
|
+
setBrowseState(next);
|
|
290
|
+
}, []);
|
|
291
|
+
/* Which request is the one the list is waiting for. A newer request, or the list put away (`close`),
|
|
292
|
+
makes an answer still on its way stale, and a stale answer is dropped: it used to open the list after
|
|
293
|
+
the author had dismissed it - typed, pressed Escape before the list came, and the list came anyway,
|
|
294
|
+
under the next tap, which then took one of its rows (qorus#646). */
|
|
295
|
+
var requestGenerationRef = (0, react_1.useRef)(0);
|
|
296
|
+
/* A request typing has asked for and the list has not shown yet: the debounce running, or the server's
|
|
297
|
+
answer on its way. An Escape then puts it away too, as it puts away an open list. */
|
|
298
|
+
var pendingRequestRef = (0, react_1.useRef)(false);
|
|
299
|
+
/* The caret a click, a tap or Tab asked at (`openAtCaret`). Setting Slate's selection to it is a change of
|
|
300
|
+
selection only, which puts an open list away; this one asked for the list, and is not heard as moving off. */
|
|
301
|
+
var askedAtRef = (0, react_1.useRef)(null);
|
|
124
302
|
(0, react_1.useEffect)(function () {
|
|
125
303
|
focusedIndexRef.current = focusedIndex;
|
|
126
304
|
}, [focusedIndex]);
|
|
@@ -144,6 +322,9 @@ function useLspAutocomplete(opts) {
|
|
|
144
322
|
return items;
|
|
145
323
|
return items.filter(function (item) {
|
|
146
324
|
var _a;
|
|
325
|
+
// the row that opens the picker is there whatever is typed
|
|
326
|
+
if (templateRowMarks(item).browseAll)
|
|
327
|
+
return true;
|
|
147
328
|
var haystack = ((_a = item.raw.filterText) !== null && _a !== void 0 ? _a : item.label)
|
|
148
329
|
.toLowerCase()
|
|
149
330
|
.replace(/^[@$/-]+/, '');
|
|
@@ -155,38 +336,7 @@ function useLspAutocomplete(opts) {
|
|
|
155
336
|
setFocusedIndex(Math.max(0, filteredItems.length - 1));
|
|
156
337
|
}
|
|
157
338
|
}, [filteredItems.length, focusedIndex]);
|
|
158
|
-
var groups = (0, react_1.useMemo)(function () {
|
|
159
|
-
var _a;
|
|
160
|
-
if (filteredItems.length === 0)
|
|
161
|
-
return [];
|
|
162
|
-
// When the server populates `sortText` it has already ranked items;
|
|
163
|
-
// use the flat list directly rather than re-ordering across kinds.
|
|
164
|
-
// Qonsole takes this path; DPQL has no sortText and falls through.
|
|
165
|
-
var hasSortText = filteredItems.some(function (i) { return i.raw.sortText; });
|
|
166
|
-
if (hasSortText) {
|
|
167
|
-
return [{ label: '', items: filteredItems }];
|
|
168
|
-
}
|
|
169
|
-
var groupMap = new Map();
|
|
170
|
-
for (var _i = 0, filteredItems_1 = filteredItems; _i < filteredItems_1.length; _i++) {
|
|
171
|
-
var item = filteredItems_1[_i];
|
|
172
|
-
var kind = (_a = item.metadata) === null || _a === void 0 ? void 0 : _a.kind;
|
|
173
|
-
var groupLabel = (kind && COMPLETION_KIND_LABELS[kind]) || 'Other';
|
|
174
|
-
if (!groupMap.has(groupLabel)) {
|
|
175
|
-
groupMap.set(groupLabel, []);
|
|
176
|
-
}
|
|
177
|
-
groupMap.get(groupLabel).push(item);
|
|
178
|
-
}
|
|
179
|
-
if (groupMap.size <= 1) {
|
|
180
|
-
return [{ label: '', items: filteredItems }];
|
|
181
|
-
}
|
|
182
|
-
return Array.from(groupMap.entries()).map(function (_a) {
|
|
183
|
-
var label = _a[0], groupItems = _a[1];
|
|
184
|
-
return ({
|
|
185
|
-
label: label,
|
|
186
|
-
items: groupItems,
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
}, [filteredItems]);
|
|
339
|
+
var groups = (0, react_1.useMemo)(function () { return (0, exports.groupCompletionItems)(filteredItems); }, [filteredItems]);
|
|
190
340
|
// Fires the LSP request and commits results into state. Separate from
|
|
191
341
|
// the debounced wrapper so imperative callers (`openAtChip`) can bypass
|
|
192
342
|
// the typing debounce.
|
|
@@ -196,7 +346,7 @@ function useLspAutocomplete(opts) {
|
|
|
196
346
|
args_1[_i - 2] = arguments[_i];
|
|
197
347
|
}
|
|
198
348
|
return __awaiter(_this, __spreadArray([plainText_1, offset_1], args_1, true), void 0, function (plainText, offset, opts) {
|
|
199
|
-
var _a, eager, editor, domRange, rect, lspItems, sortedLspItems, mapped, _b;
|
|
349
|
+
var _a, eager, generation, current, editor, domRange, rect, lspItems, said, substantive, sortedLspItems, mapped, _b;
|
|
200
350
|
if (opts === void 0) { opts = {}; }
|
|
201
351
|
return __generator(this, function (_c) {
|
|
202
352
|
switch (_c.label) {
|
|
@@ -204,8 +354,12 @@ function useLspAutocomplete(opts) {
|
|
|
204
354
|
_a = opts.eager, eager = _a === void 0 ? true : _a;
|
|
205
355
|
if (!isReady)
|
|
206
356
|
return [2 /*return*/];
|
|
357
|
+
generation = ++requestGenerationRef.current;
|
|
358
|
+
pendingRequestRef.current = true;
|
|
359
|
+
setIsRequested(true);
|
|
360
|
+
current = function () { return generation === requestGenerationRef.current; };
|
|
207
361
|
editor = editorRef.current;
|
|
208
|
-
if (editor && editor.selection) {
|
|
362
|
+
if (editor && editor.selection && !anchoredChipPathRef.current) {
|
|
209
363
|
try {
|
|
210
364
|
domRange = slate_react_1.ReactEditor.toDOMRange(editor, editor.selection);
|
|
211
365
|
rect = domRange.getBoundingClientRect();
|
|
@@ -232,70 +386,104 @@ function useLspAutocomplete(opts) {
|
|
|
232
386
|
_c.label = 1;
|
|
233
387
|
case 1:
|
|
234
388
|
_c.trys.push([1, 3, 4, 5]);
|
|
235
|
-
return [4 /*yield*/, getCompletions(plainText, offset)];
|
|
389
|
+
return [4 /*yield*/, getCompletions(plainText, offset, typedInTextOf(editorRef.current))];
|
|
236
390
|
case 2:
|
|
237
391
|
lspItems = _c.sent();
|
|
392
|
+
if (!current())
|
|
393
|
+
return [2 /*return*/];
|
|
238
394
|
if (lspItems.length === 0) {
|
|
239
395
|
setItems([]);
|
|
396
|
+
said = replacingChipPathRef.current ? undefined : emptyMessageAt === null || emptyMessageAt === void 0 ? void 0 : emptyMessageAt(plainText, offset);
|
|
397
|
+
setEmptyMessage(said);
|
|
398
|
+
if (said) {
|
|
399
|
+
setIsOpen(true);
|
|
400
|
+
return [2 /*return*/];
|
|
401
|
+
}
|
|
240
402
|
// Replace mode keeps the popover open to show "No alternatives".
|
|
241
403
|
if (!replacingChipPathRef.current) {
|
|
242
404
|
setIsOpen(false);
|
|
243
405
|
}
|
|
244
406
|
return [2 /*return*/];
|
|
245
407
|
}
|
|
408
|
+
setEmptyMessage(undefined);
|
|
409
|
+
substantive = lspItems.filter(function (item) {
|
|
410
|
+
var _a;
|
|
411
|
+
var marks = ((_a = item.data) !== null && _a !== void 0 ? _a : {});
|
|
412
|
+
return !marks.browseAll && !marks.whole;
|
|
413
|
+
});
|
|
414
|
+
setNote(substantive.length ? undefined : noteAt === null || noteAt === void 0 ? void 0 : noteAt(plainText, offset));
|
|
246
415
|
sortedLspItems = lspItems.some(function (i) { return i.sortText; })
|
|
247
416
|
? __spreadArray([], lspItems, true).sort(function (a, b) { var _a, _b; return ((_a = a.sortText) !== null && _a !== void 0 ? _a : a.label).localeCompare((_b = b.sortText) !== null && _b !== void 0 ? _b : b.label); })
|
|
248
417
|
: lspItems;
|
|
249
|
-
mapped =
|
|
250
|
-
var insertText = item.insertText || item.label;
|
|
251
|
-
return {
|
|
252
|
-
label: item.label,
|
|
253
|
-
value: insertText,
|
|
254
|
-
icon: (0, helpers_1.mapCompletionKindToIcon)(item.kind),
|
|
255
|
-
description: item.detail,
|
|
256
|
-
documentation: item.documentation,
|
|
257
|
-
kindLabel: item.kind !== undefined
|
|
258
|
-
? COMPLETION_KIND_CHIPS[item.kind]
|
|
259
|
-
: undefined,
|
|
260
|
-
warning: item.warning,
|
|
261
|
-
raw: item,
|
|
262
|
-
metadata: {
|
|
263
|
-
insertTextFormat: item.insertTextFormat,
|
|
264
|
-
retrigger: insertText.endsWith(':'),
|
|
265
|
-
kind: item.kind,
|
|
266
|
-
},
|
|
267
|
-
};
|
|
268
|
-
});
|
|
418
|
+
mapped = (0, exports.toDropdownItems)(sortedLspItems);
|
|
269
419
|
setItems(mapped);
|
|
270
420
|
setFocusedIndex(0);
|
|
271
421
|
setIsOpen(true);
|
|
272
422
|
return [3 /*break*/, 5];
|
|
273
423
|
case 3:
|
|
274
424
|
_b = _c.sent();
|
|
425
|
+
if (!current())
|
|
426
|
+
return [2 /*return*/];
|
|
275
427
|
setItems([]);
|
|
276
428
|
setIsOpen(false);
|
|
277
429
|
return [3 /*break*/, 5];
|
|
278
430
|
case 4:
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
431
|
+
// a stale answer leaves the state to the request that replaced it, or to `close`
|
|
432
|
+
if (current()) {
|
|
433
|
+
pendingRequestRef.current = false;
|
|
434
|
+
setIsRequested(false);
|
|
435
|
+
if (fetchingTimerRef.current !== null) {
|
|
436
|
+
clearTimeout(fetchingTimerRef.current);
|
|
437
|
+
fetchingTimerRef.current = null;
|
|
438
|
+
}
|
|
439
|
+
setIsFetching(false);
|
|
282
440
|
}
|
|
283
|
-
setIsFetching(false);
|
|
284
441
|
return [7 /*endfinally*/];
|
|
285
442
|
case 5: return [2 /*return*/];
|
|
286
443
|
}
|
|
287
444
|
});
|
|
288
445
|
});
|
|
289
|
-
}, [getCompletions, isReady]);
|
|
290
|
-
|
|
446
|
+
}, [getCompletions, isReady, emptyMessageAt, noteAt]);
|
|
447
|
+
/* One debounced request for the editor's life, sending with the latest `performCompletionRequest`: remade when
|
|
448
|
+
that changed (a host's new catalogue or callback on a re-render), the request waiting to be sent was dropped,
|
|
449
|
+
and what had just been written asked nothing - a context picked listed nothing in it (qorus#646). */
|
|
450
|
+
var performRef = (0, react_1.useRef)(performCompletionRequest);
|
|
451
|
+
performRef.current = performCompletionRequest;
|
|
452
|
+
var requestCompletions = (0, react_1.useMemo)(function () {
|
|
453
|
+
var debounced = (0, lodash_1.debounce)(function () {
|
|
454
|
+
var args = [];
|
|
455
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
456
|
+
args[_i] = arguments[_i];
|
|
457
|
+
}
|
|
458
|
+
return performRef.current.apply(performRef, args);
|
|
459
|
+
}, DEBOUNCE_MS);
|
|
460
|
+
// asked for: pending from now, not only once the debounce runs out
|
|
461
|
+
var request = (function () {
|
|
462
|
+
var args = [];
|
|
463
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
464
|
+
args[_i] = arguments[_i];
|
|
465
|
+
}
|
|
466
|
+
pendingRequestRef.current = true;
|
|
467
|
+
setIsRequested(true);
|
|
468
|
+
return debounced.apply(void 0, args);
|
|
469
|
+
});
|
|
470
|
+
request.cancel = debounced.cancel;
|
|
471
|
+
request.flush = debounced.flush;
|
|
472
|
+
return request;
|
|
473
|
+
}, []);
|
|
291
474
|
(0, react_1.useEffect)(function () {
|
|
292
475
|
return function () {
|
|
293
476
|
requestCompletions.cancel();
|
|
294
477
|
};
|
|
295
478
|
}, [requestCompletions]);
|
|
296
479
|
var close = (0, react_1.useCallback)(function () {
|
|
480
|
+
setDocsFor(null);
|
|
481
|
+
setBrowse(null);
|
|
297
482
|
setIsOpen(false);
|
|
298
483
|
setItems([]);
|
|
484
|
+
setEmptyMessage(undefined);
|
|
485
|
+
setNote(undefined);
|
|
486
|
+
setIsRequested(false);
|
|
299
487
|
setFocusedIndex(0);
|
|
300
488
|
setFilterPrefix('');
|
|
301
489
|
setIsReplaceMode(false);
|
|
@@ -305,9 +493,63 @@ function useLspAutocomplete(opts) {
|
|
|
305
493
|
fetchingTimerRef.current = null;
|
|
306
494
|
}
|
|
307
495
|
replacingChipPathRef.current = null;
|
|
496
|
+
// a list put away is at no chip, from now: the next one asked by typing is at the caret
|
|
497
|
+
anchoredChipPathRef.current = null;
|
|
308
498
|
pendingChipRequestRef.current = null;
|
|
499
|
+
askedAtRef.current = null;
|
|
309
500
|
requestCompletions.cancel();
|
|
501
|
+
// an answer still on its way is for a list that has been put away
|
|
502
|
+
requestGenerationRef.current++;
|
|
503
|
+
pendingRequestRef.current = false;
|
|
310
504
|
}, [requestCompletions]);
|
|
505
|
+
/* Escape in the editor before the list has come puts the request away, as Escape puts a list with rows
|
|
506
|
+
away (`useCompletionKeys`, which hears it then). Not taken from the page: with no list shown, an Escape
|
|
507
|
+
may mean something else there too. */
|
|
508
|
+
var showsRows = isOpen && filteredItems.length > 0;
|
|
509
|
+
// the list open with what it says in place of rows: Escape puts it away, and nothing else
|
|
510
|
+
var showsMessage = isOpen && !showsRows && !!emptyMessage;
|
|
511
|
+
(0, react_1.useEffect)(function () {
|
|
512
|
+
if (showsRows)
|
|
513
|
+
return undefined;
|
|
514
|
+
var handleKeyDown = function (event) {
|
|
515
|
+
var editor = editorRef.current;
|
|
516
|
+
/* Enter or Tab where the list has nothing more to offer - a context of free keys and its key written,
|
|
517
|
+
`$static:order.id` - takes what is written: a whole reference, drawn as its chip (`commitTyped`), as a row
|
|
518
|
+
taken is (qorus#646, David's review). */
|
|
519
|
+
if ((event.key === 'Enter' || event.key === 'Tab') && showsMessage && editor && commitTypedRef.current) {
|
|
520
|
+
try {
|
|
521
|
+
if (!slate_react_1.ReactEditor.toDOMNode(editor, editor).contains(event.target))
|
|
522
|
+
return;
|
|
523
|
+
}
|
|
524
|
+
catch (_a) {
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
if (commitTypedRef.current(editor)) {
|
|
528
|
+
event.preventDefault();
|
|
529
|
+
event.stopPropagation();
|
|
530
|
+
close();
|
|
531
|
+
}
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
if (event.key !== 'Escape' || !(pendingRequestRef.current || showsMessage))
|
|
535
|
+
return;
|
|
536
|
+
try {
|
|
537
|
+
if (!editor || !slate_react_1.ReactEditor.toDOMNode(editor, editor).contains(event.target))
|
|
538
|
+
return;
|
|
539
|
+
}
|
|
540
|
+
catch (_b) {
|
|
541
|
+
// the editor is not drawn: nothing of it is in the page to have had the key
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
if (showsMessage) {
|
|
545
|
+
event.preventDefault();
|
|
546
|
+
event.stopPropagation();
|
|
547
|
+
}
|
|
548
|
+
close();
|
|
549
|
+
};
|
|
550
|
+
document.addEventListener('keydown', handleKeyDown, true);
|
|
551
|
+
return function () { return document.removeEventListener('keydown', handleKeyDown, true); };
|
|
552
|
+
}, [showsRows, showsMessage, close]);
|
|
311
553
|
var positionTrigger = (0, react_1.useCallback)(function (editor) {
|
|
312
554
|
if (!editor.selection)
|
|
313
555
|
return;
|
|
@@ -343,12 +585,25 @@ function useLspAutocomplete(opts) {
|
|
|
343
585
|
// own (intentionally narrow) deps closed over. Same workaround as
|
|
344
586
|
// `stableOnTagClick` in SmartEditor.
|
|
345
587
|
var onSlateChangeImplRef = (0, react_1.useRef)(function () { return undefined; });
|
|
588
|
+
// `completeAtCaret`, defined below, for a pick that goes on to ask again
|
|
589
|
+
var completeAtCaretRef = (0, react_1.useRef)(function () { return undefined; });
|
|
346
590
|
var selectItem = (0, react_1.useCallback)(function (item) {
|
|
347
|
-
var _a;
|
|
591
|
+
var _a, _b, _c, _d;
|
|
348
592
|
var editor = editorRef.current;
|
|
349
593
|
if (!editor)
|
|
350
594
|
return;
|
|
351
595
|
var replacementPath = replacingChipPathRef.current;
|
|
596
|
+
/* A group, or Browse all: the picker opens there, in the list's place, for the pick to go where the row's
|
|
597
|
+
would have gone - in the place of what is typed, or of the chip being replaced. */
|
|
598
|
+
var marks = templateRowMarks(item);
|
|
599
|
+
if (marks.opens || marks.browseAll) {
|
|
600
|
+
setDocsFor(null);
|
|
601
|
+
setBrowse({ levelId: marks.opens ? marks.templateNodeId : undefined });
|
|
602
|
+
setIsOpen(true);
|
|
603
|
+
popoverKeyRef.current += 1;
|
|
604
|
+
setPopoverKey(popoverKeyRef.current);
|
|
605
|
+
return;
|
|
606
|
+
}
|
|
352
607
|
// The typing path needs a live selection so the inserter knows how
|
|
353
608
|
// much partial token to delete; replace mode works off a path.
|
|
354
609
|
if (!editor.selection && !replacementPath)
|
|
@@ -358,81 +613,109 @@ function useLspAutocomplete(opts) {
|
|
|
358
613
|
var cursorOffset = editor.selection
|
|
359
614
|
? converter.selectionToOffset(nodes, editor.selection.anchor.path, editor.selection.anchor.offset)
|
|
360
615
|
: converter.selectionToOffset(nodes, replacementPath, 0);
|
|
361
|
-
|
|
616
|
+
/* The text takes the focus back before the pick is written, where the pick was made elsewhere (the picker's
|
|
617
|
+
search box): focused after, with the edit not yet drawn, slate-react puts the focus off to a later timer,
|
|
618
|
+
and the editor's state changes there, outside the event that made the pick. */
|
|
619
|
+
try {
|
|
620
|
+
if (!slate_react_1.ReactEditor.isFocused(editor))
|
|
621
|
+
slate_react_1.ReactEditor.focus(editor);
|
|
622
|
+
}
|
|
623
|
+
catch (_e) {
|
|
624
|
+
// the editor is not in the document: the pick is written all the same
|
|
625
|
+
}
|
|
626
|
+
/* A context, a state or a record taken is written as the text of its reference, and what is in it is
|
|
627
|
+
listed next, as the text is completed on (the edit asks again: it ends with a `:` or a `.`); only a
|
|
628
|
+
whole reference is a chip (qorus#646, David's review: a context picked was an unfinished template). */
|
|
629
|
+
(marks.continues ? templateCompletions_1.templateTextInserter : inserter)(item.raw, editor, {
|
|
362
630
|
plainText: plainText,
|
|
363
631
|
cursorOffset: cursorOffset,
|
|
364
632
|
replacementPath: replacementPath !== null && replacementPath !== void 0 ? replacementPath : undefined,
|
|
365
633
|
});
|
|
634
|
+
/* What is written goes on (a context, `$data:`, or a path, `$data:receive_order.`): the list stays open
|
|
635
|
+
and is asked again where the text now ends, so what is in it is listed next. Put away and opened again,
|
|
636
|
+
its popover's close came after the new request and dropped it. */
|
|
637
|
+
var written = (_c = (_b = (_a = item.raw.textEdit) === null || _a === void 0 ? void 0 : _a.newText) !== null && _b !== void 0 ? _b : item.raw.insertText) !== null && _c !== void 0 ? _c : item.raw.label;
|
|
638
|
+
if (marks.continues || (!replacementPath && /^[$@][^\s]*[:.]$/.test(written))) {
|
|
639
|
+
// the rows stay until the next level's come: a list left empty is put away, and its close drops the request
|
|
640
|
+
setDocsFor(null);
|
|
641
|
+
// taken from the picker: what follows is listed as typing lists it, in a list of its own (`completeAtCaret`)
|
|
642
|
+
if (browseRef.current) {
|
|
643
|
+
browseRef.current = null;
|
|
644
|
+
setBrowse(null);
|
|
645
|
+
popoverKeyRef.current += 1;
|
|
646
|
+
setPopoverKey(popoverKeyRef.current);
|
|
647
|
+
}
|
|
648
|
+
setFocusedIndex(0);
|
|
649
|
+
replacingChipPathRef.current = null;
|
|
650
|
+
anchoredChipPathRef.current = null;
|
|
651
|
+
completeAtCaretRef.current(editor, editor.children);
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
366
654
|
close();
|
|
367
655
|
// Re-trigger completions for partial items (e.g. `$timestamp:` shows
|
|
368
656
|
// sub-completions for the value).
|
|
369
|
-
if ((
|
|
657
|
+
if ((_d = item.metadata) === null || _d === void 0 ? void 0 : _d.retrigger) {
|
|
370
658
|
setTimeout(function () {
|
|
371
659
|
var newNodes = editor.children;
|
|
372
660
|
onSlateChangeImplRef.current(editor, newNodes);
|
|
373
661
|
}, 50);
|
|
374
662
|
}
|
|
375
663
|
}, [close, inserter, converter]);
|
|
376
|
-
(0, react_1.
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
664
|
+
var toggleDocs = (0, react_1.useCallback)(function (value) {
|
|
665
|
+
var _a, _b;
|
|
666
|
+
var target = (_b = value !== null && value !== void 0 ? value : (_a = filteredItems[focusedIndexRef.current]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null;
|
|
667
|
+
setDocsFor(function (shown) { return (shown === target ? null : target); });
|
|
668
|
+
}, [filteredItems]);
|
|
669
|
+
var toggleDocsRef = (0, react_1.useRef)(toggleDocs);
|
|
670
|
+
toggleDocsRef.current = toggleDocs;
|
|
671
|
+
(0, exports.useCompletionKeys)({
|
|
672
|
+
// the picker hears its own keys (`TemplatePicker`)
|
|
673
|
+
isOpen: isOpen && !browse && filteredItems.length > 0,
|
|
674
|
+
count: filteredItems.length,
|
|
675
|
+
setFocusedIndex: setFocusedIndex,
|
|
676
|
+
onAccept: function () {
|
|
677
|
+
var _a;
|
|
678
|
+
/* where none of the rows is what is written (the note says so) and what is written is a whole reference -
|
|
679
|
+
a context of free keys and its key, `$dynamic:order.id` - Enter or Tab takes what is written, its chip;
|
|
680
|
+
else the row the keyboard is on (qorus#646, David's review) */
|
|
681
|
+
var editor = editorRef.current;
|
|
682
|
+
if (noteRef.current && editor && ((_a = commitTypedRef.current) === null || _a === void 0 ? void 0 : _a.call(commitTypedRef, editor))) {
|
|
683
|
+
close();
|
|
684
|
+
return;
|
|
685
|
+
}
|
|
686
|
+
var item = filteredItems[focusedIndexRef.current];
|
|
687
|
+
if (item && editor)
|
|
688
|
+
selectItem(item);
|
|
689
|
+
},
|
|
690
|
+
onClose: close,
|
|
691
|
+
onOtherKey: function (e) {
|
|
381
692
|
var _a, _b, _c;
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
setFocusedIndex(function (prev) { return Math.min(prev + 1, filteredItems.length - 1); });
|
|
387
|
-
break;
|
|
388
|
-
case 'ArrowUp':
|
|
389
|
-
e.preventDefault();
|
|
390
|
-
e.stopPropagation();
|
|
391
|
-
setFocusedIndex(function (prev) { return Math.max(prev - 1, 0); });
|
|
392
|
-
break;
|
|
393
|
-
case 'Enter':
|
|
394
|
-
case 'Tab': {
|
|
395
|
-
e.preventDefault();
|
|
396
|
-
e.stopPropagation();
|
|
397
|
-
var item = filteredItems[focusedIndexRef.current];
|
|
398
|
-
if (item && editorRef.current) {
|
|
399
|
-
selectItem(item);
|
|
400
|
-
}
|
|
401
|
-
break;
|
|
402
|
-
}
|
|
403
|
-
case 'Escape':
|
|
404
|
-
e.preventDefault();
|
|
405
|
-
e.stopPropagation();
|
|
406
|
-
close();
|
|
407
|
-
break;
|
|
408
|
-
default: {
|
|
409
|
-
// `commitCharacters`: typing a commit char accepts the item and
|
|
410
|
-
// inserts the char (VS Code semantics).
|
|
411
|
-
if (e.key.length !== 1)
|
|
412
|
-
break;
|
|
413
|
-
var focusedItem = filteredItems[focusedIndexRef.current];
|
|
414
|
-
var commits = focusedItem === null || focusedItem === void 0 ? void 0 : focusedItem.raw.commitCharacters;
|
|
415
|
-
if (!commits || !commits.includes(e.key))
|
|
416
|
-
break;
|
|
417
|
-
var editor = editorRef.current;
|
|
418
|
-
if (!editor)
|
|
419
|
-
break;
|
|
420
|
-
e.preventDefault();
|
|
421
|
-
e.stopPropagation();
|
|
422
|
-
// Don't double-insert when the server's edit already ends with
|
|
423
|
-
// the committed char (e.g. `--limit=` for an `=`-committed flag).
|
|
424
|
-
var inserted = (_c = (_b = (_a = focusedItem.raw.textEdit) === null || _a === void 0 ? void 0 : _a.newText) !== null && _b !== void 0 ? _b : focusedItem.raw.insertText) !== null && _c !== void 0 ? _c : focusedItem.raw.label;
|
|
425
|
-
selectItem(focusedItem);
|
|
426
|
-
if (!inserted.endsWith(e.key)) {
|
|
427
|
-
slate_1.Transforms.insertText(editor, e.key);
|
|
428
|
-
}
|
|
429
|
-
break;
|
|
430
|
-
}
|
|
693
|
+
// Ctrl+Space: the documentation of the row the keyboard is on, shown under it or put away (VS Code's key)
|
|
694
|
+
if (e.key === ' ' && e.ctrlKey && !e.metaKey && !e.altKey) {
|
|
695
|
+
toggleDocsRef.current();
|
|
696
|
+
return true;
|
|
431
697
|
}
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
698
|
+
// `commitCharacters`: typing a commit char accepts the item and
|
|
699
|
+
// inserts the char (VS Code semantics).
|
|
700
|
+
if (e.key.length !== 1)
|
|
701
|
+
return false;
|
|
702
|
+
var focusedItem = filteredItems[focusedIndexRef.current];
|
|
703
|
+
var commits = focusedItem === null || focusedItem === void 0 ? void 0 : focusedItem.raw.commitCharacters;
|
|
704
|
+
if (!commits || !commits.includes(e.key))
|
|
705
|
+
return false;
|
|
706
|
+
var editor = editorRef.current;
|
|
707
|
+
if (!editor)
|
|
708
|
+
return false;
|
|
709
|
+
// Don't double-insert when the server's edit already ends with
|
|
710
|
+
// the committed char (e.g. `--limit=` for an `=`-committed flag).
|
|
711
|
+
var inserted = (_c = (_b = (_a = focusedItem.raw.textEdit) === null || _a === void 0 ? void 0 : _a.newText) !== null && _b !== void 0 ? _b : focusedItem.raw.insertText) !== null && _c !== void 0 ? _c : focusedItem.raw.label;
|
|
712
|
+
selectItem(focusedItem);
|
|
713
|
+
if (!inserted.endsWith(e.key)) {
|
|
714
|
+
slate_1.Transforms.insertText(editor, e.key);
|
|
715
|
+
}
|
|
716
|
+
return true;
|
|
717
|
+
},
|
|
718
|
+
});
|
|
436
719
|
/**
|
|
437
720
|
* Opens, narrows or closes the completions for what the editor holds at its caret, after a content
|
|
438
721
|
* edit: a trigger character just typed, typing inside a sigil token, narrowing an open list, or
|
|
@@ -443,6 +726,14 @@ function useLspAutocomplete(opts) {
|
|
|
443
726
|
close();
|
|
444
727
|
return;
|
|
445
728
|
}
|
|
729
|
+
/* Typing puts the picker away: what is typed is completed in the rows, or nothing is. Under a key of its own:
|
|
730
|
+
the picker's popover says it closed as it goes, and that is not the list put away. */
|
|
731
|
+
if (browseRef.current) {
|
|
732
|
+
browseRef.current = null;
|
|
733
|
+
setBrowse(null);
|
|
734
|
+
popoverKeyRef.current += 1;
|
|
735
|
+
setPopoverKey(popoverKeyRef.current);
|
|
736
|
+
}
|
|
446
737
|
var anchor = editor.selection.anchor;
|
|
447
738
|
var plainText = converter.fromSlateNodes(nodes);
|
|
448
739
|
var cursorOffset = converter.selectionToOffset(nodes, anchor.path, anchor.offset);
|
|
@@ -500,6 +791,7 @@ function useLspAutocomplete(opts) {
|
|
|
500
791
|
}
|
|
501
792
|
close();
|
|
502
793
|
}, [isOpen, close, findTokenStart, positionTrigger, requestCompletions, triggerCharacters, converter]);
|
|
794
|
+
completeAtCaretRef.current = completeAtCaret;
|
|
503
795
|
/* An edit made before the session is ready - typing `$` or `@` while the connection is still being
|
|
504
796
|
made, or its context bound - would otherwise be dropped: the list is closed and nothing asks again,
|
|
505
797
|
so the trigger the author typed never opens anything. The editor is kept, and once the session is
|
|
@@ -529,6 +821,14 @@ function useLspAutocomplete(opts) {
|
|
|
529
821
|
// op batch is selection-only.
|
|
530
822
|
var isContentChange = editor.operations.some(function (op) { return op.type !== 'set_selection'; });
|
|
531
823
|
if (!isContentChange) {
|
|
824
|
+
// the caret a click asked at, set: the list it asked for stays
|
|
825
|
+
var askedAt = askedAtRef.current;
|
|
826
|
+
if (askedAt &&
|
|
827
|
+
editor.selection &&
|
|
828
|
+
slate_1.Range.isCollapsed(editor.selection) &&
|
|
829
|
+
slate_1.Point.equals(editor.selection.anchor, askedAt)) {
|
|
830
|
+
return;
|
|
831
|
+
}
|
|
532
832
|
// Replace mode anchors on a chip; the selection echo from the
|
|
533
833
|
// opening click must not close it (outside-click handler does).
|
|
534
834
|
if (isOpen && !replacingChipPathRef.current) {
|
|
@@ -536,6 +836,7 @@ function useLspAutocomplete(opts) {
|
|
|
536
836
|
}
|
|
537
837
|
return;
|
|
538
838
|
}
|
|
839
|
+
askedAtRef.current = null;
|
|
539
840
|
// A content edit in replace mode means the user typed instead of
|
|
540
841
|
// picking a replacement — fall back to normal flow.
|
|
541
842
|
if (replacingChipPathRef.current) {
|
|
@@ -560,12 +861,11 @@ function useLspAutocomplete(opts) {
|
|
|
560
861
|
// Imperative entry for the "replace this chip" flow. Anchors at the
|
|
561
862
|
// chip's viewport rect and fires a request immediately, bypassing the
|
|
562
863
|
// typing debounce.
|
|
563
|
-
var openAtChip = (0, react_1.useCallback)(function (editor, chipPath, chipRect) {
|
|
564
|
-
var
|
|
565
|
-
|
|
566
|
-
//
|
|
567
|
-
|
|
568
|
-
var prevPath = replacingChipPathRef.current;
|
|
864
|
+
var openAtChip = (0, react_1.useCallback)(function (editor, chipPath, chipRect, _a) {
|
|
865
|
+
var _b, _c;
|
|
866
|
+
var _d = _a === void 0 ? {} : _a, _e = _d.inItsPlace, inItsPlace = _e === void 0 ? false : _e;
|
|
867
|
+
// Clicking the chip the dropdown is already anchored to closes it.
|
|
868
|
+
var prevPath = anchoredChipPathRef.current;
|
|
569
869
|
if (isOpen &&
|
|
570
870
|
prevPath &&
|
|
571
871
|
prevPath.length === chipPath.length &&
|
|
@@ -575,7 +875,7 @@ function useLspAutocomplete(opts) {
|
|
|
575
875
|
}
|
|
576
876
|
editorRef.current = editor;
|
|
577
877
|
replacingChipPathRef.current = chipPath;
|
|
578
|
-
|
|
878
|
+
anchoredChipPathRef.current = chipPath;
|
|
579
879
|
setFilterPrefix('');
|
|
580
880
|
setPosition({ left: chipRect.left, top: chipRect.bottom });
|
|
581
881
|
// Pre-open for immediate feedback even before the LSP is ready (the
|
|
@@ -584,7 +884,8 @@ function useLspAutocomplete(opts) {
|
|
|
584
884
|
setFocusedIndex(0);
|
|
585
885
|
setIsReplaceMode(true);
|
|
586
886
|
setIsOpen(true);
|
|
587
|
-
|
|
887
|
+
popoverKeyRef.current += 1;
|
|
888
|
+
setPopoverKey(popoverKeyRef.current);
|
|
588
889
|
var nodes = editor.children;
|
|
589
890
|
var plainText = converter.fromSlateNodes(nodes);
|
|
590
891
|
// Request at the END of the chip's span — the natural "what could
|
|
@@ -592,28 +893,76 @@ function useLspAutocomplete(opts) {
|
|
|
592
893
|
// candidates.
|
|
593
894
|
var chipChildIdx = chipPath[chipPath.length - 1];
|
|
594
895
|
var paragraph = nodes[chipPath[0]];
|
|
595
|
-
var chipNode = (
|
|
896
|
+
var chipNode = (_b = paragraph === null || paragraph === void 0 ? void 0 : paragraph.children) === null || _b === void 0 ? void 0 : _b[chipChildIdx];
|
|
596
897
|
var chipText = chipNode && 'value' in chipNode
|
|
597
|
-
? String((
|
|
898
|
+
? String((_c = chipNode.value) !== null && _c !== void 0 ? _c : '')
|
|
598
899
|
: '';
|
|
599
900
|
var chipStart = converter.selectionToOffset(nodes, chipPath, 0);
|
|
600
901
|
var chipEnd = chipStart + chipText.length;
|
|
902
|
+
var asked = inItsPlace ?
|
|
903
|
+
{ plainText: plainText.slice(0, chipStart) + plainText.slice(chipEnd), offset: chipStart }
|
|
904
|
+
: { plainText: plainText, offset: chipEnd };
|
|
601
905
|
if (isReady) {
|
|
602
|
-
performCompletionRequest(plainText,
|
|
906
|
+
performCompletionRequest(asked.plainText, asked.offset);
|
|
603
907
|
}
|
|
604
908
|
else {
|
|
605
|
-
pendingChipRequestRef.current =
|
|
909
|
+
pendingChipRequestRef.current = asked;
|
|
606
910
|
}
|
|
607
911
|
}, [isReady, isOpen, close, converter, performCompletionRequest]);
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
912
|
+
/* A click, a tap or Tab into the editor asks what can be written at the caret it put there, as typing asks
|
|
913
|
+
(qorus#646, David: one list for what can be written, opened by a click as by typing). The caret is the
|
|
914
|
+
page's, given as a Slate point: Slate's own selection follows the page's later, so it is set to it here, for
|
|
915
|
+
the pick to go where the caret is. What is being written at the caret, in the text it is in, filters the
|
|
916
|
+
list as typing does; nothing opens where nothing can be written (`eager: false`). */
|
|
917
|
+
var openAtCaret = (0, react_1.useCallback)(function (editor, caret, rect) {
|
|
918
|
+
var _a, _b, _c, _d;
|
|
919
|
+
editorRef.current = editor;
|
|
920
|
+
replacingChipPathRef.current = null;
|
|
921
|
+
anchoredChipPathRef.current = null;
|
|
922
|
+
setIsReplaceMode(false);
|
|
923
|
+
askedAtRef.current = caret;
|
|
924
|
+
try {
|
|
925
|
+
slate_1.Transforms.select(editor, caret);
|
|
926
|
+
}
|
|
927
|
+
catch (_e) {
|
|
928
|
+
// a point the editor no longer has: nothing is asked
|
|
614
929
|
return;
|
|
615
930
|
}
|
|
616
|
-
|
|
931
|
+
var nodes = editor.children;
|
|
932
|
+
var plainText = converter.fromSlateNodes(nodes);
|
|
933
|
+
var offset = converter.selectionToOffset(nodes, caret.path, caret.offset);
|
|
934
|
+
var caretPath = caret.path;
|
|
935
|
+
var textNode = (_b = (_a = nodes[caretPath[0]]) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b[caretPath[1]];
|
|
936
|
+
var written = typeof (textNode === null || textNode === void 0 ? void 0 : textNode.text) === 'string' ?
|
|
937
|
+
((_d = (_c = /[@$/]?[\w.:{}-]*$/.exec(textNode.text.slice(0, caret.offset))) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : '')
|
|
938
|
+
: '';
|
|
939
|
+
setFilterPrefix(written);
|
|
940
|
+
setDocsFor(null);
|
|
941
|
+
setItems([]);
|
|
942
|
+
setFocusedIndex(0);
|
|
943
|
+
setEmptyMessage(undefined);
|
|
944
|
+
setPosition({ left: rect.left, top: rect.bottom });
|
|
945
|
+
popoverKeyRef.current += 1;
|
|
946
|
+
setPopoverKey(popoverKeyRef.current);
|
|
947
|
+
requestCompletions.cancel();
|
|
948
|
+
void performCompletionRequest(plainText, offset, { eager: false });
|
|
949
|
+
}, [converter, performCompletionRequest, requestCompletions]);
|
|
950
|
+
/* A click outside the list puts it away, whenever it comes; a close from a popover a chip has replaced does not.
|
|
951
|
+
A click on another chip while the list is open opens the list at that chip, under a new key, and the popover
|
|
952
|
+
it replaces says it closed only after that. Every close was ignored for 300 ms after a chip opened the list
|
|
953
|
+
instead, so a tap on Details soon after the chip's left the list open behind the card, and a later one put it
|
|
954
|
+
away: the frame showed it or not from run to run (qorus#646, DpqlEditor · Details On A Chip On A Touch
|
|
955
|
+
Screen); and a second click on the chip the list was at, later than that, closed it and opened it again. */
|
|
956
|
+
// the list drawn closed is at no chip
|
|
957
|
+
(0, react_1.useEffect)(function () {
|
|
958
|
+
if (!isOpen) {
|
|
959
|
+
anchoredChipPathRef.current = null;
|
|
960
|
+
}
|
|
961
|
+
}, [isOpen]);
|
|
962
|
+
var handleExternalClose = (0, react_1.useCallback)(function (open, key) {
|
|
963
|
+
if (!open && key === popoverKeyRef.current) {
|
|
964
|
+
close();
|
|
965
|
+
}
|
|
617
966
|
}, [close]);
|
|
618
967
|
// Fire a deferred chip-click request once the session connects — covers
|
|
619
968
|
// a click made during the initialize handshake.
|
|
@@ -626,6 +975,59 @@ function useLspAutocomplete(opts) {
|
|
|
626
975
|
performCompletionRequest(plainText, offset);
|
|
627
976
|
}
|
|
628
977
|
}, [isReady, performCompletionRequest]);
|
|
978
|
+
var openBrowse = (0, react_1.useCallback)(function (editor, _a) {
|
|
979
|
+
var _b, _c;
|
|
980
|
+
var rect = _a.rect, caret = _a.caret, replacementPath = _a.replacementPath, levelId = _a.levelId, query = _a.query, selectedValue = _a.selectedValue, arrows = _a.arrows;
|
|
981
|
+
editorRef.current = editor;
|
|
982
|
+
requestCompletions.cancel();
|
|
983
|
+
requestGenerationRef.current++;
|
|
984
|
+
pendingRequestRef.current = false;
|
|
985
|
+
replacingChipPathRef.current = replacementPath !== null && replacementPath !== void 0 ? replacementPath : null;
|
|
986
|
+
anchoredChipPathRef.current = replacementPath !== null && replacementPath !== void 0 ? replacementPath : null;
|
|
987
|
+
setIsReplaceMode(!!replacementPath);
|
|
988
|
+
if (!replacementPath) {
|
|
989
|
+
// the pick goes at the caret given, the editor's own, or its end
|
|
990
|
+
try {
|
|
991
|
+
var at = (_c = caret !== null && caret !== void 0 ? caret : (_b = editor.selection) === null || _b === void 0 ? void 0 : _b.anchor) !== null && _c !== void 0 ? _c : slate_1.Editor.end(editor, []);
|
|
992
|
+
askedAtRef.current = at;
|
|
993
|
+
slate_1.Transforms.select(editor, at);
|
|
994
|
+
}
|
|
995
|
+
catch (_d) {
|
|
996
|
+
// a point the editor no longer has: the pick goes where the editor puts it
|
|
997
|
+
askedAtRef.current = null;
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
setItems([]);
|
|
1001
|
+
setEmptyMessage(undefined);
|
|
1002
|
+
setFilterPrefix('');
|
|
1003
|
+
setDocsFor(null);
|
|
1004
|
+
setPosition({ left: rect.left, top: rect.bottom });
|
|
1005
|
+
setBrowse({ levelId: levelId, query: query, selectedValue: selectedValue, arrows: arrows });
|
|
1006
|
+
setIsOpen(true);
|
|
1007
|
+
popoverKeyRef.current += 1;
|
|
1008
|
+
setPopoverKey(popoverKeyRef.current);
|
|
1009
|
+
}, [requestCompletions]);
|
|
1010
|
+
var pickTemplate = (0, react_1.useCallback)(function (node, written) {
|
|
1011
|
+
// a context gone on into writes its reference (`$local:`); taken whole, its value (`$local:*`)
|
|
1012
|
+
var value = written !== null && written !== void 0 ? written : (node.continues ? node.reference : node.value);
|
|
1013
|
+
if (!value)
|
|
1014
|
+
return;
|
|
1015
|
+
/* what it is, for the editor to write it as it is: a field or a template as its chip, a function, a value or
|
|
1016
|
+
a keyword as text, a template context as text that is completed on (`continues`) */
|
|
1017
|
+
var kind = node.kind === 'field' ? 5
|
|
1018
|
+
: node.kind === 'function' ? 3
|
|
1019
|
+
: node.kind === 'keyword' ? 14
|
|
1020
|
+
: 6;
|
|
1021
|
+
var item = (0, exports.toDropdownItems)([
|
|
1022
|
+
{
|
|
1023
|
+
label: node.label,
|
|
1024
|
+
insertText: value,
|
|
1025
|
+
kind: kind,
|
|
1026
|
+
data: __assign({ templateNodeId: node.id }, (node.continues && !written ? { continues: true } : {})),
|
|
1027
|
+
},
|
|
1028
|
+
])[0];
|
|
1029
|
+
selectItem(__assign(__assign({}, item), { metadata: __assign(__assign({}, item.metadata), { retrigger: false }) }));
|
|
1030
|
+
}, [selectItem]);
|
|
629
1031
|
return {
|
|
630
1032
|
// Expose the post-filter list as `items`; `groups` is filter-derived too.
|
|
631
1033
|
items: filteredItems,
|
|
@@ -633,14 +1035,23 @@ function useLspAutocomplete(opts) {
|
|
|
633
1035
|
isOpen: isOpen,
|
|
634
1036
|
isReplaceMode: isReplaceMode,
|
|
635
1037
|
isFetching: isFetching,
|
|
1038
|
+
emptyMessage: isOpen ? emptyMessage : undefined,
|
|
1039
|
+
note: isOpen ? note : undefined,
|
|
1040
|
+
isActive: isOpen || isRequested,
|
|
636
1041
|
focusedIndex: focusedIndex,
|
|
637
1042
|
close: close,
|
|
638
1043
|
onSlateChange: onSlateChangeImpl,
|
|
639
1044
|
onItemSelect: onItemSelect,
|
|
1045
|
+
openAtCaret: openAtCaret,
|
|
640
1046
|
openAtChip: openAtChip,
|
|
641
1047
|
handleExternalClose: handleExternalClose,
|
|
642
1048
|
popoverKey: popoverKey,
|
|
643
1049
|
position: position,
|
|
1050
|
+
docsFor: docsFor,
|
|
1051
|
+
toggleDocs: toggleDocs,
|
|
1052
|
+
browse: isOpen ? browse : null,
|
|
1053
|
+
openBrowse: openBrowse,
|
|
1054
|
+
pickTemplate: pickTemplate,
|
|
644
1055
|
};
|
|
645
1056
|
}
|
|
646
1057
|
exports.useLspAutocomplete = useLspAutocomplete;
|