@qoretechnologies/reqraft 0.10.55-pr.124.g43fa138 → 0.10.55
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/.claude/CLAUDE.md +25 -0
- package/.tasks/INDEX.md +1 -0
- package/.tasks/STORY_NETWORK_ISOLATION.md +98 -0
- package/README.md +1 -1
- package/design/FORM_ENGINE_COMPACT.md +34 -0
- package/design/FORM_ENGINE_EXPRESSIONS.md +110 -0
- package/design/FORM_ENGINE_FIELD_MIGRATION.md +155 -1
- package/design/IDE_INTEGRATION.md +13 -0
- package/design/RENDER_EXPRESSION_TRANSPORT.md +76 -10
- package/design/SELECT_DIALOG_FLOOR.md +86 -0
- package/design/SMART_EDITOR_UX.md +21 -0
- package/design/UNAVAILABLE_ALLOWED_VALUES.md +226 -0
- package/dist/components/composer/Composer.d.ts +8 -3
- package/dist/components/composer/Composer.d.ts.map +1 -1
- 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 +3 -3
- package/dist/components/dpqlEditor/DpqlEditor.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts +6 -0
- package/dist/components/dpqlEditor/dpqlHelpers.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlHelpers.js +21 -2
- package/dist/components/dpqlEditor/dpqlHelpers.js.map +1 -1
- package/dist/components/dpqlEditor/dpqlProbe.d.ts +37 -0
- package/dist/components/dpqlEditor/dpqlProbe.d.ts.map +1 -0
- package/dist/components/dpqlEditor/dpqlProbe.js +203 -0
- package/dist/components/dpqlEditor/dpqlProbe.js.map +1 -0
- package/dist/components/dpqlEditor/dpqlTags.d.ts +8 -0
- package/dist/components/dpqlEditor/dpqlTags.d.ts.map +1 -1
- package/dist/components/dpqlEditor/dpqlTags.js +5 -1
- package/dist/components/dpqlEditor/dpqlTags.js.map +1 -1
- package/dist/components/dpqlEditor/index.d.ts +4 -0
- package/dist/components/dpqlEditor/index.d.ts.map +1 -1
- package/dist/components/dpqlEditor/index.js +5 -1
- package/dist/components/dpqlEditor/index.js.map +1 -1
- package/dist/components/dpqlEditor/types.d.ts +42 -2
- package/dist/components/dpqlEditor/types.d.ts.map +1 -1
- package/dist/components/dpqlEditor/types.js +0 -4
- package/dist/components/dpqlEditor/types.js.map +1 -1
- package/dist/components/dpqlEditor/useDpqlProbe.d.ts +4 -0
- package/dist/components/dpqlEditor/useDpqlProbe.d.ts.map +1 -0
- package/dist/components/dpqlEditor/useDpqlProbe.js +29 -0
- package/dist/components/dpqlEditor/useDpqlProbe.js.map +1 -0
- package/dist/components/dpqlEditor/useDpqlSession.d.ts +5 -2
- package/dist/components/dpqlEditor/useDpqlSession.d.ts.map +1 -1
- package/dist/components/dpqlEditor/useDpqlSession.js +8 -2
- 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 +414 -128
- 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 +5 -2
- package/dist/components/form/engine/CompactToolbar.js.map +1 -1
- package/dist/components/form/engine/FormEngine.d.ts +273 -22
- package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
- package/dist/components/form/engine/FormEngine.js +669 -192
- package/dist/components/form/engine/FormEngine.js.map +1 -1
- package/dist/components/form/engine/FormFieldsSkeleton.d.ts +48 -0
- package/dist/components/form/engine/FormFieldsSkeleton.d.ts.map +1 -0
- package/dist/components/form/engine/FormFieldsSkeleton.js +41 -0
- package/dist/components/form/engine/FormFieldsSkeleton.js.map +1 -0
- package/dist/components/form/engine/OptionFieldMessages.d.ts +108 -2
- package/dist/components/form/engine/OptionFieldMessages.d.ts.map +1 -1
- package/dist/components/form/engine/OptionFieldMessages.js +203 -13
- package/dist/components/form/engine/OptionFieldMessages.js.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.d.ts.map +1 -1
- package/dist/components/form/engine/_structuredData/SchemaDataView.js +68 -5
- package/dist/components/form/engine/_structuredData/SchemaDataView.js.map +1 -1
- package/dist/components/form/engine/compactRowContext.d.ts +15 -1
- 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.map +1 -1
- package/dist/components/form/engine/compactRowStyles.js +55 -29
- package/dist/components/form/engine/compactRowStyles.js.map +1 -1
- package/dist/components/form/engine/compactToolbarContext.d.ts +1 -0
- package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
- package/dist/components/form/engine/optionActions.d.ts +37 -1
- package/dist/components/form/engine/optionActions.d.ts.map +1 -1
- package/dist/components/form/engine/optionActions.js +71 -1
- package/dist/components/form/engine/optionActions.js.map +1 -1
- package/dist/components/form/engine/optionsContext.d.ts +22 -0
- package/dist/components/form/engine/optionsContext.d.ts.map +1 -0
- package/dist/components/form/engine/optionsContext.js +20 -0
- package/dist/components/form/engine/optionsContext.js.map +1 -0
- package/dist/components/form/engine/readFirst.d.ts +42 -1
- package/dist/components/form/engine/readFirst.d.ts.map +1 -1
- package/dist/components/form/engine/readFirst.js +76 -8
- package/dist/components/form/engine/readFirst.js.map +1 -1
- package/dist/components/form/engine/rendererTypes.d.ts +42 -3
- package/dist/components/form/engine/rendererTypes.d.ts.map +1 -1
- package/dist/components/form/engine/rendererTypes.js +3 -1
- package/dist/components/form/engine/rendererTypes.js.map +1 -1
- package/dist/components/form/engine/rowFocus.d.ts +30 -0
- package/dist/components/form/engine/rowFocus.d.ts.map +1 -0
- package/dist/components/form/engine/rowFocus.js +93 -0
- package/dist/components/form/engine/rowFocus.js.map +1 -0
- package/dist/components/form/engine/rowMenuContext.d.ts +78 -0
- package/dist/components/form/engine/rowMenuContext.d.ts.map +1 -0
- package/dist/components/form/engine/rowMenuContext.js +103 -0
- package/dist/components/form/engine/rowMenuContext.js.map +1 -0
- package/dist/components/form/engine/rowOpenPicker.d.ts +27 -0
- package/dist/components/form/engine/rowOpenPicker.d.ts.map +1 -0
- package/dist/components/form/engine/rowOpenPicker.js +30 -0
- package/dist/components/form/engine/rowOpenPicker.js.map +1 -0
- package/dist/components/form/engine/typeChoices.d.ts +42 -0
- package/dist/components/form/engine/typeChoices.d.ts.map +1 -0
- package/dist/components/form/engine/typeChoices.js +33 -0
- package/dist/components/form/engine/typeChoices.js.map +1 -0
- package/dist/components/form/expressions/DpqlRendering.d.ts +26 -0
- package/dist/components/form/expressions/DpqlRendering.d.ts.map +1 -0
- package/dist/components/form/expressions/DpqlRendering.js +53 -0
- package/dist/components/form/expressions/DpqlRendering.js.map +1 -0
- package/dist/components/form/expressions/ExpressionField.d.ts +7 -1
- package/dist/components/form/expressions/ExpressionField.d.ts.map +1 -1
- package/dist/components/form/expressions/ExpressionField.js +203 -45
- package/dist/components/form/expressions/ExpressionField.js.map +1 -1
- package/dist/components/form/expressions/argumentPresence.d.ts +84 -0
- package/dist/components/form/expressions/argumentPresence.d.ts.map +1 -0
- package/dist/components/form/expressions/argumentPresence.js +217 -0
- package/dist/components/form/expressions/argumentPresence.js.map +1 -0
- package/dist/components/form/expressions/builder/argumentLabel.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/argumentLabel.js +9 -4
- package/dist/components/form/expressions/builder/argumentLabel.js.map +1 -1
- package/dist/components/form/expressions/builder/index.d.ts +15 -2
- package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/index.js +21 -65
- package/dist/components/form/expressions/builder/index.js.map +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.d.ts +4 -1
- package/dist/components/form/expressions/builder/renderTemplate.d.ts.map +1 -1
- package/dist/components/form/expressions/builder/renderTemplate.js +10 -67
- package/dist/components/form/expressions/builder/renderTemplate.js.map +1 -1
- package/dist/components/form/expressions/mockExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/mockExpressions.js +8 -4
- package/dist/components/form/expressions/mockExpressions.js.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts +1 -1
- package/dist/components/form/expressions/renderExpressionToText.d.ts.map +1 -1
- package/dist/components/form/expressions/renderExpressionToText.js +95 -19
- package/dist/components/form/expressions/renderExpressionToText.js.map +1 -1
- package/dist/components/form/expressions/types.d.ts +17 -2
- package/dist/components/form/expressions/types.d.ts.map +1 -1
- package/dist/components/form/expressions/useExpressions.d.ts.map +1 -1
- package/dist/components/form/expressions/useExpressions.js +5 -2
- package/dist/components/form/expressions/useExpressions.js.map +1 -1
- package/dist/components/form/expressions/useRenderExpression.d.ts +7 -16
- package/dist/components/form/expressions/useRenderExpression.d.ts.map +1 -1
- package/dist/components/form/expressions/useRenderExpression.js +50 -126
- package/dist/components/form/expressions/useRenderExpression.js.map +1 -1
- package/dist/components/form/fields/Field.d.ts +21 -0
- package/dist/components/form/fields/Field.d.ts.map +1 -1
- package/dist/components/form/fields/Field.js +54 -8
- package/dist/components/form/fields/Field.js.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +11 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
- package/dist/components/form/fields/allowed-values/AllowedValues.js +52 -8
- package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts +7 -1
- package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
- package/dist/components/form/fields/auto/AutoFormField.js +91 -28
- package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
- package/dist/components/form/fields/date/Date.d.ts +1 -1
- package/dist/components/form/fields/date/Date.d.ts.map +1 -1
- package/dist/components/form/fields/date/Date.js +16 -2
- package/dist/components/form/fields/date/Date.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 +14 -2
- package/dist/components/form/fields/long-string/LongString.js.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js +50 -4
- package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
- package/dist/components/form/fields/number/Number.d.ts +12 -1
- package/dist/components/form/fields/number/Number.d.ts.map +1 -1
- package/dist/components/form/fields/number/Number.js +6 -3
- package/dist/components/form/fields/number/Number.js.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.d.ts +47 -2
- package/dist/components/form/fields/rich-text/RichText.d.ts.map +1 -1
- package/dist/components/form/fields/rich-text/RichText.js +153 -12
- package/dist/components/form/fields/rich-text/RichText.js.map +1 -1
- package/dist/components/form/fields/select/Select.d.ts.map +1 -1
- package/dist/components/form/fields/select/Select.js +120 -20
- package/dist/components/form/fields/select/Select.js.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.d.ts +166 -9
- package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
- package/dist/components/form/fields/select/SelectCollection.js +200 -7
- package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts +2 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.d.ts.map +1 -1
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js +3 -2
- package/dist/components/form/fields/template/ReadOnlyTemplateTag.js.map +1 -1
- package/dist/components/form/fields/template/TemplateField.d.ts +34 -2
- package/dist/components/form/fields/template/TemplateField.d.ts.map +1 -1
- package/dist/components/form/fields/template/TemplateField.js +606 -58
- package/dist/components/form/fields/template/TemplateField.js.map +1 -1
- package/dist/components/form/fields/template/TemplateText.d.ts +36 -0
- package/dist/components/form/fields/template/TemplateText.d.ts.map +1 -0
- package/dist/components/form/fields/template/TemplateText.js +80 -0
- package/dist/components/form/fields/template/TemplateText.js.map +1 -0
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +4 -0
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/smartEditor/SmartEditor.d.ts.map +1 -1
- package/dist/components/smartEditor/SmartEditor.js +29 -8
- package/dist/components/smartEditor/SmartEditor.js.map +1 -1
- package/dist/components/smartEditor/useLspSession.d.ts +5 -1
- package/dist/components/smartEditor/useLspSession.d.ts.map +1 -1
- package/dist/components/smartEditor/useLspSession.js +16 -2
- package/dist/components/smartEditor/useLspSession.js.map +1 -1
- package/dist/components/supportTicket/TicketReplyBox.d.ts +8 -4
- package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -1
- package/dist/components/supportTicket/TicketReplyBox.js.map +1 -1
- package/dist/helpers/common.d.ts.map +1 -1
- package/dist/helpers/common.js +7 -3
- package/dist/helpers/common.js.map +1 -1
- package/dist/helpers/dpqlDetection.d.ts +58 -0
- package/dist/helpers/dpqlDetection.d.ts.map +1 -0
- package/dist/helpers/dpqlDetection.js +164 -0
- package/dist/helpers/dpqlDetection.js.map +1 -0
- package/dist/helpers/optionUiTypes.d.ts +31 -3
- package/dist/helpers/optionUiTypes.d.ts.map +1 -1
- package/dist/helpers/optionUiTypes.js +36 -1
- package/dist/helpers/optionUiTypes.js.map +1 -1
- package/dist/helpers/options.d.ts +57 -0
- package/dist/helpers/options.d.ts.map +1 -1
- package/dist/helpers/options.js +97 -1
- package/dist/helpers/options.js.map +1 -1
- package/dist/helpers/templateItems.d.ts +47 -0
- package/dist/helpers/templateItems.d.ts.map +1 -0
- package/dist/helpers/templateItems.js +88 -0
- package/dist/helpers/templateItems.js.map +1 -0
- package/dist/helpers/templateText.d.ts +80 -0
- package/dist/helpers/templateText.d.ts.map +1 -0
- package/dist/helpers/templateText.js +291 -0
- package/dist/helpers/templateText.js.map +1 -0
- package/dist/helpers/templates.d.ts +30 -12
- package/dist/helpers/templates.d.ts.map +1 -1
- package/dist/helpers/templates.js +91 -33
- package/dist/helpers/templates.js.map +1 -1
- package/dist/helpers/validations.d.ts +35 -8
- package/dist/helpers/validations.d.ts.map +1 -1
- package/dist/helpers/validations.js +162 -25
- package/dist/helpers/validations.js.map +1 -1
- package/dist/hooks/useArgSchema.d.ts +2 -1
- package/dist/hooks/useArgSchema.d.ts.map +1 -1
- package/dist/hooks/useFetch/useFetch.d.ts +3 -1
- package/dist/hooks/useFetch/useFetch.d.ts.map +1 -1
- package/dist/hooks/useFetch/useFetch.js +47 -9
- package/dist/hooks/useFetch/useFetch.js.map +1 -1
- package/dist/hooks/useTemplates.d.ts +20 -0
- package/dist/hooks/useTemplates.d.ts.map +1 -1
- package/dist/hooks/useTemplates.js +34 -2
- package/dist/hooks/useTemplates.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/fetch.d.ts +151 -1
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +256 -44
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/lspClient.d.ts +6 -0
- package/dist/utils/lspClient.d.ts.map +1 -1
- package/dist/utils/lspClient.js +62 -11
- package/dist/utils/lspClient.js.map +1 -1
- package/dist/utils/websocket.d.ts +6 -0
- package/dist/utils/websocket.d.ts.map +1 -1
- package/dist/utils/websocket.js +15 -7
- package/dist/utils/websocket.js.map +1 -1
- package/package.json +10 -6
- package/src/components/composer/Composer.tsx +7 -2
- package/src/components/dpqlEditor/DpqlEditor.stories.tsx +3 -119
- package/src/components/dpqlEditor/DpqlEditor.tsx +5 -2
- package/src/components/dpqlEditor/dpqlHelpers.ts +20 -1
- package/src/components/dpqlEditor/dpqlProbe.ts +165 -0
- package/src/components/dpqlEditor/dpqlTags.ts +13 -0
- package/src/components/dpqlEditor/index.ts +4 -0
- package/src/components/dpqlEditor/types.ts +38 -2
- package/src/components/dpqlEditor/useDpqlProbe.ts +33 -0
- package/src/components/dpqlEditor/useDpqlSession.ts +20 -4
- package/src/components/form/engine/CompactRow.tsx +487 -160
- package/src/components/form/engine/CompactToolbar.tsx +10 -3
- package/src/components/form/engine/FormEngine.stories.tsx +1269 -201
- package/src/components/form/engine/FormEngine.tsx +922 -270
- package/src/components/form/engine/FormEngineStickyHeaders.stories.tsx +331 -0
- package/src/components/form/engine/FormFieldsSkeleton.tsx +77 -0
- package/src/components/form/engine/OptionFieldMessages.tsx +300 -14
- package/src/components/form/engine/_structuredData/SchemaDataView.tsx +94 -3
- package/src/components/form/engine/compactRowContext.ts +15 -6
- package/src/components/form/engine/compactRowStyles.ts +56 -2
- package/src/components/form/engine/compactToolbarContext.ts +1 -1
- package/src/components/form/engine/optionActions.ts +89 -1
- package/src/components/form/engine/optionsContext.ts +24 -0
- package/src/components/form/engine/readFirst.ts +88 -8
- package/src/components/form/engine/rendererTypes.ts +48 -4
- package/src/components/form/engine/rowFocus.ts +101 -0
- package/src/components/form/engine/rowMenuContext.ts +159 -0
- package/src/components/form/engine/rowOpenPicker.ts +27 -0
- package/src/components/form/engine/typeChoices.ts +63 -0
- package/src/components/form/expressions/DpqlRendering.tsx +85 -0
- package/src/components/form/expressions/ExpressionField.stories.tsx +826 -48
- package/src/components/form/expressions/ExpressionField.tsx +269 -55
- package/src/components/form/expressions/argumentPresence.ts +213 -0
- package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +38 -21
- package/src/components/form/expressions/builder/argumentLabel.tsx +10 -4
- package/src/components/form/expressions/builder/index.tsx +39 -81
- package/src/components/form/expressions/builder/renderTemplate.tsx +23 -56
- package/src/components/form/expressions/dpqlMockLanguage.ts +565 -0
- package/src/components/form/expressions/dpqlMockLsp.ts +109 -83
- package/src/components/form/expressions/mockExpressions.ts +8 -4
- package/src/components/form/expressions/renderExpressionToText.ts +112 -22
- package/src/components/form/expressions/types.ts +17 -2
- package/src/components/form/expressions/useExpressions.ts +5 -1
- package/src/components/form/expressions/useRenderExpression.ts +43 -127
- package/src/components/form/fields/Field.tsx +102 -20
- package/src/components/form/fields/allowed-values/AllowedValues.tsx +106 -44
- package/src/components/form/fields/auto/AutoFormField.stories.tsx +85 -18
- package/src/components/form/fields/auto/AutoFormField.tsx +97 -21
- package/src/components/form/fields/date/Date.tsx +17 -1
- package/src/components/form/fields/long-string/LongString.tsx +15 -3
- package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +65 -6
- package/src/components/form/fields/number/Number.tsx +25 -0
- package/src/components/form/fields/rich-text/RichText.tsx +248 -30
- package/src/components/form/fields/select/Select.stories.tsx +392 -0
- package/src/components/form/fields/select/Select.tsx +164 -27
- package/src/components/form/fields/select/SelectCollection.tsx +350 -6
- package/src/components/form/fields/template/ReadOnlyTemplateTag.tsx +4 -2
- package/src/components/form/fields/template/TemplateField.stories.tsx +93 -14
- package/src/components/form/fields/template/TemplateField.tsx +825 -131
- package/src/components/form/fields/template/TemplateText.tsx +115 -0
- package/src/components/form/index.tsx +4 -0
- package/src/components/log/Log.stories.tsx +2 -1
- package/src/components/searchFilterBar/SearchFilterBar.stories.tsx +3 -3
- package/src/components/smartEditor/SmartEditor.tsx +41 -9
- package/src/components/smartEditor/__fixtures__/mockLspServer.ts +52 -3
- package/src/components/smartEditor/useLspSession.ts +21 -3
- package/src/components/supportTicket/TicketReplyBox.tsx +8 -4
- package/src/components/ticketThread/TicketThread.stories.tsx +1 -0
- package/src/helpers/common.ts +7 -3
- package/src/helpers/dpqlDetection.ts +209 -0
- package/src/helpers/optionUiTypes.ts +38 -0
- package/src/helpers/options.ts +96 -0
- package/src/helpers/templateItems.ts +81 -0
- package/src/helpers/templateText.ts +350 -0
- package/src/helpers/templates.ts +94 -41
- package/src/helpers/validations.ts +203 -51
- package/src/hooks/useFetch/useFetch.stories.tsx +6 -5
- package/src/hooks/useFetch/useFetch.tsx +53 -7
- package/src/hooks/useStorage/useStorage.stories.tsx +2 -1
- package/src/hooks/useTemplates.ts +41 -0
- package/src/hooks/useWebSocket/useWebsocket.stories.tsx +2 -1
- package/src/index.tsx +14 -1
- package/src/stores/currentUser/currentUser.stories.tsx +2 -1
- package/src/stories/storyNetwork.ts +92 -0
- package/src/utils/fetch.ts +311 -21
- package/src/utils/lspClient.ts +68 -11
- package/src/utils/websocket.ts +20 -9
- package/dist/components/form/engine/__fixtures__/basicFormOptions.d.ts +0 -73
- package/dist/components/form/engine/__fixtures__/basicFormOptions.d.ts.map +0 -1
- package/dist/components/form/engine/__fixtures__/basicFormOptions.js +0 -317
- package/dist/components/form/engine/__fixtures__/basicFormOptions.js.map +0 -1
- package/dist/components/form/engine/__fixtures__/fieldChromeOptions.d.ts +0 -41
- package/dist/components/form/engine/__fixtures__/fieldChromeOptions.d.ts.map +0 -1
- package/dist/components/form/engine/__fixtures__/fieldChromeOptions.js +0 -45
- package/dist/components/form/engine/__fixtures__/fieldChromeOptions.js.map +0 -1
- package/dist/components/form/expressions/dpqlMockLsp.d.ts +0 -3
- package/dist/components/form/expressions/dpqlMockLsp.d.ts.map +0 -1
- package/dist/components/form/expressions/dpqlMockLsp.js +0 -91
- package/dist/components/form/expressions/dpqlMockLsp.js.map +0 -1
- package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts +0 -2
- package/dist/components/form/fields/template/__fixtures__/longExampleValue.d.ts.map +0 -1
- package/dist/components/form/fields/template/__fixtures__/longExampleValue.js +0 -9
- package/dist/components/form/fields/template/__fixtures__/longExampleValue.js.map +0 -1
- package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts +0 -55
- package/dist/components/smartEditor/__fixtures__/mockLspServer.d.ts.map +0 -1
- package/dist/components/smartEditor/__fixtures__/mockLspServer.js +0 -126
- package/dist/components/smartEditor/__fixtures__/mockLspServer.js.map +0 -1
- package/dist/stories/Data/fileFieldArgSchema.json +0 -86
|
@@ -8,7 +8,6 @@ import React from 'react';
|
|
|
8
8
|
import { IValidationResult } from '../../../helpers/validations';
|
|
9
9
|
import { ITemplateFieldProps } from '../fields/template/TemplateField';
|
|
10
10
|
import { TCodePreviewRenderer } from './compactRowContext';
|
|
11
|
-
import { IConditionalFieldMessage } from './OptionFieldMessages';
|
|
12
11
|
import { TMarkdownRenderer } from '../../Description/markdownRendererContext';
|
|
13
12
|
/** The compact form's three status boxes. */
|
|
14
13
|
export type TFormEngineBoxKey = 'attention' | 'set' | 'optional';
|
|
@@ -35,10 +34,25 @@ export type TOperatorValue = TQorusFormOperatorValue;
|
|
|
35
34
|
* either, the message is static and always shown, which is what every existing
|
|
36
35
|
* consumer gets.
|
|
37
36
|
*/
|
|
38
|
-
export
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
export type IOptionFieldMessage = IQorusFormFieldMessage;
|
|
38
|
+
/** `T` without `K`, member by member — `Omit` on a union collapses the union. */
|
|
39
|
+
type TDistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
|
|
40
|
+
/**
|
|
41
|
+
* One field of a form's schema: the shared descriptor, plus what this engine
|
|
42
|
+
* reads that the shared type does not carry — conditional `messages`, and
|
|
43
|
+
* `absorb_fields`. Declared, so a descriptor using them is checked rather than
|
|
44
|
+
* cast; still assignable wherever the shared descriptor is expected.
|
|
45
|
+
*/
|
|
46
|
+
export type IOptionsSchemaArg = TDistributiveOmit<TQorusFormFieldSchema, 'messages'> & {
|
|
47
|
+
messages?: IOptionFieldMessage[];
|
|
48
|
+
/**
|
|
49
|
+
* Siblings this field renders inside its own editor instead of on rows of
|
|
50
|
+
* their own — a code editor and its language, say.
|
|
51
|
+
*/
|
|
52
|
+
absorb_fields?: string[];
|
|
53
|
+
};
|
|
54
|
+
export interface IOptionsSchema {
|
|
55
|
+
[optionName: string]: IOptionsSchemaArg;
|
|
42
56
|
}
|
|
43
57
|
export interface IOperator extends IQorusFormOperator {
|
|
44
58
|
}
|
|
@@ -59,6 +73,34 @@ export interface IFormValidityData {
|
|
|
59
73
|
fields: IFormFieldValidityData[];
|
|
60
74
|
invalidFields: IFormFieldValidityData[];
|
|
61
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* The inheritance bag ONE field forwards to any `arg_schema` sub-form it hosts:
|
|
78
|
+
* whatever the ancestor chain passed down, plus whatever this field's own
|
|
79
|
+
* `inherit_props` resolves to.
|
|
80
|
+
*
|
|
81
|
+
* Written as a function with a stable answer because it is a PROP, and a prop
|
|
82
|
+
* that is a new object on every render re-renders the field that receives it
|
|
83
|
+
* every time this form renders — for most fields, forever, over a value that
|
|
84
|
+
* never changed. It showed up in the console as `Template field kind Updated
|
|
85
|
+
* because: {inheritedFromParent}` repeating on a form nobody was touching:
|
|
86
|
+
* `kind` declares no `inherit_props` at all, so the bag it was handed was
|
|
87
|
+
* `{ ...(undefined ?? {}) }` — a fresh empty object each time, unequal to the
|
|
88
|
+
* last one, and `TemplateField` is memoised precisely so it does not re-render
|
|
89
|
+
* on a prop that did not change.
|
|
90
|
+
*
|
|
91
|
+
* So a field with nothing of its own to add forwards the bag it was HANDED,
|
|
92
|
+
* unchanged and unwrapped, and a form with no inherited scope at all forwards
|
|
93
|
+
* one shared frozen object rather than minting one per field per render.
|
|
94
|
+
*
|
|
95
|
+
* Mirrored in qorus-ide's `systemOptions.tsx` (which grew this treatment
|
|
96
|
+
* first); per the CLAUDE.md rule there, the forwarding logic is kept identical
|
|
97
|
+
* in both until FormEngine replaces that renderer.
|
|
98
|
+
*
|
|
99
|
+
* @param inheritProps the field's `inherit_props` map, if it declares one
|
|
100
|
+
* @param availableOptions this form's fields, where a sibling's value is read
|
|
101
|
+
* @param inheritedFromParent the bag threaded in from an outer form
|
|
102
|
+
*/
|
|
103
|
+
export declare const inheritedScopeFor: (inheritProps: Record<string, string> | undefined, availableOptions: TQorusForm | undefined, inheritedFromParent: Record<string, unknown> | undefined) => Record<string, unknown>;
|
|
62
104
|
export declare const getType: (type?: TQorusType | TQorusType[], operators?: IOperatorsSchema, operator?: TOperatorValue) => TQorusType;
|
|
63
105
|
/** Re-exported from `helpers/common` so existing importers keep working; it
|
|
64
106
|
* lives there because `helpers/validations` needs it and cannot import this
|
|
@@ -70,17 +112,83 @@ export { fixOperatorValue } from '../../../helpers/common';
|
|
|
70
112
|
* consumer's injected editors are recognised too. See `./rendererTypes`.
|
|
71
113
|
*/
|
|
72
114
|
type TRendererOnlyCheck = (type?: TQorusType | TQorusType[]) => boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Which type an option resolves to — the schema's, or the one stored on the
|
|
117
|
+
* value.
|
|
118
|
+
*
|
|
119
|
+
* Exported because this single decision is what every option field is rendered
|
|
120
|
+
* with, and what an expression's return type is checked against. It deserves
|
|
121
|
+
* to be assertable without standing up a form.
|
|
122
|
+
*/
|
|
123
|
+
export declare const getOptionFieldStorageType: (optionName: string, fieldType: TQorusType | TQorusType[] | undefined, schema?: IQorusFormSchema, operators?: IOperatorsSchema, operatorData?: TOperatorValue, isRendererOnly?: TRendererOnlyCheck, isExpression?: boolean) => TQorusType;
|
|
73
124
|
export declare const hasRequiredOptions: (options?: IQorusFormSchema) => boolean;
|
|
74
|
-
export
|
|
75
|
-
|
|
76
|
-
value?: TQorusForm;
|
|
77
|
-
}>;
|
|
125
|
+
export { OptionsContext } from './optionsContext';
|
|
126
|
+
export type { IOptionsContext } from './optionsContext';
|
|
78
127
|
export declare const fixOptions: (value?: TQorusForm | TQorusFlatForm, options?: IQorusFormSchema, operators?: IOperatorsSchema, isRendererOnly?: TRendererOnlyCheck) => TQorusForm;
|
|
128
|
+
/**
|
|
129
|
+
* Does this rebuild say anything the parent does not already hold?
|
|
130
|
+
*
|
|
131
|
+
* `false` means the rebuild is a MIRROR: `fixOptions` found no default to
|
|
132
|
+
* materialise, so the result repeats the `value` the parent handed down. The
|
|
133
|
+
* compare is empty-normalized because `fixOptions` round-trips a required-empty
|
|
134
|
+
* field between `{ value: '' }` and no `value` key, and that cosmetic
|
|
135
|
+
* difference would otherwise read as new information forever.
|
|
136
|
+
*/
|
|
137
|
+
export declare const isMirrorOfValue: (fixedValue: TQorusForm | TQorusFlatForm | undefined, value: TQorusForm | TQorusFlatForm | undefined) => boolean;
|
|
138
|
+
/**
|
|
139
|
+
* What this rebuild lets the form agree with the parent on, if anything.
|
|
140
|
+
*
|
|
141
|
+
* Returns the rebuild when it mirrors `value`, and `undefined` when it
|
|
142
|
+
* contributed something the parent has yet to learn.
|
|
143
|
+
*
|
|
144
|
+
* Adopting the parent's value IS agreement, and saying so matters as much as
|
|
145
|
+
* staying quiet about it. The sync-down skips only when the parent echoed what
|
|
146
|
+
* this form last sent; if adopting a value never updates that record, it points
|
|
147
|
+
* at an older state forever, the skip can never fire again, and the form
|
|
148
|
+
* rebuilds on every single change. Holding the mirror back WITHOUT recording
|
|
149
|
+
* the agreement was measured making the starvation worse, not better — 8 s
|
|
150
|
+
* became a 45 s timeout — which is why the two belong together.
|
|
151
|
+
*/
|
|
152
|
+
export declare const agreementFromRebuild: (fixedValue: TQorusForm | TQorusFlatForm | undefined, value: TQorusForm | TQorusFlatForm | undefined) => TQorusForm | TQorusFlatForm | undefined;
|
|
153
|
+
/** The state the emit decision is made against. */
|
|
154
|
+
export interface IEmitDecision {
|
|
155
|
+
/** The form's own copy of the value, as it stands now. */
|
|
156
|
+
localValue: TQorusForm | TQorusFlatForm | undefined;
|
|
157
|
+
/** The `value` prop, read at the moment the decision is made. */
|
|
158
|
+
value: TQorusForm | TQorusFlatForm | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* The last rebuild that mirrored `value` without adding anything, if the most
|
|
161
|
+
* recent one did. `undefined` when the last rebuild contributed something.
|
|
162
|
+
*/
|
|
163
|
+
mirroredValue: TQorusForm | TQorusFlatForm | undefined;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Should the form report `localValue` to its parent as an answer?
|
|
167
|
+
*
|
|
168
|
+
* Extracted and pure because the situation it exists for cannot be reproduced
|
|
169
|
+
* through a rendered form: it needs the emit to be decided against a `value`
|
|
170
|
+
* NEWER than the `localValue` built from it, which only happens when two
|
|
171
|
+
* components' effects land in one React commit — and a test renderer flushes
|
|
172
|
+
* effects between updates, so the two never fall out of step. The states below
|
|
173
|
+
* were recorded from a live instrumented run instead, and this is what makes
|
|
174
|
+
* them assertable.
|
|
175
|
+
*
|
|
176
|
+
* Two ways the answer is no:
|
|
177
|
+
*
|
|
178
|
+
* 1. `localValue` is a mirror — a rebuild of the parent's own value that added
|
|
179
|
+
* nothing. Repeating it back is not an answer. **Checked first**, because
|
|
180
|
+
* the comparison in (2) reads whatever `value` has become by now, which,
|
|
181
|
+
* when a nested engine shares the parent value, is already that engine's
|
|
182
|
+
* newer write; comparing against it would find a difference this form never
|
|
183
|
+
* made and emit the older mirror over the newer write. That is the loop.
|
|
184
|
+
* 2. `localValue` already equals `value` — there is nothing to report.
|
|
185
|
+
*/
|
|
186
|
+
export declare const shouldEmitLocalValue: ({ localValue, value, mirroredValue, }: IEmitDecision) => boolean;
|
|
79
187
|
export declare const flattenOptions: (options: TQorusForm) => TQorusFlatForm;
|
|
80
188
|
export declare const getTypeAndCanBeNull: (type?: TQorusType | TQorusType[], allowed_values?: any[], operatorData?: TOperatorValue, operators?: IOperatorsSchema) => {
|
|
81
189
|
type: TQorusType;
|
|
82
190
|
defaultType: TQorusType;
|
|
83
|
-
defaultInternalType: "string" | "number" | "boolean" | "function" | "type" | "file" | "data" | "date" | "email" | "range" | "url" | "group" | "list" | "step" | "richtext" | "
|
|
191
|
+
defaultInternalType: "string" | "number" | "boolean" | "function" | "type" | "file" | "data" | "date" | "email" | "range" | "url" | "group" | "list" | "step" | "richtext" | "mapper" | "workflow" | "service" | "job" | "connection" | "constant" | "class" | "errors" | "fsm" | "mapper-code" | "queue" | "pipeline" | "sla" | "value-map" | "qog" | "ai-collection" | "ai-endpoint" | "ai-guardrail" | "ai-knowledge-profile" | "ai-solution-profile" | "alertrule" | "alertsilence" | "api-schema" | "auth-profile" | "business-process" | "config-item-values" | "event" | "installed-release" | "ml-model" | "release-config" | "release-script" | "schema" | "schema-script" | "test" | "test-script" | "binary" | "long-string" | "enum" | "select-string" | "file-as-string" | "int" | "integer" | "float" | "free-list" | "select-array" | "multi-select" | "hash" | "rgbcolor" | "free-hash" | "null" | "nothing" | "bool" | "data-provider" | "context" | "processor-mappings" | "tool-catalog" | "code-editor";
|
|
84
192
|
canBeNull: boolean;
|
|
85
193
|
};
|
|
86
194
|
/** Display metadata for a read-first group, keyed by the raw `group` string;
|
|
@@ -95,7 +203,7 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
|
|
|
95
203
|
name: string;
|
|
96
204
|
uniqueName?: string;
|
|
97
205
|
value?: TQorusForm | TQorusFlatForm;
|
|
98
|
-
options?:
|
|
206
|
+
options?: IOptionsSchema;
|
|
99
207
|
onChange?: (name: string, value?: TQorusForm, meta?: IOptionsOnChangeMeta) => void;
|
|
100
208
|
/**
|
|
101
209
|
* `'immediate'` (default): edits flow out via the debounced `onChange`.
|
|
@@ -132,7 +240,28 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
|
|
|
132
240
|
onOptionsLoaded?: (options: IQorusFormSchema) => void;
|
|
133
241
|
recordRequiresSearchOptions?: boolean;
|
|
134
242
|
readOnly?: boolean;
|
|
243
|
+
/**
|
|
244
|
+
* What a click on a READ-ONLY row does, when there is somewhere to send it.
|
|
245
|
+
*
|
|
246
|
+
* A read-only row opens nothing by default — it shows everything it has and
|
|
247
|
+
* answers a click with silence, which is right when the form is the only
|
|
248
|
+
* place the value exists. Where the same field IS editable somewhere else,
|
|
249
|
+
* that silence is a dead end: the reader clicking a value they want to
|
|
250
|
+
* change has said exactly what they want.
|
|
251
|
+
*
|
|
252
|
+
* Given this, each row becomes the way in to that place and announces it —
|
|
253
|
+
* it takes a button's role, keyboard handling and cursor. Omit it and
|
|
254
|
+
* nothing changes.
|
|
255
|
+
*/
|
|
256
|
+
onReadOnlyActivate?: (optionName: string) => void;
|
|
135
257
|
allowTemplates?: boolean;
|
|
258
|
+
/**
|
|
259
|
+
* The form's SHARED template vocabulary — config items, system properties —
|
|
260
|
+
* offered to every field that supports templates.
|
|
261
|
+
*
|
|
262
|
+
* A field may also declare `templates` of its own in the schema, and that
|
|
263
|
+
* narrower list wins for that field: see {@link TFieldWithOwnTemplates}.
|
|
264
|
+
*/
|
|
136
265
|
stringTemplates?: IReqoreFormTemplates;
|
|
137
266
|
/** Opt-in: fetch global templates from `system/getContextData` for this context. */
|
|
138
267
|
interfaceContext?: string;
|
|
@@ -207,13 +336,78 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
|
|
|
207
336
|
* the reader is choosing WHICH to open rather than reading this one, e.g. a
|
|
208
337
|
* template's per-action option forms stacked in a drawer.
|
|
209
338
|
*
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
339
|
+
* One escape is not negotiable: a box always opens while a search query is
|
|
340
|
+
* running (`ReqorePanel` unmounts collapsed content, so a match inside a
|
|
341
|
+
* closed box would be unreachable).
|
|
342
|
+
*
|
|
343
|
+
* A second applies only by DEFAULT: the Optional box stays open when every
|
|
344
|
+
* row is optional, because a form that collapsed its only box would render a
|
|
345
|
+
* card that looks empty and broken. Passing this prop explicitly waives it —
|
|
346
|
+
* a host that supplies its own heading and explanation around the form (a
|
|
347
|
+
* run-options panel, say) has already told the reader what the card is, and
|
|
348
|
+
* asked for the settings to start folded away.
|
|
215
349
|
*/
|
|
216
350
|
compactCollapsedGroups?: TFormEngineBoxKey[];
|
|
351
|
+
/**
|
|
352
|
+
* Compact mode only: rename the status boxes.
|
|
353
|
+
*
|
|
354
|
+
* The three are `Needs attention`, `Set` and `Optional`, which read correctly
|
|
355
|
+
* when the form is the page's subject. Inside a host that already named the
|
|
356
|
+
* subject — a panel headed "Change a setting for this run" — a bare
|
|
357
|
+
* `Optional` names a category rather than the things in it, and
|
|
358
|
+
* `Optional settings` is what the reader is looking at. Only the labels
|
|
359
|
+
* change; bucketing, icons and intents are untouched.
|
|
360
|
+
*/
|
|
361
|
+
compactBoxLabels?: Partial<Record<TFormEngineBoxKey, string>>;
|
|
362
|
+
/**
|
|
363
|
+
* Compact mode only: the three status-box headers stay pinned to the top of
|
|
364
|
+
* whatever scrolls while their own box is in view. Default `true`.
|
|
365
|
+
*
|
|
366
|
+
* A box header is the only thing that says which bucket a row is in — `Set`,
|
|
367
|
+
* `Needs attention`, `Optional`. On a form long enough to scroll it leaves
|
|
368
|
+
* the screen, and every row below it then reads as an undifferentiated list:
|
|
369
|
+
* the reader deep inside `Optional` has no way to tell it from `Set` except
|
|
370
|
+
* by scrolling back. Pinning the header is what keeps the answer on screen.
|
|
371
|
+
*
|
|
372
|
+
* ALL THREE behave identically, deliberately. They are one control rendered
|
|
373
|
+
* three times, differing only in label, tint and icon; a reader who has
|
|
374
|
+
* scrolled into the Optional box needs to know that exactly as much as one
|
|
375
|
+
* who has scrolled into Set, and a rule that pinned only some of them would
|
|
376
|
+
* make the absence of a pinned header mean two different things (this box has
|
|
377
|
+
* no header vs. you are above every box).
|
|
378
|
+
*
|
|
379
|
+
* A header can never outlive its own box: `position: sticky` is bounded by
|
|
380
|
+
* its containing block, so each header unpins as its box scrolls away and at
|
|
381
|
+
* most ONE box header is ever pinned at a time. The pin costs one header's
|
|
382
|
+
* height, not three.
|
|
383
|
+
*
|
|
384
|
+
* Off by construction for a nested (`arg_schema`) sub-form — it sits inside
|
|
385
|
+
* the parent form's card and owns no scroll context to pin against.
|
|
386
|
+
*
|
|
387
|
+
* On a NARROW form this also takes the pin off the form's own toolbar, so the
|
|
388
|
+
* two never cost a third of a phone's screen between them — see the note at
|
|
389
|
+
* the panel's `stickyHeader`.
|
|
390
|
+
*
|
|
391
|
+
* Turn it off where the form is one item in a scrolling LIST of forms: there
|
|
392
|
+
* the reader is choosing which form to read, and a box header pinned from the
|
|
393
|
+
* item they have scrolled past is chrome belonging to something they have
|
|
394
|
+
* left.
|
|
395
|
+
*/
|
|
396
|
+
compactStickyBoxHeaders?: boolean;
|
|
397
|
+
/**
|
|
398
|
+
* Compact mode only: how many pixels of the HOST's own sticky chrome sit
|
|
399
|
+
* above this form, inside the same scroll container.
|
|
400
|
+
*
|
|
401
|
+
* Sticky offsets do not compose by themselves — every pinned thing resolves
|
|
402
|
+
* `top` against the same scrollport, so two of them with the same offset land
|
|
403
|
+
* on top of each other. A host that pins a bar of its own (a page header
|
|
404
|
+
* carrying a name and a Run control, say) measures it and passes the height
|
|
405
|
+
* here; the form then pins its toolbar below that bar, and its box headers
|
|
406
|
+
* below the toolbar, instead of underneath both.
|
|
407
|
+
*
|
|
408
|
+
* Default `0` — the form is the topmost pinned thing in its scroller.
|
|
409
|
+
*/
|
|
410
|
+
compactStickyOffset?: number;
|
|
217
411
|
/**
|
|
218
412
|
* Compact mode only: which parts of the form's toolbar to show. `true`
|
|
219
413
|
* (default) shows all of it; `false` hides the whole thing.
|
|
@@ -261,6 +455,36 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
|
|
|
261
455
|
* a consumer injecting many actions can never blow out the row.
|
|
262
456
|
*/
|
|
263
457
|
optionActionsCollapse?: 'auto' | 'always' | 'never';
|
|
458
|
+
/**
|
|
459
|
+
* The HOST is still loading something this form needs.
|
|
460
|
+
*
|
|
461
|
+
* Declared because it was already read (`rest.skeleton`) and honoured by the
|
|
462
|
+
* loading gate, but undeclared props are invisible to the people who need
|
|
463
|
+
* them — and the reason to reach for this is not obvious.
|
|
464
|
+
*
|
|
465
|
+
* A host that resolves anything before it can render a form — an option list
|
|
466
|
+
* fetched by `get_message`, a schema id resolved over the wire — has a wait of
|
|
467
|
+
* its own that ends just as this component's begins. Drawing its own
|
|
468
|
+
* placeholder for that first half and then handing over produces TWO
|
|
469
|
+
* placeholders in series for one load, from two different components: the DOM
|
|
470
|
+
* node is replaced, the geometry can differ, and the page relayouts in the
|
|
471
|
+
* middle of waiting. Measured on the Qorus alert rule, whose three sections
|
|
472
|
+
* each did this — six placeholder mounts where three would do.
|
|
473
|
+
*
|
|
474
|
+
* Passing the host's own wait in here instead makes ONE component own the
|
|
475
|
+
* whole wait, from the host's first fetch to this form's last, with one
|
|
476
|
+
* placeholder and one DOM node.
|
|
477
|
+
*/
|
|
478
|
+
skeleton?: boolean;
|
|
479
|
+
/**
|
|
480
|
+
* What the HOST is waiting for, when it hands its wait down via `skeleton`.
|
|
481
|
+
*
|
|
482
|
+
* Without it every host wait reads as the same word and the reading stops at
|
|
483
|
+
* the package boundary — measured on the live alert rule, three sections all
|
|
484
|
+
* reported `host` and the next step was guessing which of the host's own five
|
|
485
|
+
* conditions had fired. Surfaced as `data-wait` on the placeholder.
|
|
486
|
+
*/
|
|
487
|
+
skeletonReason?: string;
|
|
264
488
|
/**
|
|
265
489
|
* SEAM (reqraft): consumer-injected field editors for types reqraft doesn't
|
|
266
490
|
* ship (IDE domain fields). Keyed by field `type`/`ui_type`; forwarded through
|
|
@@ -297,6 +521,28 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
|
|
|
297
521
|
* consumer's new editor no longer needs a reqraft release to be handled.
|
|
298
522
|
*/
|
|
299
523
|
rendererOnlyUiTypes?: string[];
|
|
524
|
+
/**
|
|
525
|
+
* The `ui_type` names whose own editor renders templates as chips INLINE.
|
|
526
|
+
*
|
|
527
|
+
* For these the template selector is suppressed and the field's editor is
|
|
528
|
+
* shown instead — the selector would replace a control the author can type in
|
|
529
|
+
* with one they can only pick from. Merged with reqraft's built-in list
|
|
530
|
+
* (`richtext`), the same way `rendererOnlyUiTypes` is.
|
|
531
|
+
*/
|
|
532
|
+
templateAwareUiTypes?: string[];
|
|
533
|
+
/**
|
|
534
|
+
* Extra `ui_type` names that mean "a value of any type", for the purpose of
|
|
535
|
+
* offering the per-type choices in the row's menu.
|
|
536
|
+
*
|
|
537
|
+
* A field that pins no concrete type offers "enter a value of type X" for
|
|
538
|
+
* each type the form knows. That was gated on the schema saying
|
|
539
|
+
* `ui_type: 'any'` alone, which misses two cases: an option that declares its
|
|
540
|
+
* untypedness as `type: 'auto'` and carries no `ui_type` at all (the server
|
|
541
|
+
* spells an assertion's Expected Value exactly that way), and an option whose
|
|
542
|
+
* `ui_type` is a HOST's own untyped editor. Merged with reqraft's built-ins
|
|
543
|
+
* (`any`, `auto`), the same way `templateAwareUiTypes` is.
|
|
544
|
+
*/
|
|
545
|
+
anyLikeUiTypes?: string[];
|
|
300
546
|
/**
|
|
301
547
|
* Bag of values forwarded from an outer FormEngine scope, used as a
|
|
302
548
|
* fallback when a field's `inherit_props` names a sibling that isn't in
|
|
@@ -354,12 +600,17 @@ export interface IFormEngineProps extends Omit<IReqoreCollectionProps, 'onChange
|
|
|
354
600
|
* for the pane to exist at all — so a pasted or reloaded link lands on a
|
|
355
601
|
* collapsed form.
|
|
356
602
|
*
|
|
357
|
-
* Applied once, on the first render
|
|
358
|
-
*
|
|
359
|
-
*
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
603
|
+
* Applied once, on the first render that actually CONTAINS one of the named
|
|
604
|
+
* rows — not merely the first render with any rows — so a schema arriving in
|
|
605
|
+
* pieces still gets its address applied rather than spending the one shot on
|
|
606
|
+
* a form the field had not reached yet.
|
|
607
|
+
*
|
|
608
|
+
* It never re-expands a row the user has since collapsed, and it does not
|
|
609
|
+
* participate in `expandMode: 'single'` accordion collapsing — the caller is
|
|
610
|
+
* naming a starting point, not driving the state. That holds against the
|
|
611
|
+
* engine's own openers too: `expandFirstRequired` / `autoFocusFirstRequired`
|
|
612
|
+
* open their target ALONGSIDE these rows in single mode instead of replacing
|
|
613
|
+
* them. Only a remount re-arms it. No-op in classic (non-compact) mode.
|
|
363
614
|
*/
|
|
364
615
|
initialExpandedOptions?: string[];
|
|
365
616
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormEngine.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/FormEngine.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FormEngine.d.ts","sourceRoot":"","sources":["../../../../src/components/form/engine/FormEngine.tsx"],"names":[],"mappings":"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"}
|