@qoretechnologies/reqraft 0.10.66-pr.145.gcb1e59d → 0.10.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -1
- package/dist/components/Description/AllowedValuesHelp.d.ts +20 -0
- package/dist/components/Description/AllowedValuesHelp.d.ts.map +1 -0
- package/dist/components/Description/AllowedValuesHelp.js +86 -0
- package/dist/components/Description/AllowedValuesHelp.js.map +1 -0
- package/dist/components/Description/describedControl.d.ts +54 -0
- package/dist/components/Description/describedControl.d.ts.map +1 -0
- package/dist/components/Description/describedControl.js +81 -0
- package/dist/components/Description/describedControl.js.map +1 -0
- package/dist/components/Description/index.d.ts.map +1 -1
- package/dist/components/Description/index.js +3 -2
- package/dist/components/Description/index.js.map +1 -1
- package/dist/components/colorValue/colorValue.d.ts +59 -0
- package/dist/components/colorValue/colorValue.d.ts.map +1 -0
- package/dist/components/colorValue/colorValue.js +245 -0
- package/dist/components/colorValue/colorValue.js.map +1 -0
- package/dist/components/colorValue/index.d.ts +34 -0
- package/dist/components/colorValue/index.d.ts.map +1 -0
- package/dist/components/colorValue/index.js +136 -0
- package/dist/components/colorValue/index.js.map +1 -0
- package/dist/components/colorValue/labels.d.ts +12 -0
- package/dist/components/colorValue/labels.d.ts.map +1 -0
- package/dist/components/colorValue/labels.js +11 -0
- package/dist/components/colorValue/labels.js.map +1 -0
- package/dist/components/composer/Composer.d.ts +1 -1
- package/dist/components/composer/Composer.d.ts.map +1 -1
- package/dist/components/composer/Composer.js +2 -2
- package/dist/components/composer/Composer.js.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.js +156 -10
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlCompletions.d.ts +39 -0
- package/dist/components/dpqlEditor/dpqlCompletions.d.ts.map +1 -0
- package/dist/components/dpqlEditor/dpqlCompletions.js +294 -0
- package/dist/components/dpqlEditor/dpqlCompletions.js.map +1 -0
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +54 -5
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +420 -63
- package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlInserter.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlInserter.js +67 -29
- package/dist/components/dpqlEditor/dpqlInserter.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.d.ts +17 -7
- package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.js +44 -17
- package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +94 -8
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +7 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +49 -17
- package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +336 -243
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +20 -57
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +67 -59
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +606 -409
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
- package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
- package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
- package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts +2 -18
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +28 -25
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/OptionsHelpDialog.d.ts.map +1 -1
- package/dist/components/form/engine/OptionsHelpDialog.js +19 -2
- package/dist/components/form/engine/OptionsHelpDialog.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +11 -31
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +30 -6
- package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowContext.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts +56 -31
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +121 -110
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
- package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
- package/dist/components/form/engine/compactToolbarColors.js +21 -0
- package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
- package/dist/components/form/engine/compactToolbarContext.d.ts +0 -3
- package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
- package/dist/components/form/engine/inheritProps.d.ts +29 -0
- package/dist/components/form/engine/inheritProps.d.ts.map +1 -0
- package/dist/components/form/engine/inheritProps.js +43 -0
- package/dist/components/form/engine/inheritProps.js.map +1 -0
- package/dist/components/form/engine/operatorSummary.d.ts +26 -0
- package/dist/components/form/engine/operatorSummary.d.ts.map +1 -0
- package/dist/components/form/engine/operatorSummary.js +35 -0
- package/dist/components/form/engine/operatorSummary.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +26 -22
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +79 -115
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/readFirstColors.d.ts +30 -0
- package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
- package/dist/components/form/engine/readFirstColors.js +51 -0
- package/dist/components/form/engine/readFirstColors.js.map +1 -0
- package/dist/components/form/engine/rowFocus.d.ts +3 -9
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +30 -19
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/engine/typeChoices.d.ts +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.js +2 -1
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
- package/dist/components/form/engine/variants/variantParts.js +25 -17
- package/dist/components/form/engine/variants/variantParts.js.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.js +7 -6
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts +67 -3
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +536 -114
- package/dist/components/form/expressions/ExpressionField.js.map +1 -1
- package/dist/components/form/expressions/argumentPresence.d.ts +14 -0
- package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -1
- package/dist/components/form/expressions/argumentPresence.js +16 -1
- package/dist/components/form/expressions/argumentPresence.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
- package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.js +30 -11
- package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js +3 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts +9 -0
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +30 -27
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +7 -5
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
- package/dist/components/form/expressions/builder/index.d.ts +34 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +170 -80
- package/dist/components/form/expressions/builder/index.js.map +1 -1
- package/dist/components/form/expressions/builder/item.d.ts +6 -2
- package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/item.js +19 -5
- package/dist/components/form/expressions/builder/item.js.map +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
- package/dist/components/form/expressions/dpqlMockRecordPath.d.ts +11 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.d.ts.map +1 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.js +254 -0
- package/dist/components/form/expressions/dpqlMockRecordPath.js.map +1 -0
- package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
- package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
- package/dist/components/form/expressions/expressionOperands.js +97 -0
- package/dist/components/form/expressions/expressionOperands.js.map +1 -0
- package/dist/components/form/expressions/fieldPath.d.ts +24 -0
- package/dist/components/form/expressions/fieldPath.d.ts.map +1 -0
- package/dist/components/form/expressions/fieldPath.js +152 -0
- package/dist/components/form/expressions/fieldPath.js.map +1 -0
- package/dist/components/form/expressions/loneValue.d.ts +17 -0
- package/dist/components/form/expressions/loneValue.d.ts.map +1 -0
- package/dist/components/form/expressions/loneValue.js +33 -0
- package/dist/components/form/expressions/loneValue.js.map +1 -0
- package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/mockExpressions.js +22 -5
- package/dist/components/form/expressions/mockExpressions.js.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
- package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.js +37 -25
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
- package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
- package/dist/components/form/expressions/textOfExpression.js +49 -0
- package/dist/components/form/expressions/textOfExpression.js.map +1 -0
- package/dist/components/form/expressions/types.d.ts +12 -0
- package/dist/components/form/expressions/types.d.ts.map +1 -1
- package/dist/components/form/expressions/types.js +6 -1
- package/dist/components/form/expressions/types.js.map +1 -1
- package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
- package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
- package/dist/components/form/expressions/useExpressionType.js +181 -0
- package/dist/components/form/expressions/useExpressionType.js.map +1 -0
- package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
- package/dist/components/form/expressions/useRenderExpression.js +13 -9
- package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
- package/dist/components/form/expressions/wildcardExpressions.d.ts +27 -0
- package/dist/components/form/expressions/wildcardExpressions.d.ts.map +1 -0
- package/dist/components/form/expressions/wildcardExpressions.js +101 -0
- package/dist/components/form/expressions/wildcardExpressions.js.map +1 -0
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +39 -18
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +0 -7
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +46 -35
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/allowed-values/choicePicture.d.ts +37 -0
- package/dist/components/form/fields/allowed-values/choicePicture.d.ts.map +1 -0
- package/dist/components/form/fields/allowed-values/choicePicture.js +64 -0
- package/dist/components/form/fields/allowed-values/choicePicture.js.map +1 -0
- package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.js +24 -0
- package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
- package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +30 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +123 -79
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
- package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
- package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
- package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
- package/dist/components/form/fields/binary/Binary.js +23 -3
- package/dist/components/form/fields/binary/Binary.js.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
- package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.js +9 -1
- package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
- package/dist/components/form/fields/color/Color.d.ts +103 -16
- package/dist/components/form/fields/color/Color.d.ts.map +1 -1
- package/dist/components/form/fields/color/Color.js +616 -16
- package/dist/components/form/fields/color/Color.js.map +1 -1
- package/dist/components/form/fields/emittedValues.d.ts +34 -3
- package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
- package/dist/components/form/fields/emittedValues.js +24 -1
- package/dist/components/form/fields/emittedValues.js.map +1 -1
- package/dist/components/form/fields/file/File.d.ts +1 -1
- package/dist/components/form/fields/file/File.d.ts.map +1 -1
- package/dist/components/form/fields/file/File.js +4 -2
- package/dist/components/form/fields/file/File.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts +1 -7
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +30 -13
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +10 -7
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +7 -4
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +45 -18
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/object/Object.d.ts +1 -1
- package/dist/components/form/fields/object/Object.d.ts.map +1 -1
- package/dist/components/form/fields/object/Object.js +4 -2
- package/dist/components/form/fields/object/Object.js.map +1 -1
- package/dist/components/form/fields/pendingEdit.d.ts +52 -0
- package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
- package/dist/components/form/fields/pendingEdit.js +79 -0
- package/dist/components/form/fields/pendingEdit.js.map +1 -0
- package/dist/components/form/fields/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/form/fields/radio-group/RadioGroup.js +8 -13
- package/dist/components/form/fields/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts +20 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +426 -91
- package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js +80 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
- package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/index.js +8 -4
- package/dist/components/form/fields/schema-definition/index.js.map +1 -1
- package/dist/components/form/fields/select/Select.d.ts +10 -1
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +28 -14
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts +5 -0
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +25 -12
- package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
- package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
- package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
- package/dist/components/form/fields/select/unavailableRow.js +55 -0
- package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +11 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +21 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateBrowser.d.ts +16 -0
- package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplateBrowser.js +89 -0
- package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
- package/dist/components/form/fields/template/TemplateField.d.ts +105 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +706 -168
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/form/fields/template/TemplatePicker.d.ts +54 -0
- package/dist/components/form/fields/template/TemplatePicker.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplatePicker.js +459 -0
- package/dist/components/form/fields/template/TemplatePicker.js.map +1 -0
- package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
- package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateText.js +22 -16
- package/dist/components/form/fields/template/TemplateText.js.map +1 -1
- package/dist/components/form/fields/template/referenceNames.d.ts +63 -0
- package/dist/components/form/fields/template/referenceNames.d.ts.map +1 -0
- package/dist/components/form/fields/template/referenceNames.js +69 -0
- package/dist/components/form/fields/template/referenceNames.js.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts +61 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.js +204 -0
- package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
- package/dist/components/form/index.d.ts +12 -2
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +25 -3
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/form/typeSentenceForm.d.ts +17 -0
- package/dist/components/form/typeSentenceForm.d.ts.map +1 -0
- package/dist/components/form/typeSentenceForm.js +54 -0
- package/dist/components/form/typeSentenceForm.js.map +1 -0
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +19 -9
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/log/Log.d.ts.map +1 -1
- package/dist/components/log/Log.js +20 -8
- package/dist/components/log/Log.js.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +19 -10
- package/dist/components/menu/Menu.js.map +1 -1
- package/dist/components/smartEditor/CompletionMenu.d.ts +53 -0
- package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
- package/dist/components/smartEditor/CompletionMenu.js +302 -0
- package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
- package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
- package/dist/components/smartEditor/MarkdownDoc.js +3 -3
- package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
- package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
- package/dist/components/smartEditor/SmartEditor.js +616 -190
- package/dist/components/smartEditor/SmartEditor.js.map +1 -1
- package/dist/components/smartEditor/completionStyle.d.ts +28 -0
- package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
- package/dist/components/smartEditor/completionStyle.js +79 -0
- package/dist/components/smartEditor/completionStyle.js.map +1 -0
- package/dist/components/smartEditor/contextTitle.d.ts +10 -0
- package/dist/components/smartEditor/contextTitle.d.ts.map +1 -0
- package/dist/components/smartEditor/contextTitle.js +21 -0
- package/dist/components/smartEditor/contextTitle.js.map +1 -0
- package/dist/components/smartEditor/editingAids.d.ts +64 -0
- package/dist/components/smartEditor/editingAids.d.ts.map +1 -0
- package/dist/components/smartEditor/editingAids.js +213 -0
- package/dist/components/smartEditor/editingAids.js.map +1 -0
- package/dist/components/smartEditor/index.d.ts +6 -1
- package/dist/components/smartEditor/index.d.ts.map +1 -1
- package/dist/components/smartEditor/index.js +19 -1
- package/dist/components/smartEditor/index.js.map +1 -1
- package/dist/components/smartEditor/templateCompletions.d.ts +98 -0
- package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
- package/dist/components/smartEditor/templateCompletions.js +380 -0
- package/dist/components/smartEditor/templateCompletions.js.map +1 -0
- package/dist/components/smartEditor/typedReferences.d.ts +34 -0
- package/dist/components/smartEditor/typedReferences.d.ts.map +1 -0
- package/dist/components/smartEditor/typedReferences.js +179 -0
- package/dist/components/smartEditor/typedReferences.js.map +1 -0
- package/dist/components/smartEditor/types.d.ts +116 -2
- package/dist/components/smartEditor/types.d.ts.map +1 -1
- package/dist/components/smartEditor/useEditingAids.d.ts +38 -0
- package/dist/components/smartEditor/useEditingAids.d.ts.map +1 -0
- package/dist/components/smartEditor/useEditingAids.js +392 -0
- package/dist/components/smartEditor/useEditingAids.js.map +1 -0
- package/dist/components/smartEditor/useLspAutocomplete.d.ts +106 -3
- package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.js +592 -149
- package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
- package/dist/components/smartEditor/useLspHover.d.ts +33 -7
- package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspHover.js +364 -35
- package/dist/components/smartEditor/useLspHover.js.map +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
- package/dist/components/smartEditor/useLspSession.d.ts +6 -0
- package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSession.js +7 -6
- package/dist/components/smartEditor/useLspSession.js.map +1 -1
- package/dist/components/smartEditor/useLspSignatureHelp.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSignatureHelp.js +6 -11
- package/dist/components/smartEditor/useLspSignatureHelp.js.map +1 -1
- package/dist/components/smartEditor/useTabCameIn.d.ts +10 -0
- package/dist/components/smartEditor/useTabCameIn.d.ts.map +1 -0
- package/dist/components/smartEditor/useTabCameIn.js +42 -0
- package/dist/components/smartEditor/useTabCameIn.js.map +1 -0
- package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.js +15 -5
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +2 -3
- package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -1
- package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +9 -3
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +38 -23
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +21 -6
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketReplyBox.js +10 -29
- package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
- package/dist/components/supportTicket/useLoadedImages.d.ts +0 -10
- package/dist/components/supportTicket/useLoadedImages.d.ts.map +1 -1
- package/dist/components/supportTicket/useLoadedImages.js +1 -63
- package/dist/components/supportTicket/useLoadedImages.js.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +10 -9
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
- package/dist/components/ticketThread/TicketThread.js +52 -21
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/allowedValues.d.ts +21 -12
- package/dist/helpers/allowedValues.d.ts.map +1 -1
- package/dist/helpers/allowedValues.js +40 -20
- package/dist/helpers/allowedValues.js.map +1 -1
- package/dist/helpers/descriptionTooltip.d.ts +46 -0
- package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
- package/dist/helpers/descriptionTooltip.js +76 -0
- package/dist/helpers/descriptionTooltip.js.map +1 -0
- package/dist/helpers/domProps.d.ts +5 -0
- package/dist/helpers/domProps.d.ts.map +1 -0
- package/dist/helpers/domProps.js +47 -0
- package/dist/helpers/domProps.js.map +1 -0
- package/dist/helpers/expressions.d.ts +115 -4
- package/dist/helpers/expressions.d.ts.map +1 -1
- package/dist/helpers/expressions.js +247 -29
- package/dist/helpers/expressions.js.map +1 -1
- package/dist/helpers/hoveringPointer.d.ts +26 -0
- package/dist/helpers/hoveringPointer.d.ts.map +1 -0
- package/dist/helpers/hoveringPointer.js +29 -0
- package/dist/helpers/hoveringPointer.js.map +1 -0
- package/dist/helpers/markdownText.d.ts +14 -0
- package/dist/helpers/markdownText.d.ts.map +1 -0
- package/dist/helpers/markdownText.js +160 -0
- package/dist/helpers/markdownText.js.map +1 -0
- package/dist/helpers/noDescription.d.ts +9 -0
- package/dist/helpers/noDescription.d.ts.map +1 -0
- package/dist/helpers/noDescription.js +13 -0
- package/dist/helpers/noDescription.js.map +1 -0
- package/dist/helpers/optionUiTypes.d.ts +2 -2
- package/dist/helpers/qorusTypeCatalogue.d.ts +147 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.js +505 -0
- package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
- package/dist/helpers/readableColors.d.ts +36 -0
- package/dist/helpers/readableColors.d.ts.map +1 -0
- package/dist/helpers/readableColors.js +116 -0
- package/dist/helpers/readableColors.js.map +1 -0
- package/dist/helpers/recordFieldReference.d.ts +15 -0
- package/dist/helpers/recordFieldReference.d.ts.map +1 -0
- package/dist/helpers/recordFieldReference.js +89 -0
- package/dist/helpers/recordFieldReference.js.map +1 -0
- package/dist/helpers/singleLineString.d.ts.map +1 -1
- package/dist/helpers/singleLineString.js +0 -1
- package/dist/helpers/singleLineString.js.map +1 -1
- package/dist/helpers/templateCatalogue.d.ts +104 -0
- package/dist/helpers/templateCatalogue.d.ts.map +1 -0
- package/dist/helpers/templateCatalogue.js +116 -0
- package/dist/helpers/templateCatalogue.js.map +1 -0
- package/dist/helpers/templateCatalogueContext.d.ts +19 -0
- package/dist/helpers/templateCatalogueContext.d.ts.map +1 -0
- package/dist/helpers/templateCatalogueContext.js +31 -0
- package/dist/helpers/templateCatalogueContext.js.map +1 -0
- package/dist/helpers/templateItems.d.ts +2 -2
- package/dist/helpers/templateItems.d.ts.map +1 -1
- package/dist/helpers/templateItems.js +6 -4
- package/dist/helpers/templateItems.js.map +1 -1
- package/dist/helpers/templateText.d.ts +1 -0
- package/dist/helpers/templateText.d.ts.map +1 -1
- package/dist/helpers/templateText.js +7 -3
- package/dist/helpers/templateText.js.map +1 -1
- package/dist/helpers/templateTree.d.ts +248 -0
- package/dist/helpers/templateTree.d.ts.map +1 -0
- package/dist/helpers/templateTree.js +892 -0
- package/dist/helpers/templateTree.js.map +1 -0
- package/dist/helpers/templateType.d.ts +28 -0
- package/dist/helpers/templateType.d.ts.map +1 -0
- package/dist/helpers/templateType.js +30 -0
- package/dist/helpers/templateType.js.map +1 -0
- package/dist/helpers/templates.d.ts +86 -16
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +305 -45
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +27 -0
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +169 -39
- package/dist/helpers/validations.js.map +1 -1
- package/dist/helpers/webLink.d.ts +8 -0
- package/dist/helpers/webLink.d.ts.map +1 -0
- package/dist/helpers/webLink.js +29 -0
- package/dist/helpers/webLink.js.map +1 -0
- package/dist/hooks/useQorusTypes.d.ts +12 -17
- package/dist/hooks/useQorusTypes.d.ts.map +1 -1
- package/dist/hooks/useQorusTypes.js +44 -172
- package/dist/hooks/useQorusTypes.js.map +1 -1
- package/dist/hooks/useReadableIntentShade.d.ts +9 -0
- package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
- package/dist/hooks/useReadableIntentShade.js +23 -0
- package/dist/hooks/useReadableIntentShade.js.map +1 -0
- package/dist/hooks/useReadableOpacity.d.ts +6 -0
- package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
- package/dist/hooks/useReadableOpacity.js +17 -0
- package/dist/hooks/useReadableOpacity.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
- package/dist/tracking/ui/ExperimentCard.js +26 -10
- package/dist/tracking/ui/ExperimentCard.js.map +1 -1
- package/dist/tracking/ui/card.d.ts +2 -2
- package/dist/tracking/ui/card.d.ts.map +1 -1
- package/dist/tracking/ui/card.js +2 -2
- package/dist/tracking/ui/card.js.map +1 -1
- package/dist/tracking/ui/readable.d.ts +14 -0
- package/dist/tracking/ui/readable.d.ts.map +1 -0
- package/dist/tracking/ui/readable.js +60 -0
- package/dist/tracking/ui/readable.js.map +1 -0
- package/dist/utils/fetch.d.ts +9 -2
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +6 -5
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/lspClient.types.d.ts +2 -0
- package/dist/utils/lspClient.types.d.ts.map +1 -1
- package/dist/utils/websocket.d.ts +65 -2
- package/dist/utils/websocket.d.ts.map +1 -1
- package/dist/utils/websocket.js +276 -44
- package/dist/utils/websocket.js.map +1 -1
- package/package.json +14 -6
- package/.claude/CLAUDE.md +0 -317
- package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
- package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
- package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
- package/.tasks/FIELD_STACK_REPORT.md +0 -234
- package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
- package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
- package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
- package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
- package/.tasks/INDEX.md +0 -111
- package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
- package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
- package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
- package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
- package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
- package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
- package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
- package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
- package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
- package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
- package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
- package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
- package/CODE_OF_CONDUCT.md +0 -105
- package/CONTRIBUTING.MD +0 -78
- package/SECURITY.md +0 -3
- package/chromatic.config.json +0 -5
- package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
- package/design/COMPACT_INFO_DISPLAY.md +0 -87
- package/design/COMPACT_PARITY.md +0 -85
- package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
- package/design/FORM_ENGINE_COMPACT.md +0 -300
- package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
- package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
- package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
- package/design/IDE_INTEGRATION.md +0 -64
- package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
- package/design/SELECT_DIALOG_FLOOR.md +0 -86
- package/design/SMART_EDITOR_UX.md +0 -438
- package/design/TRACKING.md +0 -290
- package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
- package/dist/components/form/engine/formAppearance.d.ts +0 -49
- package/dist/components/form/engine/formAppearance.d.ts.map +0 -1
- package/dist/components/form/engine/formAppearance.js +0 -50
- package/dist/components/form/engine/formAppearance.js.map +0 -1
- package/dist/components/form/fields/ChoiceGroupHeading.d.ts +0 -21
- package/dist/components/form/fields/ChoiceGroupHeading.d.ts.map +0 -1
- package/dist/components/form/fields/ChoiceGroupHeading.js +0 -33
- package/dist/components/form/fields/ChoiceGroupHeading.js.map +0 -1
- package/dist/components/form/fields/allowed-values/savedValues.d.ts +0 -30
- package/dist/components/form/fields/allowed-values/savedValues.d.ts.map +0 -1
- package/dist/components/form/fields/allowed-values/savedValues.js +0 -39
- package/dist/components/form/fields/allowed-values/savedValues.js.map +0 -1
- package/dist/helpers/fieldDescription.d.ts +0 -16
- package/dist/helpers/fieldDescription.d.ts.map +0 -1
- package/dist/helpers/fieldDescription.js +0 -40
- package/dist/helpers/fieldDescription.js.map +0 -1
- package/src/components/Description/index.tsx +0 -254
- package/src/components/Description/markdownRendererContext.tsx +0 -29
- package/src/components/FocusedEditing/index.tsx +0 -50
- package/src/components/codeSize/index.tsx +0 -79
- package/src/components/composer/Composer.stories.tsx +0 -238
- package/src/components/composer/Composer.tsx +0 -554
- package/src/components/composer/helpers.ts +0 -74
- package/src/components/composer/index.ts +0 -2
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
- package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
- package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
- package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
- package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
- package/src/components/dpqlEditor/dpqlTags.ts +0 -114
- package/src/components/dpqlEditor/index.ts +0 -41
- package/src/components/dpqlEditor/types.ts +0 -203
- package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
- package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
- package/src/components/form/engine/CompactRow.tsx +0 -2740
- package/src/components/form/engine/CompactToolbar.tsx +0 -399
- package/src/components/form/engine/FormEngine.stories.tsx +0 -9934
- package/src/components/form/engine/FormEngine.tsx +0 -4891
- package/src/components/form/engine/FormEngineAppearance.stories.tsx +0 -609
- package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -335
- package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
- package/src/components/form/engine/OptionFieldMessages.tsx +0 -548
- package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
- package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
- package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
- package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -755
- package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
- package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
- package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
- package/src/components/form/engine/compactRowContext.ts +0 -153
- package/src/components/form/engine/compactRowStyles.ts +0 -1087
- package/src/components/form/engine/compactToolbarContext.ts +0 -72
- package/src/components/form/engine/formAppearance.ts +0 -79
- package/src/components/form/engine/optionActions.ts +0 -128
- package/src/components/form/engine/optionsContext.ts +0 -24
- package/src/components/form/engine/readFirst.ts +0 -1090
- package/src/components/form/engine/rendererTypes.ts +0 -107
- package/src/components/form/engine/revealRow.ts +0 -123
- package/src/components/form/engine/rowFocus.ts +0 -112
- package/src/components/form/engine/rowMenuContext.ts +0 -159
- package/src/components/form/engine/rowOpenPicker.ts +0 -27
- package/src/components/form/engine/typeChoices.ts +0 -63
- package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
- package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
- package/src/components/form/engine/variants/VariantCards.tsx +0 -212
- package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
- package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
- package/src/components/form/engine/variants/focusDemo.ts +0 -145
- package/src/components/form/engine/variants/variantModel.ts +0 -223
- package/src/components/form/engine/variants/variantParts.tsx +0 -313
- package/src/components/form/expressions/DpqlRendering.tsx +0 -85
- package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
- package/src/components/form/expressions/ExpressionField.tsx +0 -503
- package/src/components/form/expressions/argumentPresence.ts +0 -213
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
- package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
- package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
- package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
- package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
- package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
- package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
- package/src/components/form/expressions/builder/index.tsx +0 -1545
- package/src/components/form/expressions/builder/item.tsx +0 -89
- package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
- package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
- package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
- package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
- package/src/components/form/expressions/mockExpressions.ts +0 -317
- package/src/components/form/expressions/renderExpressionToText.ts +0 -152
- package/src/components/form/expressions/types.ts +0 -110
- package/src/components/form/expressions/useExpressions.ts +0 -101
- package/src/components/form/expressions/useRenderExpression.ts +0 -165
- package/src/components/form/fields/ChoiceGroupHeading.tsx +0 -38
- package/src/components/form/fields/Field.stories.tsx +0 -143
- package/src/components/form/fields/Field.tsx +0 -734
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -321
- package/src/components/form/fields/allowed-values/savedValues.ts +0 -64
- package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
- package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
- package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
- package/src/components/form/fields/auto/AutoFormField.tsx +0 -1183
- package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
- package/src/components/form/fields/binary/Binary.tsx +0 -91
- package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
- package/src/components/form/fields/boolean/Boolean.tsx +0 -34
- package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
- package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
- package/src/components/form/fields/color/Color.stories.tsx +0 -99
- package/src/components/form/fields/color/Color.tsx +0 -46
- package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
- package/src/components/form/fields/cron/Cron.tsx +0 -80
- package/src/components/form/fields/date/Date.stories.tsx +0 -77
- package/src/components/form/fields/date/Date.tsx +0 -55
- package/src/components/form/fields/emittedValues.ts +0 -70
- package/src/components/form/fields/file/File.stories.tsx +0 -161
- package/src/components/form/fields/file/File.tsx +0 -227
- package/src/components/form/fields/long-string/LongString.stories.tsx +0 -147
- package/src/components/form/fields/long-string/LongString.tsx +0 -141
- package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
- package/src/components/form/fields/markdown/Markdown.tsx +0 -81
- package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -140
- package/src/components/form/fields/number/Number.stories.tsx +0 -159
- package/src/components/form/fields/number/Number.tsx +0 -175
- package/src/components/form/fields/object/Object.stories.tsx +0 -398
- package/src/components/form/fields/object/Object.tsx +0 -255
- package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
- package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -52
- package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
- package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
- package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
- package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
- package/src/components/form/fields/rich-text/RichText.tsx +0 -537
- package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
- package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
- package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
- package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
- package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
- package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
- package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
- package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
- package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
- package/src/components/form/fields/schema-definition/catalog.ts +0 -237
- package/src/components/form/fields/schema-definition/helpers.ts +0 -90
- package/src/components/form/fields/schema-definition/index.tsx +0 -418
- package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
- package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
- package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
- package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
- package/src/components/form/fields/schema-definition/types.ts +0 -185
- package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
- package/src/components/form/fields/select/Select.stories.tsx +0 -872
- package/src/components/form/fields/select/Select.tsx +0 -624
- package/src/components/form/fields/select/SelectCollection.tsx +0 -594
- package/src/components/form/fields/string/String.stories.tsx +0 -86
- package/src/components/form/fields/string/String.tsx +0 -43
- package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
- package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
- package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
- package/src/components/form/fields/template/TemplateField.tsx +0 -1749
- package/src/components/form/fields/template/TemplateText.tsx +0 -115
- package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
- package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
- package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
- package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
- package/src/components/form/fields/timeout/Timeout.tsx +0 -87
- package/src/components/form/fields/url/Url.stories.tsx +0 -94
- package/src/components/form/fields/url/Url.tsx +0 -85
- package/src/components/form/index.tsx +0 -49
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -238
- package/src/components/imageLightbox/index.ts +0 -1
- package/src/components/log/Log.stories.tsx +0 -333
- package/src/components/log/Log.tsx +0 -285
- package/src/components/menu/Menu.stories.tsx +0 -155
- package/src/components/menu/Menu.tsx +0 -312
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
- package/src/components/qonsoleSmartInput/index.ts +0 -16
- package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
- package/src/components/qonsoleSmartInput/types.ts +0 -133
- package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
- package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
- package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
- package/src/components/searchFilterBar/index.ts +0 -1
- package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
- package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
- package/src/components/smartEditor/SmartEditor.tsx +0 -808
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
- package/src/components/smartEditor/helpers.ts +0 -217
- package/src/components/smartEditor/index.ts +0 -35
- package/src/components/smartEditor/styling.ts +0 -45
- package/src/components/smartEditor/types.ts +0 -211
- package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
- package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
- package/src/components/smartEditor/useLspHover.ts +0 -230
- package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
- package/src/components/smartEditor/useLspSession.ts +0 -231
- package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
- package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
- package/src/components/supportTicket/AttachmentChips.tsx +0 -147
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -130
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -580
- package/src/components/supportTicket/ReferencePicker.tsx +0 -573
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -120
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -248
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
- package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -357
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -172
- package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
- package/src/components/supportTicket/attachmentAccess.ts +0 -97
- package/src/components/supportTicket/fileToAttachment.ts +0 -24
- package/src/components/supportTicket/index.ts +0 -10
- package/src/components/supportTicket/meta.ts +0 -206
- package/src/components/supportTicket/ticketModel.ts +0 -131
- package/src/components/supportTicket/useLoadedImages.ts +0 -93
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -341
- package/src/components/ticketReferences/TicketReferences.tsx +0 -914
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -898
- package/src/components/ticketThread/TicketThread.tsx +0 -706
- package/src/components/ticketThread/index.ts +0 -6
- package/src/contexts/FetchContext.tsx +0 -25
- package/src/contexts/ReqraftContext.tsx +0 -9
- package/src/contexts/StorageContext.tsx +0 -33
- package/src/global.d.ts +0 -4
- package/src/helpers/allowedValues.ts +0 -268
- package/src/helpers/choiceChip.ts +0 -227
- package/src/helpers/common.ts +0 -326
- package/src/helpers/dpqlDetection.ts +0 -209
- package/src/helpers/expressions.ts +0 -140
- package/src/helpers/fieldDescription.ts +0 -39
- package/src/helpers/optionUiTypes.ts +0 -199
- package/src/helpers/options.ts +0 -150
- package/src/helpers/providerValue.ts +0 -125
- package/src/helpers/scrollbar.ts +0 -32
- package/src/helpers/singleLineString.ts +0 -62
- package/src/helpers/templateItems.ts +0 -81
- package/src/helpers/templateText.ts +0 -350
- package/src/helpers/templates.ts +0 -602
- package/src/helpers/validations.ts +0 -2085
- package/src/hooks/useArgSchema.ts +0 -37
- package/src/hooks/useCoarsePointer.ts +0 -30
- package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
- package/src/hooks/useFetch/useFetch.tsx +0 -154
- package/src/hooks/usePhoneViewport.ts +0 -34
- package/src/hooks/useQorusTypes.ts +0 -233
- package/src/hooks/useReqraftProperty.ts +0 -16
- package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
- package/src/hooks/useStorage/useStorage.ts +0 -35
- package/src/hooks/useTemplates.ts +0 -123
- package/src/hooks/useValidation.ts +0 -9
- package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
- package/src/hooks/useWhyDidYouUpdate.ts +0 -38
- package/src/index.tsx +0 -86
- package/src/providers/FetchProvider.tsx +0 -40
- package/src/providers/ReqraftProvider.tsx +0 -52
- package/src/providers/StorageProvider.tsx +0 -131
- package/src/stores/currentUser/currentUser.stories.tsx +0 -100
- package/src/stores/currentUser/currentUser.tsx +0 -94
- package/src/stories/Data/fileFieldArgSchema.json +0 -86
- package/src/stories/Tests/utils.ts +0 -320
- package/src/stories/storyNetwork.ts +0 -92
- package/src/stories/tracking.tsx +0 -206
- package/src/tracking/browser/attach.ts +0 -186
- package/src/tracking/browser/env.ts +0 -78
- package/src/tracking/core/consent.ts +0 -37
- package/src/tracking/core/engagement.ts +0 -47
- package/src/tracking/core/experiments.ts +0 -258
- package/src/tracking/core/hash.ts +0 -26
- package/src/tracking/core/ids.ts +0 -25
- package/src/tracking/core/observable.ts +0 -23
- package/src/tracking/core/queue.ts +0 -131
- package/src/tracking/core/sections.ts +0 -166
- package/src/tracking/core/storage.ts +0 -69
- package/src/tracking/core/tracker.ts +0 -417
- package/src/tracking/core/types.ts +0 -162
- package/src/tracking/core/utm.ts +0 -23
- package/src/tracking/index.ts +0 -72
- package/src/tracking/markup.ts +0 -17
- package/src/tracking/react/Experiment.tsx +0 -44
- package/src/tracking/react/TrackingProvider.tsx +0 -56
- package/src/tracking/react/hooks.ts +0 -106
- package/src/tracking/react/index.ts +0 -13
- package/src/tracking/testing.ts +0 -108
- package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
- package/src/tracking/ui/ExperimentCard.tsx +0 -667
- package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
- package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
- package/src/tracking/ui/anchor.ts +0 -180
- package/src/tracking/ui/card.ts +0 -464
- package/src/tracking/ui/client.ts +0 -117
- package/src/tracking/ui/index.ts +0 -77
- package/src/tracking/ui/types.ts +0 -110
- package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
- package/src/types/Form.ts +0 -29
- package/src/types.ts +0 -14
- package/src/utils/datetime.ts +0 -10
- package/src/utils/fetch.ts +0 -457
- package/src/utils/lspClient.ts +0 -711
- package/src/utils/lspClient.types.ts +0 -211
- package/src/utils/queryUnlessCancelled.ts +0 -28
- package/src/utils/websocket.ts +0 -293
- package/vite.config.ts +0 -58
- package/vitest.config.ts +0 -69
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mock schema option catalogue — a faithful TypeScript mirror of the
|
|
3
|
-
* qorus#225 `SchemaMetadata.qc::getOptionCatalog` output.
|
|
4
|
-
*
|
|
5
|
-
* Stories and unit tests inject this through `catalogOverride` so the
|
|
6
|
-
* editor renders without a live Qorus. `buildMockCatalog(sandboxed)`
|
|
7
|
-
* reproduces the server's trusted / sandboxed split: sandboxed callers
|
|
8
|
-
* lose the trusted-only sections, column types, and migration actions.
|
|
9
|
-
*/
|
|
10
|
-
import {
|
|
11
|
-
ICatalogAllowedValue,
|
|
12
|
-
ICatalogGroup,
|
|
13
|
-
ICatalogLeaf,
|
|
14
|
-
ICatalogList,
|
|
15
|
-
ICatalogMap,
|
|
16
|
-
ICatalogOptions,
|
|
17
|
-
ISchemaOptionCatalog,
|
|
18
|
-
} from './types';
|
|
19
|
-
|
|
20
|
-
/** An enumerated allowed-value (`av` in the Qore source). */
|
|
21
|
-
const av = (value: string, display_name: string): ICatalogAllowedValue => ({
|
|
22
|
-
value,
|
|
23
|
-
display_name,
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
/** A scalar leaf option (`makeOption`). */
|
|
27
|
-
const opt = (
|
|
28
|
-
display_name: string,
|
|
29
|
-
short_desc: string,
|
|
30
|
-
type: string,
|
|
31
|
-
desc: string
|
|
32
|
-
): ICatalogLeaf => ({ display_name, short_desc, type, desc });
|
|
33
|
-
|
|
34
|
-
/** A scalar enum leaf (`makeEnumOption`). */
|
|
35
|
-
const enumOpt = (
|
|
36
|
-
display_name: string,
|
|
37
|
-
short_desc: string,
|
|
38
|
-
type: string,
|
|
39
|
-
desc: string,
|
|
40
|
-
allowed_values: ICatalogAllowedValue[]
|
|
41
|
-
): ICatalogLeaf => ({ display_name, short_desc, type, desc, allowed_values });
|
|
42
|
-
|
|
43
|
-
/** A wrapper node carrying a nested `options` tree (`makeOptionGroup`). */
|
|
44
|
-
const group = (
|
|
45
|
-
display_name: string,
|
|
46
|
-
short_desc: string,
|
|
47
|
-
desc: string,
|
|
48
|
-
options: ICatalogOptions
|
|
49
|
-
): ICatalogGroup => ({ display_name, short_desc, desc, options });
|
|
50
|
-
|
|
51
|
-
/** A name-keyed map field (`makeMapOption`). */
|
|
52
|
-
const mapOpt = (
|
|
53
|
-
display_name: string,
|
|
54
|
-
short_desc: string,
|
|
55
|
-
desc: string,
|
|
56
|
-
options: ICatalogOptions
|
|
57
|
-
): ICatalogMap => ({
|
|
58
|
-
display_name,
|
|
59
|
-
short_desc,
|
|
60
|
-
desc,
|
|
61
|
-
type: '*hash<auto>',
|
|
62
|
-
options,
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
/** A `*list<hash<auto>>` field with a per-element `options` shape. */
|
|
66
|
-
const listOpt = (
|
|
67
|
-
display_name: string,
|
|
68
|
-
short_desc: string,
|
|
69
|
-
desc: string,
|
|
70
|
-
options: ICatalogOptions
|
|
71
|
-
): ICatalogList => ({
|
|
72
|
-
display_name,
|
|
73
|
-
short_desc,
|
|
74
|
-
desc,
|
|
75
|
-
type: '*list<hash<auto>>',
|
|
76
|
-
options,
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
/** Marks a node required (`requiredOption`). */
|
|
80
|
-
const req = <T extends { required?: boolean }>(node: T): T => ({
|
|
81
|
-
...node,
|
|
82
|
-
required: true,
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
const primaryKeyOptions = (): ICatalogOptions => ({
|
|
86
|
-
name: opt('Name', 'Primary key constraint name', '*string', 'Optional explicit primary key constraint name.'),
|
|
87
|
-
columns: req(
|
|
88
|
-
opt('Columns', 'Primary key columns', 'list<string>', 'Ordered list of column names that form the primary key.')
|
|
89
|
-
),
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
const uniqueConstraintEntryOptions = (): ICatalogOptions => ({
|
|
93
|
-
columns: req(
|
|
94
|
-
opt('Columns', 'Unique constraint columns', 'list<string>', 'Ordered list of column names covered by the unique constraint.')
|
|
95
|
-
),
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
const foreignConstraintEntryOptions = (): ICatalogOptions => {
|
|
99
|
-
const fk = [
|
|
100
|
-
av('cascade', 'Cascade'),
|
|
101
|
-
av('set null', 'Set Null'),
|
|
102
|
-
av('set default', 'Set Default'),
|
|
103
|
-
av('restrict', 'Restrict'),
|
|
104
|
-
av('no action', 'No Action'),
|
|
105
|
-
];
|
|
106
|
-
return {
|
|
107
|
-
columns: req(opt('Columns', 'Local columns', 'list<string>', 'Local column names that reference the target table.')),
|
|
108
|
-
table: req(opt('Target Table', 'Referenced table', 'string', 'Name of the referenced (parent) table.')),
|
|
109
|
-
target_columns: req(
|
|
110
|
-
opt('Target Columns', 'Referenced columns', 'list<string>', 'Referenced column names in the target table.')
|
|
111
|
-
),
|
|
112
|
-
on_delete: enumOpt('On Delete', 'ON DELETE referential action', '*select-string', 'Referential action applied when a referenced row is deleted.', fk),
|
|
113
|
-
on_update: enumOpt('On Update', 'ON UPDATE referential action', '*select-string', 'Referential action applied when a referenced key is updated.', fk),
|
|
114
|
-
};
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
const indexEntryOptions = (): ICatalogOptions => ({
|
|
118
|
-
columns: req(opt('Columns', 'Indexed columns', 'list<string>', 'Ordered list of column names in the index.')),
|
|
119
|
-
unique: opt('Unique', 'Unique index', '*bool', 'If true, the index enforces uniqueness.'),
|
|
120
|
-
index_options: opt('Index Options', 'DB-specific index options', '*hash<auto>', 'Optional DB-specific index options.'),
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
const autoTriggerOptions = (): ICatalogOptions => ({
|
|
124
|
-
created: opt('Created', 'Auto-populate a created timestamp', '*bool', 'If true, Schema generates a created-timestamp trigger.'),
|
|
125
|
-
modified: opt('Modified', 'Auto-populate a modified timestamp', '*bool', 'If true, Schema generates a modified-timestamp trigger.'),
|
|
126
|
-
sequence_columns: opt('Sequence Columns', 'Auto-populate columns from sequences', '*hash<auto>', 'Map of column name to sequence name.'),
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
const triggerOptions = (): ICatalogOptions => ({
|
|
130
|
-
driver: req(opt('Driver Bodies', 'Per-driver trigger bodies', 'hash<auto>', 'Trusted-only. Map of driver name to raw trigger definition.')),
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
const sequenceOptions = (): ICatalogOptions => ({
|
|
134
|
-
start_with: opt('Start With', 'Initial sequence value', '*int', 'Optional initial value for the sequence.'),
|
|
135
|
-
increment: opt('Increment', 'Sequence increment', '*int', 'Optional increment between successive values.'),
|
|
136
|
-
min_value: opt('Minimum Value', 'Sequence minimum', '*int', 'Optional minimum sequence value.'),
|
|
137
|
-
max_value: opt('Maximum Value', 'Sequence maximum', '*int', 'Optional maximum sequence value.'),
|
|
138
|
-
cache: opt('Cache', 'Cached sequence values', '*int', 'Optional number of values to cache.'),
|
|
139
|
-
cycle: opt('Cycle', 'Cycle on overflow', '*bool', 'If true, the sequence restarts after reaching its limit.'),
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
/** Column shape — trusted callers also get pgvector types + driver overrides. */
|
|
143
|
-
const columnOptions = (sandboxed: boolean): ICatalogOptions => {
|
|
144
|
-
const types = [
|
|
145
|
-
av('int', 'Integer'),
|
|
146
|
-
av('varchar', 'Variable-length string'),
|
|
147
|
-
av('char', 'Fixed-length string'),
|
|
148
|
-
av('timestamp', 'Timestamp with time zone'),
|
|
149
|
-
av('date', 'Date'),
|
|
150
|
-
av('number', 'Numeric'),
|
|
151
|
-
av('float', 'Floating point'),
|
|
152
|
-
av('text', 'Native TEXT / CLOB'),
|
|
153
|
-
av('clob', 'Character large object'),
|
|
154
|
-
av('blob', 'Binary large object'),
|
|
155
|
-
av('binary', 'Binary data'),
|
|
156
|
-
];
|
|
157
|
-
if (!sandboxed) {
|
|
158
|
-
types.push(
|
|
159
|
-
av('vector', 'pgvector dense vector (trusted-only)'),
|
|
160
|
-
av('halfvec', 'pgvector half-precision vector (trusted-only)'),
|
|
161
|
-
av('sparsevec', 'pgvector sparse vector (trusted-only)')
|
|
162
|
-
);
|
|
163
|
-
}
|
|
164
|
-
const opts: ICatalogOptions = {
|
|
165
|
-
type: req(enumOpt('Column Type', 'Portable column type', 'select-string', 'Portable DataSchema column type.', types)),
|
|
166
|
-
size: opt('Size', 'Column size', '*int', 'Column size; required for varchar and char.'),
|
|
167
|
-
scale: opt('Scale', 'Numeric scale', '*int', 'Numeric scale for number columns.'),
|
|
168
|
-
notnull: opt('Not Null', 'NOT NULL constraint', '*bool', 'If true, the column is NOT NULL.'),
|
|
169
|
-
default_value: opt('Default Value', 'Column default', '*auto', 'Optional default value applied by the database.'),
|
|
170
|
-
comment: opt('Comment', 'Column comment', '*string', 'Optional column comment.'),
|
|
171
|
-
populate: opt('Populate', 'Backfill expression for new NOT NULL columns', '*auto', 'Backfill used only when the column is genuinely new.'),
|
|
172
|
-
};
|
|
173
|
-
if (!sandboxed) {
|
|
174
|
-
opts.driver = opt('Driver Overrides', 'Per-driver column overrides', '*hash<auto>', 'Trusted-only. Per-driver native type / attribute overrides.');
|
|
175
|
-
}
|
|
176
|
-
return opts;
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
const tableOptions = (sandboxed: boolean): ICatalogOptions => {
|
|
180
|
-
const opts: ICatalogOptions = {
|
|
181
|
-
columns: mapOpt('Columns', 'Columns keyed by column name', 'Column definitions keyed by column name.', columnOptions(sandboxed)),
|
|
182
|
-
primary_key: group('Primary Key', 'Table primary key', 'Optional primary key definition.', primaryKeyOptions()),
|
|
183
|
-
unique_constraints: mapOpt('Unique Constraints', 'Unique constraints keyed by name', 'Unique constraints keyed by constraint name.', uniqueConstraintEntryOptions()),
|
|
184
|
-
foreign_constraints: mapOpt('Foreign Constraints', 'Foreign-key constraints keyed by name', 'Foreign-key constraints keyed by constraint name.', foreignConstraintEntryOptions()),
|
|
185
|
-
indexes: mapOpt('Indexes', 'Indexes keyed by index name', 'Index definitions keyed by index name.', indexEntryOptions()),
|
|
186
|
-
auto_triggers: group('Auto Triggers', 'Schema-generated trigger helpers', 'Requests Schema module trigger generation for common cases.', autoTriggerOptions()),
|
|
187
|
-
};
|
|
188
|
-
if (!sandboxed) {
|
|
189
|
-
opts.triggers = mapOpt('Triggers', 'Raw triggers keyed by trigger name', 'Trusted-only. Driver-specific trigger bodies.', triggerOptions());
|
|
190
|
-
}
|
|
191
|
-
return opts;
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
const referenceDataOptions = (): ICatalogOptions => ({
|
|
195
|
-
mode: req(
|
|
196
|
-
enumOpt('Mode', 'Reference-data alignment mode', 'select-string', 'Controls how reference rows are aligned.', [
|
|
197
|
-
av('strict', 'Strict'),
|
|
198
|
-
av('normal', 'Normal'),
|
|
199
|
-
av('create_only', 'Create Only'),
|
|
200
|
-
av('insert_only', 'Insert Only'),
|
|
201
|
-
])
|
|
202
|
-
),
|
|
203
|
-
tables: mapOpt('Tables', 'Reference rows keyed by table name', 'Per-table reference-data definitions keyed by table name.', {
|
|
204
|
-
columns: req(opt('Columns', 'Row column order', 'list<string>', 'Column names matching the order of values in each row.')),
|
|
205
|
-
rows: req(opt('Rows', 'Reference rows', 'list<auto>', 'List of rows; each row is a list of cell values aligned to columns.')),
|
|
206
|
-
}),
|
|
207
|
-
});
|
|
208
|
-
|
|
209
|
-
const migrationStepOptions = (sandboxed: boolean): ICatalogOptions => {
|
|
210
|
-
const actions = [
|
|
211
|
-
av('insert', 'Insert Row'),
|
|
212
|
-
av('update', 'Update Rows'),
|
|
213
|
-
av('delete', 'Delete Rows'),
|
|
214
|
-
av('insert_from_select', 'Insert From Select'),
|
|
215
|
-
av('add_column', 'Add Column'),
|
|
216
|
-
av('drop_column', 'Drop Column'),
|
|
217
|
-
av('modify_column', 'Modify Column'),
|
|
218
|
-
av('rename_column', 'Rename Column'),
|
|
219
|
-
av('rename_table', 'Rename Table'),
|
|
220
|
-
av('add_index', 'Add Index'),
|
|
221
|
-
av('drop_index', 'Drop Index'),
|
|
222
|
-
av('add_constraint', 'Add Constraint'),
|
|
223
|
-
av('drop_constraint', 'Drop Constraint'),
|
|
224
|
-
];
|
|
225
|
-
if (!sandboxed) {
|
|
226
|
-
actions.push(
|
|
227
|
-
av('add_trigger', 'Add Trigger (trusted-only)'),
|
|
228
|
-
av('drop_trigger', 'Drop Trigger (trusted-only)'),
|
|
229
|
-
av('sql', 'Raw SQL (trusted-only)'),
|
|
230
|
-
av('script', 'Raw Script (trusted-only)')
|
|
231
|
-
);
|
|
232
|
-
}
|
|
233
|
-
const opts: ICatalogOptions = {
|
|
234
|
-
action: req(enumOpt('Action', 'Migration action discriminator', 'select-string', 'Selects which migration operation this step performs.', actions)),
|
|
235
|
-
id: opt('Step ID', 'Optional step identifier', '*string', 'Optional identifier for this step.'),
|
|
236
|
-
depends_on: opt('Depends On', 'Step dependencies', '*list<string>', 'IDs of steps that must complete before this step.'),
|
|
237
|
-
table: opt('Table', 'Target table', '*string', 'Target table for table / row / column / index / constraint actions.'),
|
|
238
|
-
column: opt('Column', 'Target column', '*string', 'Target column for add / drop / modify column.'),
|
|
239
|
-
from: opt('From', 'Old name', '*string', 'Old column name for rename_column.'),
|
|
240
|
-
to: opt('To', 'New name', '*string', 'New name for rename_column / rename_table.'),
|
|
241
|
-
index: opt('Index', 'Index name', '*string', 'Index name for add_index / drop_index.'),
|
|
242
|
-
constraint: opt('Constraint', 'Constraint name', '*string', 'Constraint name for add_constraint / drop_constraint.'),
|
|
243
|
-
row: opt('Row', 'Row to insert', '*hash<auto>', 'Column/value hash for insert.'),
|
|
244
|
-
set: opt('Set', 'Columns to set', '*hash<auto>', 'Column/value hash for update.'),
|
|
245
|
-
where: opt('Where', 'Row selector', '*hash<auto>', 'Selector hash for update / delete.'),
|
|
246
|
-
select: opt('Select', 'Source select', '*hash<auto>', 'Source select definition for insert_from_select.'),
|
|
247
|
-
target_columns: opt('Target Columns', 'Insert target columns', '*list<string>', 'Target column names for insert_from_select.'),
|
|
248
|
-
type: group('Column Definition', 'Column definition for column actions', 'Column-options subtree for add_column / modify_column.', columnOptions(sandboxed)),
|
|
249
|
-
populate: opt('Populate', 'Backfill for add_column', '*auto', 'Optional populate expression for add_column.'),
|
|
250
|
-
options: opt('Options', 'Index or constraint options', '*hash<auto>', 'Index-options or constraint-options hash.'),
|
|
251
|
-
};
|
|
252
|
-
if (!sandboxed) {
|
|
253
|
-
opts.statement = opt('Statement / Body', 'Raw SQL or script body', '*string', 'Trusted-only. Raw statement/body for sql / script actions.');
|
|
254
|
-
}
|
|
255
|
-
return opts;
|
|
256
|
-
};
|
|
257
|
-
|
|
258
|
-
const migrationBlockOptions = (sandboxed: boolean): ICatalogOptions => ({
|
|
259
|
-
version: req(opt('Version', 'Migration version', 'string', 'Version marker this migration block applies to.')),
|
|
260
|
-
description: opt('Description', 'Migration description', '*string', 'Optional human-readable description of the migration.'),
|
|
261
|
-
pre_align: listOpt('Pre-Align Steps', 'Action steps run before schema alignment', 'Ordered list of migration action steps executed before alignment.', migrationStepOptions(sandboxed)),
|
|
262
|
-
post_align: listOpt('Post-Align Steps', 'Action steps run after schema alignment', 'Ordered list of migration action steps executed after alignment.', migrationStepOptions(sandboxed)),
|
|
263
|
-
});
|
|
264
|
-
|
|
265
|
-
const dbSpecificBodyOptions = (): ICatalogOptions => ({
|
|
266
|
-
driver: req(opt('Driver', 'Target database driver', 'string', 'Trusted-only. Database driver this definition targets.')),
|
|
267
|
-
body: req(opt('Body', 'Definition body', 'string', 'Trusted-only. Raw definition body; rendered as a code-editor field.')),
|
|
268
|
-
});
|
|
269
|
-
|
|
270
|
-
const getDefinitionOptions = (sandboxed: boolean): ICatalogOptions => {
|
|
271
|
-
const rv: ICatalogOptions = {
|
|
272
|
-
schema: group('Schema Metadata', 'Top-level DataSchema metadata', 'Defines the DataSchema name, version, and optional version-table settings.', {
|
|
273
|
-
name: req(opt('Schema Name', 'DataSchema schema name', 'string', 'Must match the public Qorus schema object name.')),
|
|
274
|
-
version: req(opt('Version', 'DataSchema version', 'string', 'Version marker used by Schema module alignment.')),
|
|
275
|
-
version_table: opt('Version Table', 'Optional schema version table', '*string', 'Table used to record applied schema versions.'),
|
|
276
|
-
version_column: opt('Version Column', 'Optional version column', '*string', 'Column in the version table containing the applied version.'),
|
|
277
|
-
version_where: opt('Version Row Filter', 'Optional version row selector', '*hash<auto>', 'Hash used to identify the version row for this schema.'),
|
|
278
|
-
}),
|
|
279
|
-
tables: mapOpt('Tables', 'Tables keyed by table name', "Table definitions keyed by table name.", tableOptions(sandboxed)),
|
|
280
|
-
columns: mapOpt('Columns', 'Column definitions keyed by column name', 'Shared column definitions keyed by column name.', columnOptions(sandboxed)),
|
|
281
|
-
indexes: mapOpt('Indexes', 'Secondary indexes keyed by index name', 'Shared index definitions keyed by index name.', indexEntryOptions()),
|
|
282
|
-
constraints: group('Constraints', 'Primary, unique, and foreign constraints', 'Portable constraint definitions.', {
|
|
283
|
-
primary_key: group('Primary Key', 'Primary key', 'Optional primary key definition.', primaryKeyOptions()),
|
|
284
|
-
unique_constraints: mapOpt('Unique Constraints', 'Unique constraints keyed by name', 'Unique constraints keyed by constraint name.', uniqueConstraintEntryOptions()),
|
|
285
|
-
foreign_constraints: mapOpt('Foreign Constraints', 'Foreign constraints keyed by name', 'Foreign-key constraints keyed by constraint name.', foreignConstraintEntryOptions()),
|
|
286
|
-
}),
|
|
287
|
-
auto_triggers: group('Auto Triggers', 'Schema-generated trigger helpers', 'Requests Schema module trigger generation for supported common cases.', autoTriggerOptions()),
|
|
288
|
-
sequences: mapOpt('Sequences', 'Database sequences keyed by sequence name', 'Sequence definitions keyed by sequence name.', sequenceOptions()),
|
|
289
|
-
reference_data: group('Reference Data', 'Seed and verify reference rows', 'Reference-data alignment mode plus per-table column/row definitions.', referenceDataOptions()),
|
|
290
|
-
migrations: listOpt('Migrations', 'Ordered list of migration blocks', 'Each migration block carries a version, optional description, and pre/post alignment action steps.', migrationBlockOptions(sandboxed)),
|
|
291
|
-
};
|
|
292
|
-
if (!sandboxed) {
|
|
293
|
-
rv.triggers = mapOpt('Triggers', 'Raw trigger definitions keyed by trigger name', 'Trusted-only. Driver-specific trigger bodies.', triggerOptions());
|
|
294
|
-
rv.materialized_views = mapOpt('Materialized Views', 'Materialized views keyed by view name', 'Trusted-only. Materialized-view definitions.', dbSpecificBodyOptions());
|
|
295
|
-
rv.types = mapOpt('Types', 'Database type definitions keyed by name', 'Trusted-only. DB-specific type definitions.', dbSpecificBodyOptions());
|
|
296
|
-
rv.functions = mapOpt('Functions', 'Stored function definitions keyed by name', 'Trusted-only. DB-specific stored function definitions.', dbSpecificBodyOptions());
|
|
297
|
-
rv.procedures = mapOpt('Procedures', 'Stored procedure definitions keyed by name', 'Trusted-only. DB-specific stored procedure definitions.', dbSpecificBodyOptions());
|
|
298
|
-
rv.packages = mapOpt('Packages', 'Package definitions keyed by name', 'Trusted-only. DB-specific package definitions.', dbSpecificBodyOptions());
|
|
299
|
-
}
|
|
300
|
-
return rv;
|
|
301
|
-
};
|
|
302
|
-
|
|
303
|
-
/** Builds the full mock catalogue for a trusted or sandboxed caller. */
|
|
304
|
-
export const buildMockCatalog = (sandboxed = false): ISchemaOptionCatalog => ({
|
|
305
|
-
fields: {
|
|
306
|
-
name: req(opt('Name', 'Schema object name', 'string', 'Public Qorus schema object name.')),
|
|
307
|
-
definition: req(opt('Definition', 'DataSchema document', 'hash<auto>', 'Structured Qore DataSchema document.')),
|
|
308
|
-
},
|
|
309
|
-
definition: getDefinitionOptions(sandboxed),
|
|
310
|
-
actions: {
|
|
311
|
-
validate: {
|
|
312
|
-
display_name: 'Validate Schema',
|
|
313
|
-
short_desc: 'Validate the DataSchema definition without connecting to a database',
|
|
314
|
-
desc: 'Checks that the stored DataSchema definition can be parsed and normalized.',
|
|
315
|
-
options: {},
|
|
316
|
-
},
|
|
317
|
-
},
|
|
318
|
-
});
|
|
319
|
-
|
|
320
|
-
/** The trusted-caller catalogue — the default stories / tests fixture. */
|
|
321
|
-
export const mockSchemaCatalog: ISchemaOptionCatalog = buildMockCatalog(false);
|
|
322
|
-
|
|
323
|
-
/** The sandboxed-caller catalogue — trusted-only sections omitted. */
|
|
324
|
-
export const mockSchemaCatalogSandboxed: ISchemaOptionCatalog =
|
|
325
|
-
buildMockCatalog(true);
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A fully-populated DataSchema definition fixture — two related tables
|
|
3
|
-
* with a primary key, foreign key, unique constraint, index, a
|
|
4
|
-
* sequence, reference data, and one migration block. Stories and unit
|
|
5
|
-
* tests use it to exercise the editor against realistic content.
|
|
6
|
-
*/
|
|
7
|
-
import { IDataSchemaDefinition } from './types';
|
|
8
|
-
|
|
9
|
-
export const mockPopulatedDefinition: IDataSchemaDefinition = {
|
|
10
|
-
schema: {
|
|
11
|
-
name: 'example_customer_addresses',
|
|
12
|
-
version: '1.2',
|
|
13
|
-
version_table: 'schema_versions',
|
|
14
|
-
version_column: 'version',
|
|
15
|
-
},
|
|
16
|
-
tables: {
|
|
17
|
-
customers: {
|
|
18
|
-
columns: {
|
|
19
|
-
customer_id: {
|
|
20
|
-
type: 'int',
|
|
21
|
-
notnull: true,
|
|
22
|
-
comment: 'Surrogate primary key',
|
|
23
|
-
},
|
|
24
|
-
name: {
|
|
25
|
-
type: 'varchar',
|
|
26
|
-
size: 255,
|
|
27
|
-
notnull: true,
|
|
28
|
-
comment: 'Customer display name',
|
|
29
|
-
},
|
|
30
|
-
email: {
|
|
31
|
-
type: 'varchar',
|
|
32
|
-
size: 320,
|
|
33
|
-
notnull: true,
|
|
34
|
-
comment: 'Unique contact email',
|
|
35
|
-
},
|
|
36
|
-
created: { type: 'timestamp', notnull: true },
|
|
37
|
-
},
|
|
38
|
-
primary_key: { name: 'pk_customers', columns: ['customer_id'] },
|
|
39
|
-
unique_constraints: {
|
|
40
|
-
uq_customers_email: { columns: ['email'] },
|
|
41
|
-
},
|
|
42
|
-
auto_triggers: { created: true },
|
|
43
|
-
},
|
|
44
|
-
addresses: {
|
|
45
|
-
columns: {
|
|
46
|
-
address_id: { type: 'int', notnull: true },
|
|
47
|
-
customer_id: {
|
|
48
|
-
type: 'int',
|
|
49
|
-
notnull: true,
|
|
50
|
-
comment: 'Owning customer',
|
|
51
|
-
},
|
|
52
|
-
line1: { type: 'varchar', size: 255, notnull: true },
|
|
53
|
-
city: { type: 'varchar', size: 128, notnull: true },
|
|
54
|
-
country: { type: 'char', size: 2, notnull: true },
|
|
55
|
-
},
|
|
56
|
-
primary_key: { name: 'pk_addresses', columns: ['address_id'] },
|
|
57
|
-
foreign_constraints: {
|
|
58
|
-
fk_addresses_customer: {
|
|
59
|
-
columns: ['customer_id'],
|
|
60
|
-
table: 'customers',
|
|
61
|
-
target_columns: ['customer_id'],
|
|
62
|
-
on_delete: 'cascade',
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
indexes: {
|
|
66
|
-
ix_addresses_customer: { columns: ['customer_id'] },
|
|
67
|
-
},
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
sequences: {
|
|
71
|
-
seq_customer_id: { start_with: 1000, increment: 1 },
|
|
72
|
-
},
|
|
73
|
-
reference_data: {
|
|
74
|
-
mode: 'normal',
|
|
75
|
-
tables: {
|
|
76
|
-
countries: {
|
|
77
|
-
columns: ['country', 'name'],
|
|
78
|
-
rows: [
|
|
79
|
-
['US', 'United States'],
|
|
80
|
-
['GB', 'United Kingdom'],
|
|
81
|
-
],
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
migrations: [
|
|
86
|
-
{
|
|
87
|
-
version: '1.1',
|
|
88
|
-
description: 'Add the email column to customers',
|
|
89
|
-
pre_align: [],
|
|
90
|
-
post_align: [
|
|
91
|
-
{
|
|
92
|
-
action: 'add_column',
|
|
93
|
-
table: 'customers',
|
|
94
|
-
column: 'email',
|
|
95
|
-
type: { type: 'varchar', size: 320, notnull: true },
|
|
96
|
-
},
|
|
97
|
-
],
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
version: '1.2',
|
|
101
|
-
description: 'Index addresses by owning customer',
|
|
102
|
-
post_align: [
|
|
103
|
-
{
|
|
104
|
-
action: 'add_index',
|
|
105
|
-
table: 'addresses',
|
|
106
|
-
index: 'ix_addresses_customer',
|
|
107
|
-
},
|
|
108
|
-
],
|
|
109
|
-
},
|
|
110
|
-
],
|
|
111
|
-
};
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Contextual suggestions for the schema editor's reference fields.
|
|
3
|
-
*
|
|
4
|
-
* The qorus#225 catalogue declares fields like a primary-key's `columns`
|
|
5
|
-
* or a foreign-constraint's `table` / `target_columns` as plain
|
|
6
|
-
* `string` / `list<string>` — no `allowed_values`. The catalogue
|
|
7
|
-
* *can't* enumerate them: a foreign constraint may legitimately target
|
|
8
|
-
* a table that is not part of *this* schema (a table managed by
|
|
9
|
-
* another schema or pre-existing in the database), so the server's
|
|
10
|
-
* permissive shape is correct.
|
|
11
|
-
*
|
|
12
|
-
* But for the common case — references within the same schema — the
|
|
13
|
-
* FE has every piece of context it needs to suggest valid values. This
|
|
14
|
-
* module is the bespoke layer that adds those suggestions on top of
|
|
15
|
-
* the generic catalogue: each suggestion is wired as `allowed_values`
|
|
16
|
-
* (or `element_allowed_values`) plus `_creatable: true`, so the user
|
|
17
|
-
* picks from the list for case-1 (sibling table in this schema) and
|
|
18
|
-
* can still type a custom name for case-2 (external table).
|
|
19
|
-
*
|
|
20
|
-
* Two React contexts cooperate:
|
|
21
|
-
*
|
|
22
|
-
* - **`SchemaDefinitionContext`** — set once at the top of the
|
|
23
|
-
* editor; carries the whole `IDataSchemaDefinition` so deep
|
|
24
|
-
* components can look up sibling tables / their columns without
|
|
25
|
-
* prop-drilling.
|
|
26
|
-
* - **`SuggestionContext`** — set per section; carries a
|
|
27
|
-
* `TSuggestionResolver` that maps a leaf key + the current entry
|
|
28
|
-
* value to a list of suggested string values. Each known section
|
|
29
|
-
* (primary key, unique / foreign constraints, indexes, …) wires
|
|
30
|
-
* its own resolver.
|
|
31
|
-
*
|
|
32
|
-
* If the catalogue ever grows a server-side `references` hint
|
|
33
|
-
* (proposed follow-up), the per-section resolvers become a single
|
|
34
|
-
* catalogue-driven walker and this module collapses to nothing.
|
|
35
|
-
*/
|
|
36
|
-
import { ReactElement, ReactNode } from 'react';
|
|
37
|
-
import { createContext, useContextSelector } from 'use-context-selector';
|
|
38
|
-
import { IDataSchemaDefinition } from './types';
|
|
39
|
-
|
|
40
|
-
// ---- definition context ----------------------------------------------
|
|
41
|
-
|
|
42
|
-
const SchemaDefinitionContext = createContext<IDataSchemaDefinition | null>(
|
|
43
|
-
null
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
export const SchemaDefinitionProvider = SchemaDefinitionContext.Provider;
|
|
47
|
-
|
|
48
|
-
export const useSchemaDefinition = (): IDataSchemaDefinition | null =>
|
|
49
|
-
useContextSelector(SchemaDefinitionContext, (v) => v);
|
|
50
|
-
|
|
51
|
-
// ---- suggestion resolver --------------------------------------------
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Returns suggested values for one leaf field in the current entry,
|
|
55
|
-
* or `undefined` when no suggestion applies. `value` is the entry's
|
|
56
|
-
* own hash — used by reference fields whose suggestions depend on a
|
|
57
|
-
* sibling field (e.g. a foreign-constraint's `target_columns`
|
|
58
|
-
* depends on the picked `table`).
|
|
59
|
-
*/
|
|
60
|
-
export type TSuggestionResolver = (
|
|
61
|
-
leafKey: string,
|
|
62
|
-
value: Record<string, unknown> | undefined
|
|
63
|
-
) => string[] | undefined;
|
|
64
|
-
|
|
65
|
-
const SuggestionContext = createContext<TSuggestionResolver | null>(null);
|
|
66
|
-
|
|
67
|
-
export const SuggestionProvider = ({
|
|
68
|
-
resolver,
|
|
69
|
-
children,
|
|
70
|
-
}: {
|
|
71
|
-
resolver: TSuggestionResolver;
|
|
72
|
-
children: ReactNode;
|
|
73
|
-
}): ReactElement => (
|
|
74
|
-
<SuggestionContext.Provider value={resolver}>
|
|
75
|
-
{children}
|
|
76
|
-
</SuggestionContext.Provider>
|
|
77
|
-
);
|
|
78
|
-
|
|
79
|
-
export const useSuggestionResolver = (): TSuggestionResolver | null =>
|
|
80
|
-
useContextSelector(SuggestionContext, (v) => v);
|
|
81
|
-
|
|
82
|
-
// ---- helpers --------------------------------------------------------
|
|
83
|
-
|
|
84
|
-
/** Column keys defined for one table in the schema, or `[]`. */
|
|
85
|
-
export const tableColumnNames = (
|
|
86
|
-
definition: IDataSchemaDefinition | null,
|
|
87
|
-
tableName: string | undefined
|
|
88
|
-
): string[] => {
|
|
89
|
-
if (!definition || !tableName) return [];
|
|
90
|
-
const table = definition.tables?.[tableName];
|
|
91
|
-
if (!table) return [];
|
|
92
|
-
const columns = table.columns;
|
|
93
|
-
return columns && typeof columns === 'object' ? Object.keys(columns) : [];
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
/** Table names defined in the schema, minus the given current table. */
|
|
97
|
-
export const otherTableNames = (
|
|
98
|
-
definition: IDataSchemaDefinition | null,
|
|
99
|
-
currentTable: string | undefined
|
|
100
|
-
): string[] => {
|
|
101
|
-
if (!definition) return [];
|
|
102
|
-
const names = Object.keys(definition.tables ?? {});
|
|
103
|
-
return currentTable ? names.filter((n) => n !== currentTable) : names;
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// ---- per-section resolver builder -----------------------------------
|
|
107
|
-
|
|
108
|
-
/** Section keys for which we provide reference suggestions. */
|
|
109
|
-
export type TKnownSection =
|
|
110
|
-
| 'primary_key'
|
|
111
|
-
| 'unique_constraints'
|
|
112
|
-
| 'foreign_constraints'
|
|
113
|
-
| 'indexes';
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Builds a `TSuggestionResolver` for the named section of a single
|
|
117
|
-
* table. The resolver knows which leaf keys of that section reference
|
|
118
|
-
* the schema's tree (e.g. an `indexes[X].columns` leaf maps to the
|
|
119
|
-
* parent table's column names; a `foreign_constraints[X].target_columns`
|
|
120
|
-
* leaf maps to the picked target table's columns).
|
|
121
|
-
*/
|
|
122
|
-
export const buildTableSectionResolver = (
|
|
123
|
-
definition: IDataSchemaDefinition | null,
|
|
124
|
-
tableName: string,
|
|
125
|
-
section: TKnownSection
|
|
126
|
-
): TSuggestionResolver => {
|
|
127
|
-
const ownColumns = () => tableColumnNames(definition, tableName);
|
|
128
|
-
|
|
129
|
-
return (leafKey, value) => {
|
|
130
|
-
if (section === 'primary_key' && leafKey === 'columns') {
|
|
131
|
-
return ownColumns();
|
|
132
|
-
}
|
|
133
|
-
if (section === 'unique_constraints' && leafKey === 'columns') {
|
|
134
|
-
return ownColumns();
|
|
135
|
-
}
|
|
136
|
-
if (section === 'indexes' && leafKey === 'columns') {
|
|
137
|
-
return ownColumns();
|
|
138
|
-
}
|
|
139
|
-
if (section === 'foreign_constraints') {
|
|
140
|
-
if (leafKey === 'columns') return ownColumns();
|
|
141
|
-
if (leafKey === 'table') return otherTableNames(definition, tableName);
|
|
142
|
-
if (leafKey === 'target_columns') {
|
|
143
|
-
const target = value?.table;
|
|
144
|
-
if (typeof target === 'string' && target) {
|
|
145
|
-
return tableColumnNames(definition, target);
|
|
146
|
-
}
|
|
147
|
-
return undefined;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return undefined;
|
|
151
|
-
};
|
|
152
|
-
};
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Starter templates for the schema-definition editor.
|
|
3
|
-
*
|
|
4
|
-
* `createEmptyDefinition` is the shape the editor falls back to when it
|
|
5
|
-
* receives no value — just the mandatory `schema` block. `STARTER_DEFINITION`
|
|
6
|
-
* adds one fully-formed example table so a brand-new schema opens on a
|
|
7
|
-
* viable, editable starting point rather than a blank slate.
|
|
8
|
-
*/
|
|
9
|
-
import { IDataSchemaDefinition } from './types';
|
|
10
|
-
|
|
11
|
-
/** The minimal valid definition — mandatory `schema` block only. */
|
|
12
|
-
export const createEmptyDefinition = (
|
|
13
|
-
schemaName?: string
|
|
14
|
-
): IDataSchemaDefinition => ({
|
|
15
|
-
schema: {
|
|
16
|
-
name: schemaName ?? '',
|
|
17
|
-
version: '1.0',
|
|
18
|
-
},
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* A viable one-table starter. The example table carries an integer
|
|
23
|
-
* primary key, a `NOT NULL` name column, and created/modified
|
|
24
|
-
* timestamps wired to auto-triggers — the shape most new schemas grow
|
|
25
|
-
* from.
|
|
26
|
-
*/
|
|
27
|
-
export const createStarterDefinition = (
|
|
28
|
-
schemaName?: string
|
|
29
|
-
): IDataSchemaDefinition => ({
|
|
30
|
-
schema: {
|
|
31
|
-
name: schemaName ?? 'example_schema',
|
|
32
|
-
version: '1.0',
|
|
33
|
-
},
|
|
34
|
-
tables: {
|
|
35
|
-
example_table: {
|
|
36
|
-
columns: {
|
|
37
|
-
id: {
|
|
38
|
-
type: 'int',
|
|
39
|
-
notnull: true,
|
|
40
|
-
comment: 'Surrogate primary key',
|
|
41
|
-
},
|
|
42
|
-
name: {
|
|
43
|
-
type: 'varchar',
|
|
44
|
-
size: 255,
|
|
45
|
-
notnull: true,
|
|
46
|
-
comment: 'Human-readable name',
|
|
47
|
-
},
|
|
48
|
-
created: {
|
|
49
|
-
type: 'timestamp',
|
|
50
|
-
notnull: true,
|
|
51
|
-
comment: 'Row creation timestamp',
|
|
52
|
-
},
|
|
53
|
-
modified: {
|
|
54
|
-
type: 'timestamp',
|
|
55
|
-
comment: 'Row last-modified timestamp',
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
primary_key: {
|
|
59
|
-
name: 'pk_example_table',
|
|
60
|
-
columns: ['id'],
|
|
61
|
-
},
|
|
62
|
-
auto_triggers: {
|
|
63
|
-
created: true,
|
|
64
|
-
modified: true,
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
});
|