@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,98 +0,0 @@
|
|
|
1
|
-
# Story network isolation — ExpressionField stories fail off-network
|
|
2
|
-
|
|
3
|
-
**Status:** done pending user verify — folded into `fix/per-field-templates`
|
|
4
|
-
(PR #115) so every open reqraft fix ships in one PR; not yet pushed.
|
|
5
|
-
Originally built and verified on `develop` (stories 479/479, unit 930/930,
|
|
6
|
-
off-network), then re-verified on the combined branch.
|
|
7
|
-
|
|
8
|
-
## Symptom
|
|
9
|
-
|
|
10
|
-
`yarn test:stories ExpressionField` failed 6 of 8 on `develop` locally, while the
|
|
11
|
-
same file passed in CI (run 34250300001, 2026-09-08). Siblings failed the same
|
|
12
|
-
way: FormEngineRemote 11/11, AutoFormField 1, SchemaDefinitionField 2,
|
|
13
|
-
useWebsocket 3, TemplateField 1.
|
|
14
|
-
|
|
15
|
-
## Root causes
|
|
16
|
-
|
|
17
|
-
1. **An LSP connection outlived the story that opened it.** `useRenderExpression`
|
|
18
|
-
holds the endpoint's `LspSharedConnection` for the page lifetime. `Default`
|
|
19
|
-
(no mock LSP) dialled the real instance; `Empty` / `Text Mode` then joined that
|
|
20
|
-
connection's never-settling handshake, so their mock LSP was never dialled
|
|
21
|
-
("Connecting to language server…" forever). Each passes when run alone.
|
|
22
|
-
2. **The shared connection had no way out of a dead socket** (product bug). No
|
|
23
|
-
`onReconnectFailed` handling: a first handshake whose socket gave up stayed
|
|
24
|
-
pending forever for every later client; one that had completed kept reporting
|
|
25
|
-
the dead socket as ready. `close()` also abandoned an in-flight handshake, and
|
|
26
|
-
`release()` could evict a connection that had replaced its own after a reset.
|
|
27
|
-
3. **Requests components make on their own were unmocked.** FormEngine gates on
|
|
28
|
-
`system/qorus-type-info`; TemplateField's "Use Expression" waits on the
|
|
29
|
-
expression catalogue; every `ReqraftWebSocket` reconnect awaits a `system/pid`
|
|
30
|
-
probe. Against an unreachable instance none settles — the form stays a
|
|
31
|
-
skeleton, the menu entry never appears, the socket never reconnects or gives
|
|
32
|
-
up. CI's live instance answered all three, which is why CI stayed green.
|
|
33
|
-
4. **Mock URLs hard-coded the hq host.** Both mock layers match on host, so
|
|
34
|
-
overriding `REACT_APP_QORUS_INSTANCE` silently disabled every mock.
|
|
35
|
-
|
|
36
|
-
## Fix
|
|
37
|
-
|
|
38
|
-
- `src/utils/lspClient.ts` — give-up / close settle the handshake and forget the
|
|
39
|
-
socket; retry paths guarded by identity; `release()` only evicts itself.
|
|
40
|
-
4 new unit tests + the disconnect-mid-handshake test now asserts the rejection.
|
|
41
|
-
- `src/stories/storyNetwork.ts` — `STORY_QORUS_INSTANCE`, `storyApiUrl`,
|
|
42
|
-
`storySocketUrl`, `GLOBAL_STORY_MOCK_DATA` (types catalogue, empty expression
|
|
43
|
-
catalogue, reconnect probe),
|
|
44
|
-
`TStoryMockResponse` (the addon silently ignores non-object responses).
|
|
45
|
-
- `.storybook/preview.tsx` — `mockAddonConfigs.globalMockData`, per-story LSP
|
|
46
|
-
reset in a project `beforeEach`; `.storybook/vitest.setup.ts` mirrors the
|
|
47
|
-
addon's global + story merge.
|
|
48
|
-
- All mock URLs moved to the helpers; FormEngine's duplicate types mock and
|
|
49
|
-
DpqlEditor's ad-hoc `closeAll()` removed.
|
|
50
|
-
|
|
51
|
-
### Reconciled with `fix/per-field-templates`
|
|
52
|
-
|
|
53
|
-
- That branch had already met the leak from the fixture side:
|
|
54
|
-
`createMockLspServer` reset the shared connections on create and close. The
|
|
55
|
-
project-level `beforeEach` covers the same ground plus stories that never
|
|
56
|
-
create a mock server (and the render client), so the fixture resets were
|
|
57
|
-
dropped in favour of the one mechanism.
|
|
58
|
-
- Its `query()` strips a path's leading slash and uses a `noApiPrefix` url
|
|
59
|
-
verbatim; `buildReqraftApiUrl` follows those rules, so the doubled-slash mock
|
|
60
|
-
spellings are gone.
|
|
61
|
-
- **A page-freezing render loop in the row menu** (from `a21640b`), reachable
|
|
62
|
-
only once FormEngine rendered offline: `FormEngine › Compact Expressions`
|
|
63
|
-
froze the tab and hung the whole suite with no output. The row kept ONE
|
|
64
|
-
`{key, items}` slot, and an expression's operands — separate TemplateFields
|
|
65
|
-
in the same row — published different keys into it, each overwrite
|
|
66
|
-
re-rendering the row and both operands. The same slot also kept an unmounted
|
|
67
|
-
editor's handlers when a reopened row offered the same key. Fixed in
|
|
68
|
-
`rowMenuContext.ts` (per-publisher registration via `useId`, withdrawn on
|
|
69
|
-
unmount, clicks delegated to the latest handler) and `TemplateField` (claims
|
|
70
|
-
the channel and hides it from what it renders, so operands keep their own
|
|
71
|
-
menu). Unit tests reproduce the loop and both stale-handler cases.
|
|
72
|
-
- `ExpressionField › Field Menu Stays In The Toolbar` had gone stale on that
|
|
73
|
-
branch: `a21640b` moved a row field's menu into the row's ⋮ (one menu per
|
|
74
|
-
control) after the story was written. The story now asserts that single
|
|
75
|
-
menu — the row's `.options-readfirst-more`, with no `.template-more` beside
|
|
76
|
-
it — still sits level with the toolbar.
|
|
77
|
-
|
|
78
|
-
## Not causes (checked)
|
|
79
|
-
|
|
80
|
-
- "No Preview" in failure output: addon-vitest injects Storybook's hidden preview
|
|
81
|
-
body into every test page; a failed query's DOM dump prints it.
|
|
82
|
-
- A `+` in the checkout path hangs `yarn test:stories` before any test runs
|
|
83
|
-
(mechanism not traced); unrelated to the stories.
|
|
84
|
-
|
|
85
|
-
## Follow-ups (not done)
|
|
86
|
-
|
|
87
|
-
- `users?action=current` is still unmocked for most stories — harmless today
|
|
88
|
-
(`waitForStorage={false}`), but CI renders a real user while local runs render
|
|
89
|
-
none. Candidate for a default mock once permission-gated snapshots are checked.
|
|
90
|
-
- Unmocked requests still pass through to the network. Failing them loudly for
|
|
91
|
-
non-live stories would make this class impossible rather than documented.
|
|
92
|
-
- `ReqraftWebSocketsManager.closeAll()` deletes entries by `socket.url` rather than
|
|
93
|
-
the pool key, and closing a CONNECTING socket reports code 1006, which schedules
|
|
94
|
-
a reconnect. Not exercised by this fix.
|
|
95
|
-
- ~~`tests.yml` runs only on `pull_request`~~ — done on this branch: it now also
|
|
96
|
-
runs on pushes to `develop` (the push trigger had been dropped in 2021 with no
|
|
97
|
-
recorded reason). Conflicting PRs still get no `pull_request` runs until they
|
|
98
|
-
merge up.
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# Template token grammar — braced context refs rehydrate as chips
|
|
2
|
-
|
|
3
|
-
**Status:** in PR #96 to develop — reworked per Foxhoundn's build-123 qlip review: chips only for BRACED context refs (`isBracedTemplateToken`); plain `$local:*` word tokens keep the template-offering input (his 14 denials), matching his accepted `BracedTemplateValue` baseline. Also added the requested SchemaDefinition Empty play (wait for form rows, not just tab chrome).
|
|
4
|
-
|
|
5
|
-
No standalone design doc — this is a two-repo bugfix; the qorus-ide twin
|
|
6
|
-
(`src/helpers/templateValue.ts` there) is the reference for the shared
|
|
7
|
-
grammar, and the drift analysis lives in the qorus-ide session that found
|
|
8
|
-
it. Short form below.
|
|
9
|
-
|
|
10
|
-
## Problem
|
|
11
|
-
|
|
12
|
-
A saved template value in the braced state-output form —
|
|
13
|
-
`$data:{W2n_BuSHbaNrbvV1MkfPF.filename}` — rehydrates as **raw token text
|
|
14
|
-
in a textarea** instead of a template chip. Two causes:
|
|
15
|
-
|
|
16
|
-
1. No strict token grammar existed here: `isValueTemplate` is loose
|
|
17
|
-
(starts with `$`, has `:`), and nothing could distinguish a
|
|
18
|
-
well-formed whole token from a user-typed dollar-string.
|
|
19
|
-
2. `TemplateField`'s template-mode-with-custom-values branch renders
|
|
20
|
-
`LongStringField` — a plain textarea that can never chip, so ANY
|
|
21
|
-
template value (word or braced) shows as its literal text there.
|
|
22
|
-
|
|
23
|
-
Reqraft's `TemplateField` is a near-1:1 extraction of qorus-ide's; the
|
|
24
|
-
same bug was fixed there the same day (grammar + wiring). The qorus-ide
|
|
25
|
-
IDE surface that exposed it: FSM draft 70, `split($data:{…filename}, …)`.
|
|
26
|
-
|
|
27
|
-
## Surface area
|
|
28
|
-
|
|
29
|
-
| File | Change |
|
|
30
|
-
|---|---|
|
|
31
|
-
| `src/helpers/templates.ts` | `TEMPLATE_TOKEN_SOURCE` (canonical grammar, braced segments allow `.: -` and spaces) + strict `isCompleteTemplateToken` |
|
|
32
|
-
| `src/components/form/fields/template/TemplateField.tsx` | auto-mode flip guard narrowed to complete tokens; whole-token template values render the `TemplateDropdownSelector` picker chip instead of the LongString textarea |
|
|
33
|
-
| `src/components/form/fields/template/TemplateField.stories.tsx` | new `BracedTemplateValue` regression story; `TemplateCanBeSelected` play updated to assert the chip (was asserting the raw-token textarea) |
|
|
34
|
-
| `__tests__/templates.test.ts` | strict-grammar cases (braced, colon-braces, dashed keys, spaced paths, negatives) + alias resolution |
|
|
35
|
-
| `package.json` | `0.10.36` → `0.10.38` (every-PR-bumps rule; re-bumped after develop published `0.10.37`) |
|
|
36
|
-
|
|
37
|
-
### Second fix in this PR — the state-identity alias
|
|
38
|
-
|
|
39
|
-
An FSM state has TWO identities: its key in the `states` hash and its own
|
|
40
|
-
`id`. The IDE gives both the same nanoid, so nothing authored there can tell
|
|
41
|
-
them apart — but a **template** hand-writes numbered keys (`'1'`, `'2'`, …)
|
|
42
|
-
over meaningful ids (`dc_ai_reply`), its saved `$data:{…}` refs use the id,
|
|
43
|
-
and the server's catalogue (`sprintf("$data:{%s.%s}", state_id, name)`)
|
|
44
|
-
spells item values with the key. They never match as text, so every
|
|
45
|
-
template-derived Qog printed the raw token where a named chip belongs —
|
|
46
|
-
`$data:{dc_ai_reply.choices}` in the Discord assistant's Save Reply state.
|
|
47
|
-
|
|
48
|
-
`findTemplate` now also accepts an item's `metadata.aliasValues`. The
|
|
49
|
-
producer that holds the states (qorus-ide's `buildTemplates`) attaches the
|
|
50
|
-
alternate spelling; reqraft only consumes it. Nothing rewrites either
|
|
51
|
-
spelling, so a picked value still stores exactly what the catalogue says —
|
|
52
|
-
this is display-only. The alternative (emitting the id from the server, or
|
|
53
|
-
rewriting catalogue values FE-side) changes what new picks store and needs
|
|
54
|
-
the id's uniqueness enforced first; see the qorus-side write-up.
|
|
55
|
-
|
|
56
|
-
Deliberately NOT done here: the qorus-ide-style rich-editor treatment for
|
|
57
|
-
template mode. Develop's `RichTextFormField` has no string mode — that is
|
|
58
|
-
the in-flight `bugfix/richtext-string-storage-serialization` work
|
|
59
|
-
(`returnValueType`) — and a nodes round-trip without it reintroduces the
|
|
60
|
-
reset-while-typing hazard. Mixed text+token strings therefore keep the
|
|
61
|
-
textarea until that lands; whole tokens (the overwhelmingly common case)
|
|
62
|
-
chip now.
|
|
63
|
-
|
|
64
|
-
## Phases
|
|
65
|
-
|
|
66
|
-
- [x] Grammar + strict helper in `helpers/templates.ts`, unit-tested
|
|
67
|
-
- [x] `TemplateField` guard + render wiring, story-tested
|
|
68
|
-
- [x] `yarn precheck` green (lint, 593/593 unit, prod tsc)
|
|
69
|
-
- [x] Qlip PNGs read for `BracedTemplateValue` + `TemplateCanBeSelected` (chips confirmed)
|
|
70
|
-
- [x] **STOP — user signed off 2026-08-27** (see `VERIFY.local.md`)
|
|
71
|
-
- [x] Commit + PR to develop — `0ef167c`; version re-checked at push time (beta `0.10.36`, ours `0.10.37` ✓; PR #95's prereleases ALSO sit at `0.10.37` — whichever merges second rebases and re-bumps)
|
|
72
|
-
- [ ] Pin the CI prerelease (`0.10.37-pr.<N>.g<sha>`) in qorus-ide, lockfile committed; after merge, move qorus-ide to the released version
|
package/CODE_OF_CONDUCT.md
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<br><br><br>
|
|
3
|
-
<img src="./public/qoreLogo.png" alt="Unstated Logo" width="500">
|
|
4
|
-
<br><br><br>
|
|
5
|
-
</div>
|
|
6
|
-
|
|
7
|
-
# Code of Conduct
|
|
8
|
-
|
|
9
|
-
Qore Technologies use [Contributor Covenant v2.0](https://contributor-covenant.org/version/2/0/code_of_conduct) as their code of conduct. The full text is included [below](#contributor-covenant-code-of-conduct-v20) in English, and [translations](https://www.contributor-covenant.org/translations) are available on the Contributor Covenant website.
|
|
10
|
-
|
|
11
|
-
## Commitment
|
|
12
|
-
|
|
13
|
-
All recipients of reports commit to:
|
|
14
|
-
|
|
15
|
-
- maintain the confidentiality with regard to the reporter and victim of an incident
|
|
16
|
-
|
|
17
|
-
## Report an issue in a project
|
|
18
|
-
|
|
19
|
-
1. To report an issue in one of our projects, please follow the security guidelines from that repository.
|
|
20
|
-
|
|
21
|
-
## More Info
|
|
22
|
-
|
|
23
|
-
For more information, refer to the full
|
|
24
|
-
[Contributor covenant code of conduct page](https://contributor-covenant.org/version/2/0/code_of_conduct).
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Contributor Covenant Code of Conduct v2.0
|
|
29
|
-
|
|
30
|
-
### Our Pledge
|
|
31
|
-
|
|
32
|
-
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
|
33
|
-
|
|
34
|
-
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
|
|
35
|
-
|
|
36
|
-
### Our Standards
|
|
37
|
-
|
|
38
|
-
Examples of behavior that contributes to a positive environment for our community include:
|
|
39
|
-
|
|
40
|
-
* Demonstrating empathy and kindness toward other people
|
|
41
|
-
* Being respectful of differing opinions, viewpoints, and experiences
|
|
42
|
-
* Giving and gracefully accepting constructive feedback
|
|
43
|
-
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
|
|
44
|
-
* Focusing on what is best not just for us as individuals, but for the overall community
|
|
45
|
-
|
|
46
|
-
Examples of unacceptable behavior include:
|
|
47
|
-
|
|
48
|
-
* The use of sexualized language or imagery, and sexual attention or advances of any kind
|
|
49
|
-
* Trolling, insulting or derogatory comments, and personal or political attacks
|
|
50
|
-
* Public or private harassment
|
|
51
|
-
* Publishing others' private information, such as a physical or email address, without their explicit permission
|
|
52
|
-
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
53
|
-
|
|
54
|
-
### Enforcement Responsibilities
|
|
55
|
-
|
|
56
|
-
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
|
|
57
|
-
|
|
58
|
-
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
|
|
59
|
-
|
|
60
|
-
### Scope
|
|
61
|
-
|
|
62
|
-
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
|
|
63
|
-
|
|
64
|
-
### Enforcement
|
|
65
|
-
|
|
66
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at the email addresses listed above in the [Reporting](#report-an-issue-in-a-project) and [Escalation](#escalate-an-issue) sections. All complaints will be reviewed and investigated promptly and fairly.
|
|
67
|
-
|
|
68
|
-
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
|
|
69
|
-
|
|
70
|
-
### Enforcement Guidelines
|
|
71
|
-
|
|
72
|
-
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
|
|
73
|
-
|
|
74
|
-
#### 1. Correction
|
|
75
|
-
|
|
76
|
-
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
|
|
77
|
-
|
|
78
|
-
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
|
|
79
|
-
|
|
80
|
-
#### 2. Warning
|
|
81
|
-
|
|
82
|
-
**Community Impact**: A violation through a single incident or series of actions.
|
|
83
|
-
|
|
84
|
-
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
|
|
85
|
-
|
|
86
|
-
#### 3. Temporary Ban
|
|
87
|
-
|
|
88
|
-
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
|
|
89
|
-
|
|
90
|
-
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
|
|
91
|
-
|
|
92
|
-
#### 4. Permanent Ban
|
|
93
|
-
|
|
94
|
-
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
|
|
95
|
-
|
|
96
|
-
**Consequence**: A permanent ban from any sort of public interaction within the project community.
|
|
97
|
-
|
|
98
|
-
### Attribution
|
|
99
|
-
|
|
100
|
-
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0, available at [contributor-covenant.org/version/2/0/code_of_conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct).
|
|
101
|
-
|
|
102
|
-
Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
|
|
103
|
-
|
|
104
|
-
For answers to common questions about this code of conduct, see the FAQ at
|
|
105
|
-
[contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are available at [contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).
|
package/CONTRIBUTING.MD
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<br><br><br>
|
|
3
|
-
<img src="./public/qoreLogo.png" alt="Unstated Logo" width="500">
|
|
4
|
-
<br><br><br>
|
|
5
|
-
</div>
|
|
6
|
-
|
|
7
|
-
# Contributing to Qore Technologies
|
|
8
|
-
|
|
9
|
-
> First off, thanks for taking the time to contribute!
|
|
10
|
-
|
|
11
|
-
Contributions are always welcome. Before contributing please read the
|
|
12
|
-
[code of conduct](CODE_OF_CONDUCT.md) &
|
|
13
|
-
[search the issue tracker](https://github.com/qoretechnologies/qorus-ui/issues) your issue may have already been discussed or fixed in `master`. To contribute,
|
|
14
|
-
[fork](https://help.github.com/articles/fork-a-repo/) QorusToolkit, commit your changes,
|
|
15
|
-
& [send a pull request](https://help.github.com/articles/using-pull-requests/).
|
|
16
|
-
|
|
17
|
-
We put together a set of guidelines for contributing to Qore Technologies and it's packages, which are hosted in the [Qore Technologies Organization](https://github.com/qoretechnologies/reqore) on GitHub. The provided guidelines are not rules but recommendations. Use your best judgement, and feel free to propose changes to this document with a pull request.
|
|
18
|
-
|
|
19
|
-
## We host our open-source on Github
|
|
20
|
-
|
|
21
|
-
We use github to host our open-source code, to track issues and feature requests, as well as accept pull requests.
|
|
22
|
-
|
|
23
|
-
> We Use [Github Flow](https://guides.github.com/introduction/flow/index.html) for code contributions
|
|
24
|
-
|
|
25
|
-
## How to contribute
|
|
26
|
-
|
|
27
|
-
Pull requests are the best way to propose changes to the codebase (we use [Github Flow](https://guides.github.com/introduction/flow/index.html)). We actively welcome your pull requests:
|
|
28
|
-
|
|
29
|
-
1. Fork the repo and create your branch from `develop`.
|
|
30
|
-
2. If you've added code that should be tested, add tests.
|
|
31
|
-
3. If you've changed APIs, update the documentation.
|
|
32
|
-
4. Ensure the test suite passes.
|
|
33
|
-
5. Make sure your code lints.
|
|
34
|
-
6. Issue that pull request!
|
|
35
|
-
|
|
36
|
-
## Any contributions you make will be under the MIT Software License
|
|
37
|
-
|
|
38
|
-
In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Feel free to contact the maintainers if that's a concern.
|
|
39
|
-
|
|
40
|
-
## Report bugs using Github's issues
|
|
41
|
-
|
|
42
|
-
We use GitHub issues to track public bugs. Report a bug by opening a new issue on <code>github.com/qoretechnologies/qorus-ui/issues</code> it's that easy!
|
|
43
|
-
|
|
44
|
-
## Write bug reports with detail, background, and sample code
|
|
45
|
-
|
|
46
|
-
**Great Bug Reports** tend to have:
|
|
47
|
-
|
|
48
|
-
- A quick summary and/or background of a bug
|
|
49
|
-
- Steps to reproduce
|
|
50
|
-
- Be specific!
|
|
51
|
-
- Give sample code if you can.
|
|
52
|
-
- Expected behavior according to your understanding
|
|
53
|
-
- Current behavior which includes the bug
|
|
54
|
-
- Notes (includes, your reasoning behind the problem or steps you tried to solve the bug)
|
|
55
|
-
|
|
56
|
-
We _love_ thorough bug reports so that we can act fast on them.
|
|
57
|
-
|
|
58
|
-
## Use a Consistent Coding Style
|
|
59
|
-
|
|
60
|
-
> Reference [Facebook's Guidelines](https://github.com/facebook/draft-js/blob/a9316a723f9e918afde44dea68b5f9f39b7d9b00/CONTRIBUTING.md)
|
|
61
|
-
|
|
62
|
-
- 2 spaces for indentation rather than tabs
|
|
63
|
-
- 100 character line length
|
|
64
|
-
- Run `npm run lint` to conform to our lint rules
|
|
65
|
-
|
|
66
|
-
## Community
|
|
67
|
-
|
|
68
|
-
- [GitHub Organization](https://github.com/qoretechnologies) for Official open-source projects
|
|
69
|
-
- [Discord](https://discord.gg/MWUwDKRR) for support, discussion, news and latest release updates
|
|
70
|
-
- [Qore Technologies Website](https://www.qoretechnologies.com)
|
|
71
|
-
|
|
72
|
-
## License
|
|
73
|
-
|
|
74
|
-
By contributing, you agree that your contributions will be licensed under its MIT License.
|
|
75
|
-
|
|
76
|
-
## References
|
|
77
|
-
|
|
78
|
-
This document was adapted from the open-source contribution guidelines for Reference [Facebook's Guidelines](https://github.com/facebook/draft-js/blob/a9316a723f9e918afde44dea68b5f9f39b7d9b00/CONTRIBUTING.md)
|
package/SECURITY.md
DELETED
package/chromatic.config.json
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
# Compact FormEngine → "Focus" redesign — migration plan
|
|
2
|
-
|
|
3
|
-
**Goal:** make the real Compact FormEngine *look* like the `Focus` variant
|
|
4
|
-
prototype (`src/components/form/engine/variants/VariantFocus.tsx`) while keeping
|
|
5
|
-
**100% of its current functionality** and a **green story/test suite**.
|
|
6
|
-
|
|
7
|
-
**Principle (the user's, and the right one):** _bring our design to the engine,
|
|
8
|
-
not the engine's functionality to our design._ We re-skin the working engine. We
|
|
9
|
-
do **not** rebuild validation, dependent-reset, templates/`on_change`, operators,
|
|
10
|
-
`arg_schema` nesting, focused editing, or draft/commit into the prototype.
|
|
11
|
-
|
|
12
|
-
The engine is already visually sophisticated and already owns every hard piece:
|
|
13
|
-
|
|
14
|
-
| Capability | Where it already lives |
|
|
15
|
-
|---|---|
|
|
16
|
-
| Status/intent per row | `CompactRow.tsx` `worstIntent` / `intentColor` / `rowStripeColor` (≈L533, L996) → painted via `--readfirst-stripe` |
|
|
17
|
-
| Sticky glass header | `compactRowStyles.ts` `StyledCompactPanel` + FormEngine scroll-wrap `position: sticky` (≈L193) |
|
|
18
|
-
| Revert-to-loaded | `CompactRow` `revertButton` `.options-readfirst-revert` (L423) |
|
|
19
|
-
| Clear value | `CompactRow` `clearValueButton` `.options-readfirst-clear` (L460) |
|
|
20
|
-
| Focused (fullscreen) editing | `CompactRow` `.options-readfirst-fullscreen` → `setFocusedEditing` → `<FocusedEditing>` (L820, L852) |
|
|
21
|
-
| Dependency lock + nav | `CompactRow` `dependsOnChip` `.options-readfirst-lock-deps` (L922) |
|
|
22
|
-
| Required one-of groups | rail + cluster nodes (`readfirst-cluster-*`, `.options-readfirst-node`) |
|
|
23
|
-
| short_desc inline | `.options-readfirst-label-desc` (revealed by ⓘ `.options-readfirst-info-toggle`) |
|
|
24
|
-
| long desc | `?` help `.options-readfirst-help` + `<Description>` inside `FocusedEditing` |
|
|
25
|
-
|
|
26
|
-
So this redesign is mostly **subtractive** (flatten the recessed value surface +
|
|
27
|
-
intent stripe → calm flat rows) plus **one structural move** (re-group fields
|
|
28
|
-
into the Needs-attention / Set / Optional boxes, each carrying thin schema-group
|
|
29
|
-
labels) plus **one viz swap** (the required-group rail → the "One of the below is
|
|
30
|
-
required" cluster box).
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Answers to the five questions
|
|
35
|
-
|
|
36
|
-
### 1. How do we show `desc` (long description)?
|
|
37
|
-
Unify the two existing description affordances:
|
|
38
|
-
|
|
39
|
-
- **`short_desc`** → the toolbar **Descriptions toggle** (icon-only, `info`
|
|
40
|
-
intent when active — exactly the prototype's button), mapped to the engine's
|
|
41
|
-
existing `showAllDescriptions`. Renders inline under the field name via
|
|
42
|
-
`.options-readfirst-label-desc`. The per-field ⓘ stays as a local override.
|
|
43
|
-
- **`desc` (long, markdown)** → stays where you actually read/edit the field:
|
|
44
|
-
rendered by `<Description longDescriptionShownByDefault>` inside
|
|
45
|
-
**FocusedEditing**, plus the quick `?` help (`.options-readfirst-help`). No
|
|
46
|
-
second always-on description button in the row.
|
|
47
|
-
|
|
48
|
-
### 2. Dependent fields / fields with dependents?
|
|
49
|
-
Engine already models both — we restyle, not rebuild:
|
|
50
|
-
|
|
51
|
-
- **Disabled-by-dependency** (`depends_on` unmet): keep the **lock + "Depends on"
|
|
52
|
-
navigable chip** (`.options-readfirst-lock-deps`); clicking a blocker flashes
|
|
53
|
-
it (`readfirst-row-flash`). These are a distinct **blocked** state — neither
|
|
54
|
-
todo/set/optional — so they render **dimmed in place in their schema group**
|
|
55
|
-
(not pulled into Needs-attention; you can't act on them yet).
|
|
56
|
-
- **Fields with dependents**: no read-first badge needed (the engine resets
|
|
57
|
-
dependents on change). Optional later nicety: an "affects N fields" hint while
|
|
58
|
-
editing.
|
|
59
|
-
|
|
60
|
-
### 3. Optional fields wrapper (basic dark)
|
|
61
|
-
The `optional` group (everything `getOptionGroup` routes there — non-preselected,
|
|
62
|
-
non-required, unset) renders in a **collapsible box like the others but a neutral
|
|
63
|
-
/ dark tint** (not amber/green), collapsed by default. Same `ReqorePanel`
|
|
64
|
-
treatment as Set, different intent.
|
|
65
|
-
|
|
66
|
-
### 4. Focused editing / reset-to-default / clear
|
|
67
|
-
Keep the engine's existing edit-card actions, restyled to match:
|
|
68
|
-
- **Focused editing** (`.options-readfirst-fullscreen` → `<FocusedEditing>`) — unchanged.
|
|
69
|
-
- **Clear value** (`.options-readfirst-clear`) — unchanged.
|
|
70
|
-
- **Revert** (`.options-readfirst-revert`) reverts to the *loaded* value.
|
|
71
|
-
- **NEW: reset-to-default** — `handleValueChange(name, schema.default_value)`,
|
|
72
|
-
shown only when `default_value` exists and differs. Small addition.
|
|
73
|
-
|
|
74
|
-
### 5. Sticky header (search + progress)
|
|
75
|
-
Already sticky (`StyledCompactPanel` + the owned scroll context). The redesign
|
|
76
|
-
keeps it; the `CompactToolbar` (completion meter + filter + Descriptions toggle +
|
|
77
|
-
Fields menu) stays pinned. Only its contents/skin change.
|
|
78
|
-
|
|
79
|
-
---
|
|
80
|
-
|
|
81
|
-
## Visual-delta map (Focus feature → engine change → test impact)
|
|
82
|
-
|
|
83
|
-
Legend: **🟢 safe** = CSS-only / additive, no tested DOM·text·interaction change.
|
|
84
|
-
**🟡 needs test updates** = changes asserted text/structure; update listed play
|
|
85
|
-
functions and re-run `test:stories`.
|
|
86
|
-
|
|
87
|
-
| # | Focus feature | Engine change | File · symbol | Impact |
|
|
88
|
-
|---|---|---|---|---|
|
|
89
|
-
| 1 | Calm flat rows (no recessed surface, no intent stripe) | drop/soften the value-surface `::before` + `border-left` stripe | `compactRowStyles.ts` `StyledGroupBody > *::before` | 🟢 safe |
|
|
90
|
-
| 2 | Status **dot** (one mark, colour = severity) | render a dot from `rowStripeColor`/`worstIntent`; additive element | `CompactRow.tsx` (row label cell) + styles | 🟢 safe (additive class, no removed hooks) |
|
|
91
|
-
| 3 | Thin uppercase group labels | restyle the group header (name → 10px/upper/letter-spaced; drop hairline+chip or calm them) | `FormEngine.tsx` group render + `StyledGroupHeader`/`StyledGroupHeaderLine` | 🟢 mostly (verify no story asserts the chip text) |
|
|
92
|
-
| 4 | Empty value shows `—` not "Not set" | swap the empty-value copy | `CompactRow.tsx` value render | 🟡 7 assertions use `Not set` |
|
|
93
|
-
| 5 | Needs-attention / Set / Optional **boxes** (status grouping, schema labels inside) | regroup: bucket rows by status across schema groups; render 3 `ReqorePanel`s; thin schema labels within | `FormEngine.tsx` group-render loop | 🟡 group-structure & badge ("N to resolve") assertions |
|
|
94
|
-
| 6 | "One of the below is required" **cluster box** | replace rail + cluster nodes with the cluster box | `CompactRow.tsx` cluster nodes/rail + `compactRowStyles.ts` `readfirst-cluster-*`, `StyledClusterNode` | 🟡 `Covered by` / `Covers` / `One of` assertions |
|
|
95
|
-
| 7 | Neutral/dark Optional wrapper | intent/skin on the optional `ReqorePanel` | `FormEngine.tsx` | 🟢 safe |
|
|
96
|
-
| 8 | reset-to-default action | new button calling `handleValueChange(name, default_value)` | `CompactRow.tsx` | 🟢 additive |
|
|
97
|
-
|
|
98
|
-
**Use Reqore throughout** — `ReqorePanel` (boxes/collapsible), `ReqoreControlGroup`,
|
|
99
|
-
`ReqoreInput`, `ReqoreButton`, `ReqoreTag`, `ReqoreIcon`, `ReqoreCollapsibleContent`,
|
|
100
|
-
`useReqoreTheme` for every colour. No bespoke widgets where a Reqore one fits.
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Phased plan (each phase ends green)
|
|
105
|
-
|
|
106
|
-
- **P1 — Calm re-skin. ✅ DONE + validated.** Flattened the recessed value
|
|
107
|
-
surface + intent stripe (`StyledGroupBody > *::before` now transparent) and
|
|
108
|
-
added the trailing **status dot** (`StyledStatusDot`, derived from
|
|
109
|
-
`worstIntent`/`empty`/`required`/`coveredByLabel`/`groupResolved`). CSS +
|
|
110
|
-
additive DOM only — every test hook preserved. **Validated: `FormEngine.stories.tsx`
|
|
111
|
-
= 68 pass / 1 pre-existing fail ("Option With Any Type"), no new failures;**
|
|
112
|
-
`build:test` + `eslint` green; visually confirmed on :6008. *(Thin group labels
|
|
113
|
-
deferred to P3, where the group headers change anyway.)*
|
|
114
|
-
|
|
115
|
-
> **Validation harness (important):** `vitest run --project storybook <file>`
|
|
116
|
-
> runs stories in headless chromium and does **NOT** spawn a server on :6008 —
|
|
117
|
-
> a live `yarn storybook` is untouched. So every phase below is validatable
|
|
118
|
-
> without disturbing a running Storybook.
|
|
119
|
-
- **P3 — Status boxes. ✅ DONE + validated.** Regrouped into **Needs attention /
|
|
120
|
-
Set / Optional** boxes (intent-tinted `ReqorePanel`s), each with thin schema
|
|
121
|
-
sub-labels (`StyledStatusBoxGroupLabel`); neutral Optional. Key decisions:
|
|
122
|
-
- **One shared status helper** (`getReadFirstStatus`/`getReadFirstBucket` in
|
|
123
|
-
`readFirst.ts`) drives BOTH the row dot and the box bucket — they can't disagree.
|
|
124
|
-
- **One-of required-group members travel together** (bucket the whole group by
|
|
125
|
-
its satisfaction) so the existing rail + "One of"/"Covers"/"Covered by" chips
|
|
126
|
-
stay intact. Rail→cluster-box swap deferred to P4.
|
|
127
|
-
- **Freeze-while-editing** (`settledBucket` ref keyed by option, gated on
|
|
128
|
-
`expandedOptions`): an edited field — or any member of an edited one-of group —
|
|
129
|
-
keeps its box until the edit ends, so a status flip can't remount it mid-edit
|
|
130
|
-
and steal focus. (This fixed a real regression the suite guards.)
|
|
131
|
-
- Only **one** test legitimately changed (sort order is now status-first).
|
|
132
|
-
- **Validated: 68 pass / 1 pre-existing fail.** Visually confirmed on :6008.
|
|
133
|
-
- **P2 — Copy + empty state (🟡).** `Not set` → `— <reason>`. Update the ~10
|
|
134
|
-
assertions (`Not set` ×7, `Required — not set`, `Not in form — add`, covered-by).
|
|
135
|
-
- **P4 — Required cluster (🟡).** Rail → cluster box. Update `Covered by`/`Covers`/
|
|
136
|
-
`One of` assertions.
|
|
137
|
-
- **P5 — Polish.** reset-to-default action, depends-on dimmed-in-place styling,
|
|
138
|
-
responsive pass, qlip/Chromatic re-baseline.
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Test-impact appendix (the audit)
|
|
143
|
-
|
|
144
|
-
`test:stories` runs `vitest run --project storybook`, and the storybook-vitest
|
|
145
|
-
plugin's `storybookScript` is `yarn storybook --no-open` → it wants **:6008**,
|
|
146
|
-
which collides with a running `yarn storybook`. **To validate without disturbing a
|
|
147
|
-
live :6008**, run the suite against a separate port (temporarily point the dev
|
|
148
|
-
script / `storybookScript` at e.g. :6010, or stop the live instance first).
|
|
149
|
-
|
|
150
|
-
Asserted strings that constrain changes (must be preserved, or the test updated):
|
|
151
|
-
`Not set` (×7), `Required — not set`, `Covered by "…"`, `Covers`, `Draft`,
|
|
152
|
-
`Focused Editing`, `Description`, type labels (`<string>`, `<rgbcolor>`),
|
|
153
|
-
`N to resolve` group badges, `1 unsaved change`, plus the class/`data-field`
|
|
154
|
-
hooks listed in the table above. Preserve every `options-readfirst-*` /
|
|
155
|
-
`readfirst-*` class that a play function queries; restyle via CSS rather than
|
|
156
|
-
renaming.
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# Compact mode — descriptions, short descriptions & messages
|
|
2
|
-
|
|
3
|
-
**Status: DECIDED — `stripe-expand` (variant C), 2026-06-11.** Promoted to be *the* compact
|
|
4
|
-
info display: an intent edge-stripe on rows carrying Tier-1 messages plus a per-row expandable
|
|
5
|
-
panel (short_desc + all messages; auto-open on Tier 1, ⓘ toggle in the fixed info slot
|
|
6
|
-
otherwise). The losing variants (subtitle-inline, icon-cluster, adaptive), the temporary
|
|
7
|
-
`compactInfoDisplay` prop, and the Compare sidebar folder (`FormEngineCompare.stories.tsx`)
|
|
8
|
-
were deleted per the `compactHashView` lifecycle. The stress coverage lives on as the regular
|
|
9
|
-
stories **CompactShowcase** and **CompactShowcaseMobile** (360 px) in
|
|
10
|
-
`FormEngine.stories.tsx`. While a row is being edited inline, the editor suppresses its own
|
|
11
|
-
schema-message strip — the panel below the editing row is the single renderer.
|
|
12
|
-
Tier-1/Tier-2 computation is shared with the editor via the extracted
|
|
13
|
-
`getOptionFieldMessages` helper (`OptionFieldMessages.tsx`) — one source of truth.
|
|
14
|
-
(The 360 px finding from the evaluation — value cells truncating in the three-column grid —
|
|
15
|
-
was resolved by the responsive pass: rows stack below 480 px measured form width.)
|
|
16
|
-
|
|
17
|
-
Before this work the compact (read-first) form hid almost all field *information* until a row
|
|
18
|
-
was expanded. This doc inventories what a field can carry, classifies how urgently each piece
|
|
19
|
-
must be seen, and sets the acceptance criteria the shipped display meets. The four-variant
|
|
20
|
-
evaluation that drove the pick is archived in §5 (the `compactHashView` lifecycle: build as
|
|
21
|
-
knobs → compare in stories → pick → delete the losers).
|
|
22
|
-
|
|
23
|
-
## 1. Inventory — what information a field can carry
|
|
24
|
-
|
|
25
|
-
Grounded in the engine/schema (`FormEngine.tsx`, `OptionFieldMessages.tsx`, the Basic fixture):
|
|
26
|
-
|
|
27
|
-
| Information | Source | Intent | Today in compact (read row) |
|
|
28
|
-
|---|---|---|---|
|
|
29
|
-
| Schema **messages** | `schema.messages[]` `{intent, title, content}` | success / info / warning / **danger** | **Invisible** — only rendered inside the expanded editor (`renderOption`) |
|
|
30
|
-
| **Validation / required** | `isOptionValid`, `required`, `required_groups` | danger / warning | `Required` tag on the row; group context invisible |
|
|
31
|
-
| **Dependency state** | `OptionFieldMessages`: "disabled because dependencies are not fulfilled: X", required-group hints | warning / danger | **Invisible** until expanded |
|
|
32
|
-
| **Short description** | `schema.short_desc` | neutral | Hover `title` tooltip — useless on touch |
|
|
33
|
-
| **Long description** | `schema.desc` (markdown) | neutral | `?` icon → help dialog (works, incl. touch) |
|
|
34
|
-
| **Default-value note** | `default_value_desc`, `default_value_display_name` | neutral | Invisible |
|
|
35
|
-
| Read-only / disabled reason | `readonly`, `disabled` flags | neutral | Lock icon only (readonly); disabled rows look normal |
|
|
36
|
-
|
|
37
|
-
## 2. Criticality tiers (the actual decision behind "what must show before open")
|
|
38
|
-
|
|
39
|
-
- **Tier 1 — visible without any interaction:** danger/warning messages, validation state,
|
|
40
|
-
"disabled because of unmet dependency". If a user never expands the row, they must still see
|
|
41
|
-
these. *(Today: mostly invisible — the real gap.)*
|
|
42
|
-
- **Tier 2 — glanceable, one tap away at most:** `short_desc`, info/success messages,
|
|
43
|
-
default-value note, required-group membership ("one of: …").
|
|
44
|
-
- **Tier 3 — on demand:** long markdown `desc` (the existing `?` dialog is fine).
|
|
45
|
-
|
|
46
|
-
## 3. Acceptance criteria (pass/fail per variant)
|
|
47
|
-
|
|
48
|
-
1. Works at **~360 px** width (phone) — no horizontal overflow, everything reachable by tap.
|
|
49
|
-
2. **No hover-only affordances.** Tooltips/popovers must open on tap (reqore supports
|
|
50
|
-
`handler: 'click'`).
|
|
51
|
-
3. A field with **no** Tier-1 info and **no** short_desc stays a **single ~38 px row** — "doesn't
|
|
52
|
-
crowd the view", made measurable.
|
|
53
|
-
4. Tier-1 info is readable **without any interaction** (colour alone is not enough — icon/text too).
|
|
54
|
-
5. Uses existing product language: `ReqoreMessage` intents, `ReqoreTag` badges, the muted-subtitle
|
|
55
|
-
style the IDE restyled creator already uses for field descriptions
|
|
56
|
-
(`RestyledFields.tsx` renders desc as a muted 12 px line under the label).
|
|
57
|
-
|
|
58
|
-
## 4. Research notes
|
|
59
|
-
|
|
60
|
-
**In-product conventions (consistency first):**
|
|
61
|
-
- The IDE restyled creator shows the field description as a **muted line under the label** — the
|
|
62
|
-
exact pattern is already shipped in the form this compact mode replaces.
|
|
63
|
-
- `ReqoreMessage` (small/minimal/opaque=false) is the established intent-strip; the engine already
|
|
64
|
-
uses it inside editors and for the invalid-fields banner.
|
|
65
|
-
- Intent-tinting (Draft/Ready badge, DataView value chips) is the established "severity at a
|
|
66
|
-
glance" language; reqore popovers support `handler='click'` for touch.
|
|
67
|
-
|
|
68
|
-
**External (design systems / UX research):**
|
|
69
|
-
- Helper text belongs **below/beside the field, persistently visible**, not in placeholders or
|
|
70
|
-
hover tooltips; long hints must wrap — key for mobile
|
|
71
|
-
([UX Collective](https://uxdesign.cc/text-fields-forms-design-ui-components-series-2b32b2beebd0),
|
|
72
|
-
[UI Content](https://uicontent.co/designing-help-text-for-form-fields-real-examples/),
|
|
73
|
-
[NN/g on placeholders](https://www.nngroup.com/articles/form-design-placeholders/)).
|
|
74
|
-
- Inline validation: show the indicator **next to the field**, with the message adjacent
|
|
75
|
-
([Smart Interface Design Patterns](https://smart-interface-design-patterns.com/articles/inline-validation-ux/),
|
|
76
|
-
[NN/g error guidelines](https://www.nngroup.com/articles/errors-forms-design-guidelines/)).
|
|
77
|
-
- **Alert icons alone are easy to miss in dense UIs** — a badge/icon-only variant risks failing
|
|
78
|
-
Tier 1; severity colour coding (ok/warning/critical) works when paired with text.
|
|
79
|
-
|
|
80
|
-
## 5. Decision record
|
|
81
|
-
|
|
82
|
-
The four-variant evaluation (proposals A–D, the comparison matrix, and the review
|
|
83
|
-
checklist) lived here while the pick was open. `stripe-expand` (variant C) won on
|
|
84
|
-
2026-06-11; the losing variants and the temporary `compactInfoDisplay` prop were
|
|
85
|
-
deleted. The full pre-decision analysis is preserved in the task log
|
|
86
|
-
([.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md](../.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md),
|
|
87
|
-
"Info-display variant evaluation (archived)").
|