@qoretechnologies/reqraft 0.10.62 → 0.10.63-pr.142.g0b675cd
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 +21 -1
- package/dist/components/Description/describedControl.d.ts +48 -0
- package/dist/components/Description/describedControl.d.ts.map +1 -0
- package/dist/components/Description/describedControl.js +81 -0
- package/dist/components/Description/describedControl.js.map +1 -0
- package/dist/components/Description/index.d.ts.map +1 -1
- package/dist/components/Description/index.js +3 -2
- package/dist/components/Description/index.js.map +1 -1
- package/dist/components/colorValue/colorValue.d.ts +59 -0
- package/dist/components/colorValue/colorValue.d.ts.map +1 -0
- package/dist/components/colorValue/colorValue.js +245 -0
- package/dist/components/colorValue/colorValue.js.map +1 -0
- package/dist/components/colorValue/index.d.ts +34 -0
- package/dist/components/colorValue/index.d.ts.map +1 -0
- package/dist/components/colorValue/index.js +136 -0
- package/dist/components/colorValue/index.js.map +1 -0
- package/dist/components/colorValue/labels.d.ts +12 -0
- package/dist/components/colorValue/labels.d.ts.map +1 -0
- package/dist/components/colorValue/labels.js +11 -0
- package/dist/components/colorValue/labels.js.map +1 -0
- package/dist/components/composer/Composer.d.ts +1 -1
- package/dist/components/composer/Composer.d.ts.map +1 -1
- package/dist/components/composer/Composer.js +2 -2
- package/dist/components/composer/Composer.js.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +10 -1
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +30 -13
- package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
- package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.js +11 -6
- package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +47 -8
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
- package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +151 -83
- 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 +34 -1
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +487 -87
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
- package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
- package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
- package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +24 -3
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +19 -0
- package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowContext.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts +0 -1
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +12 -20
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
- package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
- package/dist/components/form/engine/compactToolbarColors.js +21 -0
- package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +24 -8
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +77 -109
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/readFirstColors.d.ts +30 -0
- package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
- package/dist/components/form/engine/readFirstColors.js +51 -0
- package/dist/components/form/engine/readFirstColors.js.map +1 -0
- package/dist/components/form/engine/rowFocus.d.ts +2 -0
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +26 -3
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/engine/typeChoices.d.ts +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.js +2 -1
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
- package/dist/components/form/engine/variants/variantParts.js +25 -17
- package/dist/components/form/engine/variants/variantParts.js.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.js +3 -3
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts +41 -3
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +396 -99
- package/dist/components/form/expressions/ExpressionField.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
- package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
- package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js +4 -2
- package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
- package/dist/components/form/expressions/builder/index.d.ts +24 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +121 -77
- 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/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/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 +35 -9
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
- package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
- package/dist/components/form/expressions/textOfExpression.js +37 -0
- package/dist/components/form/expressions/textOfExpression.js.map +1 -0
- 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 +7 -7
- package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +20 -7
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.js +24 -0
- package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
- package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +81 -36
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
- package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
- package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
- package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
- package/dist/components/form/fields/binary/Binary.js +23 -3
- package/dist/components/form/fields/binary/Binary.js.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
- package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.js +9 -1
- package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
- package/dist/components/form/fields/color/Color.d.ts +103 -16
- package/dist/components/form/fields/color/Color.d.ts.map +1 -1
- package/dist/components/form/fields/color/Color.js +611 -16
- package/dist/components/form/fields/color/Color.js.map +1 -1
- package/dist/components/form/fields/emittedValues.d.ts +34 -3
- package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
- package/dist/components/form/fields/emittedValues.js +24 -1
- package/dist/components/form/fields/emittedValues.js.map +1 -1
- package/dist/components/form/fields/file/File.d.ts +1 -1
- package/dist/components/form/fields/file/File.d.ts.map +1 -1
- package/dist/components/form/fields/file/File.js +4 -2
- package/dist/components/form/fields/file/File.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +17 -3
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +6 -0
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +41 -6
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/object/Object.d.ts +1 -1
- package/dist/components/form/fields/object/Object.d.ts.map +1 -1
- package/dist/components/form/fields/object/Object.js +4 -2
- package/dist/components/form/fields/object/Object.js.map +1 -1
- package/dist/components/form/fields/pendingEdit.d.ts +52 -0
- package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
- package/dist/components/form/fields/pendingEdit.js +79 -0
- package/dist/components/form/fields/pendingEdit.js.map +1 -0
- package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +190 -81
- package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
- package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/index.js +8 -4
- package/dist/components/form/fields/schema-definition/index.js.map +1 -1
- package/dist/components/form/fields/select/Select.d.ts +2 -0
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +19 -10
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +8 -2
- package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
- package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
- package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
- package/dist/components/form/fields/select/unavailableRow.js +55 -0
- package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +5 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +11 -4
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
- package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
- package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
- package/dist/components/form/fields/template/TemplateField.d.ts +83 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +535 -85
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
- package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateText.js +8 -4
- package/dist/components/form/fields/template/TemplateText.js.map +1 -1
- package/dist/components/form/fields/template/writtenAsText.d.ts +55 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.js +188 -0
- package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
- package/dist/components/form/index.d.ts +10 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +23 -1
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +19 -7
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/log/Log.d.ts.map +1 -1
- package/dist/components/log/Log.js +15 -7
- package/dist/components/log/Log.js.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +19 -10
- package/dist/components/menu/Menu.js.map +1 -1
- package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
- package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
- package/dist/components/smartEditor/CompletionMenu.js +196 -0
- package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
- package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
- package/dist/components/smartEditor/MarkdownDoc.js +1 -1
- 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 +51 -136
- package/dist/components/smartEditor/SmartEditor.js.map +1 -1
- package/dist/components/smartEditor/completionStyle.d.ts +27 -0
- package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
- package/dist/components/smartEditor/completionStyle.js +66 -0
- package/dist/components/smartEditor/completionStyle.js.map +1 -0
- package/dist/components/smartEditor/index.d.ts +5 -1
- package/dist/components/smartEditor/index.d.ts.map +1 -1
- package/dist/components/smartEditor/index.js +19 -1
- package/dist/components/smartEditor/index.js.map +1 -1
- package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
- package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
- package/dist/components/smartEditor/templateCompletions.js +94 -0
- package/dist/components/smartEditor/templateCompletions.js.map +1 -0
- package/dist/components/smartEditor/types.d.ts +12 -1
- package/dist/components/smartEditor/types.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
- package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
- package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
- package/dist/components/smartEditor/useLspHover.d.ts +22 -7
- package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspHover.js +86 -17
- package/dist/components/smartEditor/useLspHover.js.map +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
- package/dist/components/smartEditor/useLspSession.d.ts +6 -0
- package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSession.js +7 -6
- package/dist/components/smartEditor/useLspSession.js.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.js +15 -5
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +27 -6
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +20 -2
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +9 -4
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
- package/dist/components/ticketThread/TicketThread.js +36 -11
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/descriptionTooltip.d.ts +43 -0
- package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
- package/dist/helpers/descriptionTooltip.js +70 -0
- package/dist/helpers/descriptionTooltip.js.map +1 -0
- package/dist/helpers/domProps.d.ts +5 -0
- package/dist/helpers/domProps.d.ts.map +1 -0
- package/dist/helpers/domProps.js +47 -0
- package/dist/helpers/domProps.js.map +1 -0
- package/dist/helpers/expressions.d.ts +107 -2
- package/dist/helpers/expressions.d.ts.map +1 -1
- package/dist/helpers/expressions.js +223 -8
- package/dist/helpers/expressions.js.map +1 -1
- package/dist/helpers/hoveringPointer.d.ts +26 -0
- package/dist/helpers/hoveringPointer.d.ts.map +1 -0
- package/dist/helpers/hoveringPointer.js +29 -0
- package/dist/helpers/hoveringPointer.js.map +1 -0
- package/dist/helpers/markdownText.d.ts +14 -0
- package/dist/helpers/markdownText.d.ts.map +1 -0
- package/dist/helpers/markdownText.js +160 -0
- package/dist/helpers/markdownText.js.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.js +262 -0
- package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
- package/dist/helpers/readableColors.d.ts +36 -0
- package/dist/helpers/readableColors.d.ts.map +1 -0
- package/dist/helpers/readableColors.js +116 -0
- package/dist/helpers/readableColors.js.map +1 -0
- package/dist/helpers/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/templates.d.ts +26 -1
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +41 -6
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +9 -0
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +139 -33
- package/dist/helpers/validations.js.map +1 -1
- package/dist/hooks/useQorusTypes.d.ts +7 -15
- package/dist/hooks/useQorusTypes.d.ts.map +1 -1
- package/dist/hooks/useQorusTypes.js +25 -166
- package/dist/hooks/useQorusTypes.js.map +1 -1
- package/dist/hooks/useReadableIntentShade.d.ts +9 -0
- package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
- package/dist/hooks/useReadableIntentShade.js +23 -0
- package/dist/hooks/useReadableIntentShade.js.map +1 -0
- package/dist/hooks/useReadableOpacity.d.ts +6 -0
- package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
- package/dist/hooks/useReadableOpacity.js +17 -0
- package/dist/hooks/useReadableOpacity.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
- package/dist/tracking/ui/ExperimentCard.js +26 -10
- package/dist/tracking/ui/ExperimentCard.js.map +1 -1
- package/dist/tracking/ui/card.d.ts +2 -2
- package/dist/tracking/ui/card.d.ts.map +1 -1
- package/dist/tracking/ui/card.js +2 -2
- package/dist/tracking/ui/card.js.map +1 -1
- package/dist/tracking/ui/readable.d.ts +14 -0
- package/dist/tracking/ui/readable.d.ts.map +1 -0
- package/dist/tracking/ui/readable.js +60 -0
- package/dist/tracking/ui/readable.js.map +1 -0
- package/package.json +14 -5
- package/.claude/CLAUDE.md +0 -317
- package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
- package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
- package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
- package/.tasks/FIELD_STACK_REPORT.md +0 -234
- package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
- package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
- package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
- package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
- package/.tasks/INDEX.md +0 -111
- package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
- package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
- package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
- package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
- package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
- package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
- package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
- package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
- package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
- package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
- package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
- package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
- package/CODE_OF_CONDUCT.md +0 -105
- package/CONTRIBUTING.MD +0 -78
- package/SECURITY.md +0 -3
- package/chromatic.config.json +0 -5
- package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
- package/design/COMPACT_INFO_DISPLAY.md +0 -87
- package/design/COMPACT_PARITY.md +0 -85
- package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
- package/design/FORM_ENGINE_COMPACT.md +0 -300
- package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
- package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
- package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
- package/design/IDE_INTEGRATION.md +0 -64
- package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
- package/design/SELECT_DIALOG_FLOOR.md +0 -86
- package/design/SMART_EDITOR_UX.md +0 -438
- package/design/TRACKING.md +0 -290
- package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
- package/src/components/Description/index.tsx +0 -254
- package/src/components/Description/markdownRendererContext.tsx +0 -29
- package/src/components/FocusedEditing/index.tsx +0 -50
- package/src/components/codeSize/index.tsx +0 -79
- package/src/components/composer/Composer.stories.tsx +0 -238
- package/src/components/composer/Composer.tsx +0 -554
- package/src/components/composer/helpers.ts +0 -74
- package/src/components/composer/index.ts +0 -2
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
- package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
- package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
- package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
- package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
- package/src/components/dpqlEditor/dpqlTags.ts +0 -114
- package/src/components/dpqlEditor/index.ts +0 -41
- package/src/components/dpqlEditor/types.ts +0 -203
- package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
- package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
- package/src/components/form/engine/CompactRow.tsx +0 -2620
- package/src/components/form/engine/CompactToolbar.tsx +0 -330
- package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
- package/src/components/form/engine/FormEngine.tsx +0 -4569
- package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
- package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
- package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
- package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
- package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
- package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
- package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
- package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
- package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
- package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
- package/src/components/form/engine/compactRowContext.ts +0 -148
- package/src/components/form/engine/compactRowStyles.ts +0 -898
- package/src/components/form/engine/compactToolbarContext.ts +0 -69
- package/src/components/form/engine/optionActions.ts +0 -128
- package/src/components/form/engine/optionsContext.ts +0 -24
- package/src/components/form/engine/readFirst.ts +0 -1077
- package/src/components/form/engine/rendererTypes.ts +0 -107
- package/src/components/form/engine/revealRow.ts +0 -123
- package/src/components/form/engine/rowFocus.ts +0 -101
- package/src/components/form/engine/rowMenuContext.ts +0 -159
- package/src/components/form/engine/rowOpenPicker.ts +0 -27
- package/src/components/form/engine/typeChoices.ts +0 -63
- package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
- package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
- package/src/components/form/engine/variants/VariantCards.tsx +0 -212
- package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
- package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
- package/src/components/form/engine/variants/focusDemo.ts +0 -145
- package/src/components/form/engine/variants/variantModel.ts +0 -223
- package/src/components/form/engine/variants/variantParts.tsx +0 -313
- package/src/components/form/expressions/DpqlRendering.tsx +0 -85
- package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
- package/src/components/form/expressions/ExpressionField.tsx +0 -503
- package/src/components/form/expressions/argumentPresence.ts +0 -213
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
- package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
- package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
- package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
- package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
- package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
- package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
- package/src/components/form/expressions/builder/index.tsx +0 -1545
- package/src/components/form/expressions/builder/item.tsx +0 -89
- package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
- package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
- package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
- package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
- package/src/components/form/expressions/mockExpressions.ts +0 -317
- package/src/components/form/expressions/renderExpressionToText.ts +0 -137
- package/src/components/form/expressions/types.ts +0 -110
- package/src/components/form/expressions/useExpressions.ts +0 -101
- package/src/components/form/expressions/useRenderExpression.ts +0 -165
- package/src/components/form/fields/Field.stories.tsx +0 -143
- package/src/components/form/fields/Field.tsx +0 -732
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
- package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
- package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
- package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
- package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
- package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
- package/src/components/form/fields/binary/Binary.tsx +0 -91
- package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
- package/src/components/form/fields/boolean/Boolean.tsx +0 -34
- package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
- package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
- package/src/components/form/fields/color/Color.stories.tsx +0 -99
- package/src/components/form/fields/color/Color.tsx +0 -46
- package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
- package/src/components/form/fields/cron/Cron.tsx +0 -80
- package/src/components/form/fields/date/Date.stories.tsx +0 -77
- package/src/components/form/fields/date/Date.tsx +0 -55
- package/src/components/form/fields/emittedValues.ts +0 -70
- package/src/components/form/fields/file/File.stories.tsx +0 -161
- package/src/components/form/fields/file/File.tsx +0 -227
- package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
- package/src/components/form/fields/long-string/LongString.tsx +0 -130
- package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
- package/src/components/form/fields/markdown/Markdown.tsx +0 -81
- package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
- package/src/components/form/fields/number/Number.stories.tsx +0 -159
- package/src/components/form/fields/number/Number.tsx +0 -160
- package/src/components/form/fields/object/Object.stories.tsx +0 -398
- package/src/components/form/fields/object/Object.tsx +0 -255
- package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
- package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
- package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
- package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
- package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
- package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
- package/src/components/form/fields/rich-text/RichText.tsx +0 -537
- package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
- package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
- package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
- package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
- package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
- package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
- package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
- package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
- package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
- package/src/components/form/fields/schema-definition/catalog.ts +0 -237
- package/src/components/form/fields/schema-definition/helpers.ts +0 -90
- package/src/components/form/fields/schema-definition/index.tsx +0 -418
- package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
- package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
- package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
- package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
- package/src/components/form/fields/schema-definition/types.ts +0 -185
- package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
- package/src/components/form/fields/select/Select.stories.tsx +0 -872
- package/src/components/form/fields/select/Select.tsx +0 -624
- package/src/components/form/fields/select/SelectCollection.tsx +0 -594
- package/src/components/form/fields/string/String.stories.tsx +0 -86
- package/src/components/form/fields/string/String.tsx +0 -43
- package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
- package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
- package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
- package/src/components/form/fields/template/TemplateField.tsx +0 -1717
- package/src/components/form/fields/template/TemplateText.tsx +0 -115
- package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
- package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
- package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
- package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
- package/src/components/form/fields/timeout/Timeout.tsx +0 -87
- package/src/components/form/fields/url/Url.stories.tsx +0 -94
- package/src/components/form/fields/url/Url.tsx +0 -85
- package/src/components/form/index.tsx +0 -47
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
- package/src/components/imageLightbox/index.ts +0 -1
- package/src/components/log/Log.stories.tsx +0 -333
- package/src/components/log/Log.tsx +0 -285
- package/src/components/menu/Menu.stories.tsx +0 -155
- package/src/components/menu/Menu.tsx +0 -312
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
- package/src/components/qonsoleSmartInput/index.ts +0 -16
- package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
- package/src/components/qonsoleSmartInput/types.ts +0 -133
- package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
- package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
- package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
- package/src/components/searchFilterBar/index.ts +0 -1
- package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
- package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
- package/src/components/smartEditor/SmartEditor.tsx +0 -808
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
- package/src/components/smartEditor/helpers.ts +0 -217
- package/src/components/smartEditor/index.ts +0 -35
- package/src/components/smartEditor/styling.ts +0 -45
- package/src/components/smartEditor/types.ts +0 -211
- package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
- package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
- package/src/components/smartEditor/useLspHover.ts +0 -230
- package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
- package/src/components/smartEditor/useLspSession.ts +0 -231
- package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
- package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
- package/src/components/supportTicket/AttachmentChips.tsx +0 -147
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
- package/src/components/supportTicket/ReferencePicker.tsx +0 -563
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -247
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
- package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
- package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
- package/src/components/supportTicket/attachmentAccess.ts +0 -97
- package/src/components/supportTicket/fileToAttachment.ts +0 -24
- package/src/components/supportTicket/index.ts +0 -10
- package/src/components/supportTicket/meta.ts +0 -206
- package/src/components/supportTicket/ticketModel.ts +0 -131
- package/src/components/supportTicket/useLoadedImages.ts +0 -73
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
- package/src/components/ticketReferences/TicketReferences.tsx +0 -906
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
- package/src/components/ticketThread/TicketThread.tsx +0 -719
- package/src/components/ticketThread/index.ts +0 -6
- package/src/contexts/FetchContext.tsx +0 -25
- package/src/contexts/ReqraftContext.tsx +0 -9
- package/src/contexts/StorageContext.tsx +0 -33
- package/src/global.d.ts +0 -4
- package/src/helpers/allowedValues.ts +0 -249
- package/src/helpers/choiceChip.ts +0 -227
- package/src/helpers/common.ts +0 -326
- package/src/helpers/dpqlDetection.ts +0 -209
- package/src/helpers/expressions.ts +0 -140
- package/src/helpers/optionUiTypes.ts +0 -199
- package/src/helpers/options.ts +0 -150
- package/src/helpers/providerValue.ts +0 -125
- package/src/helpers/scrollbar.ts +0 -32
- package/src/helpers/singleLineString.ts +0 -61
- package/src/helpers/templateItems.ts +0 -81
- package/src/helpers/templateText.ts +0 -350
- package/src/helpers/templates.ts +0 -602
- package/src/helpers/validations.ts +0 -2085
- package/src/hooks/useArgSchema.ts +0 -37
- package/src/hooks/useCoarsePointer.ts +0 -30
- package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
- package/src/hooks/useFetch/useFetch.tsx +0 -154
- package/src/hooks/usePhoneViewport.ts +0 -34
- package/src/hooks/useQorusTypes.ts +0 -233
- package/src/hooks/useReqraftProperty.ts +0 -16
- package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
- package/src/hooks/useStorage/useStorage.ts +0 -35
- package/src/hooks/useTemplates.ts +0 -123
- package/src/hooks/useValidation.ts +0 -9
- package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
- package/src/hooks/useWhyDidYouUpdate.ts +0 -38
- package/src/index.tsx +0 -86
- package/src/providers/FetchProvider.tsx +0 -40
- package/src/providers/ReqraftProvider.tsx +0 -52
- package/src/providers/StorageProvider.tsx +0 -131
- package/src/stores/currentUser/currentUser.stories.tsx +0 -100
- package/src/stores/currentUser/currentUser.tsx +0 -94
- package/src/stories/Data/fileFieldArgSchema.json +0 -86
- package/src/stories/Tests/utils.ts +0 -320
- package/src/stories/storyNetwork.ts +0 -92
- package/src/stories/tracking.tsx +0 -206
- package/src/tracking/browser/attach.ts +0 -186
- package/src/tracking/browser/env.ts +0 -78
- package/src/tracking/core/consent.ts +0 -37
- package/src/tracking/core/engagement.ts +0 -47
- package/src/tracking/core/experiments.ts +0 -258
- package/src/tracking/core/hash.ts +0 -26
- package/src/tracking/core/ids.ts +0 -25
- package/src/tracking/core/observable.ts +0 -23
- package/src/tracking/core/queue.ts +0 -131
- package/src/tracking/core/sections.ts +0 -166
- package/src/tracking/core/storage.ts +0 -69
- package/src/tracking/core/tracker.ts +0 -417
- package/src/tracking/core/types.ts +0 -162
- package/src/tracking/core/utm.ts +0 -23
- package/src/tracking/index.ts +0 -72
- package/src/tracking/markup.ts +0 -17
- package/src/tracking/react/Experiment.tsx +0 -44
- package/src/tracking/react/TrackingProvider.tsx +0 -56
- package/src/tracking/react/hooks.ts +0 -106
- package/src/tracking/react/index.ts +0 -13
- package/src/tracking/testing.ts +0 -108
- package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
- package/src/tracking/ui/ExperimentCard.tsx +0 -667
- package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
- package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
- package/src/tracking/ui/anchor.ts +0 -180
- package/src/tracking/ui/card.ts +0 -464
- package/src/tracking/ui/client.ts +0 -117
- package/src/tracking/ui/index.ts +0 -77
- package/src/tracking/ui/types.ts +0 -110
- package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
- package/src/types/Form.ts +0 -29
- package/src/types.ts +0 -14
- package/src/utils/datetime.ts +0 -10
- package/src/utils/fetch.ts +0 -457
- package/src/utils/lspClient.ts +0 -711
- package/src/utils/lspClient.types.ts +0 -211
- package/src/utils/queryUnlessCancelled.ts +0 -28
- package/src/utils/websocket.ts +0 -293
- package/vite.config.ts +0 -58
- package/vitest.config.ts +0 -69
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* One table's expanded editor body — the bespoke surface for the locked
|
|
3
|
-
* "inline expanded panel per table" decision.
|
|
4
|
-
*
|
|
5
|
-
* A table has no leaf fields of its own (its catalogue children are all
|
|
6
|
-
* maps / groups: columns, keys, FKs, indexes, triggers), so the body is
|
|
7
|
-
* a nested `ReqoreTabs` — one tab per child section — with each tab
|
|
8
|
-
* delegating to the generic `CatalogNodeEditor`.
|
|
9
|
-
*/
|
|
10
|
-
import {
|
|
11
|
-
ReqoreControlGroup,
|
|
12
|
-
ReqoreTabs,
|
|
13
|
-
ReqoreTabsContent,
|
|
14
|
-
ReqoreTag,
|
|
15
|
-
} from '@qoretechnologies/reqore';
|
|
16
|
-
import { memo, useMemo, useState } from 'react';
|
|
17
|
-
import { partitionCatalogOptions } from './catalog';
|
|
18
|
-
import { CatalogNodeEditor, RenameField } from './CatalogNodeEditor';
|
|
19
|
-
import { SECTION_ICONS, sectionCount } from './helpers';
|
|
20
|
-
import {
|
|
21
|
-
buildTableSectionResolver,
|
|
22
|
-
SuggestionProvider,
|
|
23
|
-
TKnownSection,
|
|
24
|
-
useSchemaDefinition,
|
|
25
|
-
} from './referenceSuggestions';
|
|
26
|
-
import { ICatalogOptions } from './types';
|
|
27
|
-
|
|
28
|
-
const SECTIONS_WITH_SUGGESTIONS: ReadonlySet<TKnownSection> = new Set<TKnownSection>([
|
|
29
|
-
'primary_key',
|
|
30
|
-
'unique_constraints',
|
|
31
|
-
'foreign_constraints',
|
|
32
|
-
'indexes',
|
|
33
|
-
]);
|
|
34
|
-
|
|
35
|
-
export interface ITableEditorProps {
|
|
36
|
-
name: string;
|
|
37
|
-
tableName: string;
|
|
38
|
-
/** Rename the table — bubbles a key rename up to the Tables map. */
|
|
39
|
-
onRename: (newName: string) => void;
|
|
40
|
-
/** Returns `true` when a proposed table name collides with a sibling. */
|
|
41
|
-
taken?: (next: string) => boolean;
|
|
42
|
-
/** The per-table catalogue options (`tableOptions`). */
|
|
43
|
-
options: ICatalogOptions;
|
|
44
|
-
value: Record<string, unknown>;
|
|
45
|
-
onChange: (value: Record<string, unknown>) => void;
|
|
46
|
-
readOnly?: boolean;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export const TableEditor = memo(
|
|
50
|
-
({
|
|
51
|
-
name,
|
|
52
|
-
tableName,
|
|
53
|
-
onRename,
|
|
54
|
-
taken,
|
|
55
|
-
options,
|
|
56
|
-
value,
|
|
57
|
-
onChange,
|
|
58
|
-
readOnly,
|
|
59
|
-
}: ITableEditorProps) => {
|
|
60
|
-
const sections = useMemo(
|
|
61
|
-
() => partitionCatalogOptions(options).nested,
|
|
62
|
-
[options]
|
|
63
|
-
);
|
|
64
|
-
const [activeTab, setActiveTab] = useState<string | number>(
|
|
65
|
-
sections[0]?.[0] ?? 'columns'
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
return (
|
|
69
|
-
<ReqoreControlGroup vertical fluid gapSize='normal'>
|
|
70
|
-
{readOnly ? (
|
|
71
|
-
<ReqoreControlGroup verticalAlign='center' gapSize='small'>
|
|
72
|
-
<ReqoreTag fixed minimal size='small' icon='Table2' label='Table' />
|
|
73
|
-
<ReqoreTag size='small' label={tableName} />
|
|
74
|
-
</ReqoreControlGroup>
|
|
75
|
-
) : (
|
|
76
|
-
<RenameField
|
|
77
|
-
value={tableName}
|
|
78
|
-
taken={taken}
|
|
79
|
-
onRename={onRename}
|
|
80
|
-
label='Table name'
|
|
81
|
-
/>
|
|
82
|
-
)}
|
|
83
|
-
|
|
84
|
-
<ReqoreTabs
|
|
85
|
-
flat
|
|
86
|
-
size='small'
|
|
87
|
-
tabsPadding='vertical'
|
|
88
|
-
activeTab={activeTab}
|
|
89
|
-
onTabChange={setActiveTab}
|
|
90
|
-
tabs={sections.map(([key, node]) => {
|
|
91
|
-
const count = node.type ? sectionCount(value?.[key]) : undefined;
|
|
92
|
-
return {
|
|
93
|
-
id: key,
|
|
94
|
-
label: node.display_name,
|
|
95
|
-
icon: SECTION_ICONS[key],
|
|
96
|
-
badge: count || undefined,
|
|
97
|
-
tooltip: node.short_desc,
|
|
98
|
-
};
|
|
99
|
-
})}
|
|
100
|
-
>
|
|
101
|
-
{sections.map(([key, node]) => {
|
|
102
|
-
const editor = (
|
|
103
|
-
<CatalogNodeEditor
|
|
104
|
-
name={`${name}-${key}`}
|
|
105
|
-
node={node}
|
|
106
|
-
value={value?.[key]}
|
|
107
|
-
onChange={(next) => onChange({ ...value, [key]: next })}
|
|
108
|
-
readOnly={readOnly}
|
|
109
|
-
/>
|
|
110
|
-
);
|
|
111
|
-
return (
|
|
112
|
-
<ReqoreTabsContent key={key} tabId={key}>
|
|
113
|
-
{SECTIONS_WITH_SUGGESTIONS.has(key as TKnownSection) ? (
|
|
114
|
-
<SectionWithSuggestions
|
|
115
|
-
tableName={tableName}
|
|
116
|
-
section={key as TKnownSection}
|
|
117
|
-
>
|
|
118
|
-
{editor}
|
|
119
|
-
</SectionWithSuggestions>
|
|
120
|
-
) : (
|
|
121
|
-
editor
|
|
122
|
-
)}
|
|
123
|
-
</ReqoreTabsContent>
|
|
124
|
-
);
|
|
125
|
-
})}
|
|
126
|
-
</ReqoreTabs>
|
|
127
|
-
</ReqoreControlGroup>
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
);
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Wraps a table sub-section's editor with a suggestion resolver tied
|
|
134
|
-
* to this table — so a primary key's `columns` list, a foreign
|
|
135
|
-
* constraint's `table` / `target_columns`, and the like get
|
|
136
|
-
* contextual `allowed_values` from the schema's own tree.
|
|
137
|
-
*/
|
|
138
|
-
const SectionWithSuggestions = memo(
|
|
139
|
-
({
|
|
140
|
-
tableName,
|
|
141
|
-
section,
|
|
142
|
-
children,
|
|
143
|
-
}: {
|
|
144
|
-
tableName: string;
|
|
145
|
-
section: TKnownSection;
|
|
146
|
-
children: React.ReactNode;
|
|
147
|
-
}) => {
|
|
148
|
-
const definition = useSchemaDefinition();
|
|
149
|
-
const resolver = useMemo(
|
|
150
|
-
() => buildTableSectionResolver(definition, tableName, section),
|
|
151
|
-
[definition, tableName, section]
|
|
152
|
-
);
|
|
153
|
-
return <SuggestionProvider resolver={resolver}>{children}</SuggestionProvider>;
|
|
154
|
-
}
|
|
155
|
-
);
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Tables tab — a stack of inline-expandable panels, one per table
|
|
3
|
-
* (the locked "inline expanded panel per table" decision). Each panel
|
|
4
|
-
* collapses to a one-line summary and expands in place to reveal the
|
|
5
|
-
* full `TableEditor`.
|
|
6
|
-
*/
|
|
7
|
-
import {
|
|
8
|
-
ReqoreButton,
|
|
9
|
-
ReqoreCallout,
|
|
10
|
-
ReqoreControlGroup,
|
|
11
|
-
ReqorePanel,
|
|
12
|
-
useReqoreProperty,
|
|
13
|
-
} from '@qoretechnologies/reqore';
|
|
14
|
-
import { memo, useCallback } from 'react';
|
|
15
|
-
import { Hint } from './Hint';
|
|
16
|
-
import { TableEditor } from './TableEditor';
|
|
17
|
-
import { removeKey, renameKey, sectionCount, setKey, uniqueKey } from './helpers';
|
|
18
|
-
import { ICatalogMap } from './types';
|
|
19
|
-
|
|
20
|
-
export interface ITablesTabProps {
|
|
21
|
-
/** The `tables` map node from the catalogue. */
|
|
22
|
-
node: ICatalogMap;
|
|
23
|
-
value: Record<string, Record<string, unknown>>;
|
|
24
|
-
onChange: (value: Record<string, Record<string, unknown>>) => void;
|
|
25
|
-
readOnly?: boolean;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export const TablesTab = memo(
|
|
29
|
-
({ node, value, onChange, readOnly }: ITablesTabProps) => {
|
|
30
|
-
const tables = Object.entries(value ?? {});
|
|
31
|
-
const confirmAction = useReqoreProperty('confirmAction');
|
|
32
|
-
|
|
33
|
-
const addTable = useCallback(() => {
|
|
34
|
-
onChange(setKey(value, uniqueKey(value, 'new_table'), {}));
|
|
35
|
-
}, [value, onChange]);
|
|
36
|
-
|
|
37
|
-
const confirmRemoveTable = useCallback(
|
|
38
|
-
(tableName: string) => {
|
|
39
|
-
const colCount = sectionCount(value[tableName]?.columns);
|
|
40
|
-
confirmAction({
|
|
41
|
-
title: 'Remove table',
|
|
42
|
-
description: `Remove the table "${tableName}"${
|
|
43
|
-
colCount > 0
|
|
44
|
-
? ` and its ${colCount} column${colCount === 1 ? '' : 's'}`
|
|
45
|
-
: ''
|
|
46
|
-
}?`,
|
|
47
|
-
confirmLabel: 'Remove table',
|
|
48
|
-
intent: 'danger',
|
|
49
|
-
onConfirm: () => onChange(removeKey(value, tableName)),
|
|
50
|
-
});
|
|
51
|
-
},
|
|
52
|
-
[value, onChange, confirmAction]
|
|
53
|
-
);
|
|
54
|
-
|
|
55
|
-
if (tables.length === 0) {
|
|
56
|
-
return (
|
|
57
|
-
<ReqoreControlGroup vertical fluid gapSize='normal'>
|
|
58
|
-
<ReqoreCallout intent='info' flat icon='Table2'>
|
|
59
|
-
{readOnly
|
|
60
|
-
? 'This schema defines no tables.'
|
|
61
|
-
: 'No tables yet. Add the first table to start building the schema.'}
|
|
62
|
-
</ReqoreCallout>
|
|
63
|
-
{!readOnly ? (
|
|
64
|
-
<ReqoreButton icon='AddLine' intent='info' minimal fixed onClick={addTable}>
|
|
65
|
-
Add table
|
|
66
|
-
</ReqoreButton>
|
|
67
|
-
) : null}
|
|
68
|
-
</ReqoreControlGroup>
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return (
|
|
73
|
-
<ReqoreControlGroup vertical fluid gapSize='small'>
|
|
74
|
-
{!readOnly ? (
|
|
75
|
-
<Hint
|
|
76
|
-
id='hint.schema-tables'
|
|
77
|
-
title='Working with tables'
|
|
78
|
-
icon='Table2'
|
|
79
|
-
>
|
|
80
|
-
Each row is a database table. Expand one to reach its
|
|
81
|
-
columns, primary key, indexes, and constraints — each on its
|
|
82
|
-
own sub-tab. <b>Click a column row to edit it in a side
|
|
83
|
-
panel</b> where you set its full definition.
|
|
84
|
-
</Hint>
|
|
85
|
-
) : null}
|
|
86
|
-
{tables.map(([tableName, tableValue]) => {
|
|
87
|
-
const columnCount = sectionCount(tableValue?.columns);
|
|
88
|
-
return (
|
|
89
|
-
<ReqorePanel
|
|
90
|
-
key={tableName}
|
|
91
|
-
raised
|
|
92
|
-
collapsible
|
|
93
|
-
isCollapsed
|
|
94
|
-
icon='Table2'
|
|
95
|
-
label={tableName}
|
|
96
|
-
badge={[
|
|
97
|
-
`${columnCount} column${columnCount === 1 ? '' : 's'}`,
|
|
98
|
-
]}
|
|
99
|
-
actions={
|
|
100
|
-
readOnly
|
|
101
|
-
? undefined
|
|
102
|
-
: [
|
|
103
|
-
{
|
|
104
|
-
icon: 'DeleteBinLine',
|
|
105
|
-
minimal: true,
|
|
106
|
-
flat: true,
|
|
107
|
-
intent: 'danger',
|
|
108
|
-
size: 'small',
|
|
109
|
-
tooltip: 'Remove table',
|
|
110
|
-
onClick: () => confirmRemoveTable(tableName),
|
|
111
|
-
},
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
>
|
|
115
|
-
<TableEditor
|
|
116
|
-
name={`table-${tableName}`}
|
|
117
|
-
tableName={tableName}
|
|
118
|
-
onRename={(next) =>
|
|
119
|
-
onChange(renameKey(value, tableName, next))
|
|
120
|
-
}
|
|
121
|
-
taken={(next) => value[next] !== undefined}
|
|
122
|
-
options={node.options}
|
|
123
|
-
value={tableValue ?? {}}
|
|
124
|
-
onChange={(next) => onChange(setKey(value, tableName, next))}
|
|
125
|
-
readOnly={readOnly}
|
|
126
|
-
/>
|
|
127
|
-
</ReqorePanel>
|
|
128
|
-
);
|
|
129
|
-
})}
|
|
130
|
-
{!readOnly ? (
|
|
131
|
-
<ReqoreButton icon='AddLine' intent='info' minimal fixed onClick={addTable}>
|
|
132
|
-
Add table
|
|
133
|
-
</ReqoreButton>
|
|
134
|
-
) : null}
|
|
135
|
-
</ReqoreControlGroup>
|
|
136
|
-
);
|
|
137
|
-
}
|
|
138
|
-
);
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Catalogue helpers — node-kind discrimination plus the adapter that
|
|
3
|
-
* turns a catalogue `options` hash into the `IOptionsSchema` the shared
|
|
4
|
-
* `<Options>` field renders.
|
|
5
|
-
*
|
|
6
|
-
* The editor is fully server-driven: it never hard-codes a DataSchema
|
|
7
|
-
* shape. Every form field comes from `GET /schemas?action=options`
|
|
8
|
-
* through these helpers.
|
|
9
|
-
*/
|
|
10
|
-
import { TQorusType } from '@qoretechnologies/ts-toolkit';
|
|
11
|
-
import { IQorusAllowedValue } from '@qoretechnologies/ts-toolkit/dist/types/forms';
|
|
12
|
-
import { IOptions, IOptionsSchema, TOption } from '../../engine/FormEngine';
|
|
13
|
-
import {
|
|
14
|
-
ICatalogGroup,
|
|
15
|
-
ICatalogLeaf,
|
|
16
|
-
ICatalogList,
|
|
17
|
-
ICatalogMap,
|
|
18
|
-
ICatalogNode,
|
|
19
|
-
ICatalogOptions,
|
|
20
|
-
} from './types';
|
|
21
|
-
|
|
22
|
-
/** A catalogue node is a leaf when it carries no nested `options` tree. */
|
|
23
|
-
export const isCatalogLeaf = (node: ICatalogNode): node is ICatalogLeaf =>
|
|
24
|
-
!('options' in node) || node.options === undefined;
|
|
25
|
-
|
|
26
|
-
/** A group wraps nested `options` and carries no scalar `type`. */
|
|
27
|
-
export const isCatalogGroup = (node: ICatalogNode): node is ICatalogGroup =>
|
|
28
|
-
!isCatalogLeaf(node) && node.type === undefined;
|
|
29
|
-
|
|
30
|
-
/** A node is optional when its Qore type string is prefixed with `*`. */
|
|
31
|
-
export const isOptionalType = (type?: string): boolean =>
|
|
32
|
-
typeof type === 'string' && type.startsWith('*');
|
|
33
|
-
|
|
34
|
-
/** Strips the leading `*` (optional marker) from a Qore type string. */
|
|
35
|
-
const bareType = (type: string): string =>
|
|
36
|
-
type.startsWith('*') ? type.slice(1) : type;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* A map is `*hash<auto>` + a per-entry `options` shape. The type must
|
|
40
|
-
* *start* with `hash` — a list of hashes (`*list<hash<auto>>`) also
|
|
41
|
-
* contains the substring `hash`, so a prefix check is required.
|
|
42
|
-
*/
|
|
43
|
-
export const isCatalogMap = (node: ICatalogNode): node is ICatalogMap =>
|
|
44
|
-
!isCatalogLeaf(node) &&
|
|
45
|
-
typeof node.type === 'string' &&
|
|
46
|
-
bareType(node.type).startsWith('hash');
|
|
47
|
-
|
|
48
|
-
/** A list is `*list<hash<auto>>` + a per-element `options` shape. */
|
|
49
|
-
export const isCatalogList = (node: ICatalogNode): node is ICatalogList =>
|
|
50
|
-
!isCatalogLeaf(node) &&
|
|
51
|
-
typeof node.type === 'string' &&
|
|
52
|
-
bareType(node.type).startsWith('list');
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Maps a catalogue Qore type string to the `<Options>` field type plus
|
|
56
|
-
* the element type for list fields.
|
|
57
|
-
*
|
|
58
|
-
* The field type is a string rather than `TQorusType` because the
|
|
59
|
-
* `<Options>` / `auto` field accepts `IQorusType` — a superset that
|
|
60
|
-
* includes `select-string`, which the typed `TQorusType` union omits.
|
|
61
|
-
*/
|
|
62
|
-
export const catalogTypeToFieldType = (
|
|
63
|
-
type: string
|
|
64
|
-
): { fieldType: string; elementType?: string } => {
|
|
65
|
-
const bare = bareType(type);
|
|
66
|
-
if (bare === 'select-string') {
|
|
67
|
-
return { fieldType: 'select-string' };
|
|
68
|
-
}
|
|
69
|
-
if (bare.startsWith('list<')) {
|
|
70
|
-
const inner = bare.slice('list<'.length, -1);
|
|
71
|
-
return {
|
|
72
|
-
fieldType: 'list',
|
|
73
|
-
elementType: inner === 'string' ? 'string' : 'auto',
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
if (bare.startsWith('hash')) {
|
|
77
|
-
return { fieldType: 'hash' };
|
|
78
|
-
}
|
|
79
|
-
switch (bare) {
|
|
80
|
-
case 'string':
|
|
81
|
-
return { fieldType: 'string' };
|
|
82
|
-
case 'int':
|
|
83
|
-
return { fieldType: 'int' };
|
|
84
|
-
case 'float':
|
|
85
|
-
return { fieldType: 'float' };
|
|
86
|
-
case 'number':
|
|
87
|
-
return { fieldType: 'number' };
|
|
88
|
-
case 'bool':
|
|
89
|
-
return { fieldType: 'bool' };
|
|
90
|
-
case 'date':
|
|
91
|
-
return { fieldType: 'date' };
|
|
92
|
-
default:
|
|
93
|
-
// `*auto`, `auto`, and anything unrecognised fall back to the
|
|
94
|
-
// free-form `auto` field so no catalogue value is ever undroppable.
|
|
95
|
-
return { fieldType: 'auto' };
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
/** Converts catalogue `{value, display_name}` entries to `<Options>` allowed values. */
|
|
100
|
-
const toAllowedValues = (
|
|
101
|
-
leaf: ICatalogLeaf
|
|
102
|
-
): IQorusAllowedValue[] | undefined => {
|
|
103
|
-
if (!leaf.allowed_values || leaf.allowed_values.length === 0) {
|
|
104
|
-
return undefined;
|
|
105
|
-
}
|
|
106
|
-
return leaf.allowed_values.map((av) => ({
|
|
107
|
-
display_name: av.display_name,
|
|
108
|
-
value: { type: 'string' as TQorusType, value: av.value },
|
|
109
|
-
}));
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Converts a single catalogue leaf to a `<Options>` field schema. Group
|
|
114
|
-
* / map / list nodes are not form fields and must not be passed here.
|
|
115
|
-
*
|
|
116
|
-
* The cast bridges `select-string` (an `IQorusType` the `auto` field
|
|
117
|
-
* renders) past the narrower `TQorusType` the schema object is typed
|
|
118
|
-
* with.
|
|
119
|
-
*/
|
|
120
|
-
export const catalogLeafToFieldSchema = (
|
|
121
|
-
leaf: ICatalogLeaf
|
|
122
|
-
): IOptionsSchema[string] => {
|
|
123
|
-
const { fieldType, elementType } = catalogTypeToFieldType(leaf.type);
|
|
124
|
-
const allowedValues = toAllowedValues(leaf);
|
|
125
|
-
return {
|
|
126
|
-
type: fieldType,
|
|
127
|
-
ui_type: fieldType,
|
|
128
|
-
display_name: leaf.display_name,
|
|
129
|
-
short_desc: leaf.short_desc,
|
|
130
|
-
desc: leaf.desc,
|
|
131
|
-
required: !!leaf.required && !isOptionalType(leaf.type),
|
|
132
|
-
...(elementType ? { element_type: elementType } : {}),
|
|
133
|
-
...(allowedValues ? { allowed_values: allowedValues } : {}),
|
|
134
|
-
} as unknown as IOptionsSchema[string];
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Builds a new map / list entry pre-seeded with sensible defaults so
|
|
139
|
-
* it does not open in an invalid state — every required enum leaf is
|
|
140
|
-
* set to its first allowed value (a new column defaults to the first
|
|
141
|
-
* column type, a new migration step to the first action, …).
|
|
142
|
-
*/
|
|
143
|
-
export const seedNewEntry = (
|
|
144
|
-
options: ICatalogOptions
|
|
145
|
-
): Record<string, unknown> => {
|
|
146
|
-
const seed: Record<string, unknown> = {};
|
|
147
|
-
Object.entries(options).forEach(([key, node]) => {
|
|
148
|
-
if (
|
|
149
|
-
isCatalogLeaf(node) &&
|
|
150
|
-
node.required &&
|
|
151
|
-
node.allowed_values &&
|
|
152
|
-
node.allowed_values.length > 0
|
|
153
|
-
) {
|
|
154
|
-
seed[key] = node.allowed_values[0].value;
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
return seed;
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Splits a catalogue `options` hash into its leaf fields (rendered as
|
|
162
|
-
* one `<Options>` form) and its nested group / map / list children
|
|
163
|
-
* (each rendered by its own recursive editor).
|
|
164
|
-
*/
|
|
165
|
-
export const partitionCatalogOptions = (options: ICatalogOptions) => {
|
|
166
|
-
const leaves: ICatalogOptions = {};
|
|
167
|
-
const nested: Array<[string, ICatalogNode]> = [];
|
|
168
|
-
Object.entries(options).forEach(([key, node]) => {
|
|
169
|
-
if (isCatalogLeaf(node)) {
|
|
170
|
-
leaves[key] = node;
|
|
171
|
-
} else {
|
|
172
|
-
nested.push([key, node]);
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
return { leaves, nested };
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
/** Builds the `<Options>` schema for the leaf subset of a catalogue hash. */
|
|
179
|
-
export const leavesToOptionsSchema = (
|
|
180
|
-
leaves: ICatalogOptions
|
|
181
|
-
): IOptionsSchema => {
|
|
182
|
-
const schema: IOptionsSchema = {};
|
|
183
|
-
Object.entries(leaves).forEach(([key, node]) => {
|
|
184
|
-
if (isCatalogLeaf(node)) {
|
|
185
|
-
schema[key] = catalogLeafToFieldSchema(node);
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
return schema;
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* Wraps a plain definition hash into the `{type, value}` form
|
|
193
|
-
* `<Options>` expects, keyed only by the leaf fields in `schema`.
|
|
194
|
-
*/
|
|
195
|
-
export const hashToOptionsValue = (
|
|
196
|
-
hash: Record<string, unknown> | undefined,
|
|
197
|
-
schema: IOptionsSchema
|
|
198
|
-
): IOptions => {
|
|
199
|
-
const value: IOptions = {};
|
|
200
|
-
Object.entries(schema).forEach(([key, field]) => {
|
|
201
|
-
if (hash && hash[key] !== undefined) {
|
|
202
|
-
let raw = hash[key];
|
|
203
|
-
// The `<Options>` list field expects elements wrapped as
|
|
204
|
-
// `{value, type}` — a bare `['a','b']` renders as empty rows.
|
|
205
|
-
if (field.type === 'list' && Array.isArray(raw)) {
|
|
206
|
-
const elementType =
|
|
207
|
-
(field as { element_type?: string }).element_type ?? 'string';
|
|
208
|
-
raw = raw.map((el) => ({ value: el, type: elementType }));
|
|
209
|
-
}
|
|
210
|
-
value[key] = {
|
|
211
|
-
type: field.type as TQorusType,
|
|
212
|
-
value: raw,
|
|
213
|
-
} as TOption;
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
return value;
|
|
217
|
-
};
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Inverse of {@link hashToOptionsValue}'s list wrapping — flattens a
|
|
221
|
-
* `<Options>` list value (`[{value, type}]`) back to the bare array
|
|
222
|
-
* (`['a', 'b']`) the DataSchema definition stores.
|
|
223
|
-
*/
|
|
224
|
-
export const unwrapListValues = (
|
|
225
|
-
flat: Record<string, unknown>,
|
|
226
|
-
schema: IOptionsSchema
|
|
227
|
-
): void => {
|
|
228
|
-
Object.entries(schema).forEach(([key, field]) => {
|
|
229
|
-
if (field.type === 'list' && Array.isArray(flat[key])) {
|
|
230
|
-
flat[key] = (flat[key] as unknown[]).map((el) =>
|
|
231
|
-
el && typeof el === 'object' && 'value' in el
|
|
232
|
-
? (el as { value: unknown }).value
|
|
233
|
-
: el
|
|
234
|
-
);
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
};
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Small pure helpers shared across the schema-definition editor —
|
|
3
|
-
* immutable hash/list mutations and display formatting. No React here.
|
|
4
|
-
*/
|
|
5
|
-
import { IReqoreIconName } from '@qoretechnologies/reqore/dist/types/icons';
|
|
6
|
-
|
|
7
|
-
/** Immutably sets a key on a hash, preserving insertion order. */
|
|
8
|
-
export const setKey = <T>(
|
|
9
|
-
hash: Record<string, T> | undefined,
|
|
10
|
-
key: string,
|
|
11
|
-
value: T
|
|
12
|
-
): Record<string, T> => ({ ...(hash ?? {}), [key]: value });
|
|
13
|
-
|
|
14
|
-
/** Immutably removes a key from a hash. */
|
|
15
|
-
export const removeKey = <T>(
|
|
16
|
-
hash: Record<string, T> | undefined,
|
|
17
|
-
key: string
|
|
18
|
-
): Record<string, T> => {
|
|
19
|
-
const next = { ...(hash ?? {}) };
|
|
20
|
-
delete next[key];
|
|
21
|
-
return next;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Immutably renames a hash key while preserving the position of every
|
|
26
|
-
* entry — important so a rename doesn't reorder a table's column list.
|
|
27
|
-
*/
|
|
28
|
-
export const renameKey = <T>(
|
|
29
|
-
hash: Record<string, T> | undefined,
|
|
30
|
-
oldKey: string,
|
|
31
|
-
newKey: string
|
|
32
|
-
): Record<string, T> => {
|
|
33
|
-
if (!hash || oldKey === newKey) return { ...(hash ?? {}) };
|
|
34
|
-
const next: Record<string, T> = {};
|
|
35
|
-
Object.entries(hash).forEach(([k, v]) => {
|
|
36
|
-
next[k === oldKey ? newKey : k] = v;
|
|
37
|
-
});
|
|
38
|
-
return next;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Picks a unique key for a new map entry — `base`, then `base_2`,
|
|
43
|
-
* `base_3`, … — so "Add" never silently overwrites an existing entry.
|
|
44
|
-
*/
|
|
45
|
-
export const uniqueKey = (
|
|
46
|
-
hash: Record<string, unknown> | undefined,
|
|
47
|
-
base: string
|
|
48
|
-
): string => {
|
|
49
|
-
if (!hash || hash[base] === undefined) return base;
|
|
50
|
-
let n = 2;
|
|
51
|
-
while (hash[`${base}_${n}`] !== undefined) n += 1;
|
|
52
|
-
return `${base}_${n}`;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
/** Tab / section icon for a definition section key. */
|
|
56
|
-
export const SECTION_ICONS: Record<string, IReqoreIconName> = {
|
|
57
|
-
schema: 'InformationLine',
|
|
58
|
-
tables: 'Table2',
|
|
59
|
-
sequences: 'SortNumberAsc',
|
|
60
|
-
reference_data: 'SeedlingLine',
|
|
61
|
-
reference: 'SeedlingLine',
|
|
62
|
-
migrations: 'GitBranchLine',
|
|
63
|
-
advanced: 'Settings3Line',
|
|
64
|
-
columns: 'LayoutColumnLine',
|
|
65
|
-
indexes: 'SearchLine',
|
|
66
|
-
constraints: 'LinksLine',
|
|
67
|
-
auto_triggers: 'FlashlightLine',
|
|
68
|
-
triggers: 'FlashlightLine',
|
|
69
|
-
primary_key: 'Key2Line',
|
|
70
|
-
unique_constraints: 'Fingerprint2Line',
|
|
71
|
-
foreign_constraints: 'LinksLine',
|
|
72
|
-
pre_align: 'ArrowGoBackLine',
|
|
73
|
-
post_align: 'ArrowGoForwardLine',
|
|
74
|
-
reference_rows: 'SeedlingLine',
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
/** Formats an arbitrary definition value for the read-only viewer. */
|
|
78
|
-
export const formatValue = (value: unknown): string => {
|
|
79
|
-
if (value === null || value === undefined) return '—';
|
|
80
|
-
if (typeof value === 'string') return value;
|
|
81
|
-
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
82
|
-
return String(value);
|
|
83
|
-
}
|
|
84
|
-
if (Array.isArray(value)) return value.map(formatValue).join(', ');
|
|
85
|
-
return JSON.stringify(value);
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
/** Count of entries in a hash section (0 when absent). */
|
|
89
|
-
export const sectionCount = (hash: unknown): number =>
|
|
90
|
-
hash && typeof hash === 'object' ? Object.keys(hash).length : 0;
|