mlform 0.1.7 → 0.1.8

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.
Files changed (218) hide show
  1. package/README.md +39 -12
  2. package/dist/builtins-DegwhFGA.js +3507 -0
  3. package/dist/builtins-ml-9qB2MOxt.js +51 -0
  4. package/dist/{design-system-CrrSGfFB.js → design-system-Dxx1Sh7r.js} +284 -268
  5. package/dist/errors-B3H1wRwj.js +8 -0
  6. package/dist/kit-CuRF6dhL.js +1847 -0
  7. package/dist/mlform/behaviors.mjs +32 -0
  8. package/dist/mlform/builtins-ml.mjs +3 -0
  9. package/dist/mlform/design-system.mjs +1 -1
  10. package/dist/mlform/kit.mjs +3 -3
  11. package/dist/mlform/presentation.mjs +2 -0
  12. package/dist/mlform/primitives.mjs +2 -2
  13. package/dist/mlform/runtime.mjs +5 -0
  14. package/dist/mlform/schema.mjs +102 -0
  15. package/dist/mlform/transport.mjs +2 -2
  16. package/dist/mlform.mjs +8 -4
  17. package/dist/presentation-CkQuYheR.js +200 -0
  18. package/dist/{primitives-BqjFDDhL.js → primitives-Duag8Lj0.js} +1367 -1312
  19. package/dist/runtime-DMjDVo0H.js +1824 -0
  20. package/dist/strings-CWwrrYzz.js +4 -0
  21. package/dist/{transport-A1RsnZhD.js → transport-CtVX8ZUT.js} +311 -336
  22. package/dist/types/src/behaviors/index.d.ts +3 -0
  23. package/dist/types/src/builtins-ml/index.d.ts +5 -0
  24. package/dist/types/src/design-system/runtime/fingerprint.d.ts +8 -0
  25. package/dist/types/src/design-system/runtime/host-observer.d.ts +1 -0
  26. package/dist/types/src/design-system/runtime/hydration-state.d.ts +13 -0
  27. package/dist/types/src/design-system/runtime/inherited-scheme.d.ts +5 -0
  28. package/dist/types/src/design-system/runtime/media.d.ts +19 -0
  29. package/dist/types/src/index.d.ts +10 -4
  30. package/dist/types/src/kit/accordion-root-styles.d.ts +1 -0
  31. package/dist/types/src/kit/accordion-root.d.ts +24 -0
  32. package/dist/types/src/kit/accordion.d.ts +2 -0
  33. package/dist/types/src/kit/constants.d.ts +29 -0
  34. package/dist/types/src/kit/defaults.d.ts +2 -2
  35. package/dist/types/src/kit/index.d.ts +6 -1
  36. package/dist/types/src/kit/layout-helpers.d.ts +29 -0
  37. package/dist/types/src/kit/layout-node-render.d.ts +18 -0
  38. package/dist/types/src/kit/layout-node-resolver.d.ts +3 -0
  39. package/dist/types/src/kit/layout-types.d.ts +124 -0
  40. package/dist/types/src/kit/layout-utils.d.ts +9 -0
  41. package/dist/types/src/kit/layout.d.ts +8 -0
  42. package/dist/types/src/kit/mount-types.d.ts +54 -0
  43. package/dist/types/src/kit/panel-nav.d.ts +9 -0
  44. package/dist/types/src/{questionnaire/primitives/components → kit}/step-indicator.d.ts +3 -3
  45. package/dist/types/src/kit/tabs-root-styles.d.ts +1 -0
  46. package/dist/types/src/kit/tabs-root.d.ts +24 -0
  47. package/dist/types/src/kit/tabs.d.ts +2 -0
  48. package/dist/types/src/kit/types.d.ts +4 -51
  49. package/dist/types/src/kit/view-layout-state.d.ts +14 -0
  50. package/dist/types/src/kit/view-navigation.d.ts +8 -0
  51. package/dist/types/src/kit/view-snapshot-cache.d.ts +14 -0
  52. package/dist/types/src/kit/view-snapshot.d.ts +15 -0
  53. package/dist/types/src/kit/view-types.d.ts +172 -0
  54. package/dist/types/src/kit/view.d.ts +8 -0
  55. package/dist/types/src/kit/wizard-constants.d.ts +19 -0
  56. package/dist/types/src/kit/wizard-root-styles.d.ts +1 -0
  57. package/dist/types/src/kit/wizard-root.d.ts +23 -0
  58. package/dist/types/src/kit/wizard.d.ts +2 -0
  59. package/dist/types/src/packs/default.d.ts +2 -0
  60. package/dist/types/src/packs/index.d.ts +3 -0
  61. package/dist/types/src/packs/ml.d.ts +2 -0
  62. package/dist/types/src/packs/shared.d.ts +25 -0
  63. package/dist/types/src/presentation/define-explanation-kind.d.ts +11 -0
  64. package/dist/types/src/presentation/define-field-kind.d.ts +18 -0
  65. package/dist/types/src/presentation/define-report-kind.d.ts +15 -0
  66. package/dist/types/src/presentation/index.d.ts +10 -0
  67. package/dist/types/src/presentation/register-kind.d.ts +6 -0
  68. package/dist/types/src/presentation/registry.d.ts +15 -0
  69. package/dist/types/src/presentation/types/explanation.d.ts +32 -0
  70. package/dist/types/src/presentation/types/field.d.ts +36 -0
  71. package/dist/types/src/presentation/types/report.d.ts +41 -0
  72. package/dist/types/src/primitives/base-explanation-element.d.ts +2 -1
  73. package/dist/types/src/primitives/base-field-element.d.ts +2 -1
  74. package/dist/types/src/primitives/base-report-element.d.ts +2 -1
  75. package/dist/types/src/primitives/components/explanation-panel.d.ts +4 -2
  76. package/dist/types/src/primitives/components/field-frame-feedback.d.ts +9 -0
  77. package/dist/types/src/primitives/components/field-frame-styles.d.ts +1 -0
  78. package/dist/types/src/primitives/components/field-frame.d.ts +5 -3
  79. package/dist/types/src/primitives/components/form-errors.d.ts +1 -1
  80. package/dist/types/src/primitives/components/form-root-presenters.d.ts +17 -0
  81. package/dist/types/src/primitives/components/form-root-state.d.ts +19 -0
  82. package/dist/types/src/primitives/components/form-root-styles.d.ts +1 -0
  83. package/dist/types/src/primitives/components/form-root-templates.d.ts +42 -0
  84. package/dist/types/src/primitives/components/form-root.d.ts +4 -2
  85. package/dist/types/src/primitives/components/presentation.d.ts +1 -1
  86. package/dist/types/src/primitives/components/report-frame.d.ts +4 -2
  87. package/dist/types/src/primitives/components/submit-button.d.ts +1 -1
  88. package/dist/types/src/primitives/constants.d.ts +1 -1
  89. package/dist/types/src/primitives/fields/series-field-helpers.d.ts +23 -0
  90. package/dist/types/src/primitives/fields/series-field-styles.d.ts +1 -0
  91. package/dist/types/src/primitives/mount-form.d.ts +1 -1
  92. package/dist/types/src/primitives/presentation.d.ts +8 -0
  93. package/dist/types/src/primitives/types.d.ts +4 -1
  94. package/dist/types/src/{engine → runtime}/builtins/index.d.ts +1 -3
  95. package/dist/types/src/{engine → runtime}/builtins/reports/classifier.d.ts +1 -1
  96. package/dist/types/src/{engine → runtime}/builtins/shared.d.ts +2 -0
  97. package/dist/types/src/runtime/declarative/presentation.d.ts +61 -0
  98. package/dist/types/src/runtime/fields/state-calculations.d.ts +25 -0
  99. package/dist/types/src/runtime/fields/state.d.ts +2 -0
  100. package/dist/types/src/runtime/form.d.ts +1 -0
  101. package/dist/types/src/runtime/index.d.ts +16 -0
  102. package/dist/types/src/runtime/registry/index.d.ts +5 -0
  103. package/dist/types/src/runtime/runtime-behaviors.d.ts +23 -0
  104. package/dist/types/src/runtime/runtime-controller.d.ts +34 -0
  105. package/dist/types/src/runtime/runtime-refresh.d.ts +14 -0
  106. package/dist/types/src/runtime/runtime-values.d.ts +19 -0
  107. package/dist/types/src/runtime/submission/create-submitter.d.ts +2 -0
  108. package/dist/types/src/runtime/submission/error-flow.d.ts +19 -0
  109. package/dist/types/src/runtime/submission/field-updates.d.ts +14 -0
  110. package/dist/types/src/runtime/submission/report-updates.d.ts +16 -0
  111. package/dist/types/src/runtime/submission/stream-progress.d.ts +4 -0
  112. package/dist/types/src/runtime/submission/submitter.d.ts +2 -0
  113. package/dist/types/src/runtime/submission/types.d.ts +60 -0
  114. package/dist/types/src/runtime/types/behavior.d.ts +32 -0
  115. package/dist/types/src/runtime/types/explanation.d.ts +22 -0
  116. package/dist/types/src/runtime/types/field.d.ts +24 -0
  117. package/dist/types/src/{engine → runtime}/types/form.d.ts +8 -11
  118. package/dist/types/src/runtime/types/index.d.ts +9 -0
  119. package/dist/types/src/runtime/types/registry.d.ts +6 -0
  120. package/dist/types/src/runtime/types/report.d.ts +23 -0
  121. package/dist/types/src/{engine → runtime}/utils.d.ts +2 -2
  122. package/dist/types/src/{engine/validation/field.d.ts → runtime/validation/field-state.d.ts} +3 -19
  123. package/dist/types/src/runtime/validation/field-validator.d.ts +18 -0
  124. package/dist/types/src/runtime/validation/field.d.ts +2 -0
  125. package/dist/types/src/schema/index.d.ts +7 -0
  126. package/dist/types/src/schema/normalize.d.ts +2 -0
  127. package/dist/types/src/schema/registry.d.ts +9 -0
  128. package/dist/types/src/schema/types/explanation.d.ts +43 -0
  129. package/dist/types/src/{engine → schema}/types/field.d.ts +3 -45
  130. package/dist/types/src/schema/types/form.d.ts +13 -0
  131. package/dist/types/src/schema/types/report.d.ts +43 -0
  132. package/dist/types/src/shared/index.d.ts +2 -0
  133. package/dist/types/src/shared/object.d.ts +1 -0
  134. package/dist/types/src/shared/strings.d.ts +1 -0
  135. package/dist/types/src/transport/composition/fanout-helpers.d.ts +2 -0
  136. package/dist/types/src/transport/composition/fanout.d.ts +1 -2
  137. package/dist/types/src/transport/composition/index.d.ts +1 -0
  138. package/dist/types/src/transport/composition/quorum-fanout.d.ts +2 -0
  139. package/dist/types/src/transport/internal-core.d.ts +21 -0
  140. package/dist/types/src/transport/internal-errors.d.ts +21 -0
  141. package/dist/types/src/transport/internal-request.d.ts +21 -0
  142. package/dist/types/src/transport/internal-routing.d.ts +25 -0
  143. package/dist/types/src/transport/internal-sse.d.ts +14 -0
  144. package/dist/types/src/transport/internal-stream.d.ts +13 -0
  145. package/dist/types/src/transport/internal.d.ts +6 -110
  146. package/dist/types/src/transport/types/options-http.d.ts +85 -0
  147. package/dist/types/src/transport/types/options-middleware.d.ts +96 -0
  148. package/dist/types/src/transport/types/options-routing.d.ts +82 -0
  149. package/dist/types/src/transport/types/options.d.ts +3 -258
  150. package/package.json +20 -8
  151. package/dist/engine-CEy1IX7y.js +0 -5367
  152. package/dist/kit-DrrbtxI2.js +0 -76
  153. package/dist/mlform/engine.mjs +0 -3
  154. package/dist/mlform/questionnaire.mjs +0 -640
  155. package/dist/types/src/engine/index.d.ts +0 -11
  156. package/dist/types/src/engine/registry/index.d.ts +0 -26
  157. package/dist/types/src/engine/submission/submitter.d.ts +0 -40
  158. package/dist/types/src/engine/types/explanation.d.ts +0 -109
  159. package/dist/types/src/engine/types/index.d.ts +0 -9
  160. package/dist/types/src/engine/types/report.d.ts +0 -87
  161. package/dist/types/src/questionnaire/constants.d.ts +0 -31
  162. package/dist/types/src/questionnaire/defaults.d.ts +0 -8
  163. package/dist/types/src/questionnaire/engine/controller.d.ts +0 -12
  164. package/dist/types/src/questionnaire/engine/schema.d.ts +0 -9
  165. package/dist/types/src/questionnaire/errors.d.ts +0 -3
  166. package/dist/types/src/questionnaire/index.d.ts +0 -6
  167. package/dist/types/src/questionnaire/mount.d.ts +0 -3
  168. package/dist/types/src/questionnaire/primitives/components/questionnaire-root.d.ts +0 -23
  169. package/dist/types/src/questionnaire/primitives/register.d.ts +0 -0
  170. package/dist/types/src/questionnaire/types.d.ts +0 -69
  171. package/dist/types/src/{engine/declarative → presentation/types}/presentation.d.ts +0 -0
  172. package/dist/types/src/{engine → runtime}/builtins/fields/boolean.d.ts +0 -0
  173. package/dist/types/src/{engine → runtime}/builtins/fields/category.d.ts +0 -0
  174. package/dist/types/src/{engine → runtime}/builtins/fields/date.d.ts +0 -0
  175. package/dist/types/src/{engine → runtime}/builtins/fields/long-text.d.ts +0 -0
  176. package/dist/types/src/{engine → runtime}/builtins/fields/mapped-category.d.ts +0 -0
  177. package/dist/types/src/{engine → runtime}/builtins/fields/multi-choice.d.ts +0 -0
  178. package/dist/types/src/{engine → runtime}/builtins/fields/number.d.ts +0 -0
  179. package/dist/types/src/{engine → runtime}/builtins/fields/rating.d.ts +0 -0
  180. package/dist/types/src/{engine → runtime}/builtins/fields/series.d.ts +0 -0
  181. package/dist/types/src/{engine → runtime}/builtins/fields/single-choice.d.ts +0 -0
  182. package/dist/types/src/{engine → runtime}/builtins/fields/text.d.ts +0 -0
  183. package/dist/types/src/{engine → runtime}/builtins/reports/regressor.d.ts +0 -0
  184. package/dist/types/src/{engine → runtime}/comparison.d.ts +0 -0
  185. package/dist/types/src/{engine → runtime}/constants.d.ts +0 -0
  186. package/dist/types/src/{engine/form.d.ts → runtime/create-runtime.d.ts} +0 -0
  187. package/dist/types/src/{engine → runtime}/declarative/explanation.d.ts +0 -0
  188. package/dist/types/src/{engine → runtime}/declarative/field.d.ts +0 -0
  189. package/dist/types/src/{engine → runtime}/declarative/report.d.ts +0 -0
  190. package/dist/types/src/{engine → runtime}/equality.d.ts +0 -0
  191. package/dist/types/src/{engine → runtime}/errors.d.ts +0 -0
  192. package/dist/types/src/{engine → runtime}/explanations/controller.d.ts +0 -0
  193. package/dist/types/src/{engine → runtime}/explanations/index.d.ts +0 -0
  194. package/dist/types/src/{engine → runtime}/fields/controller.d.ts +0 -0
  195. package/dist/types/src/{engine → runtime}/fields/index.d.ts +0 -0
  196. package/dist/types/src/{engine → runtime}/paths.d.ts +0 -0
  197. package/dist/types/src/{engine → runtime}/reports/controller.d.ts +0 -0
  198. package/dist/types/src/{engine → runtime}/reports/index.d.ts +0 -0
  199. package/dist/types/src/{engine → runtime}/schema/index.d.ts +0 -0
  200. package/dist/types/src/{engine → runtime}/state/engine.d.ts +0 -0
  201. package/dist/types/src/{engine → runtime}/state/index.d.ts +0 -0
  202. package/dist/types/src/{engine → runtime}/state/snapshots.d.ts +0 -0
  203. package/dist/types/src/{engine → runtime}/state/store.d.ts +0 -0
  204. package/dist/types/src/{engine → runtime}/submission/abort.d.ts +0 -0
  205. package/dist/types/src/{engine → runtime}/submission/explanations.d.ts +0 -0
  206. package/dist/types/src/{engine → runtime}/submission/index.d.ts +0 -0
  207. package/dist/types/src/{engine → runtime}/submission/lifecycle.d.ts +0 -0
  208. package/dist/types/src/{engine → runtime}/submission/pipeline.d.ts +0 -0
  209. package/dist/types/src/{engine → runtime}/submission/reports.d.ts +0 -0
  210. package/dist/types/src/{engine → runtime}/submission/request.d.ts +0 -0
  211. package/dist/types/src/{engine → runtime}/submission/result.d.ts +0 -0
  212. package/dist/types/src/{engine → runtime}/types/pipeline.d.ts +0 -0
  213. package/dist/types/src/{engine → runtime}/types/transport.d.ts +0 -0
  214. package/dist/types/src/{engine → runtime}/validation/conditions.d.ts +0 -0
  215. package/dist/types/src/{engine → runtime}/validation/form.d.ts +0 -0
  216. package/dist/types/src/{engine → runtime}/validation/index.d.ts +0 -0
  217. package/dist/types/src/{engine → runtime}/values.d.ts +0 -0
  218. package/dist/types/src/{engine → schema}/types/registry.d.ts +1 -1
@@ -1,11 +0,0 @@
1
- export { createBuiltinRegistry } from './builtins';
2
- export { booleanFieldDefinition, categoryFieldDefinition, classifierReportDefinition, dateFieldDefinition, mappedCategoryFieldDefinition, longTextFieldDefinition, multiChoiceFieldDefinition, numberFieldDefinition, ratingFieldDefinition, regressorReportDefinition, seriesFieldDefinition, singleChoiceFieldDefinition, textFieldDefinition, } from './builtins';
3
- export { createExplanationController } from './explanations';
4
- export { executeExplanations, executeFormPipeline } from './submission';
5
- export { EngineError, ReportPayloadError, RegistryError, SubmissionAbortedError, SubmitError, TransportError, transportErrorCodes, ValidationError, } from './errors';
6
- export type { TransportErrorCode } from './errors';
7
- export { createForm } from './form';
8
- export { createRegistry, defineExplanationDefinition, defineExplanationKind, defineFieldKind, defineFieldDefinition, defineReportKind, defineReportDefinition, EngineRegistry, } from './registry';
9
- export { defaultEquality, shallowArrayEquality, shallowEquality, shallowObjectEquality, } from './equality';
10
- export { identity, isPromiseLike } from './utils';
11
- export type { AfterExplanationContext, AllConditions, AfterSubmitContext, AfterValidateContext, AnyConditions, BaseExplanationConfig, BaseFieldConfig, BaseReportConfig, DeclarativeExplanationKind, DeclarativeFieldKind, DeclarativeReportKind, BeforeSubmitContext, BeforeValidateContext, ExplanationFetchContext, ExplanationFetchFactory, CreateFormConfig, DeclarativeFieldCondition, ExplanationConfig, ExplanationController, ExplanationDefinition, ExplanationDescriptor, ExplanationDescriptorContext, ExplanationErrorContext, ExplanationExecutionContext, ExplanationExecutionResult, ExplanationFetchRequest, ExplanationFetchTransport, ExplanationRenderSpec, ExplanationRenderSpecContext, ExplanationStateSnapshot, ExplanationStatus, FieldRenderHints, FieldRenderSpec, FieldRenderSpecContext, FieldValidationFnContext, FieldValueAdapter, FieldWidget, FieldConfig, FieldComparisonCondition, FieldCondition, FieldConditionContext, FieldController, FieldDefinition, FieldDescriptor, FieldStateSnapshot, FieldStatus, FieldValueCondition, FieldValidationContext, FieldValidationResult, FormController, FormHooks, FormSchema, FormState, FormStatusCondition, FormStatus, FormValidator, FormValidationContext, FormValidationIssue, FormValidationResult, InactiveFieldPolicy, MaybePromise, NormalizedExplanationConfig, NormalizedFieldConfig, NormalizedReportConfig, Registry, ReportConfig, ReportController, ReportDefinition, ReportDescriptor, ReportRenderSpec, ReportRenderSpecContext, ReportResolveContext, ReportStateSnapshot, ReportStatus, PresentationNode, PresentationSummary, PipelineArtifactAdapter, PipelineArtifactContext, PipelineResult, ExecuteFormPipelineOptions, SelectorSubscriptionOptions, SubmitCountCondition, SubmitErrorContext, SubmitOptions, SubmitRequest, SubmitRequestTransportContext, SubmitResult, Transport, TransportAuthKind, TransportBackpressureMode, TransportCapabilities, TransportConsistency, TransportDeliveryMode, TransportPolicyContext, TransportSession, TransportSessionEvent, TransportSessionMessage, TransportStreamEvent, TransportResponse, NotCondition, } from './types';
@@ -1,26 +0,0 @@
1
- import { defineExplanationKind } from '../declarative/explanation';
2
- import { defineFieldKind } from '../declarative/field';
3
- import { defineReportKind } from '../declarative/report';
4
- import { ExplanationConfig, ExplanationDefinition, FieldConfig, FieldDefinition, Registry, ReportConfig, ReportDefinition } from '../types';
5
- export declare class EngineRegistry implements Registry {
6
- private readonly fieldDefinitions;
7
- private readonly reportDefinitions;
8
- private readonly explanationDefinitions;
9
- registerField<TConfig extends FieldConfig, TValue>(definition: FieldDefinition<TConfig, TValue>): Registry;
10
- unregisterField(kind: string): Registry;
11
- registerReport<TConfig extends ReportConfig>(definition: ReportDefinition<TConfig>): Registry;
12
- unregisterReport(kind: string): Registry;
13
- registerExplanation<TConfig extends ExplanationConfig>(definition: ExplanationDefinition<TConfig>): Registry;
14
- unregisterExplanation(kind: string): Registry;
15
- getField<TConfig extends FieldConfig = FieldConfig, TValue = unknown>(kind: string): FieldDefinition<TConfig, TValue> | undefined;
16
- getReport<TConfig extends ReportConfig = ReportConfig>(kind: string): ReportDefinition<TConfig> | undefined;
17
- getExplanation<TConfig extends ExplanationConfig = ExplanationConfig>(kind: string): ExplanationDefinition<TConfig> | undefined;
18
- listFields(): FieldDefinition<FieldConfig, unknown>[];
19
- listReports(): ReportDefinition<ReportConfig>[];
20
- listExplanations(): ExplanationDefinition<ExplanationConfig>[];
21
- }
22
- export declare const createRegistry: () => Registry;
23
- export declare const defineFieldDefinition: <TConfig extends FieldConfig, TValue>(definition: FieldDefinition<TConfig, TValue>) => FieldDefinition<TConfig, TValue>;
24
- export declare const defineReportDefinition: <TConfig extends ReportConfig>(definition: ReportDefinition<TConfig>) => ReportDefinition<TConfig>;
25
- export declare const defineExplanationDefinition: <TConfig extends ExplanationConfig>(definition: ExplanationDefinition<TConfig>) => ExplanationDefinition<TConfig>;
26
- export { defineExplanationKind, defineFieldKind, defineReportKind };
@@ -1,40 +0,0 @@
1
- import { NormalizedFormSchema } from '../schema';
2
- import { EngineStore } from '../state';
3
- import { FormHooks, FormValidationResult, InactiveFieldPolicy, SubmitOptions, SubmitResult, Transport } from '../types';
4
- import { buildSubmissionValueRecords } from './request';
5
- import { SubmissionReport } from './reports';
6
- type SubmissionField = Parameters<typeof buildSubmissionValueRecords>[0][number];
7
- type SyncDerivedFieldStateOptions = {
8
- values?: Record<string, unknown>;
9
- preserveValidationErrors?: boolean;
10
- preserveExternalErrors?: boolean;
11
- resetInactiveToInitial?: boolean;
12
- inactiveFieldPolicy?: InactiveFieldPolicy;
13
- };
14
- type CreateFormSubmitterOptions = {
15
- store: EngineStore;
16
- transport: Transport;
17
- hooks?: FormHooks;
18
- hookFailurePolicy?: {
19
- afterSubmit?: "fail-submit" | "preserve-success";
20
- };
21
- normalizedSchema: NormalizedFormSchema;
22
- fields: readonly SubmissionField[];
23
- reports: readonly SubmissionReport[];
24
- validate: () => Promise<FormValidationResult>;
25
- getSubmitCount: () => number;
26
- markReportsLoading: () => void;
27
- resetReports: () => void;
28
- resetExplanations: () => void;
29
- syncDerivedFieldState: (options?: SyncDerivedFieldStateOptions) => void;
30
- shouldResetInactiveFields: () => boolean;
31
- resolveInactiveFieldPolicy: (field: SubmissionField) => InactiveFieldPolicy;
32
- inactiveFieldPolicy?: InactiveFieldPolicy;
33
- };
34
- export type FormSubmitter = {
35
- submit(options?: SubmitOptions): Promise<SubmitResult>;
36
- abort(reason?: string): void;
37
- reset(): void;
38
- };
39
- export declare const createFormSubmitter: ({ store, transport, hooks, hookFailurePolicy, normalizedSchema, fields, reports, validate, getSubmitCount, markReportsLoading, resetReports, resetExplanations, syncDerivedFieldState, shouldResetInactiveFields, resolveInactiveFieldPolicy, inactiveFieldPolicy, }: CreateFormSubmitterOptions) => FormSubmitter;
40
- export {};
@@ -1,109 +0,0 @@
1
- import { ZodType } from 'zod';
2
- import { PresentationContent, PresentationSummary } from '../declarative/presentation';
3
- export type ExplanationStatus = "idle" | "loading" | "done" | "error";
4
- export interface BaseExplanationConfig {
5
- id?: string;
6
- kind: string;
7
- label?: string;
8
- description?: string;
9
- [key: string]: unknown;
10
- }
11
- export type ExplanationConfig = BaseExplanationConfig;
12
- export type NormalizedExplanationConfig<TConfig extends ExplanationConfig = ExplanationConfig> = TConfig & {
13
- id: string;
14
- };
15
- export interface ExplanationStateSnapshot {
16
- status: ExplanationStatus;
17
- result: unknown;
18
- error: string | null;
19
- }
20
- export interface ExplanationDescriptor {
21
- component: string;
22
- props: Record<string, unknown>;
23
- meta?: Record<string, unknown>;
24
- }
25
- export interface ExplanationDescriptorContext {
26
- explanationId: string;
27
- state: ExplanationStateSnapshot;
28
- }
29
- export interface ExplanationFetchContext<TConfig extends ExplanationConfig = ExplanationConfig> {
30
- config: NormalizedExplanationConfig<TConfig>;
31
- explanationId: string;
32
- }
33
- /**
34
- * Minimal transport interface used to fetch explanation data from an external
35
- * service. Defined in engine types so ExplanationController can reference it
36
- * without a circular dependency on the primitives layer.
37
- */
38
- export interface ExplanationFetchRequest {
39
- explanationId: string;
40
- backend?: string;
41
- values: Record<string, unknown>;
42
- fieldValues: Record<string, unknown>;
43
- serializedValues: Record<string, unknown>;
44
- serializedFieldValues: Record<string, unknown>;
45
- reports: Record<string, unknown>;
46
- meta: Record<string, unknown>;
47
- raw: unknown;
48
- signal?: AbortSignal;
49
- }
50
- export interface ExplanationFetchTransport {
51
- submit: (request: ExplanationFetchRequest) => Promise<unknown>;
52
- }
53
- export type ExplanationFetchFactory<TConfig extends ExplanationConfig = ExplanationConfig> = (context: ExplanationFetchContext<TConfig>) => ExplanationFetchTransport;
54
- export interface ExplanationRenderSpecContext<TConfig extends ExplanationConfig = ExplanationConfig, TResult = unknown> {
55
- config: NormalizedExplanationConfig<TConfig>;
56
- explanationId: string;
57
- state: ExplanationStateSnapshot;
58
- result: TResult;
59
- }
60
- export interface ExplanationRenderSpec<TConfig extends ExplanationConfig = ExplanationConfig, TResult = unknown> {
61
- summary?: (context: ExplanationRenderSpecContext<TConfig, TResult>) => PresentationSummary | undefined;
62
- content: (context: ExplanationRenderSpecContext<TConfig, TResult>) => PresentationContent;
63
- }
64
- export interface DeclarativeExplanationKind<TConfig extends ExplanationConfig = ExplanationConfig, TResult = unknown> {
65
- kind: string;
66
- schema: ZodType<TConfig>;
67
- fetch: ExplanationFetchFactory<TConfig>;
68
- render: ExplanationRenderSpec<TConfig, TResult>;
69
- }
70
- /**
71
- * Plugin definition for an explanation kind. Each explanation plugin must
72
- * provide a Zod schema for its config, a transport factory, and a describe
73
- * function that returns a descriptor for primitive rendering.
74
- */
75
- export interface ExplanationDefinition<TConfig extends ExplanationConfig = ExplanationConfig> {
76
- kind: string;
77
- schema: ZodType<TConfig>;
78
- /**
79
- * Factory that returns the transport used to fetch this explanation's data.
80
- * Called with the normalized explanation config when a fetch is triggered.
81
- */
82
- transport: (config: TConfig) => ExplanationFetchTransport;
83
- describe: (config: TConfig, context: ExplanationDescriptorContext) => ExplanationDescriptor | null;
84
- }
85
- /**
86
- * Runtime controller for a single explanation instance. Tracks fetch
87
- * lifecycle state and exposes a subscribe API consistent with
88
- * FieldController / ReportController.
89
- */
90
- export interface ExplanationController {
91
- readonly id: string;
92
- readonly kind: string;
93
- readonly config: NormalizedExplanationConfig;
94
- readonly state: ExplanationStateSnapshot;
95
- readonly descriptor: ExplanationDescriptor | null;
96
- /**
97
- * Trigger an explanation fetch using the definition's transport. The
98
- * request must contain the full submit result context; the controller
99
- * appends an AbortSignal internally and combines it with any caller-provided
100
- * signal.
101
- * Idempotent when status is not "idle" — call reset() first to refetch.
102
- */
103
- fetch(request: ExplanationFetchRequest): Promise<void>;
104
- /** Abort any in-flight fetch and reset state to "idle". */
105
- abort(): void;
106
- /** Reset state to "idle" without aborting (use before re-submission). */
107
- reset(): void;
108
- subscribe(listener: (state: ExplanationStateSnapshot) => void): () => void;
109
- }
@@ -1,9 +0,0 @@
1
- export type MaybePromise<T> = T | PromiseLike<T>;
2
- export * from './explanation';
3
- export * from './field';
4
- export * from './form';
5
- export * from './pipeline';
6
- export * from './registry';
7
- export * from './report';
8
- export * from './transport';
9
- export * from '../declarative/presentation';
@@ -1,87 +0,0 @@
1
- import { ZodType } from 'zod';
2
- import { PresentationContent, PresentationSummary } from '../declarative/presentation';
3
- import { SubmitResult } from './transport';
4
- type MaybePromise<T> = T | PromiseLike<T>;
5
- export type ReportStatus = "idle" | "loading" | "ready" | "error";
6
- export interface ReportDescriptor {
7
- component: string;
8
- props: Record<string, unknown>;
9
- meta?: Record<string, unknown>;
10
- }
11
- export interface BaseReportConfig {
12
- id?: string;
13
- kind: string;
14
- label?: string;
15
- description?: string;
16
- source?: string;
17
- ui?: Record<string, unknown>;
18
- [key: string]: unknown;
19
- }
20
- export type ReportConfig = BaseReportConfig;
21
- export type NormalizedReportConfig<TConfig extends ReportConfig = ReportConfig> = TConfig & {
22
- id: string;
23
- source: string;
24
- };
25
- export interface ReportStateSnapshot {
26
- payload: unknown;
27
- error: string | null;
28
- status: ReportStatus;
29
- }
30
- export interface ReportDescriptorContext {
31
- reportId: string;
32
- state: ReportStateSnapshot;
33
- payload: unknown;
34
- result: SubmitResult | null;
35
- }
36
- export interface ReportPayloadContext<TConfig extends ReportConfig = ReportConfig> {
37
- report: NormalizedReportConfig<TConfig>;
38
- result: SubmitResult;
39
- }
40
- export interface ReportResolveContext<TConfig extends ReportConfig = ReportConfig> {
41
- config: NormalizedReportConfig<TConfig>;
42
- report: NormalizedReportConfig<TConfig>;
43
- result: SubmitResult;
44
- }
45
- export interface ReportRenderSpecContext<TConfig extends ReportConfig = ReportConfig, TPayload = unknown> {
46
- config: NormalizedReportConfig<TConfig>;
47
- report: NormalizedReportConfig<TConfig>;
48
- reportId: string;
49
- state: ReportStateSnapshot;
50
- payload: TPayload;
51
- result: SubmitResult | null;
52
- }
53
- export interface ReportRenderSpec<TConfig extends ReportConfig = ReportConfig, TPayload = unknown> {
54
- summary?: (context: ReportRenderSpecContext<TConfig, TPayload>) => PresentationSummary | undefined;
55
- content: (context: ReportRenderSpecContext<TConfig, TPayload>) => PresentationContent;
56
- }
57
- export interface DeclarativeReportKind<TConfig extends ReportConfig = ReportConfig, TPayload = unknown> {
58
- kind: string;
59
- schema: ZodType<TConfig>;
60
- payloadSchema?: ZodType<unknown>;
61
- payloadValidationPolicy?: ReportPayloadValidationPolicy;
62
- partialUpdatePolicy?: PartialReportUpdatePolicy;
63
- clonePayload?: (payload: TPayload, config: TConfig) => TPayload;
64
- resolve: (context: ReportResolveContext<TConfig>) => MaybePromise<TPayload>;
65
- render: ReportRenderSpec<TConfig, TPayload>;
66
- }
67
- export type ReportPayloadValidationPolicy = "report-error" | "fail-submit";
68
- export type PartialReportUpdatePolicy = "trust" | "validate" | "defer";
69
- export interface ReportDefinition<TConfig extends ReportConfig = ReportConfig> {
70
- kind: string;
71
- schema: ZodType<TConfig>;
72
- payloadSchema?: ZodType<unknown>;
73
- payloadValidationPolicy?: ReportPayloadValidationPolicy;
74
- partialUpdatePolicy?: PartialReportUpdatePolicy;
75
- clonePayload?: (payload: unknown, config: TConfig) => unknown;
76
- resolvePayload?: (config: TConfig, context: ReportPayloadContext<TConfig>) => MaybePromise<unknown>;
77
- describe: (config: TConfig, context: ReportDescriptorContext) => ReportDescriptor | null;
78
- }
79
- export interface ReportController {
80
- readonly id: string;
81
- readonly kind: string;
82
- readonly config: NormalizedReportConfig;
83
- readonly state: ReportStateSnapshot;
84
- readonly descriptor: ReportDescriptor | null;
85
- subscribe(listener: (state: ReportStateSnapshot) => void): () => void;
86
- }
87
- export {};
@@ -1,31 +0,0 @@
1
- export declare const questionnaireTagNames: {
2
- readonly questionnaire: "mlf-questionnaire";
3
- readonly stepIndicator: "mlf-step-indicator";
4
- };
5
- export declare const questionnaireEventNames: {
6
- readonly stepChange: "mlf-step-change";
7
- readonly stepValidationError: "mlf-step-validation-error";
8
- readonly submitStart: "mlf-q-submit-start";
9
- readonly submitAbort: "mlf-q-submit-abort";
10
- readonly submitSuccess: "mlf-q-submit-success";
11
- readonly submitError: "mlf-q-submit-error";
12
- };
13
- export interface QuestionnaireLabels {
14
- prev?: string;
15
- next?: string;
16
- submit?: string;
17
- validating?: string;
18
- submitting?: string;
19
- }
20
- export interface QuestionnaireText {
21
- stepLabel: (current: number, total: number) => string;
22
- prevLabel: string;
23
- nextLabel: string;
24
- submitLabel: string;
25
- validatingLabel: string;
26
- submittingLabel: string;
27
- }
28
- export type QuestionnaireTextOverrides = Partial<QuestionnaireText>;
29
- export declare const questionnaireDefaultLabels: Required<QuestionnaireLabels>;
30
- export declare const questionnaireStaticText: QuestionnaireText;
31
- export declare const resolveQuestionnaireText: (overrides?: QuestionnaireTextOverrides) => QuestionnaireText;
@@ -1,8 +0,0 @@
1
- import { DesignSystemConfig, DesignSystemRegistry } from '../../design-system';
2
- import { Registry } from '../../engine';
3
- import { PrimitiveRegistry } from '../../primitives';
4
- export declare const defaultQuestionnaireDesignSystem: DesignSystemConfig;
5
- export declare const cloneQuestionnaireEngineRegistry: (registry?: Registry) => Registry;
6
- export declare const resolveQuestionnairePrimitiveRegistry: (registry?: PrimitiveRegistry) => PrimitiveRegistry;
7
- export declare const resolveQuestionnaireDesignSystemRegistry: (registry?: DesignSystemRegistry) => DesignSystemRegistry;
8
- export declare const resolveQuestionnaireDesignSystem: (config?: DesignSystemConfig) => DesignSystemConfig;
@@ -1,12 +0,0 @@
1
- import { FormController } from '../../../engine';
2
- import { IQuestionnaireController, NormalizedStepConfig, QuestionnaireState } from '../types';
3
- export declare class QuestionnaireController implements IQuestionnaireController {
4
- #private;
5
- constructor(form: FormController, steps: readonly NormalizedStepConfig[]);
6
- get steps(): readonly NormalizedStepConfig[];
7
- get form(): FormController;
8
- get state(): QuestionnaireState;
9
- next(): Promise<boolean>;
10
- prev(): void;
11
- subscribe(listener: (state: QuestionnaireState) => void): () => void;
12
- }
@@ -1,9 +0,0 @@
1
- import { FormSchema, Registry } from '../../../engine';
2
- import { NormalizedStepConfig, QuestionnaireSchema } from '../types';
3
- export interface NormalizedQuestionnaireSchema {
4
- steps: NormalizedStepConfig[];
5
- formSchema: FormSchema;
6
- }
7
- export declare const normalizeQuestionnaireSchema: (schema: QuestionnaireSchema, _registry: Registry) => NormalizedQuestionnaireSchema;
8
- /** Identity helper for typed schema construction. */
9
- export declare const createQuestionnaireSchema: (schema: QuestionnaireSchema) => QuestionnaireSchema;
@@ -1,3 +0,0 @@
1
- export declare class QuestionnaireError extends Error {
2
- constructor(message: string);
3
- }
@@ -1,6 +0,0 @@
1
- export { mountQuestionnaire, unmountQuestionnaire } from './mount';
2
- export { QuestionnaireController } from './engine/controller';
3
- export { createQuestionnaireSchema, normalizeQuestionnaireSchema } from './engine/schema';
4
- export { QuestionnaireError } from './errors';
5
- export { questionnaireDefaultLabels, questionnaireEventNames, questionnaireStaticText, questionnaireTagNames, resolveQuestionnaireText, } from './constants';
6
- export type { IQuestionnaireController, MountedQuestionnaire, MountQuestionnaireOptions, NormalizedStepConfig, QuestionnaireLabels, QuestionnaireSchema, QuestionnaireState, QuestionnaireStepConfig, QuestionnaireStepProgress, QuestionnaireText, QuestionnaireTextOverrides, } from './types';
@@ -1,3 +0,0 @@
1
- import { MountQuestionnaireOptions, MountedQuestionnaire } from './types';
2
- export declare const mountQuestionnaire: (container: HTMLElement, options: MountQuestionnaireOptions) => MountedQuestionnaire;
3
- export declare const unmountQuestionnaire: (mounted: MountedQuestionnaire) => void;
@@ -1,23 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import { PrimitiveText } from '../../../../primitives/constants';
3
- import { PrimitiveRegistry } from '../../../../primitives/types';
4
- import { questionnaireTagNames, QuestionnaireText } from '../../constants';
5
- import { IQuestionnaireController } from '../../types';
6
- export declare class QuestionnaireRootElement extends LitElement {
7
- #private;
8
- static styles: import('lit').CSSResult;
9
- accessor controller: IQuestionnaireController | undefined;
10
- accessor registry: PrimitiveRegistry | undefined;
11
- accessor text: QuestionnaireText;
12
- accessor primitiveText: PrimitiveText;
13
- private accessor qState;
14
- private accessor formStatus;
15
- protected willUpdate(changed: Map<string, unknown>): void;
16
- disconnectedCallback(): void;
17
- render(): import('lit').TemplateResult<1>;
18
- }
19
- declare global {
20
- interface HTMLElementTagNameMap {
21
- [questionnaireTagNames.questionnaire]: QuestionnaireRootElement;
22
- }
23
- }
@@ -1,69 +0,0 @@
1
- import { AttachedDesignSystem, DesignSystemConfig, DesignSystemRegistry, ResolvedDesignSystem } from '../../design-system';
2
- import { FieldConfig, FieldController, FormController, FormHooks, FormValidator, InactiveFieldPolicy, Registry, Transport } from '../../engine';
3
- import { PrimitiveRegistry, PrimitiveTextOverrides } from '../../primitives';
4
- import { QuestionnaireLabels, QuestionnaireText, QuestionnaireTextOverrides } from './constants';
5
- export type { QuestionnaireLabels, QuestionnaireText, QuestionnaireTextOverrides };
6
- export interface QuestionnaireStepConfig {
7
- id?: string;
8
- title: string;
9
- description?: string;
10
- fields: FieldConfig[];
11
- }
12
- export interface QuestionnaireSchema {
13
- steps: QuestionnaireStepConfig[];
14
- }
15
- export interface NormalizedStepConfig {
16
- id: string;
17
- title: string;
18
- description?: string;
19
- fieldIds: string[];
20
- }
21
- export interface QuestionnaireStepProgress {
22
- current: number;
23
- total: number;
24
- }
25
- export interface QuestionnaireState {
26
- stepIndex: number;
27
- canGoNext: boolean;
28
- canGoPrev: boolean;
29
- isLastStep: boolean;
30
- stepProgress: QuestionnaireStepProgress;
31
- currentStep: NormalizedStepConfig;
32
- }
33
- export interface IQuestionnaireController {
34
- readonly steps: readonly NormalizedStepConfig[];
35
- readonly state: QuestionnaireState;
36
- readonly form: FormController;
37
- next(): Promise<boolean>;
38
- prev(): void;
39
- subscribe(listener: (state: QuestionnaireState) => void): () => void;
40
- }
41
- export type StepFieldEntry = {
42
- id: string;
43
- controller: FieldController;
44
- };
45
- export interface MountQuestionnaireOptions {
46
- schema: QuestionnaireSchema;
47
- transport: Transport;
48
- registry?: Registry;
49
- primitiveRegistry?: PrimitiveRegistry;
50
- designSystem?: DesignSystemConfig;
51
- designSystemRegistry?: DesignSystemRegistry;
52
- initialValues?: Record<string, unknown>;
53
- validators?: FormValidator[];
54
- hooks?: FormHooks;
55
- inactiveFieldPolicy?: InactiveFieldPolicy;
56
- listenerErrorPolicy?: "ignore" | "throw-aggregate";
57
- onListenerError?: (error: unknown) => void;
58
- labels?: QuestionnaireLabels;
59
- text?: QuestionnaireTextOverrides;
60
- primitiveText?: PrimitiveTextOverrides;
61
- onDesignSystemChange?: (resolved: ResolvedDesignSystem) => void;
62
- }
63
- export interface MountedQuestionnaire {
64
- readonly controller: IQuestionnaireController;
65
- readonly form: FormController;
66
- readonly host: HTMLElement;
67
- readonly designSystem: AttachedDesignSystem;
68
- unmount(): void;
69
- }
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,5 @@
1
- import { FieldConfig, FieldDefinition } from './field';
2
1
  import { ExplanationConfig, ExplanationDefinition } from './explanation';
2
+ import { FieldConfig, FieldDefinition } from './field';
3
3
  import { ReportConfig, ReportDefinition } from './report';
4
4
  export interface Registry {
5
5
  registerField<TConfig extends FieldConfig, TValue>(definition: FieldDefinition<TConfig, TValue>): Registry;