@qoretechnologies/reqraft 0.10.62 → 0.10.63-pr.142.g0b675cd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -1
- package/dist/components/Description/describedControl.d.ts +48 -0
- package/dist/components/Description/describedControl.d.ts.map +1 -0
- package/dist/components/Description/describedControl.js +81 -0
- package/dist/components/Description/describedControl.js.map +1 -0
- package/dist/components/Description/index.d.ts.map +1 -1
- package/dist/components/Description/index.js +3 -2
- package/dist/components/Description/index.js.map +1 -1
- package/dist/components/colorValue/colorValue.d.ts +59 -0
- package/dist/components/colorValue/colorValue.d.ts.map +1 -0
- package/dist/components/colorValue/colorValue.js +245 -0
- package/dist/components/colorValue/colorValue.js.map +1 -0
- package/dist/components/colorValue/index.d.ts +34 -0
- package/dist/components/colorValue/index.d.ts.map +1 -0
- package/dist/components/colorValue/index.js +136 -0
- package/dist/components/colorValue/index.js.map +1 -0
- package/dist/components/colorValue/labels.d.ts +12 -0
- package/dist/components/colorValue/labels.d.ts.map +1 -0
- package/dist/components/colorValue/labels.js +11 -0
- package/dist/components/colorValue/labels.js.map +1 -0
- package/dist/components/composer/Composer.d.ts +1 -1
- package/dist/components/composer/Composer.d.ts.map +1 -1
- package/dist/components/composer/Composer.js +2 -2
- package/dist/components/composer/Composer.js.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.d.ts.map +1 -1
- package/dist/components/dpqlEditor/DpqlEditor.js +25 -5
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +10 -1
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +30 -13
- package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.d.ts +11 -7
- package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.js +11 -6
- package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +47 -8
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +2 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +16 -7
- package/dist/components/dpqlEditor/useDpqlSession.js.map +1 -1
- package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
- package/dist/components/form/engine/CompactRow.js +151 -83
- package/dist/components/form/engine/CompactRow.js.map +1 -1
- package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
- package/dist/components/form/engine/CompactToolbar.js +29 -3
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +34 -1
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +487 -87
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/HiddenFieldsNote.d.ts +28 -0
- package/dist/components/form/engine/HiddenFieldsNote.d.ts.map +1 -0
- package/dist/components/form/engine/HiddenFieldsNote.js +32 -0
- package/dist/components/form/engine/HiddenFieldsNote.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +24 -3
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts +2 -2
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +12 -6
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +19 -0
- package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowContext.js.map +1 -1
- package/dist/components/form/engine/compactRowStyles.d.ts +0 -1
- package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +12 -20
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarColors.d.ts +16 -0
- package/dist/components/form/engine/compactToolbarColors.d.ts.map +1 -0
- package/dist/components/form/engine/compactToolbarColors.js +21 -0
- package/dist/components/form/engine/compactToolbarColors.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +24 -8
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +77 -109
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/readFirstColors.d.ts +30 -0
- package/dist/components/form/engine/readFirstColors.d.ts.map +1 -0
- package/dist/components/form/engine/readFirstColors.js +51 -0
- package/dist/components/form/engine/readFirstColors.js.map +1 -0
- package/dist/components/form/engine/rowFocus.d.ts +2 -0
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -1
- package/dist/components/form/engine/rowFocus.js +26 -3
- package/dist/components/form/engine/rowFocus.js.map +1 -1
- package/dist/components/form/engine/typeChoices.d.ts +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js +2 -1
- package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantCards.js +2 -1
- package/dist/components/form/engine/variants/VariantCards.js.map +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js +1 -1
- package/dist/components/form/engine/variants/VariantFocus.js.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -1
- package/dist/components/form/engine/variants/VariantMinimal.js +2 -1
- package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts +1 -1
- package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -1
- package/dist/components/form/engine/variants/variantParts.js +25 -17
- package/dist/components/form/engine/variants/variantParts.js.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts +1 -1
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -1
- package/dist/components/form/expressions/DpqlRendering.js +3 -3
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -1
- package/dist/components/form/expressions/ExpressionField.d.ts +41 -3
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +396 -99
- package/dist/components/form/expressions/ExpressionField.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentDetail.js +4 -1
- package/dist/components/form/expressions/builder/argumentDetail.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.js +27 -9
- package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentWrapper.js +4 -2
- package/dist/components/form/expressions/builder/argumentWrapper.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js +5 -4
- package/dist/components/form/expressions/builder/confirmMismatchedTypesModal.js.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js +6 -3
- package/dist/components/form/expressions/builder/confirmUnsupportedTypeModal.js.map +1 -1
- package/dist/components/form/expressions/builder/index.d.ts +24 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +121 -77
- package/dist/components/form/expressions/builder/index.js.map +1 -1
- package/dist/components/form/expressions/builder/item.d.ts +6 -2
- package/dist/components/form/expressions/builder/item.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/item.js +19 -5
- package/dist/components/form/expressions/builder/item.js.map +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
- package/dist/components/form/expressions/expressionOperands.d.ts +16 -0
- package/dist/components/form/expressions/expressionOperands.d.ts.map +1 -0
- package/dist/components/form/expressions/expressionOperands.js +97 -0
- package/dist/components/form/expressions/expressionOperands.js.map +1 -0
- package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/mockExpressions.js +22 -5
- package/dist/components/form/expressions/mockExpressions.js.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts +2 -0
- package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.js +35 -9
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/expressions/textOfExpression.d.ts +18 -0
- package/dist/components/form/expressions/textOfExpression.d.ts.map +1 -0
- package/dist/components/form/expressions/textOfExpression.js +37 -0
- package/dist/components/form/expressions/textOfExpression.js.map +1 -0
- package/dist/components/form/expressions/useExpressionType.d.ts +26 -0
- package/dist/components/form/expressions/useExpressionType.d.ts.map +1 -0
- package/dist/components/form/expressions/useExpressionType.js +181 -0
- package/dist/components/form/expressions/useExpressionType.js.map +1 -0
- package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
- package/dist/components/form/expressions/useRenderExpression.js +7 -7
- package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +20 -7
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +17 -4
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAuto.js +24 -0
- package/dist/components/form/fields/array/ArrayAuto.js.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.d.ts.map +1 -1
- package/dist/components/form/fields/array/ArrayAutoField.js +36 -13
- package/dist/components/form/fields/array/ArrayAutoField.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +20 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +81 -36
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/auto/hostEditorValue.d.ts +30 -0
- package/dist/components/form/fields/auto/hostEditorValue.d.ts.map +1 -0
- package/dist/components/form/fields/auto/hostEditorValue.js +53 -0
- package/dist/components/form/fields/auto/hostEditorValue.js.map +1 -0
- package/dist/components/form/fields/binary/Binary.d.ts.map +1 -1
- package/dist/components/form/fields/binary/Binary.js +23 -3
- package/dist/components/form/fields/binary/Binary.js.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.d.ts +5 -0
- package/dist/components/form/fields/boolean/Boolean.d.ts.map +1 -1
- package/dist/components/form/fields/boolean/Boolean.js +9 -1
- package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
- package/dist/components/form/fields/color/Color.d.ts +103 -16
- package/dist/components/form/fields/color/Color.d.ts.map +1 -1
- package/dist/components/form/fields/color/Color.js +611 -16
- package/dist/components/form/fields/color/Color.js.map +1 -1
- package/dist/components/form/fields/emittedValues.d.ts +34 -3
- package/dist/components/form/fields/emittedValues.d.ts.map +1 -1
- package/dist/components/form/fields/emittedValues.js +24 -1
- package/dist/components/form/fields/emittedValues.js.map +1 -1
- package/dist/components/form/fields/file/File.d.ts +1 -1
- package/dist/components/form/fields/file/File.d.ts.map +1 -1
- package/dist/components/form/fields/file/File.js +4 -2
- package/dist/components/form/fields/file/File.js.map +1 -1
- package/dist/components/form/fields/long-string/LongString.d.ts.map +1 -1
- package/dist/components/form/fields/long-string/LongString.js +17 -3
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/markdown/MarkdownView.js +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +4 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +6 -0
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +41 -6
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/object/Object.d.ts +1 -1
- package/dist/components/form/fields/object/Object.d.ts.map +1 -1
- package/dist/components/form/fields/object/Object.js +4 -2
- package/dist/components/form/fields/object/Object.js.map +1 -1
- package/dist/components/form/fields/pendingEdit.d.ts +52 -0
- package/dist/components/form/fields/pendingEdit.d.ts.map +1 -0
- package/dist/components/form/fields/pendingEdit.js +79 -0
- package/dist/components/form/fields/pendingEdit.js.map +1 -0
- package/dist/components/form/fields/rich-text/RichText.d.ts +8 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +190 -81
- package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts +18 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.d.ts.map +1 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js +49 -0
- package/dist/components/form/fields/rich-text/useTemplateTags.js.map +1 -0
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js +4 -1
- package/dist/components/form/fields/schema-definition/CatalogLeafForm.js.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js +20 -5
- package/dist/components/form/fields/schema-definition/CatalogNodeEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/TableEditor.js +10 -2
- package/dist/components/form/fields/schema-definition/TableEditor.js.map +1 -1
- package/dist/components/form/fields/schema-definition/index.d.ts.map +1 -1
- package/dist/components/form/fields/schema-definition/index.js +8 -4
- package/dist/components/form/fields/schema-definition/index.js.map +1 -1
- package/dist/components/form/fields/select/Select.d.ts +2 -0
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +19 -10
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +8 -2
- package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
- package/dist/components/form/fields/select/unavailableRow.d.ts +23 -0
- package/dist/components/form/fields/select/unavailableRow.d.ts.map +1 -0
- package/dist/components/form/fields/select/unavailableRow.js +55 -0
- package/dist/components/form/fields/select/unavailableRow.js.map +1 -0
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +5 -5
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +11 -4
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateBrowser.d.ts +22 -0
- package/dist/components/form/fields/template/TemplateBrowser.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplateBrowser.js +54 -0
- package/dist/components/form/fields/template/TemplateBrowser.js.map +1 -0
- package/dist/components/form/fields/template/TemplateField.d.ts +83 -1
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +535 -85
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/form/fields/template/TemplateText.d.ts +0 -17
- package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateText.js +8 -4
- package/dist/components/form/fields/template/TemplateText.js.map +1 -1
- package/dist/components/form/fields/template/writtenAsText.d.ts +55 -0
- package/dist/components/form/fields/template/writtenAsText.d.ts.map +1 -0
- package/dist/components/form/fields/template/writtenAsText.js +188 -0
- package/dist/components/form/fields/template/writtenAsText.js.map +1 -0
- package/dist/components/form/index.d.ts +10 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +23 -1
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -1
- package/dist/components/imageLightbox/ImageLightbox.js +19 -7
- package/dist/components/imageLightbox/ImageLightbox.js.map +1 -1
- package/dist/components/log/Log.d.ts.map +1 -1
- package/dist/components/log/Log.js +15 -7
- package/dist/components/log/Log.js.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +19 -10
- package/dist/components/menu/Menu.js.map +1 -1
- package/dist/components/smartEditor/CompletionMenu.d.ts +43 -0
- package/dist/components/smartEditor/CompletionMenu.d.ts.map +1 -0
- package/dist/components/smartEditor/CompletionMenu.js +196 -0
- package/dist/components/smartEditor/CompletionMenu.js.map +1 -0
- package/dist/components/smartEditor/MarkdownDoc.d.ts +1 -1
- package/dist/components/smartEditor/MarkdownDoc.js +1 -1
- package/dist/components/smartEditor/MarkdownDoc.js.map +1 -1
- package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
- package/dist/components/smartEditor/SmartEditor.js +51 -136
- package/dist/components/smartEditor/SmartEditor.js.map +1 -1
- package/dist/components/smartEditor/completionStyle.d.ts +27 -0
- package/dist/components/smartEditor/completionStyle.d.ts.map +1 -0
- package/dist/components/smartEditor/completionStyle.js +66 -0
- package/dist/components/smartEditor/completionStyle.js.map +1 -0
- package/dist/components/smartEditor/index.d.ts +5 -1
- package/dist/components/smartEditor/index.d.ts.map +1 -1
- package/dist/components/smartEditor/index.js +19 -1
- package/dist/components/smartEditor/index.js.map +1 -1
- package/dist/components/smartEditor/templateCompletions.d.ts +18 -0
- package/dist/components/smartEditor/templateCompletions.d.ts.map +1 -0
- package/dist/components/smartEditor/templateCompletions.js +94 -0
- package/dist/components/smartEditor/templateCompletions.js.map +1 -0
- package/dist/components/smartEditor/types.d.ts +12 -1
- package/dist/components/smartEditor/types.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.d.ts +32 -0
- package/dist/components/smartEditor/useLspAutocomplete.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspAutocomplete.js +228 -118
- package/dist/components/smartEditor/useLspAutocomplete.js.map +1 -1
- package/dist/components/smartEditor/useLspHover.d.ts +22 -7
- package/dist/components/smartEditor/useLspHover.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspHover.js +86 -17
- package/dist/components/smartEditor/useLspHover.js.map +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js +1 -1
- package/dist/components/smartEditor/useLspSemanticTokens.js.map +1 -1
- package/dist/components/smartEditor/useLspSession.d.ts +6 -0
- package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSession.js +7 -6
- package/dist/components/smartEditor/useLspSession.js.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -1
- package/dist/components/supportTicket/AttachmentChips.js +15 -5
- package/dist/components/supportTicket/AttachmentChips.js.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.d.ts +9 -2
- package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -1
- package/dist/components/supportTicket/ReferencePicker.js +27 -6
- package/dist/components/supportTicket/ReferencePicker.js.map +1 -1
- package/dist/components/supportTicket/TicketHeader.d.ts +3 -4
- package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketHeader.js +20 -2
- package/dist/components/supportTicket/TicketHeader.js.map +1 -1
- package/dist/components/supportTicket/TicketMetaTags.d.ts +1 -1
- package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -1
- package/dist/components/ticketReferences/TicketReferences.js +9 -4
- package/dist/components/ticketReferences/TicketReferences.js.map +1 -1
- package/dist/components/ticketThread/TicketThread.d.ts.map +1 -1
- package/dist/components/ticketThread/TicketThread.js +36 -11
- package/dist/components/ticketThread/TicketThread.js.map +1 -1
- package/dist/helpers/descriptionTooltip.d.ts +43 -0
- package/dist/helpers/descriptionTooltip.d.ts.map +1 -0
- package/dist/helpers/descriptionTooltip.js +70 -0
- package/dist/helpers/descriptionTooltip.js.map +1 -0
- package/dist/helpers/domProps.d.ts +5 -0
- package/dist/helpers/domProps.d.ts.map +1 -0
- package/dist/helpers/domProps.js +47 -0
- package/dist/helpers/domProps.js.map +1 -0
- package/dist/helpers/expressions.d.ts +107 -2
- package/dist/helpers/expressions.d.ts.map +1 -1
- package/dist/helpers/expressions.js +223 -8
- package/dist/helpers/expressions.js.map +1 -1
- package/dist/helpers/hoveringPointer.d.ts +26 -0
- package/dist/helpers/hoveringPointer.d.ts.map +1 -0
- package/dist/helpers/hoveringPointer.js +29 -0
- package/dist/helpers/hoveringPointer.js.map +1 -0
- package/dist/helpers/markdownText.d.ts +14 -0
- package/dist/helpers/markdownText.d.ts.map +1 -0
- package/dist/helpers/markdownText.js +160 -0
- package/dist/helpers/markdownText.js.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts +53 -0
- package/dist/helpers/qorusTypeCatalogue.d.ts.map +1 -0
- package/dist/helpers/qorusTypeCatalogue.js +262 -0
- package/dist/helpers/qorusTypeCatalogue.js.map +1 -0
- package/dist/helpers/readableColors.d.ts +36 -0
- package/dist/helpers/readableColors.d.ts.map +1 -0
- package/dist/helpers/readableColors.js +116 -0
- package/dist/helpers/readableColors.js.map +1 -0
- package/dist/helpers/templateItems.d.ts +2 -2
- package/dist/helpers/templateItems.d.ts.map +1 -1
- package/dist/helpers/templateItems.js +6 -4
- package/dist/helpers/templateItems.js.map +1 -1
- package/dist/helpers/templates.d.ts +26 -1
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +41 -6
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +9 -0
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +139 -33
- package/dist/helpers/validations.js.map +1 -1
- package/dist/hooks/useQorusTypes.d.ts +7 -15
- package/dist/hooks/useQorusTypes.d.ts.map +1 -1
- package/dist/hooks/useQorusTypes.js +25 -166
- package/dist/hooks/useQorusTypes.js.map +1 -1
- package/dist/hooks/useReadableIntentShade.d.ts +9 -0
- package/dist/hooks/useReadableIntentShade.d.ts.map +1 -0
- package/dist/hooks/useReadableIntentShade.js +23 -0
- package/dist/hooks/useReadableIntentShade.js.map +1 -0
- package/dist/hooks/useReadableOpacity.d.ts +6 -0
- package/dist/hooks/useReadableOpacity.d.ts.map +1 -0
- package/dist/hooks/useReadableOpacity.js +17 -0
- package/dist/hooks/useReadableOpacity.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts +1 -1
- package/dist/tracking/ui/ExperimentCard.d.ts.map +1 -1
- package/dist/tracking/ui/ExperimentCard.js +26 -10
- package/dist/tracking/ui/ExperimentCard.js.map +1 -1
- package/dist/tracking/ui/card.d.ts +2 -2
- package/dist/tracking/ui/card.d.ts.map +1 -1
- package/dist/tracking/ui/card.js +2 -2
- package/dist/tracking/ui/card.js.map +1 -1
- package/dist/tracking/ui/readable.d.ts +14 -0
- package/dist/tracking/ui/readable.d.ts.map +1 -0
- package/dist/tracking/ui/readable.js +60 -0
- package/dist/tracking/ui/readable.js.map +1 -0
- package/package.json +14 -5
- package/.claude/CLAUDE.md +0 -317
- package/.tasks/EXPORT_EXPRESSION_BUILDER.md +0 -38
- package/.tasks/EXPRESSION_BUILDER_REPORT.md +0 -149
- package/.tasks/EXPRESSION_FIELD_SEAMS.md +0 -66
- package/.tasks/FIELD_STACK_REPORT.md +0 -234
- package/.tasks/FORM_ENGINE_COMPACT_READ_FIRST.md +0 -558
- package/.tasks/FORM_ENGINE_EXPRESSIONS.md +0 -197
- package/.tasks/FORM_ENGINE_OPTIONS_SYNC.md +0 -95
- package/.tasks/FORM_FIELD_EXTRAS.md +0 -72
- package/.tasks/INDEX.md +0 -111
- package/.tasks/LSP_SHARED_CONNECTION.md +0 -75
- package/.tasks/QONSOLE_ASSIST_FEATURES.md +0 -306
- package/.tasks/RENDER_EXPRESSION_LSP.md +0 -159
- package/.tasks/REQRAFT_AUTO_FIELD.md +0 -176
- package/.tasks/SCHEMA_DEFINITION_FIELD.md +0 -250
- package/.tasks/SMART_EDITOR_CONTEXT_AND_POLISH.md +0 -340
- package/.tasks/SMART_EDITOR_LSP_FEATURES.md +0 -299
- package/.tasks/SMART_EDITOR_REVIEW_FOLLOWUPS.md +0 -280
- package/.tasks/SMART_EDITOR_UX_POLISH.md +0 -383
- package/.tasks/SMART_EDITOR_VISUAL_POLISH.md +0 -246
- package/.tasks/STORY_NETWORK_ISOLATION.md +0 -98
- package/.tasks/TEMPLATE_TOKEN_GRAMMAR.md +0 -72
- package/CODE_OF_CONDUCT.md +0 -105
- package/CONTRIBUTING.MD +0 -78
- package/SECURITY.md +0 -3
- package/chromatic.config.json +0 -5
- package/design/COMPACT_ENGINE_REDESIGN.md +0 -156
- package/design/COMPACT_INFO_DISPLAY.md +0 -87
- package/design/COMPACT_PARITY.md +0 -85
- package/design/EXPRESSION_BUILDER_REPORT_STRATEGY.md +0 -92
- package/design/FORM_ENGINE_COMPACT.md +0 -300
- package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +0 -353
- package/design/FORM_ENGINE_EXPRESSIONS.md +0 -257
- package/design/FORM_ENGINE_FIELD_MIGRATION.md +0 -419
- package/design/IDE_INTEGRATION.md +0 -64
- package/design/RENDER_EXPRESSION_TRANSPORT.md +0 -156
- package/design/SELECT_DIALOG_FLOOR.md +0 -86
- package/design/SMART_EDITOR_UX.md +0 -438
- package/design/TRACKING.md +0 -290
- package/design/UNAVAILABLE_ALLOWED_VALUES.md +0 -226
- package/src/components/Description/index.tsx +0 -254
- package/src/components/Description/markdownRendererContext.tsx +0 -29
- package/src/components/FocusedEditing/index.tsx +0 -50
- package/src/components/codeSize/index.tsx +0 -79
- package/src/components/composer/Composer.stories.tsx +0 -238
- package/src/components/composer/Composer.tsx +0 -554
- package/src/components/composer/helpers.ts +0 -74
- package/src/components/composer/index.ts +0 -2
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +0 -1183
- package/src/components/dpqlEditor/DpqlEditor.tsx +0 -219
- package/src/components/dpqlEditor/dpqlHelpers.ts +0 -287
- package/src/components/dpqlEditor/dpqlInserter.ts +0 -121
- package/src/components/dpqlEditor/dpqlProbe.ts +0 -165
- package/src/components/dpqlEditor/dpqlTags.ts +0 -114
- package/src/components/dpqlEditor/index.ts +0 -41
- package/src/components/dpqlEditor/types.ts +0 -203
- package/src/components/dpqlEditor/useDpqlProbe.ts +0 -33
- package/src/components/dpqlEditor/useDpqlSession.ts +0 -411
- package/src/components/form/engine/CompactRow.tsx +0 -2620
- package/src/components/form/engine/CompactToolbar.tsx +0 -330
- package/src/components/form/engine/FormEngine.stories.tsx +0 -9920
- package/src/components/form/engine/FormEngine.tsx +0 -4569
- package/src/components/form/engine/FormEngineRemote.stories.tsx +0 -679
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +0 -331
- package/src/components/form/engine/FormFieldsSkeleton.tsx +0 -82
- package/src/components/form/engine/OptionFieldMessages.tsx +0 -477
- package/src/components/form/engine/OptionsHelpDialog.tsx +0 -29
- package/src/components/form/engine/__fixtures__/basicFormOptions.ts +0 -309
- package/src/components/form/engine/__fixtures__/fieldChromeOptions.ts +0 -45
- package/src/components/form/engine/_structuredData/SchemaDataView.stories.tsx +0 -233
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +0 -742
- package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +0 -85
- package/src/components/form/engine/_structuredData/StructuredDataView.tsx +0 -75
- package/src/components/form/engine/_structuredData/structuredData.ts +0 -145
- package/src/components/form/engine/compactRowContext.ts +0 -148
- package/src/components/form/engine/compactRowStyles.ts +0 -898
- package/src/components/form/engine/compactToolbarContext.ts +0 -69
- package/src/components/form/engine/optionActions.ts +0 -128
- package/src/components/form/engine/optionsContext.ts +0 -24
- package/src/components/form/engine/readFirst.ts +0 -1077
- package/src/components/form/engine/rendererTypes.ts +0 -107
- package/src/components/form/engine/revealRow.ts +0 -123
- package/src/components/form/engine/rowFocus.ts +0 -101
- package/src/components/form/engine/rowMenuContext.ts +0 -159
- package/src/components/form/engine/rowOpenPicker.ts +0 -27
- package/src/components/form/engine/typeChoices.ts +0 -63
- package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +0 -159
- package/src/components/form/engine/variants/VariantCalmTable.tsx +0 -244
- package/src/components/form/engine/variants/VariantCards.tsx +0 -212
- package/src/components/form/engine/variants/VariantFocus.tsx +0 -382
- package/src/components/form/engine/variants/VariantMinimal.tsx +0 -170
- package/src/components/form/engine/variants/focusDemo.ts +0 -145
- package/src/components/form/engine/variants/variantModel.ts +0 -223
- package/src/components/form/engine/variants/variantParts.tsx +0 -313
- package/src/components/form/expressions/DpqlRendering.tsx +0 -85
- package/src/components/form/expressions/ExpressionField.stories.tsx +0 -1395
- package/src/components/form/expressions/ExpressionField.tsx +0 -503
- package/src/components/form/expressions/argumentPresence.ts +0 -213
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +0 -1683
- package/src/components/form/expressions/builder/argumentDetail.tsx +0 -17
- package/src/components/form/expressions/builder/argumentLabel.tsx +0 -146
- package/src/components/form/expressions/builder/argumentSlot.tsx +0 -101
- package/src/components/form/expressions/builder/argumentWrapper.tsx +0 -243
- package/src/components/form/expressions/builder/confirmMismatchedTypesModal.tsx +0 -120
- package/src/components/form/expressions/builder/confirmUnsupportedTypeModal.tsx +0 -69
- package/src/components/form/expressions/builder/index.tsx +0 -1545
- package/src/components/form/expressions/builder/item.tsx +0 -89
- package/src/components/form/expressions/builder/moveToPositionStrip.tsx +0 -156
- package/src/components/form/expressions/builder/renderTemplate.tsx +0 -42
- package/src/components/form/expressions/dpqlMockLanguage.ts +0 -566
- package/src/components/form/expressions/dpqlMockLsp.ts +0 -126
- package/src/components/form/expressions/mockExpressions.ts +0 -317
- package/src/components/form/expressions/renderExpressionToText.ts +0 -137
- package/src/components/form/expressions/types.ts +0 -110
- package/src/components/form/expressions/useExpressions.ts +0 -101
- package/src/components/form/expressions/useRenderExpression.ts +0 -165
- package/src/components/form/fields/Field.stories.tsx +0 -143
- package/src/components/form/fields/Field.tsx +0 -732
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +0 -297
- package/src/components/form/fields/array/ArrayAuto.tsx +0 -237
- package/src/components/form/fields/array/ArrayAutoField.stories.tsx +0 -475
- package/src/components/form/fields/array/ArrayAutoField.tsx +0 -367
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +0 -825
- package/src/components/form/fields/auto/AutoFormField.tsx +0 -1164
- package/src/components/form/fields/binary/Binary.stories.tsx +0 -122
- package/src/components/form/fields/binary/Binary.tsx +0 -91
- package/src/components/form/fields/boolean/Boolean.stories.tsx +0 -125
- package/src/components/form/fields/boolean/Boolean.tsx +0 -34
- package/src/components/form/fields/byte-size/ByteSize.stories.tsx +0 -87
- package/src/components/form/fields/byte-size/ByteSize.tsx +0 -58
- package/src/components/form/fields/color/Color.stories.tsx +0 -99
- package/src/components/form/fields/color/Color.tsx +0 -46
- package/src/components/form/fields/cron/Cron.stories.tsx +0 -68
- package/src/components/form/fields/cron/Cron.tsx +0 -80
- package/src/components/form/fields/date/Date.stories.tsx +0 -77
- package/src/components/form/fields/date/Date.tsx +0 -55
- package/src/components/form/fields/emittedValues.ts +0 -70
- package/src/components/form/fields/file/File.stories.tsx +0 -161
- package/src/components/form/fields/file/File.tsx +0 -227
- package/src/components/form/fields/long-string/LongString.stories.tsx +0 -120
- package/src/components/form/fields/long-string/LongString.tsx +0 -130
- package/src/components/form/fields/markdown/Markdown.stories.tsx +0 -76
- package/src/components/form/fields/markdown/Markdown.tsx +0 -81
- package/src/components/form/fields/markdown/MarkdownView.tsx +0 -222
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +0 -139
- package/src/components/form/fields/number/Number.stories.tsx +0 -159
- package/src/components/form/fields/number/Number.tsx +0 -160
- package/src/components/form/fields/object/Object.stories.tsx +0 -398
- package/src/components/form/fields/object/Object.tsx +0 -255
- package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +0 -95
- package/src/components/form/fields/radio-group/RadioGroup.tsx +0 -46
- package/src/components/form/fields/radio-group/images/java-96x128.png +0 -0
- package/src/components/form/fields/radio-group/images/python-129x128.png +0 -0
- package/src/components/form/fields/radio-group/images/qore-106x128.png +0 -0
- package/src/components/form/fields/rich-text/RichText.stories.tsx +0 -260
- package/src/components/form/fields/rich-text/RichText.tsx +0 -537
- package/src/components/form/fields/schema-definition/CatalogLeafForm.tsx +0 -242
- package/src/components/form/fields/schema-definition/CatalogNodeEditor.tsx +0 -758
- package/src/components/form/fields/schema-definition/Hint.tsx +0 -22
- package/src/components/form/fields/schema-definition/InlineValidationBanner.tsx +0 -138
- package/src/components/form/fields/schema-definition/Loader.tsx +0 -20
- package/src/components/form/fields/schema-definition/MigrationsTab.tsx +0 -187
- package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +0 -286
- package/src/components/form/fields/schema-definition/TableEditor.tsx +0 -155
- package/src/components/form/fields/schema-definition/TablesTab.tsx +0 -138
- package/src/components/form/fields/schema-definition/catalog.ts +0 -237
- package/src/components/form/fields/schema-definition/helpers.ts +0 -90
- package/src/components/form/fields/schema-definition/index.tsx +0 -418
- package/src/components/form/fields/schema-definition/mockCatalog.ts +0 -325
- package/src/components/form/fields/schema-definition/mockDefinition.ts +0 -111
- package/src/components/form/fields/schema-definition/referenceSuggestions.tsx +0 -152
- package/src/components/form/fields/schema-definition/starterTemplate.ts +0 -68
- package/src/components/form/fields/schema-definition/types.ts +0 -185
- package/src/components/form/fields/schema-definition/useSchemaOptionCatalog.ts +0 -49
- package/src/components/form/fields/select/Select.stories.tsx +0 -872
- package/src/components/form/fields/select/Select.tsx +0 -624
- package/src/components/form/fields/select/SelectCollection.tsx +0 -594
- package/src/components/form/fields/string/String.stories.tsx +0 -86
- package/src/components/form/fields/string/String.tsx +0 -43
- package/src/components/form/fields/template/ExampleValueModal.stories.tsx +0 -114
- package/src/components/form/fields/template/ExampleValueModal.tsx +0 -99
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +0 -47
- package/src/components/form/fields/template/TemplateField.stories.tsx +0 -1121
- package/src/components/form/fields/template/TemplateField.tsx +0 -1717
- package/src/components/form/fields/template/TemplateText.tsx +0 -115
- package/src/components/form/fields/template/__fixtures__/longExampleValue.ts +0 -7
- package/src/components/form/fields/template/__fixtures__/multiLevelTemplates.json +0 -147
- package/src/components/form/fields/template/__fixtures__/templates.json +0 -83
- package/src/components/form/fields/timeout/Timeout.stories.tsx +0 -228
- package/src/components/form/fields/timeout/Timeout.tsx +0 -87
- package/src/components/form/fields/url/Url.stories.tsx +0 -94
- package/src/components/form/fields/url/Url.tsx +0 -85
- package/src/components/form/index.tsx +0 -47
- package/src/components/imageLightbox/ImageLightbox.stories.tsx +0 -238
- package/src/components/imageLightbox/ImageLightbox.tsx +0 -236
- package/src/components/imageLightbox/index.ts +0 -1
- package/src/components/log/Log.stories.tsx +0 -333
- package/src/components/log/Log.tsx +0 -285
- package/src/components/menu/Menu.stories.tsx +0 -155
- package/src/components/menu/Menu.tsx +0 -312
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +0 -797
- package/src/components/qonsoleSmartInput/QonsoleSmartInput.tsx +0 -105
- package/src/components/qonsoleSmartInput/index.ts +0 -16
- package/src/components/qonsoleSmartInput/qonsoleInserter.ts +0 -77
- package/src/components/qonsoleSmartInput/types.ts +0 -133
- package/src/components/qonsoleSmartInput/useQonsoleSession.ts +0 -124
- package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +0 -62
- package/src/components/searchFilterBar/SearchFilterBar.tsx +0 -144
- package/src/components/searchFilterBar/index.ts +0 -1
- package/src/components/smartEditor/MarkdownDoc.tsx +0 -190
- package/src/components/smartEditor/SmartEditor.stories.tsx +0 -475
- package/src/components/smartEditor/SmartEditor.tsx +0 -808
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +0 -205
- package/src/components/smartEditor/helpers.ts +0 -217
- package/src/components/smartEditor/index.ts +0 -35
- package/src/components/smartEditor/styling.ts +0 -45
- package/src/components/smartEditor/types.ts +0 -211
- package/src/components/smartEditor/useLspAutocomplete.ts +0 -758
- package/src/components/smartEditor/useLspDiagnosticDecorations.ts +0 -125
- package/src/components/smartEditor/useLspHover.ts +0 -230
- package/src/components/smartEditor/useLspSemanticTokens.ts +0 -298
- package/src/components/smartEditor/useLspSession.ts +0 -231
- package/src/components/smartEditor/useLspSignatureHelp.ts +0 -198
- package/src/components/supportTicket/AttachmentChips.stories.tsx +0 -171
- package/src/components/supportTicket/AttachmentChips.tsx +0 -147
- package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +0 -257
- package/src/components/supportTicket/InterfaceReferenceTags.tsx +0 -129
- package/src/components/supportTicket/ReferencePicker.stories.tsx +0 -584
- package/src/components/supportTicket/ReferencePicker.tsx +0 -563
- package/src/components/supportTicket/TicketConversation.stories.tsx +0 -121
- package/src/components/supportTicket/TicketHeader.stories.tsx +0 -183
- package/src/components/supportTicket/TicketHeader.tsx +0 -247
- package/src/components/supportTicket/TicketMetaTags.stories.tsx +0 -103
- package/src/components/supportTicket/TicketMetaTags.tsx +0 -85
- package/src/components/supportTicket/TicketReplyBox.stories.tsx +0 -354
- package/src/components/supportTicket/TicketReplyBox.tsx +0 -150
- package/src/components/supportTicket/__fixtures__/kindMarks.ts +0 -28
- package/src/components/supportTicket/attachmentAccess.ts +0 -97
- package/src/components/supportTicket/fileToAttachment.ts +0 -24
- package/src/components/supportTicket/index.ts +0 -10
- package/src/components/supportTicket/meta.ts +0 -206
- package/src/components/supportTicket/ticketModel.ts +0 -131
- package/src/components/supportTicket/useLoadedImages.ts +0 -73
- package/src/components/ticketReferences/TicketReferences.stories.tsx +0 -315
- package/src/components/ticketReferences/TicketReferences.tsx +0 -906
- package/src/components/ticketReferences/index.ts +0 -2
- package/src/components/ticketThread/TicketThread.stories.tsx +0 -829
- package/src/components/ticketThread/TicketThread.tsx +0 -719
- package/src/components/ticketThread/index.ts +0 -6
- package/src/contexts/FetchContext.tsx +0 -25
- package/src/contexts/ReqraftContext.tsx +0 -9
- package/src/contexts/StorageContext.tsx +0 -33
- package/src/global.d.ts +0 -4
- package/src/helpers/allowedValues.ts +0 -249
- package/src/helpers/choiceChip.ts +0 -227
- package/src/helpers/common.ts +0 -326
- package/src/helpers/dpqlDetection.ts +0 -209
- package/src/helpers/expressions.ts +0 -140
- package/src/helpers/optionUiTypes.ts +0 -199
- package/src/helpers/options.ts +0 -150
- package/src/helpers/providerValue.ts +0 -125
- package/src/helpers/scrollbar.ts +0 -32
- package/src/helpers/singleLineString.ts +0 -61
- package/src/helpers/templateItems.ts +0 -81
- package/src/helpers/templateText.ts +0 -350
- package/src/helpers/templates.ts +0 -602
- package/src/helpers/validations.ts +0 -2085
- package/src/hooks/useArgSchema.ts +0 -37
- package/src/hooks/useCoarsePointer.ts +0 -30
- package/src/hooks/useFetch/useFetch.stories.tsx +0 -379
- package/src/hooks/useFetch/useFetch.tsx +0 -154
- package/src/hooks/usePhoneViewport.ts +0 -34
- package/src/hooks/useQorusTypes.ts +0 -233
- package/src/hooks/useReqraftProperty.ts +0 -16
- package/src/hooks/useStorage/useStorage.stories.tsx +0 -168
- package/src/hooks/useStorage/useStorage.ts +0 -35
- package/src/hooks/useTemplates.ts +0 -123
- package/src/hooks/useValidation.ts +0 -9
- package/src/hooks/useWebSocket/useWebSocket.ts +0 -224
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +0 -640
- package/src/hooks/useWhyDidYouUpdate.ts +0 -38
- package/src/index.tsx +0 -86
- package/src/providers/FetchProvider.tsx +0 -40
- package/src/providers/ReqraftProvider.tsx +0 -52
- package/src/providers/StorageProvider.tsx +0 -131
- package/src/stores/currentUser/currentUser.stories.tsx +0 -100
- package/src/stores/currentUser/currentUser.tsx +0 -94
- package/src/stories/Data/fileFieldArgSchema.json +0 -86
- package/src/stories/Tests/utils.ts +0 -320
- package/src/stories/storyNetwork.ts +0 -92
- package/src/stories/tracking.tsx +0 -206
- package/src/tracking/browser/attach.ts +0 -186
- package/src/tracking/browser/env.ts +0 -78
- package/src/tracking/core/consent.ts +0 -37
- package/src/tracking/core/engagement.ts +0 -47
- package/src/tracking/core/experiments.ts +0 -258
- package/src/tracking/core/hash.ts +0 -26
- package/src/tracking/core/ids.ts +0 -25
- package/src/tracking/core/observable.ts +0 -23
- package/src/tracking/core/queue.ts +0 -131
- package/src/tracking/core/sections.ts +0 -166
- package/src/tracking/core/storage.ts +0 -69
- package/src/tracking/core/tracker.ts +0 -417
- package/src/tracking/core/types.ts +0 -162
- package/src/tracking/core/utm.ts +0 -23
- package/src/tracking/index.ts +0 -72
- package/src/tracking/markup.ts +0 -17
- package/src/tracking/react/Experiment.tsx +0 -44
- package/src/tracking/react/TrackingProvider.tsx +0 -56
- package/src/tracking/react/hooks.ts +0 -106
- package/src/tracking/react/index.ts +0 -13
- package/src/tracking/testing.ts +0 -108
- package/src/tracking/ui/ExperimentCard.stories.tsx +0 -296
- package/src/tracking/ui/ExperimentCard.tsx +0 -667
- package/src/tracking/ui/ExperimentsOverlay.stories.tsx +0 -155
- package/src/tracking/ui/ExperimentsOverlay.tsx +0 -437
- package/src/tracking/ui/anchor.ts +0 -180
- package/src/tracking/ui/card.ts +0 -464
- package/src/tracking/ui/client.ts +0 -117
- package/src/tracking/ui/index.ts +0 -77
- package/src/tracking/ui/types.ts +0 -110
- package/src/tracking/ui/useExperimentsAdmin.ts +0 -103
- package/src/types/Form.ts +0 -29
- package/src/types.ts +0 -14
- package/src/utils/datetime.ts +0 -10
- package/src/utils/fetch.ts +0 -457
- package/src/utils/lspClient.ts +0 -711
- package/src/utils/lspClient.types.ts +0 -211
- package/src/utils/queryUnlessCancelled.ts +0 -28
- package/src/utils/websocket.ts +0 -293
- package/vite.config.ts +0 -58
- package/vitest.config.ts +0 -69
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
// Copyright 2026 Qore Technologies, s.r.o.
|
|
2
|
-
import { ReqoreTag } from '@qoretechnologies/reqore';
|
|
3
|
-
import { IReqoreFormTemplates } from '@qoretechnologies/reqore/dist/components/Textarea';
|
|
4
|
-
import { memo } from 'react';
|
|
5
|
-
import { IRichtextSegment } from '../../../../helpers/common';
|
|
6
|
-
import {
|
|
7
|
-
findTemplate,
|
|
8
|
-
getTemplateTagStyle,
|
|
9
|
-
templateTooltip,
|
|
10
|
-
TTemplateMeta,
|
|
11
|
-
} from '../../../../helpers/templates';
|
|
12
|
-
|
|
13
|
-
export interface ITemplateTextProps {
|
|
14
|
-
/** Prose runs and reference chips, from `templateTextSegments` or
|
|
15
|
-
* `richtextToSegments` — both produce the same shape on purpose. */
|
|
16
|
-
segments: IRichtextSegment[];
|
|
17
|
-
/** The catalogue the chips are named and explained from. */
|
|
18
|
-
templates?: IReqoreFormTemplates;
|
|
19
|
-
/**
|
|
20
|
-
* A read-only row is the ONLY rendering its value gets, so it wraps and shows
|
|
21
|
-
* every chip. An editable row's value line is a one-line summary you click to
|
|
22
|
-
* open, so it clips instead of growing the row.
|
|
23
|
-
*/
|
|
24
|
-
full?: boolean;
|
|
25
|
-
className?: string;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Flattens the line breaks in one prose segment of a one-line SUMMARY.
|
|
30
|
-
*
|
|
31
|
-
* Every other value type reaches the collapsed row through
|
|
32
|
-
* `whiteSpace: 'nowrap'`, which collapses newlines for free. This renderer is
|
|
33
|
-
* the only one that opts into `'pre'` — it has to, or the space separating a
|
|
34
|
-
* word from the chip beside it is dropped — and `pre` also honours the
|
|
35
|
-
* newlines, which `nowrap` would have eaten.
|
|
36
|
-
*
|
|
37
|
-
* So a genuinely multi-line value (an alert rule's Gmail message body is five
|
|
38
|
-
* `\n`-separated lines) gave every segment after the first a blank first line.
|
|
39
|
-
* The wrapper centres its items, so a two-line-tall box centred against
|
|
40
|
-
* one-line chips put every word 12px below the chip beside it, and the row read
|
|
41
|
-
* as a staircase. Measured on supah: prose boxes 30px against 14px chips.
|
|
42
|
-
*
|
|
43
|
-
* A space, not nothing: consecutive prose segments are merged before they get
|
|
44
|
-
* here, so a value with a break and no chip between its lines would otherwise
|
|
45
|
-
* lose the word boundary entirely.
|
|
46
|
-
*/
|
|
47
|
-
const collapseSummaryBreaks = (text: string): string => text.replace(/\s*\r?\n\s*/g, ' ');
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* A value that mentions template references, drawn for READING.
|
|
51
|
-
*
|
|
52
|
-
* One renderer, because a value that reads two ways depending on which surface
|
|
53
|
-
* shows it is the defect this exists to close: a skip-when predicate read
|
|
54
|
-
* `$._case.mode != 'simulate'` on the compact row while the editor it opens
|
|
55
|
-
* drew the same reference as a named chip.
|
|
56
|
-
*
|
|
57
|
-
* The literal text around a reference is the AUTHOR'S, and it survives exactly
|
|
58
|
-
* as typed — a predicate is a comparison they wrote, and only the reference in
|
|
59
|
-
* it is the thing the template mechanism exists to name.
|
|
60
|
-
*
|
|
61
|
-
* The chip is `ReqoreTag`, the same one `ReadOnlyTemplateTag` and the rich-text
|
|
62
|
-
* editor use, with the same `$`-icon, the same intent scheme
|
|
63
|
-
* (`getTemplateTagStyle`) and the same hover card (`templateTooltip`), so a
|
|
64
|
-
* reference looks identical wherever it is shown.
|
|
65
|
-
*/
|
|
66
|
-
export const TemplateText = memo(({ segments, templates, full, className }: ITemplateTextProps) => (
|
|
67
|
-
<span
|
|
68
|
-
className={`reqraft-template-text${className ? ` ${className}` : ''}`}
|
|
69
|
-
style={{
|
|
70
|
-
display: 'inline-flex',
|
|
71
|
-
alignItems: 'center',
|
|
72
|
-
gap: 4,
|
|
73
|
-
minWidth: 0,
|
|
74
|
-
maxWidth: '100%',
|
|
75
|
-
...(full ? { flexWrap: 'wrap' } : { overflow: 'hidden' }),
|
|
76
|
-
}}
|
|
77
|
-
>
|
|
78
|
-
{segments.map((segment, index) =>
|
|
79
|
-
segment.kind === 'tag' ?
|
|
80
|
-
<ReqoreTag
|
|
81
|
-
key={`tag-${index}`}
|
|
82
|
-
className='reqraft-template-chip'
|
|
83
|
-
size='tiny'
|
|
84
|
-
// The chip's label has to be the same size as the prose it is embedded
|
|
85
|
-
// in. The wrapper centres boxes, so two different text sizes centred
|
|
86
|
-
// against each other cannot share a baseline and the chips visibly
|
|
87
|
-
// float above the words. Inheriting makes centring align the baselines
|
|
88
|
-
// too, at whatever font size the consuming app uses.
|
|
89
|
-
style={{ fontSize: 'inherit' }}
|
|
90
|
-
icon='ExchangeDollarLine'
|
|
91
|
-
label={segment.text || segment.value}
|
|
92
|
-
// The same card the chosen-template chip shows: what the value IS, not
|
|
93
|
-
// the reference that names it.
|
|
94
|
-
tooltip={templateTooltip(templates, segment.value || '')}
|
|
95
|
-
{...getTemplateTagStyle(
|
|
96
|
-
(templates ? findTemplate(templates, segment.value || '') : undefined)?.metadata as
|
|
97
|
-
| TTemplateMeta
|
|
98
|
-
| undefined
|
|
99
|
-
)}
|
|
100
|
-
/>
|
|
101
|
-
: <span
|
|
102
|
-
key={`text-${index}`}
|
|
103
|
-
className='reqraft-template-prose'
|
|
104
|
-
// `pre`, not the row's `nowrap`: the single space that separates a
|
|
105
|
-
// word from the chip beside it is real content here, and collapsing
|
|
106
|
-
// it would join them. A read row keeps the newlines too.
|
|
107
|
-
style={{ whiteSpace: full ? 'pre-wrap' : 'pre' }}
|
|
108
|
-
>
|
|
109
|
-
{full ? segment.text : collapseSummaryBreaks(segment.text)}
|
|
110
|
-
</span>
|
|
111
|
-
)}
|
|
112
|
-
</span>
|
|
113
|
-
));
|
|
114
|
-
|
|
115
|
-
TemplateText.displayName = 'TemplateText';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/* A deterministic "whole base64 file" example value — the payload class the
|
|
2
|
-
example-value modal exists for (an email attachment body). No spaces on
|
|
3
|
-
purpose: the unbroken run is what breaks naive rendering. The sentinel
|
|
4
|
-
proves a consumer holds the value to the very end. */
|
|
5
|
-
export const LONG_EXAMPLE_VALUE = `${'JVBERi0xLjcKJcTl8uXrp9Og0MTGCjQgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCg=='.repeat(
|
|
6
|
-
90
|
|
7
|
-
)}THE_VERY_END`;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_context": {
|
|
3
|
-
"display_name": "Context Data",
|
|
4
|
-
"short_desc": "Data from the current execution context",
|
|
5
|
-
"app": "Qorus",
|
|
6
|
-
"logo": "https://hq.qoretechnologies.com:8092/api/public/apps/Qorus/qorus-logo.svg",
|
|
7
|
-
"internal": true,
|
|
8
|
-
"items": [
|
|
9
|
-
{
|
|
10
|
-
"name": "current_timestamp",
|
|
11
|
-
"display_name": "Current Timestamp",
|
|
12
|
-
"short_desc": "The current timestamp as a date/time value",
|
|
13
|
-
"desc": "The current timestamp as a date/time value",
|
|
14
|
-
"value": "$timestamp:now",
|
|
15
|
-
"type": "date",
|
|
16
|
-
"example_value": "2024-01-17T13:46:25.899859+01:00"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"name": "test_deep_hash",
|
|
20
|
-
"display_name": "Testing Hash",
|
|
21
|
-
"short_desc": "Hash for Testing",
|
|
22
|
-
"desc": "Hash for Testing",
|
|
23
|
-
"value": "$local:hash",
|
|
24
|
-
"type": "hash",
|
|
25
|
-
"example_value": "{ some: hash }",
|
|
26
|
-
"items": [
|
|
27
|
-
{
|
|
28
|
-
"name": "test_deep_hash_item",
|
|
29
|
-
"display_name": "Testing String Item",
|
|
30
|
-
"short_desc": "String Item for Testing",
|
|
31
|
-
"desc": "String Item for Testing",
|
|
32
|
-
"value": "$local:string",
|
|
33
|
-
"type": "string",
|
|
34
|
-
"example_value": "Test"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"name": "test_deep_hash_item2",
|
|
38
|
-
"display_name": "Testing Int Item ",
|
|
39
|
-
"short_desc": "Int Item 2 for Testing",
|
|
40
|
-
"desc": "Int Item for Testing",
|
|
41
|
-
"value": "$local:int",
|
|
42
|
-
"type": "int",
|
|
43
|
-
"example_value": 42
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"name": "test_deep_hash_item3",
|
|
47
|
-
"display_name": "Testing List Item ",
|
|
48
|
-
"short_desc": "List Item for Testing",
|
|
49
|
-
"desc": "List Item for Testing",
|
|
50
|
-
"value": "$data:{test:list}",
|
|
51
|
-
"items": [
|
|
52
|
-
{
|
|
53
|
-
"name": "test_deep_hash_item3_item",
|
|
54
|
-
"display_name": "Testing List Item",
|
|
55
|
-
"short_desc": "Deep List Item for Testing",
|
|
56
|
-
"desc": "Deep List Item for Testing",
|
|
57
|
-
"value": "$data:{deep:test:list}",
|
|
58
|
-
"type": "string",
|
|
59
|
-
"example_value": "Test"
|
|
60
|
-
}
|
|
61
|
-
],
|
|
62
|
-
"type": "list",
|
|
63
|
-
"example_value": "[test1, test2, test3]"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"name": "test_deep_hash_item4",
|
|
67
|
-
"display_name": "Testing Hash Item ",
|
|
68
|
-
"short_desc": "Hash Item for Testing",
|
|
69
|
-
"desc": "Hash Item for Testing",
|
|
70
|
-
"value": "$data:{test:hash}",
|
|
71
|
-
"type": "hash",
|
|
72
|
-
"items": [
|
|
73
|
-
{
|
|
74
|
-
"name": "test_deep_hash_item",
|
|
75
|
-
"display_name": "Testing String Item",
|
|
76
|
-
"short_desc": "String Item for Testing",
|
|
77
|
-
"desc": "String Item for Testing",
|
|
78
|
-
"value": "$deep:local:string",
|
|
79
|
-
"type": "string",
|
|
80
|
-
"example_value": "Test"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
"name": "test_deep_hash_item2",
|
|
84
|
-
"display_name": "Testing Int Item ",
|
|
85
|
-
"short_desc": "Int Item 2 for Testing",
|
|
86
|
-
"desc": "Int Item for Testing",
|
|
87
|
-
"value": "$deep:local:int",
|
|
88
|
-
"type": "int",
|
|
89
|
-
"example_value": 42
|
|
90
|
-
}
|
|
91
|
-
],
|
|
92
|
-
"example_value": "{ key1: 'value1', key2: 'value2' }"
|
|
93
|
-
}
|
|
94
|
-
]
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"name": "test_deep_hash_item10",
|
|
98
|
-
"display_name": "Testing List Item ",
|
|
99
|
-
"short_desc": "List Item for Testing",
|
|
100
|
-
"desc": "List Item for Testing",
|
|
101
|
-
"value": "$data:{test:list}",
|
|
102
|
-
"items": [
|
|
103
|
-
{
|
|
104
|
-
"name": "test_deep_hash_item3_item",
|
|
105
|
-
"display_name": "Testing List Item",
|
|
106
|
-
"short_desc": "Deep List Item for Testing",
|
|
107
|
-
"desc": "Deep List Item for Testing",
|
|
108
|
-
"value": "$data:{deep:test:list}",
|
|
109
|
-
"type": "string",
|
|
110
|
-
"example_value": "Test"
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"name": "test_deep_hash_item4",
|
|
114
|
-
"display_name": "Testing Hash Item ",
|
|
115
|
-
"short_desc": "Hash Item for Testing",
|
|
116
|
-
"desc": "Hash Item for Testing",
|
|
117
|
-
"value": "$data:{test-in-list:hash}",
|
|
118
|
-
"type": "hash",
|
|
119
|
-
"items": [
|
|
120
|
-
{
|
|
121
|
-
"name": "test_deep_hash_item",
|
|
122
|
-
"display_name": "Testing String Item",
|
|
123
|
-
"short_desc": "String Item for Testing",
|
|
124
|
-
"desc": "String Item for Testing",
|
|
125
|
-
"value": "$deep:local:string",
|
|
126
|
-
"type": "string",
|
|
127
|
-
"example_value": "Test"
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"name": "test_deep_hash_item2",
|
|
131
|
-
"display_name": "Testing Int Item ",
|
|
132
|
-
"short_desc": "Int Item 2 for Testing",
|
|
133
|
-
"desc": "Int Item for Testing",
|
|
134
|
-
"value": "$deep:local:int",
|
|
135
|
-
"type": "int",
|
|
136
|
-
"example_value": 42
|
|
137
|
-
}
|
|
138
|
-
],
|
|
139
|
-
"example_value": "{ key1: 'value1', key2: 'value2' }"
|
|
140
|
-
}
|
|
141
|
-
],
|
|
142
|
-
"type": "list",
|
|
143
|
-
"example_value": "[test1, test2, test3]"
|
|
144
|
-
}
|
|
145
|
-
]
|
|
146
|
-
}
|
|
147
|
-
}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_context": {
|
|
3
|
-
"display_name": "Context Data",
|
|
4
|
-
"short_desc": "Data from the current execution context",
|
|
5
|
-
"app": "Qorus",
|
|
6
|
-
"logo": "https://hq.qoretechnologies.com:8092/api/public/apps/Qorus/qorus-logo.svg",
|
|
7
|
-
"internal": true,
|
|
8
|
-
"items": [
|
|
9
|
-
{
|
|
10
|
-
"name": "current_timestamp",
|
|
11
|
-
"display_name": "Current Timestamp",
|
|
12
|
-
"short_desc": "The current timestamp as a date/time value",
|
|
13
|
-
"desc": "The current timestamp as a date/time value",
|
|
14
|
-
"value": "$timestamp:now",
|
|
15
|
-
"type": "date",
|
|
16
|
-
"example_value": "2024-01-17T13:46:25.899859+01:00"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"name": "day_end",
|
|
20
|
-
"display_name": "Day End",
|
|
21
|
-
"short_desc": "The end of the day; the timestamp at midnight of the following day",
|
|
22
|
-
"desc": "The end of the day (or start of the next day); the timestamp at midnight of the following day",
|
|
23
|
-
"example_value": "2024-01-18T00:00:00.000000+01:00",
|
|
24
|
-
"value": "$timestamp:next_midnight",
|
|
25
|
-
"type": "date"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"name": "day_start",
|
|
29
|
-
"display_name": "Day Start",
|
|
30
|
-
"short_desc": "The start of the day; the timestamp at midnight of the current day",
|
|
31
|
-
"desc": "The start of the day; the timestamp at midnight of the current day",
|
|
32
|
-
"example_value": "2024-01-17T00:00:00.000000+01:00",
|
|
33
|
-
"value": "$timestamp:last_midnight",
|
|
34
|
-
"type": "date"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"name": "timegm",
|
|
38
|
-
"display_name": "Epoch Seconds",
|
|
39
|
-
"short_desc": "The number of seconds after the UNIX epoch",
|
|
40
|
-
"desc": "The number of seconds after the UNIX epoch (`1970-01-01 UTC`)",
|
|
41
|
-
"example_value": 1705496417,
|
|
42
|
-
"value": "$timestamp:timegm",
|
|
43
|
-
"type": "int"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"name": "id",
|
|
47
|
-
"display_name": "Interface ID",
|
|
48
|
-
"short_desc": "The internal ID of the interface",
|
|
49
|
-
"desc": "The internal ID of the interface",
|
|
50
|
-
"value": "$local:id",
|
|
51
|
-
"type": "int",
|
|
52
|
-
"example_value": 100
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"name": "name",
|
|
56
|
-
"display_name": "Interface Name",
|
|
57
|
-
"short_desc": "The name of the interface",
|
|
58
|
-
"desc": "The name of the interface",
|
|
59
|
-
"example_value": "my-interface",
|
|
60
|
-
"value": "$local:name",
|
|
61
|
-
"type": "string"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"name": "type",
|
|
65
|
-
"display_name": "Interface Type",
|
|
66
|
-
"short_desc": "The type of interface",
|
|
67
|
-
"desc": "The type of interface: `workflow`, `service`, or `job`",
|
|
68
|
-
"example_value": "job",
|
|
69
|
-
"value": "$local:type",
|
|
70
|
-
"type": "string"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
"name": "version",
|
|
74
|
-
"display_name": "Interface Version",
|
|
75
|
-
"short_desc": "The version of the interface",
|
|
76
|
-
"desc": "The version of the interface",
|
|
77
|
-
"example_value": "1.0",
|
|
78
|
-
"value": "$local:version",
|
|
79
|
-
"type": "string"
|
|
80
|
-
}
|
|
81
|
-
]
|
|
82
|
-
}
|
|
83
|
-
}
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import { StoryObj } from '@storybook/react-vite';
|
|
2
|
-
import { expect, fireEvent, fn, userEvent, waitFor, within } from 'storybook/test';
|
|
3
|
-
import { useState } from 'react';
|
|
4
|
-
import { StoryMeta } from '../../../../types';
|
|
5
|
-
import { TimeoutFormField } from './Timeout';
|
|
6
|
-
|
|
7
|
-
const meta = {
|
|
8
|
-
component: TimeoutFormField,
|
|
9
|
-
title: 'Components/Form/Timeout',
|
|
10
|
-
args: {
|
|
11
|
-
onChange: fn(),
|
|
12
|
-
'aria-label': 'Timeout amount',
|
|
13
|
-
},
|
|
14
|
-
render(args) {
|
|
15
|
-
const [value, setValue] = useState(args.value);
|
|
16
|
-
return (
|
|
17
|
-
<TimeoutFormField
|
|
18
|
-
{...args}
|
|
19
|
-
value={value}
|
|
20
|
-
onChange={(v) => {
|
|
21
|
-
args.onChange?.(v);
|
|
22
|
-
setValue(v);
|
|
23
|
-
}}
|
|
24
|
-
/>
|
|
25
|
-
);
|
|
26
|
-
},
|
|
27
|
-
} as StoryMeta<typeof TimeoutFormField>;
|
|
28
|
-
|
|
29
|
-
export default meta;
|
|
30
|
-
type Story = StoryObj<typeof meta>;
|
|
31
|
-
|
|
32
|
-
export const Default: Story = {
|
|
33
|
-
parameters: {
|
|
34
|
-
docs: {
|
|
35
|
-
description: {
|
|
36
|
-
story:
|
|
37
|
-
'Renders the Timeout field with no value — the unit selector sits on ms. Typing a number fires onChange with that many milliseconds.',
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
play: async ({ canvasElement, args }) => {
|
|
42
|
-
const canvas = within(canvasElement);
|
|
43
|
-
const input = canvas.getByLabelText('Timeout amount');
|
|
44
|
-
await expect(input).toBeInTheDocument();
|
|
45
|
-
await expect(canvas.getByText('ms')).toBeInTheDocument();
|
|
46
|
-
await userEvent.type(input, '42');
|
|
47
|
-
await waitFor(() => expect(args.onChange).toHaveBeenLastCalledWith(42), { timeout: 5000 });
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export const WithValue: Story = {
|
|
52
|
-
args: {
|
|
53
|
-
value: 45000,
|
|
54
|
-
},
|
|
55
|
-
parameters: {
|
|
56
|
-
docs: {
|
|
57
|
-
description: {
|
|
58
|
-
story:
|
|
59
|
-
'Renders the Timeout field pre-populated with 45000 milliseconds — shown as 45 with the seconds unit selected, the largest unit that represents the value exactly.',
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
play: async ({ canvasElement }) => {
|
|
64
|
-
const canvas = within(canvasElement);
|
|
65
|
-
await expect(await canvas.findByDisplayValue('45')).toBeInTheDocument();
|
|
66
|
-
await expect(canvas.getByText('seconds')).toBeInTheDocument();
|
|
67
|
-
},
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export const Mobile: Story = {
|
|
71
|
-
args: {
|
|
72
|
-
value: 45000,
|
|
73
|
-
// The phone presentation is prop-forced so the play is deterministic at
|
|
74
|
-
// any test-browser width; without the prop the field switches on the
|
|
75
|
-
// viewport's own phone-width flag.
|
|
76
|
-
abbreviateUnits: true,
|
|
77
|
-
},
|
|
78
|
-
parameters: {
|
|
79
|
-
// Capture at phone size; the selector abbreviation is prop-forced above.
|
|
80
|
-
qlip: { viewport: { width: 390, height: 844 } },
|
|
81
|
-
docs: {
|
|
82
|
-
description: {
|
|
83
|
-
story:
|
|
84
|
-
'Renders the phone presentation of the Timeout field with 45000 milliseconds — the closed unit selector reads "s", while the open picker keeps the full seconds/minutes/hours names.',
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
play: async ({ canvasElement }) => {
|
|
89
|
-
const canvas = within(canvasElement);
|
|
90
|
-
await expect(await canvas.findByDisplayValue('45')).toBeInTheDocument();
|
|
91
|
-
await fireEvent.click(canvas.getByText('s'));
|
|
92
|
-
const body = within(canvasElement.ownerDocument.body);
|
|
93
|
-
await waitFor(() => expect(body.getByText('minutes')).toBeInTheDocument(), { timeout: 5000 });
|
|
94
|
-
await expect(body.getByText('hours')).toBeInTheDocument();
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
export const WithInexactValue: Story = {
|
|
99
|
-
args: {
|
|
100
|
-
value: 90500,
|
|
101
|
-
},
|
|
102
|
-
parameters: {
|
|
103
|
-
docs: {
|
|
104
|
-
description: {
|
|
105
|
-
story:
|
|
106
|
-
'Renders the Timeout field with 90500 milliseconds — no larger unit divides it evenly, so it stays 90500 on the ms unit instead of rounding to 90.5 seconds.',
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
play: async ({ canvasElement }) => {
|
|
111
|
-
const canvas = within(canvasElement);
|
|
112
|
-
await expect(await canvas.findByDisplayValue('90500')).toBeInTheDocument();
|
|
113
|
-
await expect(canvas.getByText('ms')).toBeInTheDocument();
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
export const UnitSwitch: Story = {
|
|
118
|
-
args: {
|
|
119
|
-
value: 45000,
|
|
120
|
-
},
|
|
121
|
-
parameters: {
|
|
122
|
-
docs: {
|
|
123
|
-
description: {
|
|
124
|
-
story:
|
|
125
|
-
'Renders the Timeout field with 45000 milliseconds (45 seconds). Switching the unit to minutes re-interprets the shown amount and fires onChange with 45 minutes in milliseconds.',
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
play: async ({ canvasElement, args }) => {
|
|
130
|
-
const canvas = within(canvasElement);
|
|
131
|
-
await fireEvent.click(await canvas.findByText('seconds'));
|
|
132
|
-
const body = within(canvasElement.ownerDocument.body);
|
|
133
|
-
await waitFor(() => expect(body.getByText('minutes')).toBeInTheDocument(), { timeout: 5000 });
|
|
134
|
-
await fireEvent.click(body.getByText('minutes'));
|
|
135
|
-
await waitFor(() => expect(args.onChange).toHaveBeenLastCalledWith(2700000), { timeout: 5000 });
|
|
136
|
-
await expect(canvas.getByDisplayValue('45')).toBeInTheDocument();
|
|
137
|
-
},
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
export const TypingConverts: Story = {
|
|
141
|
-
args: {
|
|
142
|
-
value: 45000,
|
|
143
|
-
},
|
|
144
|
-
parameters: {
|
|
145
|
-
docs: {
|
|
146
|
-
description: {
|
|
147
|
-
story:
|
|
148
|
-
'Renders the Timeout field with 45000 milliseconds (45 seconds). Clearing the amount and typing 90 fires onChange with 90 seconds converted to milliseconds.',
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
},
|
|
152
|
-
play: async ({ canvasElement, args }) => {
|
|
153
|
-
const canvas = within(canvasElement);
|
|
154
|
-
const input = await canvas.findByDisplayValue('45');
|
|
155
|
-
await userEvent.clear(input);
|
|
156
|
-
await userEvent.type(input, '90');
|
|
157
|
-
await waitFor(() => expect(args.onChange).toHaveBeenLastCalledWith(90000), { timeout: 5000 });
|
|
158
|
-
await expect(canvas.getByText('seconds')).toBeInTheDocument();
|
|
159
|
-
},
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
export const KeepsUnitWhileTyping: Story = {
|
|
163
|
-
args: {
|
|
164
|
-
value: 45000,
|
|
165
|
-
},
|
|
166
|
-
parameters: {
|
|
167
|
-
docs: {
|
|
168
|
-
description: {
|
|
169
|
-
story:
|
|
170
|
-
'Renders the Timeout field with 45 seconds. Typing 120 — a minute-exact amount — keeps the seconds unit instead of auto-promoting to 2 minutes, and emits 120 seconds in milliseconds.',
|
|
171
|
-
},
|
|
172
|
-
},
|
|
173
|
-
},
|
|
174
|
-
play: async ({ canvasElement, args }) => {
|
|
175
|
-
const canvas = within(canvasElement);
|
|
176
|
-
const input = await canvas.findByDisplayValue('45');
|
|
177
|
-
await userEvent.clear(input);
|
|
178
|
-
await userEvent.type(input, '120');
|
|
179
|
-
await waitFor(() => expect(args.onChange).toHaveBeenLastCalledWith(120000), { timeout: 5000 });
|
|
180
|
-
await expect(canvas.getByDisplayValue('120')).toBeInTheDocument();
|
|
181
|
-
await expect(canvas.getByText('seconds')).toBeInTheDocument();
|
|
182
|
-
},
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
export const ClearResetsToZero: Story = {
|
|
186
|
-
args: {
|
|
187
|
-
value: 45000,
|
|
188
|
-
},
|
|
189
|
-
parameters: {
|
|
190
|
-
docs: {
|
|
191
|
-
description: {
|
|
192
|
-
story:
|
|
193
|
-
"Renders the Timeout field with 45 seconds. Clicking the amount input's clear icon resets the value to 0 milliseconds while the seconds unit stays selected.",
|
|
194
|
-
},
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
play: async ({ canvasElement, args }) => {
|
|
198
|
-
const canvas = within(canvasElement);
|
|
199
|
-
await canvas.findByDisplayValue('45');
|
|
200
|
-
const clearButton = canvasElement.querySelector('.reqore-clear-input-button');
|
|
201
|
-
await expect(clearButton).toBeInTheDocument();
|
|
202
|
-
await fireEvent.click(clearButton!);
|
|
203
|
-
await waitFor(() => expect(args.onChange).toHaveBeenLastCalledWith(0), { timeout: 5000 });
|
|
204
|
-
await expect(canvas.getByDisplayValue('0')).toBeInTheDocument();
|
|
205
|
-
await expect(canvas.getByText('seconds')).toBeInTheDocument();
|
|
206
|
-
},
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
export const ReadOnly: Story = {
|
|
210
|
-
args: {
|
|
211
|
-
value: 45000,
|
|
212
|
-
readOnly: true,
|
|
213
|
-
},
|
|
214
|
-
parameters: {
|
|
215
|
-
docs: {
|
|
216
|
-
description: {
|
|
217
|
-
story:
|
|
218
|
-
'Renders the Timeout field with 45 seconds in read-only mode — the amount input is marked readonly and the unit selector is disabled.',
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
|
-
},
|
|
222
|
-
play: async ({ canvasElement }) => {
|
|
223
|
-
const canvas = within(canvasElement);
|
|
224
|
-
const input = await canvas.findByDisplayValue('45');
|
|
225
|
-
await expect(input).toHaveAttribute('readonly');
|
|
226
|
-
await expect(canvas.getByText('seconds').closest('button')).toBeDisabled();
|
|
227
|
-
},
|
|
228
|
-
};
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { ReqoreControlGroup, useReqoreProperty } from '@qoretechnologies/reqore';
|
|
2
|
-
import { TSizes } from '@qoretechnologies/reqore/dist/constants/sizes';
|
|
3
|
-
import { memo, useState } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
getLargestExactTimeoutUnit,
|
|
6
|
-
TIMEOUT_UNITS,
|
|
7
|
-
timeoutUnitSymbol,
|
|
8
|
-
timeoutUnitToMs,
|
|
9
|
-
TTimeoutUnit,
|
|
10
|
-
} from '../../../../helpers/common';
|
|
11
|
-
import NumberFormField from '../number/Number';
|
|
12
|
-
import { SelectFormField } from '../select/Select';
|
|
13
|
-
|
|
14
|
-
const UNIT_ITEMS = TIMEOUT_UNITS.map(({ value }) => ({ value }));
|
|
15
|
-
|
|
16
|
-
export interface ITimeoutFormFieldProps {
|
|
17
|
-
/** Integer count of milliseconds — the shape the server stores. */
|
|
18
|
-
value?: number;
|
|
19
|
-
onChange?: (value?: number) => void;
|
|
20
|
-
disabled?: boolean;
|
|
21
|
-
readOnly?: boolean;
|
|
22
|
-
size?: TSizes;
|
|
23
|
-
/** Show unit symbols (ms/s/m/h) instead of full names. Defaults to the
|
|
24
|
-
* viewport's phone-width flag. */
|
|
25
|
-
abbreviateUnits?: boolean;
|
|
26
|
-
/** Unknown props (`aria-label`, …) forward to the primary (amount) input. */
|
|
27
|
-
[key: string]: unknown;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* A timeout input — a numeric amount stacked with a unit selector
|
|
32
|
-
* (ms/seconds/minutes/hours). The field value stays the integer millisecond
|
|
33
|
-
* count the server stores; the unit only scales the display, and changing it
|
|
34
|
-
* re-interprets the shown amount (45 seconds → 45 minutes).
|
|
35
|
-
*/
|
|
36
|
-
export const TimeoutFormField = memo(
|
|
37
|
-
({ value, onChange, disabled, readOnly, size, abbreviateUnits, ...rest }: ITimeoutFormFieldProps) => {
|
|
38
|
-
const isMobile = useReqoreProperty('isMobile');
|
|
39
|
-
const shortUnits = abbreviateUnits ?? isMobile;
|
|
40
|
-
// The ms value alone can't say whether 45000 should read "45 seconds" or
|
|
41
|
-
// "45000 ms", so the unit is pinned once the user touches the field.
|
|
42
|
-
// Until then — and whenever the controlled value stops dividing evenly by
|
|
43
|
-
// the pin (a parent-side reset) — the largest exact unit wins, so the
|
|
44
|
-
// display never rounds.
|
|
45
|
-
const [pinnedUnit, setPinnedUnit] = useState<TTimeoutUnit>();
|
|
46
|
-
const unit =
|
|
47
|
-
pinnedUnit && (value == null || value % timeoutUnitToMs(pinnedUnit) === 0)
|
|
48
|
-
? pinnedUnit
|
|
49
|
-
: getLargestExactTimeoutUnit(value);
|
|
50
|
-
const amount = value != null ? value / timeoutUnitToMs(unit) : undefined;
|
|
51
|
-
|
|
52
|
-
return (
|
|
53
|
-
<ReqoreControlGroup stack fluid size={size}>
|
|
54
|
-
<NumberFormField
|
|
55
|
-
{...(rest as any)}
|
|
56
|
-
fluid
|
|
57
|
-
type='int'
|
|
58
|
-
value={amount}
|
|
59
|
-
onChange={(next) => {
|
|
60
|
-
setPinnedUnit(unit);
|
|
61
|
-
onChange?.(typeof next === 'number' ? next * timeoutUnitToMs(unit) : undefined);
|
|
62
|
-
}}
|
|
63
|
-
disabled={disabled}
|
|
64
|
-
readOnly={readOnly}
|
|
65
|
-
/>
|
|
66
|
-
<SelectFormField
|
|
67
|
-
fixed
|
|
68
|
-
hideItemCount
|
|
69
|
-
items={UNIT_ITEMS}
|
|
70
|
-
// Where space is tight only the trigger abbreviates — the open
|
|
71
|
-
// picker keeps the full unit names.
|
|
72
|
-
valueLabel={shortUnits ? timeoutUnitSymbol(unit) : undefined}
|
|
73
|
-
value={unit}
|
|
74
|
-
onChange={(next) => {
|
|
75
|
-
setPinnedUnit(next as TTimeoutUnit);
|
|
76
|
-
if (amount != null) {
|
|
77
|
-
onChange?.(amount * timeoutUnitToMs(next as TTimeoutUnit));
|
|
78
|
-
}
|
|
79
|
-
}}
|
|
80
|
-
disabled={disabled || readOnly}
|
|
81
|
-
/>
|
|
82
|
-
</ReqoreControlGroup>
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
);
|
|
86
|
-
|
|
87
|
-
export default TimeoutFormField;
|