@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
|
@@ -106,8 +106,8 @@ var use_context_selector_1 = require("use-context-selector");
|
|
|
106
106
|
var validations_1 = require("../../../helpers/validations");
|
|
107
107
|
var templates_1 = require("../../../helpers/templates");
|
|
108
108
|
var common_1 = require("../../../helpers/common");
|
|
109
|
-
var fieldDescription_1 = require("../../../helpers/fieldDescription");
|
|
110
109
|
var templateText_1 = require("../../../helpers/templateText");
|
|
110
|
+
var pendingEdit_1 = require("../fields/pendingEdit");
|
|
111
111
|
var ReadOnlyTemplateTag_1 = require("../fields/template/ReadOnlyTemplateTag");
|
|
112
112
|
var TemplateText_1 = require("../fields/template/TemplateText");
|
|
113
113
|
var codeSize_1 = require("../../codeSize");
|
|
@@ -115,7 +115,11 @@ var Description_1 = require("../../Description");
|
|
|
115
115
|
var markdownRendererContext_1 = require("../../Description/markdownRendererContext");
|
|
116
116
|
var FocusedEditing_1 = require("../../FocusedEditing");
|
|
117
117
|
var compactRowContext_1 = require("./compactRowContext");
|
|
118
|
-
var
|
|
118
|
+
var useCoarsePointer_1 = require("../../../hooks/useCoarsePointer");
|
|
119
|
+
var qorusTypeCatalogue_1 = require("../../../helpers/qorusTypeCatalogue");
|
|
120
|
+
var typeSentenceForm_1 = require("../typeSentenceForm");
|
|
121
|
+
var inheritProps_1 = require("./inheritProps");
|
|
122
|
+
var noDescription_1 = require("../../../helpers/noDescription");
|
|
119
123
|
var revealRow_1 = require("./revealRow");
|
|
120
124
|
var compactRowStyles_1 = require("./compactRowStyles");
|
|
121
125
|
var OptionFieldMessages_1 = require("./OptionFieldMessages");
|
|
@@ -123,9 +127,14 @@ var rowFocus_1 = require("./rowFocus");
|
|
|
123
127
|
var rowOpenPicker_1 = require("./rowOpenPicker");
|
|
124
128
|
var SchemaDataView_1 = require("./_structuredData/SchemaDataView");
|
|
125
129
|
var queryUnlessCancelled_1 = require("../../../utils/queryUnlessCancelled");
|
|
130
|
+
var markdownText_1 = require("../../../helpers/markdownText");
|
|
126
131
|
var readFirst_1 = require("./readFirst");
|
|
127
132
|
var StructuredDataView_1 = require("./_structuredData/StructuredDataView");
|
|
128
133
|
var DpqlRendering_1 = require("../expressions/DpqlRendering");
|
|
134
|
+
var argumentPresence_1 = require("../expressions/argumentPresence");
|
|
135
|
+
var colorValue_1 = require("../../colorValue");
|
|
136
|
+
var hoveringPointer_1 = require("../../../helpers/hoveringPointer");
|
|
137
|
+
var webLink_1 = require("../../../helpers/webLink");
|
|
129
138
|
/**
|
|
130
139
|
* Does this markdown value have more document in it than one row can show?
|
|
131
140
|
*
|
|
@@ -211,19 +220,45 @@ var richtextItemText = function (item) {
|
|
|
211
220
|
: undefined;
|
|
212
221
|
};
|
|
213
222
|
exports.richtextItemText = richtextItemText;
|
|
223
|
+
/**
|
|
224
|
+
* An editable row's plain text: wrapped, up to three lines (see `renderReadFirstValue`). Its newlines fold into
|
|
225
|
+
* the line, as the one-line summary folded them.
|
|
226
|
+
*/
|
|
227
|
+
var SUMMARY_TEXT_STYLE = Object.freeze({
|
|
228
|
+
display: '-webkit-box',
|
|
229
|
+
WebkitBoxOrient: 'vertical',
|
|
230
|
+
WebkitLineClamp: 3,
|
|
231
|
+
overflow: 'hidden',
|
|
232
|
+
whiteSpace: 'normal',
|
|
233
|
+
overflowWrap: 'anywhere',
|
|
234
|
+
minWidth: 0,
|
|
235
|
+
});
|
|
236
|
+
/**
|
|
237
|
+
* A value that is a web address, as a link to it: it opens in a new tab, and a click or Enter on it follows it
|
|
238
|
+
* without opening the row it is in. Reached with Tab, it says where it goes and that it opens a new tab, and
|
|
239
|
+
* shows its focus ring (`.options-readfirst-link`); its address is copied as a link's is.
|
|
240
|
+
*/
|
|
241
|
+
var WebLink = (0, react_1.memo)(function (_a) {
|
|
242
|
+
var address = _a.address, color = _a.color;
|
|
243
|
+
return ((0, jsx_runtime_1.jsx)("a", { className: 'options-readfirst-link', href: address, target: '_blank', rel: 'noopener noreferrer', "aria-label": "".concat(address, " (opens in a new tab)"), style: color ? { color: color } : undefined,
|
|
244
|
+
// the link's, not the row's: the row opens on a click and on Enter or Space
|
|
245
|
+
onClick: function (event) { return event.stopPropagation(); }, onKeyDown: function (event) {
|
|
246
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
247
|
+
event.stopPropagation();
|
|
248
|
+
}
|
|
249
|
+
}, children: address }));
|
|
250
|
+
});
|
|
251
|
+
WebLink.displayName = 'WebLink';
|
|
252
|
+
/** The status boxes by name, as their headers say them. */
|
|
253
|
+
/** A read-only editor's change: there is none to take. */
|
|
254
|
+
var ignoreReadOnlyChange = function () { return undefined; };
|
|
214
255
|
exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
215
256
|
var _b;
|
|
216
257
|
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
217
258
|
var optionName = _a.optionName, optionField = _a.optionField, _r = _a.hidden, hidden = _r === void 0 ? false : _r, _s = _a.clustered, clustered = _s === void 0 ? false : _s, _t = _a.clusterFirst, clusterFirst = _t === void 0 ? false : _t, _u = _a.clusterLast, clusterLast = _u === void 0 ? false : _u, absorbedFields = _a.absorbedFields;
|
|
218
259
|
var readOnly = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.readOnly; });
|
|
219
|
-
// The look only — see `TFormEngineAppearance`. Nothing a row DOES reads it.
|
|
220
|
-
var calm = (0, formAppearance_1.useIsCalmForm)();
|
|
221
260
|
var commitMode = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.commitMode; });
|
|
222
261
|
var options = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.options; });
|
|
223
|
-
// Whether this field's emptiness is a fault yet: the person has opened it and left,
|
|
224
|
-
// or the host reported a submit attempt. Before that a required field is only to
|
|
225
|
-
// fill in, and says so in the quiet colour.
|
|
226
|
-
var visited = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { var _a; return v.revealRequired || !!((_a = v.visitedOptions) === null || _a === void 0 ? void 0 : _a.includes(optionName)); });
|
|
227
262
|
// An absorbed field keeps its own name — it is a different field, not a
|
|
228
263
|
// property of its host — so the label comes from its schema exactly as it
|
|
229
264
|
// would on its own row.
|
|
@@ -233,14 +268,23 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
233
268
|
absorbedName;
|
|
234
269
|
};
|
|
235
270
|
var codePreviewRenderer = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.codePreviewRenderer; });
|
|
271
|
+
var CodeEditor = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.codeEditor; });
|
|
272
|
+
var readSummaries = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.readSummaries; });
|
|
273
|
+
var cardEditorTypes = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.cardEditorTypes; });
|
|
236
274
|
var markdownRenderer = (0, markdownRendererContext_1.useMarkdownRenderer)();
|
|
237
275
|
var operators = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.operators; });
|
|
238
276
|
var focusedEditing = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.focusedEditing; });
|
|
239
277
|
var showFieldTypes = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.showFieldTypes; });
|
|
278
|
+
// a finger's target is `small`, a mouse's `tiny` (the help button)
|
|
279
|
+
var coarse = (0, useCoarsePointer_1.useCoarsePointer)();
|
|
280
|
+
// what kind of value the option takes, in the words the form's type catalogue names it
|
|
281
|
+
var typeName = (0, typeSentenceForm_1.useTypeName)();
|
|
282
|
+
var typeSentenceForm = (0, typeSentenceForm_1.useTypeSentenceForm)();
|
|
240
283
|
var showAllDescriptions = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.showAllDescriptions; });
|
|
241
284
|
var isExpanded = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) {
|
|
242
285
|
return v.expandedOptions.includes(optionName);
|
|
243
286
|
});
|
|
287
|
+
// the box this open field moves to when it is closed, when that is not the one it is shown in
|
|
244
288
|
var isHighlighted = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) {
|
|
245
289
|
return v.highlightedOptions.includes(optionName);
|
|
246
290
|
});
|
|
@@ -286,7 +330,8 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
286
330
|
var availableOptions = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.availableOptions; });
|
|
287
331
|
var requiredGroupsInfo = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.requiredGroupsInfo; });
|
|
288
332
|
var handleValueChange = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.handleValueChange; });
|
|
289
|
-
var
|
|
333
|
+
var expandOption = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.expandOption; });
|
|
334
|
+
var collapseOption = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.collapseOption; });
|
|
290
335
|
var flashOption = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.flashOption; });
|
|
291
336
|
var hasOptionChanged = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.hasOptionChanged; });
|
|
292
337
|
var handleOptionLabelClick = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.handleOptionLabelClick; });
|
|
@@ -299,6 +344,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
299
344
|
var renderOption = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.renderOption; });
|
|
300
345
|
var theme = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.theme; });
|
|
301
346
|
var cMuted = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.cMuted; });
|
|
347
|
+
var rowInks = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.rowInks; });
|
|
302
348
|
var templates = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.templates; });
|
|
303
349
|
var cKey = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.cKey; });
|
|
304
350
|
var cDivider = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.cDivider; });
|
|
@@ -306,27 +352,27 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
306
352
|
var cDanger = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.cDanger; });
|
|
307
353
|
var cWarning = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.cWarning; });
|
|
308
354
|
var cInfo = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.cInfo; });
|
|
309
|
-
var cText = (0, use_context_selector_1.useContextSelector)(compactRowContext_1.CompactRowContext, function (v) { return v.cText; });
|
|
310
|
-
// A field's NAME: full text colour by default; grey in the calm look, so the
|
|
311
|
-
// value beside it is what the eye lands on. One colour for the read row, the
|
|
312
|
-
// open row and the edit card, so a name does not change as its field opens.
|
|
313
|
-
var cLabel = calm ? "".concat(cText, "b3") : cKey;
|
|
314
355
|
// A markdown value renders as a document in the row's inset; the host's
|
|
315
356
|
// renderer when it supplied one, reqraft's own otherwise.
|
|
316
|
-
// Value-cell content:
|
|
357
|
+
// Value-cell content: color adds a swatch, file an icon + size; hash keeps
|
|
317
358
|
// its "N fields" summary (sub-fields reveal beneath the row).
|
|
318
359
|
var renderReadFirstValue = function (field, schema, formatted,
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
360
|
+
/* An editable row's plain text wraps, up to three lines: its value line is a summary you click to open,
|
|
361
|
+
and the whole value is in the row's editor. It was one line with an ellipsis, and an address or a
|
|
362
|
+
sentence lost its end at every width (qorus#646, Foxhoundn on qlip #383: "wrap texts so users on both
|
|
363
|
+
phones and desktops can easily read and copy it"; David, 2026-10-22). A read-only row is the only
|
|
364
|
+
rendering the value gets, so it wraps in full (`full`), a long text moving to the inset under the row
|
|
365
|
+
with "Show more". */
|
|
322
366
|
full) {
|
|
323
367
|
var _a;
|
|
324
368
|
if (full === void 0) { full = false; }
|
|
325
369
|
var valueType = (0, readFirst_1.getValueType)(field, schema);
|
|
326
370
|
var wrapStyle = __assign({ display: 'inline-flex', alignItems: 'center', gap: 6, minWidth: 0, maxWidth: '100%' }, (full ? { flexWrap: 'wrap' } : {}));
|
|
327
|
-
var textStyle = full ?
|
|
328
|
-
|
|
329
|
-
|
|
371
|
+
var textStyle = full ? { whiteSpace: 'pre-wrap', overflowWrap: 'anywhere' } : SUMMARY_TEXT_STYLE;
|
|
372
|
+
// The expression the value holds, in either shape the editor stores it: the flag on the option, or
|
|
373
|
+
// the envelope nested in its value as a reloaded draft has it.
|
|
374
|
+
var expressionAst = (0, readFirst_1.getExpressionAst)(field);
|
|
375
|
+
var isExpression = !!(field === null || field === void 0 ? void 0 : field.is_expression) || expressionAst !== undefined;
|
|
330
376
|
/* A row has to SAY when its value is an expression.
|
|
331
377
|
|
|
332
378
|
Reported from the live IDE: an author accepted the *Use as expression*
|
|
@@ -339,7 +385,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
339
385
|
The same Σ the expression editor uses, so the mark means the same thing
|
|
340
386
|
wherever it appears. */
|
|
341
387
|
var withExpressionMarker = function (rendered) {
|
|
342
|
-
if (!
|
|
388
|
+
if (!isExpression) {
|
|
343
389
|
return rendered;
|
|
344
390
|
}
|
|
345
391
|
return ((0, jsx_runtime_1.jsxs)("span", { style: __assign(__assign({}, wrapStyle), { gap: 4 }), children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Functions', size: 'tiny',
|
|
@@ -352,13 +398,43 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
352
398
|
rule, which reqore has no prop for, stays inline. */
|
|
353
399
|
effect: { opacity: 0.7 }, style: { flexShrink: 0 }, tooltip: 'This value is an expression' }), rendered] }));
|
|
354
400
|
};
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
401
|
+
// Template value ($local:…): the read-only template picker — the SAME chip
|
|
402
|
+
// TemplateField renders when disabled, so a template reads identically here
|
|
403
|
+
// and in the editor (qorus-ide intent scheme: info / qorus purple).
|
|
404
|
+
//
|
|
405
|
+
// A field may also declare templates OF ITS OWN, and a value drawn from
|
|
406
|
+
// that list is just as much a template even when it does not look like
|
|
407
|
+
// `$name:key` — `isValueTemplate` is a guess at the shape of the built-in
|
|
408
|
+
// grammar, and a host's own grammar (a Qorus test's `$.order.id`) fails it.
|
|
409
|
+
// Asking the field's list whether it CONTAINS the value settles it without
|
|
410
|
+
// guessing at syntax, and hands back the entry whose label the chip prints,
|
|
411
|
+
// so a reference reads as the name it was chosen by here as well as in the
|
|
412
|
+
// editor rather than as a raw path.
|
|
413
|
+
var ownTemplates = (_a = schema === null || schema === void 0 ? void 0 : schema.templates) !== null && _a !== void 0 ? _a : templates;
|
|
414
|
+
// The grammar the field declares its references in, when it speaks one of
|
|
415
|
+
// its own — the same schema key its rich-text editor is given.
|
|
416
|
+
var templateGrammar = schema === null || schema === void 0 ? void 0 : schema.templateToken;
|
|
417
|
+
/* A template or an expression is shown as one, whatever the field's type, so these two come before
|
|
418
|
+
any type draws a value of its own (qorus#646). A color's branch came first and called a template
|
|
419
|
+
or an expression on a color option "Set"; a file's printed the raw reference as a file name. */
|
|
420
|
+
if (typeof (field === null || field === void 0 ? void 0 : field.value) === 'string' &&
|
|
421
|
+
!isExpression &&
|
|
422
|
+
((0, templates_1.isValueTemplate)(field.value) || !!(0, templates_1.findTemplate)(ownTemplates !== null && ownTemplates !== void 0 ? ownTemplates : {}, field.value))) {
|
|
423
|
+
return (0, jsx_runtime_1.jsx)(ReadOnlyTemplateTag_1.ReadOnlyTemplateTag, { value: field.value, templates: ownTemplates });
|
|
424
|
+
}
|
|
425
|
+
// An expression reads as DPQL wherever it is shown without being edited:
|
|
426
|
+
// the same rendering its Explain panel and Preview use — monospace,
|
|
427
|
+
// colored by the language server, template references as chips — so a
|
|
428
|
+
// collapsed row and the editor it opens never disagree about what the
|
|
429
|
+
// value looks like. See `DpqlRendering`. In either shape the editor stores
|
|
430
|
+
// it: the flag on the option, or the envelope nested in its value as a
|
|
431
|
+
// reloaded draft has it (`getExpressionAst`).
|
|
432
|
+
if (isExpression && formatted) {
|
|
433
|
+
return withExpressionMarker((0, jsx_runtime_1.jsx)("span", { style: __assign({ minWidth: 0, flex: '1 1 auto' }, (full ? {} : { overflow: 'hidden' })), children: (0, jsx_runtime_1.jsx)(DpqlRendering_1.DpqlRendering, { text: formatted, templates: ownTemplates }) }));
|
|
434
|
+
}
|
|
435
|
+
// a color reads as ReqraftColorValue draws one, at its one-line size; a sensitive one is not shown
|
|
436
|
+
if (valueType === 'rgbcolor' && !(schema === null || schema === void 0 ? void 0 : schema.sensitive)) {
|
|
437
|
+
return (0, jsx_runtime_1.jsx)(colorValue_1.ReqraftColorValue, { value: field === null || field === void 0 ? void 0 : field.value, size: 'compact', wrap: full });
|
|
362
438
|
}
|
|
363
439
|
if (valueType === 'file') {
|
|
364
440
|
var fileSize = (0, readFirst_1.getFileSize)(field === null || field === void 0 ? void 0 : field.value);
|
|
@@ -366,12 +442,8 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
366
442
|
// trailing key pill (the editor renders it as a ReqoreButton badge).
|
|
367
443
|
return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { size: 'small', minimal: true, intent: 'info', icon: 'FileLine', label: formatted, labelKey: fileSize !== undefined ? (0, readFirst_1.formatBytes)(fileSize) : undefined }));
|
|
368
444
|
}
|
|
445
|
+
// a yes/no holding a template has read as the template, above, not as Yes (qorus#646)
|
|
369
446
|
if (valueType === 'bool' || valueType === 'boolean') {
|
|
370
|
-
// Calm: Yes and No are words. Neither is a status — "No" is not a
|
|
371
|
-
// failure — so neither is coloured.
|
|
372
|
-
if (calm) {
|
|
373
|
-
return (0, jsx_runtime_1.jsx)("span", { style: textStyle, children: formatted });
|
|
374
|
-
}
|
|
375
447
|
var truthy = (field === null || field === void 0 ? void 0 : field.value) === true || (field === null || field === void 0 ? void 0 : field.value) === 'true';
|
|
376
448
|
return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { size: 'small', minimal: true, intent: truthy ? 'success' : 'danger', label: formatted }));
|
|
377
449
|
}
|
|
@@ -386,7 +458,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
386
458
|
// only surface still printing them as prose.
|
|
387
459
|
//
|
|
388
460
|
// `intent` is a FILL, which is what a tag is — the hazard the other
|
|
389
|
-
// branches warn about is only ever using an intent as a TEXT
|
|
461
|
+
// branches warn about is only ever using an intent as a TEXT color.
|
|
390
462
|
//
|
|
391
463
|
// Falls through to the plain summary unless EVERY entry yields a name: a
|
|
392
464
|
// partly-chipped row would read as though the unnamed cases were missing.
|
|
@@ -414,12 +486,17 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
414
486
|
// It reads as a chip beside the size chip — "Qore · 62 lines" — which
|
|
415
487
|
// is the same summary the read-only interface pages already show.
|
|
416
488
|
return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { gapSize: 'tiny', verticalAlign: 'center', wrap: true, children: (absorbedFields !== null && absorbedFields !== void 0 ? absorbedFields : []).map(function (absorbedName) {
|
|
417
|
-
var
|
|
418
|
-
var absorbedValue =
|
|
489
|
+
var absorbedField = availableOptions === null || availableOptions === void 0 ? void 0 : availableOptions[absorbedName];
|
|
490
|
+
var absorbedValue = absorbedField === null || absorbedField === void 0 ? void 0 : absorbedField.value;
|
|
419
491
|
if (absorbedValue === undefined || absorbedValue === null || absorbedValue === '') {
|
|
420
492
|
return null;
|
|
421
493
|
}
|
|
422
|
-
|
|
494
|
+
/* What the value is called and its picture, as its own control draws it: a language is "Qore" with
|
|
495
|
+
its logo, not the value it is stored as, "qore" (qorus#646, David's review). */
|
|
496
|
+
var absorbedSchema = options === null || options === void 0 ? void 0 : options[absorbedName];
|
|
497
|
+
var choice = (0, readFirst_1.findAllowedValueOption)(absorbedValue, absorbedSchema);
|
|
498
|
+
return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { className: 'options-readfirst-absorbed-tag', size: 'small', minimal: true, icon: (choice === null || choice === void 0 ? void 0 : choice.image) ? 'CheckboxBlankLine' : undefined, leftIconProps: (choice === null || choice === void 0 ? void 0 : choice.image) ? { image: choice.image } : undefined, label: (0, readFirst_1.formatOptionValue)(absorbedField, absorbedSchema) ||
|
|
499
|
+
String(absorbedValue), tooltip: getAbsorbedLabel(absorbedName) }, absorbedName));
|
|
423
500
|
}) }));
|
|
424
501
|
}
|
|
425
502
|
// Markdown read summary: the row prints the value's prose (the markdown
|
|
@@ -455,27 +532,6 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
455
532
|
if (allowedIcon) {
|
|
456
533
|
return ((0, jsx_runtime_1.jsxs)("span", { style: wrapStyle, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: allowedIcon, size: '16px', style: { flexShrink: 0 } }), (0, jsx_runtime_1.jsx)("span", { style: textStyle, children: formatted })] }));
|
|
457
534
|
}
|
|
458
|
-
// Template value ($local:…): the read-only template picker — the SAME chip
|
|
459
|
-
// TemplateField renders when disabled, so a template reads identically here
|
|
460
|
-
// and in the editor (qorus-ide intent scheme: info / qorus purple).
|
|
461
|
-
//
|
|
462
|
-
// A field may also declare templates OF ITS OWN, and a value drawn from
|
|
463
|
-
// that list is just as much a template even when it does not look like
|
|
464
|
-
// `$name:key` — `isValueTemplate` is a guess at the shape of the built-in
|
|
465
|
-
// grammar, and a host's own grammar (a Qorus test's `$.order.id`) fails it.
|
|
466
|
-
// Asking the field's list whether it CONTAINS the value settles it without
|
|
467
|
-
// guessing at syntax, and hands back the entry whose label the chip prints,
|
|
468
|
-
// so a reference reads as the name it was chosen by here as well as in the
|
|
469
|
-
// editor rather than as a raw path.
|
|
470
|
-
var ownTemplates = (_a = schema === null || schema === void 0 ? void 0 : schema.templates) !== null && _a !== void 0 ? _a : templates;
|
|
471
|
-
// The grammar the field declares its references in, when it speaks one of
|
|
472
|
-
// its own — the same schema key its rich-text editor is given.
|
|
473
|
-
var templateGrammar = schema === null || schema === void 0 ? void 0 : schema.templateToken;
|
|
474
|
-
if (typeof (field === null || field === void 0 ? void 0 : field.value) === 'string' &&
|
|
475
|
-
!field.is_expression &&
|
|
476
|
-
((0, templates_1.isValueTemplate)(field.value) || !!(0, templates_1.findTemplate)(ownTemplates !== null && ownTemplates !== void 0 ? ownTemplates : {}, field.value))) {
|
|
477
|
-
return (0, jsx_runtime_1.jsx)(ReadOnlyTemplateTag_1.ReadOnlyTemplateTag, { value: field.value, templates: ownTemplates, size: 'small' });
|
|
478
|
-
}
|
|
479
535
|
// A LIST whose elements are rich-text envelopes is a list of strings, so it
|
|
480
536
|
// reads as those strings. Without this the row fell through to the generic
|
|
481
537
|
// list summary and printed a bare count ("1 item") above the structured
|
|
@@ -496,14 +552,6 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
496
552
|
return (0, jsx_runtime_1.jsx)(TemplateText_1.TemplateText, { segments: segments, templates: ownTemplates, full: full });
|
|
497
553
|
}
|
|
498
554
|
}
|
|
499
|
-
// An expression reads as DPQL wherever it is shown without being edited:
|
|
500
|
-
// the same rendering its Explain panel and Preview use — monospace,
|
|
501
|
-
// coloured by the language server, template references as chips — so a
|
|
502
|
-
// collapsed row and the editor it opens never disagree about what the
|
|
503
|
-
// value looks like. See `DpqlRendering`.
|
|
504
|
-
if ((field === null || field === void 0 ? void 0 : field.is_expression) && formatted) {
|
|
505
|
-
return withExpressionMarker((0, jsx_runtime_1.jsx)("span", { style: __assign({ minWidth: 0, flex: '1 1 auto' }, (full ? {} : { overflow: 'hidden' })), children: (0, jsx_runtime_1.jsx)(DpqlRendering_1.DpqlRendering, { text: formatted, templates: ownTemplates }) }));
|
|
506
|
-
}
|
|
507
555
|
/* A value that MENTIONS a reference rather than being one.
|
|
508
556
|
|
|
509
557
|
The branch above answers "is this value a template?", and a predicate is
|
|
@@ -524,10 +572,23 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
524
572
|
if (templateSegments.some(function (segment) { return segment.kind === 'tag'; })) {
|
|
525
573
|
return withExpressionMarker((0, jsx_runtime_1.jsx)(TemplateText_1.TemplateText, { segments: templateSegments, templates: ownTemplates, full: full }));
|
|
526
574
|
}
|
|
527
|
-
|
|
575
|
+
/* A value that is a web address is a link to it, in an editable row and a read-only one: it opens in a
|
|
576
|
+
new tab, and a click or a key on it follows it and does not open the row (Foxhoundn on qlip #383:
|
|
577
|
+
"Please render links as links"; David, 2026-10-22). Only the value as typed: a value drawn as a label
|
|
578
|
+
or masked is not its address. */
|
|
579
|
+
var link = formatted === (field === null || field === void 0 ? void 0 : field.value) ? (0, webLink_1.webLinkOf)(formatted) : undefined;
|
|
580
|
+
return withExpressionMarker((0, jsx_runtime_1.jsx)("span", { style: textStyle, children: link ?
|
|
581
|
+
(0, jsx_runtime_1.jsx)(WebLink, { address: link, color: cInfo })
|
|
582
|
+
: formatted }));
|
|
528
583
|
};
|
|
529
584
|
var schema = options === null || options === void 0 ? void 0 : options[optionName];
|
|
530
585
|
var label = (schema === null || schema === void 0 ? void 0 : schema.display_name) || optionName;
|
|
586
|
+
/* The name and its asterisk, which a word joiner (U+2060) holds to the name's last character: it is on the
|
|
587
|
+
name's (last) line, never on a line of its own under it (Foxhoundn, qlip #392). The name stays one text,
|
|
588
|
+
found by its words as it always was. */
|
|
589
|
+
var nameWithAsterisk = function (asterisk) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [label, asterisk ?
|
|
590
|
+
(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledLabelAsterisk, { className: 'options-readfirst-required', children: ['\u2060', (0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Asterisk', color: rowInks.danger, size: "".concat(compactRowStyles_1.LABEL_ASTERISK_SIZE, "px"), margin: 'left', marginSize: 'tiny' })] })
|
|
591
|
+
: null] })); };
|
|
531
592
|
var injectedOptionActions = react_1.default.useMemo(function () {
|
|
532
593
|
return schema ?
|
|
533
594
|
(0, optionActions_1.resolveOptionActions)(optionActions, {
|
|
@@ -563,11 +624,8 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
563
624
|
}, children: actionLabel }), "".concat(optionName, "-injected-action-").concat(index)));
|
|
564
625
|
};
|
|
565
626
|
var required = !!((schema === null || schema === void 0 ? void 0 : schema.required) || (schema === null || schema === void 0 ? void 0 : schema.required_groups));
|
|
566
|
-
// The asterisk says "you have to fill this in". Read-only, nobody does.
|
|
567
|
-
|
|
568
|
-
// value column instead ("Required · add a value"), and a filled one has
|
|
569
|
-
// nothing left to ask for.
|
|
570
|
-
var requiredMark = required && !readOnly && !calm;
|
|
627
|
+
// The asterisk says "you have to fill this in". Read-only, nobody does.
|
|
628
|
+
var requiredMark = required && !readOnly;
|
|
571
629
|
var removable = !readOnly && !(schema === null || schema === void 0 ? void 0 : schema.preselected) && !(schema === null || schema === void 0 ? void 0 : schema.required) && !(schema === null || schema === void 0 ? void 0 : schema.required_groups);
|
|
572
630
|
var changed = !hidden && !readOnly && hasOptionChanged(optionField === null || optionField === void 0 ? void 0 : optionField.value, optionName);
|
|
573
631
|
// "Has a value" = set to anything non-empty. Drives the edit-row Clear
|
|
@@ -608,15 +666,13 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
608
666
|
var chipGroups = unmetGroups.length ? unmetGroups : memberGroups;
|
|
609
667
|
var groupResolved = !!memberGroups.length && !unmetGroups.length;
|
|
610
668
|
var requiredGroupChip = !hidden && !readOnly && memberGroups.length && !(schema === null || schema === void 0 ? void 0 : schema.required) ?
|
|
611
|
-
(0, jsx_runtime_1.jsx)("span", { style: { display: 'inline-flex' }, role: 'presentation', onClick: function (e) { return e.stopPropagation(); }, onKeyDown: function (e) { return e.stopPropagation(); },
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
: 'success'
|
|
619
|
-
: 'warning', icon: groupResolved ? 'CheckLine' : 'LinkM', label: !groupResolved ? 'One of'
|
|
669
|
+
(0, jsx_runtime_1.jsx)("span", { style: { display: 'inline-flex' }, role: 'presentation', onClick: function (e) { return e.stopPropagation(); }, onKeyDown: function (e) { return e.stopPropagation(); },
|
|
670
|
+
// a mouse's hover, not a tap's emulated one: see `isHoveringPointer`
|
|
671
|
+
onPointerEnter: function (e) {
|
|
672
|
+
if ((0, hoveringPointer_1.isHoveringPointer)(e)) {
|
|
673
|
+
setHighlightedOptions(requiredGroupsInfo.members[chipGroups[0]] || []);
|
|
674
|
+
}
|
|
675
|
+
}, onPointerLeave: function () { return setHighlightedOptions([]); }, children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreDropdown, { className: 'options-readfirst-required-group', size: 'tiny', minimal: true, flat: true, compact: true, effect: { uppercase: true, spaced: 1 }, intent: groupResolved ? 'success' : 'warning', icon: groupResolved ? 'CheckLine' : 'LinkM', label: !groupResolved ? 'One of'
|
|
620
676
|
: coveredByLabel ?
|
|
621
677
|
"Covered by \u201C".concat(coveredByLabel, "\u201D")
|
|
622
678
|
: 'Covers', filterable: chipGroups.reduce(function (n, g) { return n + requiredGroupsInfo.members[g].length; }, 0) > 6, items: chipGroups.flatMap(function (groupName) { return __spreadArray(__spreadArray([], (chipGroups.length > 1 ?
|
|
@@ -636,6 +692,20 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
636
692
|
var editType = (_d = (fixedAllowedValueOption ?
|
|
637
693
|
(schema === null || schema === void 0 ? void 0 : schema.type) || (schema === null || schema === void 0 ? void 0 : schema.ui_type)
|
|
638
694
|
: (schema === null || schema === void 0 ? void 0 : schema.ui_type) || (schema === null || schema === void 0 ? void 0 : schema.type))) !== null && _d !== void 0 ? _d : '';
|
|
695
|
+
/* A complex field (a tall or nested editor) opens in the card below the row: reqraft's own complex types, and
|
|
696
|
+
the host's editors it names (`cardEditorTypes`): a host editor of its own, such as a sheet contract, opened
|
|
697
|
+
in the row's value column, about 240px wide (qorus#646). */
|
|
698
|
+
var isHostCardEditor = !!(cardEditorTypes === null || cardEditorTypes === void 0 ? void 0 : cardEditorTypes.includes(editType));
|
|
699
|
+
var opensInCard = COMPACT_COMPLEX_TYPES.has(editType) || isHostCardEditor;
|
|
700
|
+
/* What the host draws for the row when it is closed (`readSummaries`): a summary of its own, under which the
|
|
701
|
+
row draws no preview of the value (see `hostSummarizes`). */
|
|
702
|
+
var readSummaryUiType = schema === null || schema === void 0 ? void 0 : schema.ui_type;
|
|
703
|
+
var ReadSummary = readSummaryUiType ? readSummaries === null || readSummaries === void 0 ? void 0 : readSummaries[readSummaryUiType] : undefined;
|
|
704
|
+
/* In a read-only form, a row whose content its line does not show - a host editor that opens in the card, or a
|
|
705
|
+
row the host summarizes - opens its card with the editor read-only, and its fullscreen view: the summary is
|
|
706
|
+
one line ("4 columns · 1 rule"), and with no preview under it, the card is where what it holds is read
|
|
707
|
+
(qorus#646). Any other read-only row shows all it holds and opens nothing. */
|
|
708
|
+
var readOnlyOpens = !!readOnly && !hidden && (isHostCardEditor || !!ReadSummary);
|
|
639
709
|
// Scalars edit in place inside the row; complex fields (tall or nested
|
|
640
710
|
// editors) still open the expanded card below.
|
|
641
711
|
var inlineEditableNow = !readOnly &&
|
|
@@ -645,7 +715,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
645
715
|
!optionField.is_expression &&
|
|
646
716
|
// A choice with per-option logos (e.g. language) reads better collapsed.
|
|
647
717
|
!(0, readFirst_1.optionHasImages)(schema) &&
|
|
648
|
-
!
|
|
718
|
+
!opensInCard;
|
|
649
719
|
/* Which of the two editors a row gets is settled when the row OPENS.
|
|
650
720
|
*
|
|
651
721
|
* Every term above reads the VALUE or a schema derived from it, so the
|
|
@@ -756,43 +826,18 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
756
826
|
if (!editor)
|
|
757
827
|
return undefined;
|
|
758
828
|
var settled = false;
|
|
759
|
-
/* A control that is not a text box holds the caret PROVISIONALLY. An editor that
|
|
760
|
-
takes text can mount after the row opens (a code editor loads late), and until
|
|
761
|
-
it does the only control there is its chrome: a fullscreen toggle. When the
|
|
762
|
-
text box arrives it takes the caret, unless the reader has moved it since. A
|
|
763
|
-
row that never grows one (a pick-one) simply keeps its control. */
|
|
764
|
-
var provisional = null;
|
|
765
829
|
var takeCaret = function () {
|
|
766
830
|
var _a;
|
|
767
831
|
if (settled)
|
|
768
832
|
return true;
|
|
769
833
|
var active = document.activeElement;
|
|
770
|
-
if (provisional) {
|
|
771
|
-
if (active !== provisional) {
|
|
772
|
-
// The reader moved the caret themselves. Leave it there.
|
|
773
|
-
settled = true;
|
|
774
|
-
return true;
|
|
775
|
-
}
|
|
776
|
-
var textEntry = (0, rowFocus_1.findRowFocusTarget)(editor, { textEntryOnly: true });
|
|
777
|
-
if (!textEntry)
|
|
778
|
-
return false;
|
|
779
|
-
textEntry.focus({ preventScroll: true });
|
|
780
|
-
// An editor's text box can be in the DOM before it can take focus (Monaco's
|
|
781
|
-
// edit area, mid-layout), and `focus()` then does nothing. Only a caret
|
|
782
|
-
// that landed counts; otherwise try again on the editor's next change.
|
|
783
|
-
if (document.activeElement !== textEntry)
|
|
784
|
-
return false;
|
|
785
|
-
settled = true;
|
|
786
|
-
return true;
|
|
787
|
-
}
|
|
788
834
|
if (active && active !== document.body && !((_a = rowRef.current) === null || _a === void 0 ? void 0 : _a.contains(active))) {
|
|
789
835
|
// Someone else holds the caret — a field the reader moved into while
|
|
790
836
|
// this row's editor was still arriving. Leave it where it is.
|
|
791
837
|
settled = true;
|
|
792
838
|
return true;
|
|
793
839
|
}
|
|
794
|
-
|
|
795
|
-
var control = (0, rowFocus_1.findRowFocusTarget)(editor, { textEntryOnly: !inlineEditable });
|
|
840
|
+
var control = (0, rowFocus_1.findRowFocusTarget)(editor);
|
|
796
841
|
if (!control)
|
|
797
842
|
return false;
|
|
798
843
|
// The least scroll that shows the row clear of the pinned box header,
|
|
@@ -803,10 +848,6 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
803
848
|
// `preventScroll`, because the reveal above has already put the row
|
|
804
849
|
// where it belongs; letting focus scroll as well moves it twice.
|
|
805
850
|
control.focus({ preventScroll: true });
|
|
806
|
-
// A control that cannot take focus yet (still laying out) did not take
|
|
807
|
-
// the caret: try again on the editor's next change.
|
|
808
|
-
if (document.activeElement !== control)
|
|
809
|
-
return false;
|
|
810
851
|
/* …and if the control the row offers is a PICKER, open it.
|
|
811
852
|
*
|
|
812
853
|
* A closed picker prints the value it holds, which is exactly what the
|
|
@@ -824,13 +865,6 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
824
865
|
if (openedByAuthor.current && inlineEditable && (0, rowFocus_1.isClosedPickerTrigger)(control)) {
|
|
825
866
|
openedByAuthor.current = false;
|
|
826
867
|
setOpenThePicker(true);
|
|
827
|
-
settled = true;
|
|
828
|
-
return true;
|
|
829
|
-
}
|
|
830
|
-
if ((0, rowFocus_1.findRowFocusTarget)(editor, { textEntryOnly: true }) !== control) {
|
|
831
|
-
// Not a text box: hold it until one arrives (see `provisional`).
|
|
832
|
-
provisional = control;
|
|
833
|
-
return false;
|
|
834
868
|
}
|
|
835
869
|
settled = true;
|
|
836
870
|
return true;
|
|
@@ -841,9 +875,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
841
875
|
if (takeCaret())
|
|
842
876
|
observer.disconnect();
|
|
843
877
|
});
|
|
844
|
-
|
|
845
|
-
// style change after it is inserted (see the `focus()` checks above).
|
|
846
|
-
observer.observe(editor, { childList: true, subtree: true, attributes: true });
|
|
878
|
+
observer.observe(editor, { childList: true, subtree: true });
|
|
847
879
|
return function () { return observer.disconnect(); };
|
|
848
880
|
}, [isExpanded, optionName, inlineEditable]);
|
|
849
881
|
// What the field held when it was opened — the baseline Cancel restores.
|
|
@@ -859,7 +891,11 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
859
891
|
var editEntryValue = react_1.default.useRef(undefined);
|
|
860
892
|
react_1.default.useEffect(function () {
|
|
861
893
|
if (isExpanded) {
|
|
862
|
-
editEntryValue.current = {
|
|
894
|
+
editEntryValue.current = {
|
|
895
|
+
value: optionField === null || optionField === void 0 ? void 0 : optionField.value,
|
|
896
|
+
type: optionField === null || optionField === void 0 ? void 0 : optionField.type,
|
|
897
|
+
is_expression: !!(optionField === null || optionField === void 0 ? void 0 : optionField.is_expression),
|
|
898
|
+
};
|
|
863
899
|
}
|
|
864
900
|
else {
|
|
865
901
|
editEntryValue.current = undefined;
|
|
@@ -869,15 +905,25 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
869
905
|
var editedSinceOpened = isExpanded &&
|
|
870
906
|
!!editEntryValue.current &&
|
|
871
907
|
!(0, isEqual_1.default)(editEntryValue.current.value, optionField === null || optionField === void 0 ? void 0 : optionField.value);
|
|
908
|
+
// What this row's own editor has typed and not yet reported: its fields report after a pause, and the
|
|
909
|
+
// row closing takes the pause with it. Done sends it before the row closes; Cancel and Escape drop it
|
|
910
|
+
// (see `usePendingEdit`).
|
|
911
|
+
var pendingEdits = (0, pendingEdit_1.usePendingEdits)();
|
|
872
912
|
// Discard whatever was typed since the field was opened and close it. Used
|
|
873
913
|
// by both the Cancel button and Escape, so the two cannot diverge.
|
|
874
914
|
var cancelEdit = react_1.default.useCallback(function () {
|
|
915
|
+
// an edit still waiting for its pause is part of what is discarded
|
|
916
|
+
pendingEdits.discard();
|
|
875
917
|
var snapshot = editEntryValue.current;
|
|
876
|
-
|
|
877
|
-
|
|
918
|
+
// the field as it was opened: an expression is put back as one, a value as a value
|
|
919
|
+
if (snapshot &&
|
|
920
|
+
(!(0, isEqual_1.default)(snapshot.value, optionField === null || optionField === void 0 ? void 0 : optionField.value) ||
|
|
921
|
+
snapshot.is_expression !==
|
|
922
|
+
!!(optionField === null || optionField === void 0 ? void 0 : optionField.is_expression))) {
|
|
923
|
+
handleValueChange.apply(void 0, __spreadArray([optionName], (0, argumentPresence_1.restoredFieldChange)(snapshot), false));
|
|
878
924
|
}
|
|
879
|
-
|
|
880
|
-
}, [handleValueChange, optionField === null || optionField === void 0 ? void 0 : optionField.value, optionName,
|
|
925
|
+
collapseOption(optionName);
|
|
926
|
+
}, [handleValueChange, optionField === null || optionField === void 0 ? void 0 : optionField.value, optionName, collapseOption, pendingEdits]);
|
|
881
927
|
// The sub-schema describing this field's value, when it has one. A value the
|
|
882
928
|
// form knows the shape of is previewed THROUGH that shape (see
|
|
883
929
|
// `SchemaDataView`); only genuinely undescribed data falls through to the
|
|
@@ -946,9 +992,9 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
946
992
|
// whole-field revert is the only undo that makes sense.
|
|
947
993
|
var revertButton = changed ?
|
|
948
994
|
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'options-readfirst-revert', size: 'small', flat: true, minimal: true, icon: 'HistoryLine', tooltip: 'Revert changes', onClick: function (e) {
|
|
949
|
-
var _a
|
|
995
|
+
var _a;
|
|
950
996
|
e.stopPropagation();
|
|
951
|
-
handleValueChange(
|
|
997
|
+
handleValueChange.apply(void 0, __spreadArray([optionName], (0, argumentPresence_1.restoredFieldChange)((_a = originalValue.current) === null || _a === void 0 ? void 0 : _a[optionName]), false));
|
|
952
998
|
} })
|
|
953
999
|
: null;
|
|
954
1000
|
// Clear-value: empties a set field (keeps the field; the value goes blank)
|
|
@@ -986,9 +1032,10 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
986
1032
|
// Batched commit: a changed row is a draft until Save — mark it with the
|
|
987
1033
|
// product's Draft chip (always visible, unlike the hover-revealed revert).
|
|
988
1034
|
var draftChip = commitMode === 'batched' && changed ?
|
|
989
|
-
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { className: 'options-readfirst-draft', label: 'Draft', intent: 'warning', icon: 'EditLine', size: 'tiny', minimal: true, fixed: true, flat: true, compact: true, effect:
|
|
1035
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { className: 'options-readfirst-draft', label: 'Draft', intent: 'warning', icon: 'EditLine', size: 'tiny', minimal: true, fixed: true, flat: true, compact: true, effect: { uppercase: true, spaced: 1 } })
|
|
990
1036
|
: null;
|
|
991
|
-
|
|
1037
|
+
// nothing can have been typed where the value is a fixed choice, or the form is read-only (a card opened to read)
|
|
1038
|
+
var isPassiveCloseAction = fixedAllowedValueOption || !!readOnly;
|
|
992
1039
|
// Cancel — the counterpart to Done, and the answer to "how do I get out of
|
|
993
1040
|
// here without keeping this". Done was the only way to leave an open field,
|
|
994
1041
|
// so every way out committed: the check, clicking away, and Escape (which
|
|
@@ -1001,7 +1048,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1001
1048
|
// Not offered when the close action is passive (a fixed choice) —
|
|
1002
1049
|
// nothing can have been typed, so there is nothing to cancel.
|
|
1003
1050
|
var cancelEditButton = !isPassiveCloseAction && editedSinceOpened ?
|
|
1004
|
-
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'options-readfirst-cancel', size: 'small', flat: true, minimal: true, fixed: true, icon: 'CloseLine', intent:
|
|
1051
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'options-readfirst-cancel', size: 'small', flat: true, minimal: true, fixed: true, icon: 'CloseLine', intent: 'warning', "aria-label": 'Cancel edit', tooltip: 'Cancel edit \u2014 discard the changes made since this field was opened', onClick: function (event) {
|
|
1005
1052
|
event.stopPropagation();
|
|
1006
1053
|
cancelEdit();
|
|
1007
1054
|
} })
|
|
@@ -1010,13 +1057,18 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1010
1057
|
var openedWithFormLoadValue = !editEntryValue.current ||
|
|
1011
1058
|
(0, isEqual_1.default)(editEntryValue.current.value, (_f = (_e = originalValue.current) === null || _e === void 0 ? void 0 : _e[optionName]) === null || _f === void 0 ? void 0 : _f.value);
|
|
1012
1059
|
var editRowRevertButton = openedWithFormLoadValue ? null : revertButton;
|
|
1013
|
-
var closeExpandedFieldButton = ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'options-readfirst-done', size: 'small',
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1060
|
+
var closeExpandedFieldButton = ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'options-readfirst-done', size: 'small', intent: !isPassiveCloseAction ? 'success' : undefined, flat: isPassiveCloseAction, minimal: isPassiveCloseAction, fixed: true, icon: isPassiveCloseAction ? 'CloseLine' : 'CheckLine', "aria-label": isPassiveCloseAction ? 'Close field' : 'Done', tooltip: isPassiveCloseAction ? 'Close field' : 'Done', onClick: function () {
|
|
1061
|
+
// what was typed inside the field's pause reaches the form before the row closes
|
|
1062
|
+
pendingEdits.flush();
|
|
1063
|
+
collapseOption(optionName);
|
|
1064
|
+
} }));
|
|
1017
1065
|
// Info tiers: Tier 1 (danger/warning + dependency hints) must be visible
|
|
1018
1066
|
// without interaction; Tier 2 (info/success, default notes) sits behind ⓘ.
|
|
1019
|
-
|
|
1067
|
+
/* A field not set yet keeps quiet in the Optional box, but not once it is opened: its editor is where
|
|
1068
|
+
its messages are read, and one saying why the field cannot be used is the answer to opening it. Such
|
|
1069
|
+
a row used to show them only when its editor reported '' on opening, which put the field in the form
|
|
1070
|
+
(qorus#646: the Qorus IDE's "Wait (ms)", disabled while "Until Step" is set). */
|
|
1071
|
+
var infoActive = !hidden || isExpanded;
|
|
1020
1072
|
var schemaMessages = infoActive ?
|
|
1021
1073
|
(0, OptionFieldMessages_1.getShownSchemaMessages)(schema === null || schema === void 0 ? void 0 : schema.messages, availableOptions, options).map(function (m) { return ({
|
|
1022
1074
|
intent: m.intent,
|
|
@@ -1039,21 +1091,18 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1039
1091
|
allOptions: availableOptions,
|
|
1040
1092
|
getType: getTypeForOption,
|
|
1041
1093
|
isRendererOnly: isRendererOnly,
|
|
1042
|
-
calm: calm,
|
|
1043
|
-
readOnly: readOnly,
|
|
1044
|
-
// Until the person has been to the field, its requirement is stated plainly.
|
|
1045
|
-
requirementPending: !visited,
|
|
1046
1094
|
}).map(function (m) { return ({ intent: m.intent, content: String(m.label) }); })
|
|
1047
1095
|
: [];
|
|
1048
1096
|
// TWO display channels, matching the Focus prototype:
|
|
1049
|
-
// • dedicated schema `messages` → prominent
|
|
1097
|
+
// • dedicated schema `messages` → prominent colored PANELS below the row;
|
|
1050
1098
|
// • everything else (validation reasons, the unmet-dependency hint, the
|
|
1051
1099
|
// default-value note) → a compact INLINE reason strip — not a panel.
|
|
1052
1100
|
var panelMessages = schemaMessages;
|
|
1053
1101
|
var inlineMessages = __spreadArray(__spreadArray([], fieldMessages, true), (infoActive && (schema === null || schema === void 0 ? void 0 : schema.default_value_desc) ?
|
|
1054
1102
|
[
|
|
1055
1103
|
{
|
|
1056
|
-
|
|
1104
|
+
// the default's description is the server's markdown: its words, not its marks
|
|
1105
|
+
content: "Default: ".concat(schema.default_value_display_name || '', " \u2014 ").concat((0, readFirst_1.markdownToProse)(schema.default_value_desc)).trim(),
|
|
1057
1106
|
},
|
|
1058
1107
|
]
|
|
1059
1108
|
: []), true);
|
|
@@ -1073,12 +1122,40 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1073
1122
|
// the inline editor: opening a field used to drop it, leaving an editing row
|
|
1074
1123
|
// with no route to the field's description at all. Stops propagation because
|
|
1075
1124
|
// both labels are click targets themselves (the row expands / collapses).
|
|
1076
|
-
|
|
1077
|
-
|
|
1125
|
+
/* A real button (qorus#646, David's decision): in the tab order with a focus ring, a finger's size on a touch
|
|
1126
|
+
screen (`small`) and a mouse's on a desktop (`tiny`), opening the help on a click, Enter or Space. It was a
|
|
1127
|
+
12px icon the keyboard could not reach. It sits in a label or a row that opens or closes on the same keys and
|
|
1128
|
+
clicks, so it keeps them: the row does not also open or close. */
|
|
1129
|
+
/* What kind of value the option takes (qorus#646, David's review: "type information should be shown on hover or
|
|
1130
|
+
after clicking the 'Show all field information' control rather than by default"): in its name's hover and
|
|
1131
|
+
in its help, beside its description, and beside its name only while the form shows all field information or
|
|
1132
|
+
its types. */
|
|
1133
|
+
var typeWords = (0, qorusTypeCatalogue_1.optionTypeWords)(schema, typeName);
|
|
1134
|
+
var typeSentence = (0, qorusTypeCatalogue_1.optionTypeSentence)(schema, typeName, typeSentenceForm);
|
|
1135
|
+
// what the option is, or, where it has no description at all, why nothing says so (qorus#646)
|
|
1136
|
+
var labelHover = [
|
|
1137
|
+
(schema === null || schema === void 0 ? void 0 : schema.short_desc) || (!(schema === null || schema === void 0 ? void 0 : schema.desc) && typeSentence ? noDescription_1.NO_OPTION_DESCRIPTION : undefined),
|
|
1138
|
+
typeSentence && "Takes ".concat(typeSentence, "."),
|
|
1139
|
+
]
|
|
1140
|
+
.filter(Boolean)
|
|
1141
|
+
.join('\n') || undefined;
|
|
1142
|
+
var typeShown = !!showFieldTypes || showAllDescriptions === true;
|
|
1143
|
+
/* the help says what the option takes, and its description where it has one: every option with either has
|
|
1144
|
+
it, a short description too, so a touch screen, which has no hover, reaches the type (qorus#646, David) */
|
|
1145
|
+
var helpIcon = (schema === null || schema === void 0 ? void 0 : schema.desc) || (schema === null || schema === void 0 ? void 0 : schema.short_desc) || typeSentence ?
|
|
1146
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'QuestionLine', size: coarse ? 'small' : 'tiny', minimal: true, flat: true, fixed: true, className: "options-readfirst-help".concat(coarse ? ' options-readfirst-help-touch' : ''), "aria-label": "Help: ".concat(label), tooltip: 'Help', effect: { opacity: rowInks.helpOpacity }, onClick: function (event) {
|
|
1078
1147
|
event.stopPropagation();
|
|
1079
1148
|
handleOptionLabelClick(optionName);
|
|
1149
|
+
}, onKeyDown: function (event) {
|
|
1150
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
1151
|
+
event.stopPropagation();
|
|
1152
|
+
}
|
|
1080
1153
|
} })
|
|
1081
1154
|
: null;
|
|
1155
|
+
// beside the name, muted: it is about the field, not its value
|
|
1156
|
+
var typeTag = typeWords && typeShown ?
|
|
1157
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { size: 'tiny', minimal: true, className: 'options-readfirst-type', label: typeWords, labelEffect: { opacity: rowInks.descOpacity } })
|
|
1158
|
+
: null;
|
|
1082
1159
|
// The gap rides on the message itself rather than on the panel around it:
|
|
1083
1160
|
// the panel is a vertical ReqoreControlGroup, which owns its own layout and
|
|
1084
1161
|
// stacks children flush, and the class rule that used to carry a 4px gap
|
|
@@ -1096,23 +1173,16 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1096
1173
|
`compact` for the same reason the row inset asks for it: this is a strip
|
|
1097
1174
|
inside a row, never a page, and markdown authored as a document opens with
|
|
1098
1175
|
a heading that would outgrow the field label above it. Without a host
|
|
1099
|
-
renderer the
|
|
1100
|
-
var renderInfoStrip = function (m, index) { return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { size: 'small', opaque: false, flat: true,
|
|
1101
|
-
// Calm: a note that only informs takes no colour — blue is kept for "a
|
|
1102
|
-
// filter is on", green for a healthy figure. A warning or a failure
|
|
1103
|
-
// keeps its intent: those are what a person has to act on.
|
|
1104
|
-
intent: (calm && (!m.intent || m.intent === 'info' || m.intent === 'success') ?
|
|
1105
|
-
undefined
|
|
1106
|
-
: m.intent), title: m.title, style: { marginBottom: 8 }, children: markdownRenderer && typeof m.content === 'string' ?
|
|
1176
|
+
renderer it reads as the plain text its markdown renders to (`plainTextNode`). */
|
|
1177
|
+
var renderInfoStrip = function (m, index) { return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreMessage, { size: 'small', opaque: false, flat: true, intent: m.intent, title: m.title, style: { marginBottom: 8 }, children: markdownRenderer && typeof m.content === 'string' ?
|
|
1107
1178
|
markdownRenderer({ value: m.content, compact: true })
|
|
1108
|
-
: m.content }, "".concat(m.content, "-").concat(index))); };
|
|
1179
|
+
: (0, markdownText_1.plainTextNode)(m.content) }, "".concat(m.content, "-").concat(index))); };
|
|
1180
|
+
// in the intent's shade that reads on the row (the intents themselves did not: a danger reason was 2.7:1)
|
|
1109
1181
|
var reasonColor = function (intent) {
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
((_a = theme === null || theme === void 0 ? void 0 : theme.intents) === null || _a === void 0 ? void 0 : _a.success) || cInfo
|
|
1115
|
-
: "".concat(cMuted, "cc");
|
|
1182
|
+
return intent === 'danger' ? rowInks.danger
|
|
1183
|
+
: intent === 'warning' ? rowInks.warning
|
|
1184
|
+
: intent === 'success' ? rowInks.success
|
|
1185
|
+
: rowInks.mutedReason;
|
|
1116
1186
|
};
|
|
1117
1187
|
var infoToggle = null;
|
|
1118
1188
|
// Cluster (required-group connection) — shared by the read row, its block
|
|
@@ -1132,8 +1202,13 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1132
1202
|
var clusterNode = null;
|
|
1133
1203
|
var clusterHoverProps = clustered && clusterMembers.length ?
|
|
1134
1204
|
{
|
|
1135
|
-
|
|
1136
|
-
|
|
1205
|
+
// a mouse's hover, not a tap's emulated one: see `isHoveringPointer`
|
|
1206
|
+
onPointerEnter: function (e) {
|
|
1207
|
+
if ((0, hoveringPointer_1.isHoveringPointer)(e)) {
|
|
1208
|
+
setHighlightedOptions(clusterMembers);
|
|
1209
|
+
}
|
|
1210
|
+
},
|
|
1211
|
+
onPointerLeave: function () { return setHighlightedOptions([]); },
|
|
1137
1212
|
}
|
|
1138
1213
|
: {};
|
|
1139
1214
|
// Items the EDITOR inside this row published — see `rowMenuContext`.
|
|
@@ -1143,8 +1218,10 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1143
1218
|
// just before the Done ✓ in both expanded layouts.
|
|
1144
1219
|
var moreMenu = ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreDropdown, { className: 'options-readfirst-more', icon: 'More2Fill', flat: true, minimal: true, fixed: true, size: 'small', tooltip: 'More actions', items: __spreadArray(__spreadArray(__spreadArray([
|
|
1145
1220
|
{
|
|
1146
|
-
|
|
1221
|
+
// a card opened to read is viewed in full, not edited
|
|
1222
|
+
label: readOnly ? 'View fullscreen' : 'Edit fullscreen',
|
|
1147
1223
|
icon: 'FullscreenLine',
|
|
1224
|
+
className: 'options-readfirst-fullscreen',
|
|
1148
1225
|
onClick: function () { return setFocusedEditing(optionName); },
|
|
1149
1226
|
}
|
|
1150
1227
|
], (removable && !hidden ?
|
|
@@ -1203,24 +1280,26 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1203
1280
|
optionField.value !== '') ?
|
|
1204
1281
|
(function () {
|
|
1205
1282
|
var _a = (0, codeSize_1.describeCodeSize)(optionField.value), lines = _a.lines, chars = _a.chars;
|
|
1206
|
-
return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { className: 'options-readfirst-label-code-size', size: 'tiny', effect: { opacity:
|
|
1283
|
+
return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { className: 'options-readfirst-label-code-size', size: 'tiny', effect: { opacity: rowInks.noteOpacity, textAlign: 'left' }, style: { fontFamily: compactRowStyles_1.MONO_FONT_STACK }, children: "".concat((0, codeSize_1.formatCodeChars)(chars), " ").concat((0, codeSize_1.formatCodeLines)(lines)) }));
|
|
1207
1284
|
})()
|
|
1208
1285
|
: null;
|
|
1209
|
-
if (isExpanded && !readOnly) {
|
|
1286
|
+
if (isExpanded && (!readOnly || readOnlyOpens)) {
|
|
1210
1287
|
if (inlineEditable) {
|
|
1211
|
-
|
|
1288
|
+
// closing the row by its label keeps what was typed, as Done does
|
|
1289
|
+
var collapse_1 = function () {
|
|
1290
|
+
pendingEdits.flush();
|
|
1291
|
+
collapseOption(optionName);
|
|
1292
|
+
};
|
|
1212
1293
|
var editingRow = ((0, jsx_runtime_1.jsxs)("div", __assign({ ref: rowRef, "data-field": optionName, className: 'readfirst-row readfirst-row-editing options-readfirst-inline options-readfirst-value', style: readRowHeights.current[optionName] ?
|
|
1213
1294
|
{ minHeight: readRowHeights.current[optionName] }
|
|
1214
|
-
: undefined }, clusterHoverProps, { children: [(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledLabelBlock, { className: 'options-readfirst-label-block', children: [(0, jsx_runtime_1.
|
|
1295
|
+
: undefined }, clusterHoverProps, { children: [(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledLabelBlock, { className: 'options-readfirst-label-block', children: [(0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledRowLabel, { role: 'button', tabIndex: 0, "aria-label": "Collapse ".concat(label), title: labelHover, "$color": cKey, "$pointer": true, onClick: collapse_1, onKeyDown: function (event) {
|
|
1215
1296
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
1216
1297
|
event.preventDefault();
|
|
1217
1298
|
collapse_1();
|
|
1218
1299
|
}
|
|
1219
|
-
}, children: [label, required
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
(0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledLabelDesc, { className: 'options-readfirst-label-desc', size: 'small', effect: { opacity: 0.55 }, children: labelShortDesc })
|
|
1223
|
-
: null, codeSizeNode] }), (0, jsx_runtime_1.jsxs)("div", { ref: editorRef, className: 'options-readfirst-row-editor', style: { minWidth: 0 }, onKeyDown: function (event) {
|
|
1300
|
+
}, children: (0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledLabelName, { "$fill": true, children: [(0, jsx_runtime_1.jsxs)("span", { className: 'options-readfirst-label-text', style: { minWidth: 0 }, children: [nameWithAsterisk(!!required), typeTag] }), helpIcon] }) }), labelShortDesc ?
|
|
1301
|
+
(0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledLabelDesc, { className: 'options-readfirst-label-desc', size: 'small', effect: { opacity: rowInks.descOpacity }, children: (0, readFirst_1.markdownToProse)(labelShortDesc) })
|
|
1302
|
+
: null, codeSizeNode] }), (0, jsx_runtime_1.jsxs)("div", { ref: editorRef, style: { minWidth: 0 }, onKeyDown: function (event) {
|
|
1224
1303
|
if (event.key === 'Escape') {
|
|
1225
1304
|
event.stopPropagation();
|
|
1226
1305
|
// Escape discards. It used to call `collapse()`, which closed
|
|
@@ -1231,7 +1310,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1231
1310
|
}
|
|
1232
1311
|
}, children: [panelMessages.length ?
|
|
1233
1312
|
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { className: 'options-readfirst-info-panel', vertical: true, fluid: true, gapSize: 'normal', children: panelMessages.map(renderInfoStrip) })
|
|
1234
|
-
: null, absorbedNodes, (0, jsx_runtime_1.jsx)(rowOpenPicker_1.RowOpenPickerContext.Provider, { value: openThePicker, children: (0, jsx_runtime_1.jsx)(rowMenuContext_1.RowMenuContext.Provider, { value: rowMenu, children: renderOption(optionName, optionField, 'small', true) }) })] }), (0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledRowActions, { children: [draftChip, editRowRevertButton, cancelEditButton, clearValueButton, inlineOptionActions.map(function (action, index) {
|
|
1313
|
+
: null, absorbedNodes, (0, jsx_runtime_1.jsx)(rowOpenPicker_1.RowOpenPickerContext.Provider, { value: openThePicker, children: (0, jsx_runtime_1.jsx)(rowMenuContext_1.RowMenuContext.Provider, { value: rowMenu, children: (0, jsx_runtime_1.jsx)(pendingEdit_1.PendingEditsContext.Provider, { value: pendingEdits, children: renderOption(optionName, optionField, 'small', true) }) }) })] }), (0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledRowActions, { children: [draftChip, editRowRevertButton, cancelEditButton, clearValueButton, inlineOptionActions.map(function (action, index) {
|
|
1235
1314
|
return renderInjectedOptionAction(action, index);
|
|
1236
1315
|
}), moreMenu, closeExpandedFieldButton] }), clusterNode] }), optionName));
|
|
1237
1316
|
// ALWAYS wrap the editing row in the same StyledColumn so its parent stays
|
|
@@ -1241,7 +1320,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1241
1320
|
// them. The wrapper carries the cluster rail class so the connection
|
|
1242
1321
|
// persists while a member is being edited.
|
|
1243
1322
|
return ((0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledColumn, { "data-field": optionName, className: clusterBlockClass || undefined, children: [editingRow, focusedEditing === optionName ?
|
|
1244
|
-
(0, jsx_runtime_1.jsxs)(FocusedEditing_1.FocusedEditing, { isFullscreen: true, modalOnly: true, onClose: function () { return setFocusedEditing(undefined); }, description: (schema === null || schema === void 0 ? void 0 : schema.display_name) || optionName, children: [(0, jsx_runtime_1.jsx)(Description_1.Description, { longDescription: schema === null || schema === void 0 ? void 0 : schema.desc, shortDescription: schema === null || schema === void 0 ? void 0 : schema.short_desc, longDescriptionShownByDefault: true }), renderOption(optionName, optionField)] })
|
|
1323
|
+
(0, jsx_runtime_1.jsxs)(FocusedEditing_1.FocusedEditing, { isFullscreen: true, modalOnly: true, onClose: function () { return setFocusedEditing(undefined); }, description: (schema === null || schema === void 0 ? void 0 : schema.display_name) || optionName, children: [(0, jsx_runtime_1.jsx)(Description_1.Description, { longDescription: schema === null || schema === void 0 ? void 0 : schema.desc, shortDescription: schema === null || schema === void 0 ? void 0 : schema.short_desc, longDescriptionShownByDefault: true }), (0, jsx_runtime_1.jsx)(pendingEdit_1.PendingEditsContext.Provider, { value: pendingEdits, children: renderOption(optionName, optionField) })] })
|
|
1245
1324
|
: null] }, optionName));
|
|
1246
1325
|
}
|
|
1247
1326
|
// Card chrome: badge / actions / tags render here — the row only fits
|
|
@@ -1255,19 +1334,19 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1255
1334
|
var schemaIntentColor = (schema === null || schema === void 0 ? void 0 : schema.intent) ?
|
|
1256
1335
|
(_j = theme === null || theme === void 0 ? void 0 : theme.intents) === null || _j === void 0 ? void 0 : _j[schema.intent]
|
|
1257
1336
|
: undefined;
|
|
1258
|
-
return ((0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledEditCard, {
|
|
1337
|
+
return ((0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledEditCard, { "data-field": optionName, className: COMPACT_SINGLE_VALUE_TYPES.has(editType) ?
|
|
1259
1338
|
'options-readfirst-card options-readfirst-card-single'
|
|
1260
|
-
: 'options-readfirst-card', "$bg": cHover, "$border": schemaIntentColor ? "".concat(schemaIntentColor, "66") : "".concat(cInfo, "66"),
|
|
1339
|
+
: 'options-readfirst-card', "$bg": cHover, "$border": schemaIntentColor ? "".concat(schemaIntentColor, "66") : "".concat(cInfo, "66"), children: [(0, jsx_runtime_1.jsxs)("div", { className: 'options-readfirst-card-header', style: {
|
|
1261
1340
|
display: 'flex',
|
|
1262
|
-
|
|
1341
|
+
// a heading of one line is centred on the card's actions; one with a description or tags under
|
|
1342
|
+
// its name lines up by its top (David's review of qorus#646: the name sat above the buttons)
|
|
1343
|
+
alignItems: (schema === null || schema === void 0 ? void 0 : schema.short_desc) || cardTags.length ? 'flex-start' : 'center',
|
|
1263
1344
|
justifyContent: 'space-between',
|
|
1264
1345
|
gap: 12,
|
|
1265
|
-
}, children: [(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledCardHeading, { children: [(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledCardLabel, { "$color":
|
|
1346
|
+
}, children: [(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledCardHeading, { children: [(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledCardLabel, { "$color": cKey, title: labelHover, children: [((schema === null || schema === void 0 ? void 0 : schema.icon) ||
|
|
1266
1347
|
(schema === null || schema === void 0 ? void 0 : schema.image)) ?
|
|
1267
1348
|
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: schema === null || schema === void 0 ? void 0 : schema.icon, image: schema === null || schema === void 0 ? void 0 : schema.image, size: '14px' })
|
|
1268
|
-
: null, (0, jsx_runtime_1.jsxs)("span", {
|
|
1269
|
-
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'Asterisk', color: 'danger', size: '10px' })
|
|
1270
|
-
: null, helpIcon] }), cardBadges.map(function (badge, index) {
|
|
1349
|
+
: null, (0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledLabelName, { children: [(0, jsx_runtime_1.jsx)("span", { className: 'options-readfirst-label-text', style: { minWidth: 0 }, children: nameWithAsterisk(!!required) }), helpIcon] }), typeTag, cardBadges.map(function (badge, index) {
|
|
1271
1350
|
return typeof badge === 'object' ?
|
|
1272
1351
|
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, __assign({ size: 'small', minimal: true, className: 'options-readfirst-card-badge' }, badge), index)
|
|
1273
1352
|
: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { size: 'small', minimal: true, className: 'options-readfirst-card-badge', label: badge }, index);
|
|
@@ -1282,18 +1361,14 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1282
1361
|
return renderInjectedOptionAction(action, index);
|
|
1283
1362
|
}), editRowRevertButton, cancelEditButton, hasValue && !readOnly ?
|
|
1284
1363
|
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { size: 'small', icon: 'DeleteBinLine', minimal: true, flat: true, fixed: true, intent: 'danger', className: 'options-readfirst-clear', "aria-label": 'Clear value', tooltip: 'Clear value', onClick: confirmClearValue })
|
|
1285
|
-
: null, moreMenu, closeExpandedFieldButton] })] }), absorbedNodes, (0, jsx_runtime_1.jsx)("div", {
|
|
1286
|
-
// The card's editor, as the inline row's is: an opened card takes the
|
|
1287
|
-
// caret too (the tap-to-edit rule above), so opening Description or
|
|
1288
|
-
// Source Code by a click or by a blocked submit puts the cursor in it.
|
|
1289
|
-
ref: editorRef, className: 'options-readfirst-row-editor', style: { display: 'contents' }, onKeyDown: function (event) {
|
|
1364
|
+
: null, moreMenu, closeExpandedFieldButton] })] }), absorbedNodes, (0, jsx_runtime_1.jsx)("div", { style: { display: 'contents' }, onKeyDown: function (event) {
|
|
1290
1365
|
if (event.key === 'Escape') {
|
|
1291
1366
|
event.stopPropagation();
|
|
1292
1367
|
cancelEdit();
|
|
1293
1368
|
}
|
|
1294
|
-
}, children: (0, jsx_runtime_1.jsxs)(FocusedEditing_1.FocusedEditing, { isFullscreen: focusedEditing === optionName, onClose: function () { return setFocusedEditing(undefined); }, description: (schema === null || schema === void 0 ? void 0 : schema.display_name) || optionName, children: [focusedEditing === optionName ?
|
|
1369
|
+
}, children: (0, jsx_runtime_1.jsxs)(FocusedEditing_1.FocusedEditing, __assign({ isFullscreen: focusedEditing === optionName, onClose: function () { return setFocusedEditing(undefined); }, description: (schema === null || schema === void 0 ? void 0 : schema.display_name) || optionName }, (readOnly ? { label: 'Focused View' } : {}), { children: [focusedEditing === optionName ?
|
|
1295
1370
|
(0, jsx_runtime_1.jsx)(Description_1.Description, { longDescription: schema === null || schema === void 0 ? void 0 : schema.desc, shortDescription: schema === null || schema === void 0 ? void 0 : schema.short_desc, longDescriptionShownByDefault: true })
|
|
1296
|
-
: null, (0, jsx_runtime_1.jsx)(rowMenuContext_1.RowMenuContext.Provider, { value: rowMenu, children: renderOption(optionName, optionField) })] }) })] }, optionName));
|
|
1371
|
+
: null, (0, jsx_runtime_1.jsx)(rowMenuContext_1.RowMenuContext.Provider, { value: rowMenu, children: (0, jsx_runtime_1.jsx)(pendingEdit_1.PendingEditsContext.Provider, { value: pendingEdits, children: renderOption(optionName, optionField) }) })] })) })] }, optionName));
|
|
1297
1372
|
}
|
|
1298
1373
|
var formatted = (0, readFirst_1.formatOptionValue)(optionField, schema);
|
|
1299
1374
|
var empty = formatted === '';
|
|
@@ -1320,7 +1395,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1320
1395
|
// default-value hints, plus a read-only covered-by note (editable covered rows
|
|
1321
1396
|
// carry that in their chip instead).
|
|
1322
1397
|
var valueReasons = __spreadArray(__spreadArray([], inlineMessages, true), (empty && coveredByLabel ?
|
|
1323
|
-
[{ content: "Covered by \u201C".concat(coveredByLabel, "\u201D"), intent:
|
|
1398
|
+
[{ content: "Covered by \u201C".concat(coveredByLabel, "\u201D"), intent: 'success' }]
|
|
1324
1399
|
: []), true);
|
|
1325
1400
|
// A hash row reveals its sub-fields as read-only sub-rows under a "view
|
|
1326
1401
|
// more" disclosure; the row itself still expands the real editor on click.
|
|
@@ -1348,7 +1423,12 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1348
1423
|
typeof optionField.value === 'object' &&
|
|
1349
1424
|
!Array.isArray(optionField.value) &&
|
|
1350
1425
|
!isExpression;
|
|
1351
|
-
|
|
1426
|
+
/* Where the host draws the row's summary (`readSummaries`), the row draws no preview of its own under it: the
|
|
1427
|
+
host's summary says what the value is ("4 columns · 1 rule"), and a structured preview of the same value
|
|
1428
|
+
under it ("columns · List · 4 items") said it again, in reqraft's words (qorus#646). The card, which a
|
|
1429
|
+
read-only form opens for such a row too (`readOnlyOpens`), is where the value is read in full. */
|
|
1430
|
+
var hostSummarizes = !!ReadSummary;
|
|
1431
|
+
var hashEntries = !hidden && !hostSummarizes && (isPlainHashType || isObjectValuedType) ?
|
|
1352
1432
|
(0, readFirst_1.getHashEntries)(optionField, schema)
|
|
1353
1433
|
: [];
|
|
1354
1434
|
// A LIST OF HASHES/objects gets the same expandable structured preview a hash
|
|
@@ -1356,6 +1436,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1356
1436
|
// never print "[object Object]"). StructuredDataView unwraps each item's
|
|
1357
1437
|
// {type,value} envelope. Plain scalar lists keep just their joined summary.
|
|
1358
1438
|
var isHashList = !hidden &&
|
|
1439
|
+
!hostSummarizes &&
|
|
1359
1440
|
(valueType === 'list' || valueType === 'free-list' || valueType === 'array') &&
|
|
1360
1441
|
Array.isArray(optionField === null || optionField === void 0 ? void 0 : optionField.value) &&
|
|
1361
1442
|
optionField.value.length > 0 &&
|
|
@@ -1375,6 +1456,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1375
1456
|
// "Show more" reveals the rest. Sits in the same inset the hash/list
|
|
1376
1457
|
// preview uses — mutually exclusive with `showStructuredPreview`.
|
|
1377
1458
|
var showCodePreview = !hidden &&
|
|
1459
|
+
!hostSummarizes &&
|
|
1378
1460
|
valueType === 'code-editor' &&
|
|
1379
1461
|
typeof (optionField === null || optionField === void 0 ? void 0 : optionField.value) === 'string' &&
|
|
1380
1462
|
optionField.value.length > 0;
|
|
@@ -1421,6 +1503,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1421
1503
|
// rendered as the row's own text, and a second copy of it below would make
|
|
1422
1504
|
// every description row tall for nothing.
|
|
1423
1505
|
var showMarkdownPreview = !hidden &&
|
|
1506
|
+
!hostSummarizes &&
|
|
1424
1507
|
!showCodePreview &&
|
|
1425
1508
|
!!markdownRenderer &&
|
|
1426
1509
|
// keyed on the schema's ui_type, not on getValueType(): a markdown value
|
|
@@ -1442,6 +1525,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1442
1525
|
// sentence's worth of characters (a short value wraps in place).
|
|
1443
1526
|
var showLongTextInset = readOnly &&
|
|
1444
1527
|
!hidden &&
|
|
1528
|
+
!hostSummarizes &&
|
|
1445
1529
|
!showCodePreview &&
|
|
1446
1530
|
!showMarkdownPreview &&
|
|
1447
1531
|
!showStructuredPreview &&
|
|
@@ -1466,9 +1550,8 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1466
1550
|
isMultilineMarkdown(optionField.value)) ?
|
|
1467
1551
|
"".concat(optionField.value.trim().split('\n').length, " lines")
|
|
1468
1552
|
: undefined;
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
: null;
|
|
1553
|
+
// the option's type beside its name, while the form shows field types: in words, as an open option says it
|
|
1554
|
+
var typeLabel = typeShown ? typeWords : undefined;
|
|
1472
1555
|
// A `readonly` field is one the system owns — an assigned id, a recorded
|
|
1473
1556
|
// provenance. The server states that on the field itself; only the older
|
|
1474
1557
|
// compat projection also mapped it to `disabled`, so on this path the form
|
|
@@ -1521,7 +1604,13 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1521
1604
|
// "Depends on" dropdown whose items are the blocking fields (an "any of:"
|
|
1522
1605
|
// divider for OR-groups), each clickable to flash/locate the blocker.
|
|
1523
1606
|
var dependsOnChip = fieldDisabled && dependencyEntries.length ?
|
|
1524
|
-
(0, jsx_runtime_1.jsx)("span", { style: { display: 'inline-flex' }, role: 'presentation', onClick: function (e) { return e.stopPropagation(); }, onKeyDown: function (e) { return e.stopPropagation(); },
|
|
1607
|
+
(0, jsx_runtime_1.jsx)("span", { style: { display: 'inline-flex' }, role: 'presentation', onClick: function (e) { return e.stopPropagation(); }, onKeyDown: function (e) { return e.stopPropagation(); },
|
|
1608
|
+
// a mouse's hover, not a tap's emulated one: see `isHoveringPointer`
|
|
1609
|
+
onPointerEnter: function (e) {
|
|
1610
|
+
if ((0, hoveringPointer_1.isHoveringPointer)(e)) {
|
|
1611
|
+
setHighlightedOptions(depHighlightNames);
|
|
1612
|
+
}
|
|
1613
|
+
}, onPointerLeave: function () { return setHighlightedOptions([]); }, children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreDropdown, { className: 'options-readfirst-lock-deps', size: 'tiny', minimal: true, flat: true, compact: true, icon: 'LockLine', tooltip: 'Disabled \u2014 depends on other fields. Click to locate them.', items: __spreadArray([
|
|
1525
1614
|
{ divider: true, label: 'Unlocked by:', dividerAlign: 'left' }
|
|
1526
1615
|
], dependencyEntries.flatMap(function (entry) { return __spreadArray(__spreadArray([], (Array.isArray(entry) ?
|
|
1527
1616
|
[{ divider: true, label: 'any of:', dividerAlign: 'left' }]
|
|
@@ -1552,7 +1641,12 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1552
1641
|
// change has said exactly what they want, and answering with silence
|
|
1553
1642
|
// teaches them the surface is broken.
|
|
1554
1643
|
if (fieldDisabled || readOnly) {
|
|
1555
|
-
|
|
1644
|
+
// ...except a row whose line cannot show what it holds: it opens its card to be read (`readOnlyOpens`)
|
|
1645
|
+
if (readOnlyOpens && !fieldDisabled) {
|
|
1646
|
+
// what the row was drawn as decides: open, it closes; closed, it opens (see expandOption)
|
|
1647
|
+
(isExpanded ? collapseOption : expandOption)(optionName);
|
|
1648
|
+
}
|
|
1649
|
+
else if (readOnly && !fieldDisabled) {
|
|
1556
1650
|
onReadOnlyActivate === null || onReadOnlyActivate === void 0 ? void 0 : onReadOnlyActivate(optionName);
|
|
1557
1651
|
}
|
|
1558
1652
|
return;
|
|
@@ -1569,7 +1663,11 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1569
1663
|
// not-yet-set field just expands its editor (with an empty value); it joins
|
|
1570
1664
|
// the form's output the moment a value is set (and moves to Set / Needs
|
|
1571
1665
|
// attention), and drops back to Optional when cleared. No explicit add step.
|
|
1572
|
-
|
|
1666
|
+
//
|
|
1667
|
+
// What the row was drawn as decides, not the state by the time the update lands: a click on a row drawn
|
|
1668
|
+
// closed opens it, even if the first-required scan's update has opened it in the meantime (a toggle closed
|
|
1669
|
+
// it again: qorus#646, the Qorus IDE's Schema "Draft Is Saved").
|
|
1670
|
+
(isExpanded ? collapseOption : expandOption)(optionName);
|
|
1573
1671
|
};
|
|
1574
1672
|
// Row chrome: icon/image before the label; schema `intent` as the edge
|
|
1575
1673
|
// stripe (message-severity stripes win when both apply).
|
|
@@ -1600,26 +1698,10 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1600
1698
|
covered: !!coveredByLabel || groupResolved,
|
|
1601
1699
|
invalid: worstIntent === 'danger',
|
|
1602
1700
|
warned: worstIntent === 'warning',
|
|
1603
|
-
visited: visited,
|
|
1604
1701
|
});
|
|
1605
1702
|
// No dot at all in a read-only form: the dot reports progress on the
|
|
1606
1703
|
// form, and a read view has no progress to report.
|
|
1607
|
-
|
|
1608
|
-
// Calm: no dot on a healthy row, and none on an empty required one either —
|
|
1609
|
-
// its value column already says "Required · add a value" in amber, and one
|
|
1610
|
-
// thing is said once. Only a failing value keeps the red dot beside the
|
|
1611
|
-
// reason it gives.
|
|
1612
|
-
var dotStatus = hidden || fieldDisabled || readOnly || (calm && rowStatus !== 'invalid') ?
|
|
1613
|
-
undefined
|
|
1614
|
-
: rowStatus;
|
|
1615
|
-
// Calm: an empty required value is said IN the value column, in amber,
|
|
1616
|
-
// where the value would be — instead of a dash plus a red reason beside it.
|
|
1617
|
-
// Not on a locked field (its lock and reason speak for it) or one that
|
|
1618
|
-
// shows the default it will fall back to.
|
|
1619
|
-
var calmRequiredWord = calm && empty && !hidden && !!(schema === null || schema === void 0 ? void 0 : schema.required) && !fieldDisabled && !formattedDefault ?
|
|
1620
|
-
readOnly ? formAppearance_1.CALM_REQUIRED_READ_LABEL
|
|
1621
|
-
: formAppearance_1.CALM_REQUIRED_LABEL
|
|
1622
|
-
: undefined;
|
|
1704
|
+
var dotStatus = hidden || fieldDisabled || readOnly ? undefined : rowStatus;
|
|
1623
1705
|
var dotColor = dotStatus === 'invalid' ? cDanger
|
|
1624
1706
|
: dotStatus === 'todo' ? cWarning
|
|
1625
1707
|
: dotStatus === 'set' ? cSuccess || cInfo
|
|
@@ -1628,23 +1710,26 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1628
1710
|
go. Then it takes a button's role, focus and keyboard handling, because
|
|
1629
1711
|
a thing that acts on a click has to be reachable without a mouse and has
|
|
1630
1712
|
to announce what it does — and "Edit X", not "X", is what it does. */
|
|
1631
|
-
var readOnlyIsAWayIn = !!readOnly && !fieldDisabled && !!onReadOnlyActivate;
|
|
1632
|
-
var actsOnClick = !readOnly || readOnlyIsAWayIn;
|
|
1713
|
+
var readOnlyIsAWayIn = !!readOnly && !fieldDisabled && !readOnlyOpens && !!onReadOnlyActivate;
|
|
1714
|
+
var actsOnClick = !readOnly || readOnlyIsAWayIn || readOnlyOpens;
|
|
1633
1715
|
var row = ((0, jsx_runtime_1.jsxs)("div", __assign({ "data-field": optionName, role: actsOnClick ? 'button' : undefined, tabIndex: actsOnClick ? 0 : undefined, "aria-label": readOnlyIsAWayIn ? "Edit ".concat(label)
|
|
1634
|
-
:
|
|
1635
|
-
|
|
1716
|
+
: readOnlyOpens ?
|
|
1717
|
+
"View ".concat(label)
|
|
1718
|
+
: readOnly ?
|
|
1719
|
+
undefined
|
|
1720
|
+
: label, className: "readfirst-row options-readfirst-value".concat(readOnly ? ' readfirst-row-read' : '').concat(readOnlyIsAWayIn || readOnlyOpens ? ' readfirst-row-way-in' : '').concat(readOnlyOpens ? ' readfirst-row-opens' : '').concat(hidden ? ' readfirst-row-hidden' : '').concat(fieldDisabled ? ' readfirst-row-disabled' : '').concat(isHighlighted ? ' readfirst-row-group-highlight' : '').concat(isFlashed ? ' readfirst-row-flash' : '').concat(showLabelDesc ? ' readfirst-row-info-open' : '').concat(panelMessages.length || showStructuredPreview || showCodePreview || showMarkdownPreview || showLongTextInset ? ' readfirst-row-tall' : '').concat(clusterBlockClass ? ' ' + clusterBlockClass : ''), "aria-disabled": fieldDisabled || undefined, style: readOnlyIsAWayIn || readOnlyOpens ? __assign(__assign({}, stripeStyle), { cursor: 'pointer' }) : stripeStyle, onClick: actsOnClick ? activate : undefined, onKeyDown: !actsOnClick ? undefined : (function (event) {
|
|
1636
1721
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
1637
1722
|
event.preventDefault();
|
|
1638
1723
|
activate(event);
|
|
1639
1724
|
}
|
|
1640
|
-
}) }, clusterHoverProps, { children: [clusterNode, (0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledLabelBlock, { className: 'options-readfirst-label-block', children: [(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledRowLabel, { title:
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
(0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledLabelDesc, { className: 'options-readfirst-label-desc', size: 'small', effect: { opacity:
|
|
1725
|
+
}) }, clusterHoverProps, { children: [clusterNode, (0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledLabelBlock, { className: 'options-readfirst-label-block', children: [(0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledRowLabel, { title: labelHover, "$color": cKey, children: [rowChromeIcon, (0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledLabelName, { "$fill": true, children: [(0, jsx_runtime_1.jsxs)("span", { className: 'options-readfirst-label-text', style: { minWidth: 0 }, children: [nameWithAsterisk(requiredMark), typeLabel ?
|
|
1726
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreTag, { size: 'tiny', minimal: true, className: 'options-readfirst-type', label: typeLabel, labelEffect: { opacity: rowInks.descOpacity } })
|
|
1727
|
+
: null] }), helpIcon] })] }), showLabelDesc ?
|
|
1728
|
+
/* A sentence in the label's own type, clamped to three lines: drawn as the prose its markdown
|
|
1729
|
+
renders to, never its marks (`markdownToProse`). */
|
|
1730
|
+
(0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledLabelDesc, { className: 'options-readfirst-label-desc', size: 'small', effect: { opacity: rowInks.descOpacity }, children: (0, readFirst_1.markdownToProse)(labelShortDesc) })
|
|
1646
1731
|
: null, codeSizeNode, lineCountNote ?
|
|
1647
|
-
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { className: 'options-readfirst-label-lines', size: 'tiny', effect: { opacity:
|
|
1732
|
+
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreP, { className: 'options-readfirst-label-lines', size: 'tiny', effect: { opacity: rowInks.noteOpacity, textAlign: 'left' }, style: { fontFamily: compactRowStyles_1.MONO_FONT_STACK }, children: lineCountNote })
|
|
1648
1733
|
: null] }), (0, jsx_runtime_1.jsxs)(compactRowStyles_1.StyledRowValue
|
|
1649
1734
|
// A code field draws its whole value in the preview below, with
|
|
1650
1735
|
// "Show more" for the rest, so a hover carrying the same text is
|
|
@@ -1672,20 +1757,23 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1672
1757
|
!showsTemplateText &&
|
|
1673
1758
|
typeof formatted === 'string') ?
|
|
1674
1759
|
formatted
|
|
1675
|
-
: undefined, "$color":
|
|
1676
|
-
rowStatus === 'pending' ?
|
|
1677
|
-
"".concat(cMuted, "a6")
|
|
1678
|
-
: cWarning
|
|
1679
|
-
: empty || hidden ? "".concat(cMuted, "66")
|
|
1680
|
-
: cKey, "$empty": (empty || hidden) && !calmRequiredWord, children: [(showMarkdownPreview || showLongTextInset || (previewWithSchema && showStructuredPreview)) ?
|
|
1760
|
+
: undefined, "$color": empty || hidden ? rowInks.emptyValue : cKey, "$empty": empty || hidden, children: [(showMarkdownPreview || showLongTextInset || (previewWithSchema && showStructuredPreview)) ?
|
|
1681
1761
|
null
|
|
1682
|
-
: (0, jsx_runtime_1.jsx)("span", { className: 'options-readfirst-valuetext', children:
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1762
|
+
: (0, jsx_runtime_1.jsx)("span", { className: 'options-readfirst-valuetext', children: ReadSummary && !hidden ?
|
|
1763
|
+
/* the host's own summary: an editor that reports a status says it here, set or not
|
|
1764
|
+
("Field mappings required", "… incomplete"), where "2 items" said nothing of it (qorus#646) */
|
|
1765
|
+
(0, jsx_runtime_1.jsx)(ReadSummary, { name: optionName, value: optionField === null || optionField === void 0 ? void 0 : optionField.value, schema: schema, formatted: formatted })
|
|
1766
|
+
: hidden || empty ?
|
|
1767
|
+
formattedDefault || '—'
|
|
1768
|
+
: renderReadFirstValue(optionField, schema, formatted, readOnly) }), readOnlyChoiceDesc ?
|
|
1769
|
+
/* What the chosen option means, on its own line: the server writes it in markdown ("Each
|
|
1770
|
+
`POST /conversations` ..."), so the host's renderer draws it, as it draws the schema messages
|
|
1771
|
+
below; without one, it reads as the plain text it renders to, its paragraphs kept. A block, as
|
|
1772
|
+
what is drawn is. */
|
|
1773
|
+
(0, jsx_runtime_1.jsx)("div", { className: 'options-readfirst-choice-desc', children: markdownRenderer ?
|
|
1774
|
+
markdownRenderer({ value: readOnlyChoiceDesc, compact: true })
|
|
1775
|
+
: (0, markdownText_1.plainTextNode)(readOnlyChoiceDesc) })
|
|
1776
|
+
: null, valueReasons.map(function (m, i) { return ((0, jsx_runtime_1.jsx)("span", { className: 'options-readfirst-reason', style: { color: reasonColor(m.intent) }, children: m.content }, "".concat(m.content, "-").concat(i))); }), panelMessages.length ?
|
|
1689
1777
|
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { className: 'options-readfirst-info-panel', vertical: true, fluid: true, gapSize: 'normal', children: panelMessages.map(renderInfoStrip) })
|
|
1690
1778
|
: null, showStructuredPreview ?
|
|
1691
1779
|
// The inset lives inside the row now, so a click on a value chip would
|
|
@@ -1727,7 +1815,7 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1727
1815
|
// lives (qorus-ide registers its brand purple there).
|
|
1728
1816
|
// Falling back to `info` keeps this working for a
|
|
1729
1817
|
// consumer that registers nothing — the heading is
|
|
1730
|
-
// accented either way, just in the theme's own
|
|
1818
|
+
// accented either way, just in the theme's own color
|
|
1731
1819
|
// rather than one this library picked.
|
|
1732
1820
|
accent: ((_q = theme === null || theme === void 0 ? void 0 : theme.intents) === null || _q === void 0 ? void 0 : _q.custom1) || cInfo,
|
|
1733
1821
|
}, onItemClick: function () { return activate(); } })
|
|
@@ -1741,7 +1829,12 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1741
1829
|
options: options,
|
|
1742
1830
|
values: availableOptions,
|
|
1743
1831
|
})
|
|
1744
|
-
:
|
|
1832
|
+
: CodeEditor ?
|
|
1833
|
+
/* Code is shown as the host shows code: its own editor, read-only, given what it inherits (its
|
|
1834
|
+
language) - highlighted, with its language server - and as a plain block only where there is
|
|
1835
|
+
none (qorus#646, David's decision). */
|
|
1836
|
+
(0, jsx_runtime_1.jsx)("div", { className: 'options-readfirst-code options-readfirst-code-editor', children: (0, jsx_runtime_1.jsx)(CodeEditor, __assign({}, schema, (0, inheritProps_1.resolveInheritProps)(schema === null || schema === void 0 ? void 0 : schema.inherit_props, availableOptions), { name: optionName, value: optionField.value, readOnly: true, onChange: ignoreReadOnlyChange })) })
|
|
1837
|
+
: (0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledCodePreview, { className: 'options-readfirst-code', "$bg": cHover, "$border": "".concat(cDivider, "88"), "$fg": cKey, children: optionField.value }) }) })
|
|
1745
1838
|
: null, showMarkdownPreview ?
|
|
1746
1839
|
(0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledRowInset, { className: 'options-readfirst-inset options-readfirst-markdown-inset', onClick: function (e) { return e.stopPropagation(); }, children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreCollapsibleContent, { maxCollapsedHeight: 96, buttonProps: { className: 'options-readfirst-viewmore' }, children: (0, jsx_runtime_1.jsx)("div", { className: 'options-readfirst-markdown', children: markdownRenderer({ value: optionField.value, compact: true }) }) }) })
|
|
1747
1840
|
: null, showLongTextInset ?
|
|
@@ -1761,12 +1854,12 @@ exports.CompactRow = (0, react_1.memo)(function (_a) {
|
|
|
1761
1854
|
onClick: function (event) { return event.stopPropagation(); }, children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreDropdown, { className: 'options-injected-actions-menu', icon: 'MoreFill', flat: true, minimal: true, fixed: true, size: 'tiny', tooltip: 'Field actions', items: injectedOptionActionMenuItems }) })
|
|
1762
1855
|
: null, (0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledActionSlot, { className: 'options-readfirst-statusdot-slot', "$width": 12, children: changed && !readOnly && !hidden ?
|
|
1763
1856
|
(0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { className: 'options-readfirst-revert', size: 'tiny', flat: true, minimal: true, compact: true, icon: 'HistoryLine', tooltip: 'Revert changes', onClick: function (e) {
|
|
1764
|
-
var _a
|
|
1857
|
+
var _a;
|
|
1765
1858
|
e.stopPropagation();
|
|
1766
|
-
handleValueChange(
|
|
1859
|
+
handleValueChange.apply(void 0, __spreadArray([optionName], (0, argumentPresence_1.restoredFieldChange)((_a = originalValue.current) === null || _a === void 0 ? void 0 : _a[optionName]), false));
|
|
1767
1860
|
} })
|
|
1768
1861
|
: dotColor ?
|
|
1769
|
-
(0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledStatusDot, {
|
|
1862
|
+
(0, jsx_runtime_1.jsx)(compactRowStyles_1.StyledStatusDot, { "$color": dotColor, "$ring": dotStatus !== 'set', "aria-hidden": true })
|
|
1770
1863
|
: null })] })] }), optionName));
|
|
1771
1864
|
return row;
|
|
1772
1865
|
});
|