@verbb/formie-web-components 1.0.13 → 1.0.14

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/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.0.14 - 2026-10-08
6
+
7
+ ### Changed
8
+ - Report browser-module instances and failures through the shared hydration contract.
9
+ - Resolve field browser modules through exact manifest entry references rather than inferred capabilities.
10
+ - Clarify that client-rendered forms own their markup and that browser-supplied server-rendered theme config is bounded declarative data.
11
+ - Share versioned tri-state conditions and plain-text validation rules across PHP and browser consumers; enforce recursive hidden-value clearing and server-authoritative navigation.
12
+ - Preserve exact nested submission error paths, return typed page-transition results, and distinguish skipped side effects from invalid condition configuration.
13
+ - Consume the shared completion outcome and preserve the server-owned configuration and query-prefill boundary.
14
+ - Consume the canonical versioned client-rendered bootstrap and shared browser-module host with explicit request profiles and staged uploads.
15
+
16
+ ### Fixed
17
+ - Fix the package type build treating the web component's default server-rendered mode as potentially undefined.
18
+ - Render Formie-sanitized rich completion messages as HTML instead of showing their markup as text.
19
+ - Keep field error regions mounted without reserving empty layout space, respect Formie's announcement preference, and associate invalid controls with their messages. ([#2954](https://github.com/verbb/formie/issues/2954))
20
+ - Give default text controls accessible names and focus the first invalid input after submission.
21
+
5
22
  ## 1.0.13 - 2026-07-09
6
23
 
7
24
  ### Changed
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Custom elements for Formie’s browser runtime:
4
4
 
5
5
  - **`formie-form`** — server-rendered forms via `@verbb/formie-browser` (`createFormieClient`, themes, server-rendered markup).
6
- - **`formie-core-form`** — Definition + `@verbb/formie-core` runtime (REST/GraphQL envelope load, Lit field tree, optional registry overrides).
6
+ - **`formie-client-form`** — client-rendered forms with `@verbb/formie-core` (REST/GraphQL bootstrap load, Lit field tree, optional registry overrides).
7
7
  - **`formie-internal-signature`** — Internal element used by the core form renderer for draw-signature fields (registered with the public elements).
8
8
 
9
9
  ## Install
@@ -35,11 +35,11 @@ Server-rendered forms:
35
35
  Client-rendered runtime UI:
36
36
 
37
37
  ```html
38
- <formie-core-form
38
+ <formie-client-form
39
39
  form-handle="contactForm"
40
40
  endpoint="https://your-craft.test"
41
41
  transport="rest"
42
- ></formie-core-form>
42
+ ></formie-client-form>
43
43
  ```
44
44
 
45
45
  ## Public API
@@ -1,4 +1,4 @@
1
- import { type FrontendFieldDefinition } from '@verbb/formie-core';
2
- export declare function isFieldDefinition(candidate: unknown): candidate is FrontendFieldDefinition;
3
- export declare function resolveFieldRendererType(field: FrontendFieldDefinition): FrontendFieldDefinition['type'];
1
+ import { type ClientFieldDefinition } from '@verbb/formie-core';
2
+ export declare function isFieldDefinition(candidate: unknown): candidate is ClientFieldDefinition;
3
+ export declare function resolveFieldRendererType(field: ClientFieldDefinition): ClientFieldDefinition['type'];
4
4
  //# sourceMappingURL=field-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-utils.d.ts","sourceRoot":"","sources":["../src/field-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE5F,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,uBAAuB,CAE1F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAyBxG"}
1
+ {"version":3,"file":"field-utils.d.ts","sourceRoot":"","sources":["../src/field-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAExF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,qBAAqB,CAExF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAyBpG"}
@@ -40,7 +40,7 @@ export declare class FormieFormElement extends HTMLElement {
40
40
  set siteId(value: number | undefined);
41
41
  get autoVisible(): boolean | undefined;
42
42
  set autoVisible(value: boolean | undefined);
43
- get mode(): FormMountOptions["mode"] | undefined;
43
+ get mode(): FormMountOptions['mode'];
44
44
  set mode(value: FormMountOptions['mode'] | undefined);
45
45
  getInstance(): FormieFormInstance | null;
46
46
  submit(action?: FormAction): Promise<FormSubmitResult | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"form-element.d.ts","sourceRoot":"","sources":["../src/form-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-element.d.ts","sourceRoot":"","sources":["../src/form-element.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,UAAU,EACV,mBAAmB,EAEnB,gBAAgB,EAEhB,kBAAkB,EAClB,gBAAgB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,wBAAwB,GAAG;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAuC9B,qBAAa,iBAAkB,SAAQ,WAAW;IAC9C,MAAM,KAAK,kBAAkB,aAe5B;IAED,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,WAAW,CAA8B;;IAQjD,uEAAuE;IACvE,OAAO,CAAC,iBAAiB;IASzB,iBAAiB;IAWjB,oBAAoB;IAIpB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgBvF,IAAI,OAAO,IAMQ,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAIpC;IAED,IAAI,SAAS,IAMQ,gBAAgB,CAAC,WAAW,CAAC,GAAG,SAAS,CAF7D;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,SAAS,EAI7D;IAED,IAAI,KAAK,IAMQ,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAFrD;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,EAIrD;IAED,IAAI,WAAW,IAIQ,gBAAgB,CAAC,aAAa,CAAC,GAAG,SAAS,CAFjE;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,SAAS,EAGjE;IAED,IAAI,OAAO,IAIQ,mBAAmB,GAAG,SAAS,CAFjD;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,SAAS,EAGjD;IAED,IAAI,UAAU,IAMQ,MAAM,GAAG,SAAS,CAFvC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAIvC;IAED,IAAI,QAAQ,IAMQ,MAAM,GAAG,SAAS,CAFrC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAIrC;IAED,IAAI,WAAW,IAIQ,OAAO,GAAG,SAAS,CAFzC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAIzC;IAED,IAAI,aAAa,IAIQ,OAAO,GAAG,SAAS,CAF3C;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAI3C;IAED,IAAI,MAAM,IAMQ,MAAM,GAAG,SAAS,CAFnC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAInC;IAED,IAAI,MAAM,IAIQ,MAAM,GAAG,SAAS,CAFnC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAInC;IAED,IAAI,WAAW,IAIQ,OAAO,GAAG,SAAS,CAFzC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAIzC;IAED,IAAI,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAInC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,EAInD;IAED,WAAW,IAAI,kBAAkB,GAAG,IAAI;IAMlC,MAAM,CAAC,MAAM,GAAE,UAAqB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAU7E,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,kBAAkB;YAaZ,aAAa;YAoBb,KAAK;YAgBL,OAAO;CAmBxB"}
@@ -1,12 +1,14 @@
1
- import { type FrontendFormInstance } from '@verbb/formie-core';
1
+ import { type ClientFormInstance } from '@verbb/formie-core';
2
2
  import { LitElement } from 'lit';
3
3
  import { type FormieRegistry } from './registry.js';
4
- export declare class FormieCoreForm extends LitElement {
4
+ export declare class FormieClientFormElement extends LitElement {
5
5
  endpoint: string;
6
+ profile: 'same-origin-browser' | 'cross-origin-public';
6
7
  formHandle: string;
7
8
  siteId?: number;
8
9
  transport: 'rest' | 'graphql';
9
10
  fetchCredentials: RequestCredentials;
11
+ query: Record<string, string | string[]>;
10
12
  formClass: string;
11
13
  loadingMessage: string;
12
14
  /** Per-instance UI registry (defaults to {@link getFormieRegistry}). */
@@ -15,6 +17,7 @@ export declare class FormieCoreForm extends LitElement {
15
17
  private booting;
16
18
  private snapshot;
17
19
  private instance;
20
+ private moduleHost?;
18
21
  private unsubscribers;
19
22
  private loadGeneration;
20
23
  createRenderRoot(): HTMLElement | DocumentFragment;
@@ -22,7 +25,7 @@ export declare class FormieCoreForm extends LitElement {
22
25
  connectedCallback(): void;
23
26
  protected willUpdate(changed: Map<PropertyKey, unknown>): void;
24
27
  /** Form instance after a successful load; `null` while loading or after teardown. */
25
- getFormieInstance(): FrontendFormInstance | null;
28
+ getFormieInstance(): ClientFormInstance | null;
26
29
  /** Reload envelope + form instance from the server. */
27
30
  reload(): Promise<void>;
28
31
  private get resolvedRegistry();
@@ -30,4 +33,4 @@ export declare class FormieCoreForm extends LitElement {
30
33
  private bootstrap;
31
34
  protected render(): import("lit-html").TemplateResult;
32
35
  }
33
- //# sourceMappingURL=formie-core-form.d.ts.map
36
+ //# sourceMappingURL=formie-client-form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formie-client-form.d.ts","sourceRoot":"","sources":["../src/formie-client-form.ts"],"names":[],"mappings":"AACA,OAAO,EAOH,KAAK,kBAAkB,EAE1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC,OAAO,EAAmD,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AASrG,qBAAa,uBAAwB,SAAQ,UAAU;IACvB,QAAQ,SAAM;IACgB,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,CAAyB;IAEnF,UAAU,SAAM;IAiBtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAYhB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAU;IAcvC,gBAAgB,EAAE,kBAAkB,CAAiB;IAErB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAM;IAEzB,SAAS,SAAM;IAEV,cAAc,SAAmB;IAE3F,wEAAwE;IACxC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;IAE5D,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAgC;IAEzD,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,UAAU,CAAC,CAAyD;IAE5E,OAAO,CAAC,aAAa,CAAyB;IAE9C,OAAO,CAAC,cAAc,CAAK;IAElB,gBAAgB,IAAI,WAAW,GAAG,gBAAgB;IAIlD,oBAAoB,IAAI,IAAI;IAK5B,iBAAiB,IAAI,IAAI;cAKf,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI;IAcvE,qFAAqF;IACrF,iBAAiB,IAAI,kBAAkB,GAAG,IAAI;IAI9C,uDAAuD;IACjD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,CAAC,QAAQ;YAaF,SAAS;cA2FJ,MAAM;CAmC5B"}
package/dist/index.d.ts CHANGED
@@ -5,15 +5,15 @@ export { FORMIE_CONTROL_VALUE_EVENT } from './types.js';
5
5
  export { assertValidCustomElementName, createFormieRegistry, FormieRegistry, getFormieRegistry, } from './registry.js';
6
6
  export type { FormieRenderHost, RenderViewContext } from './render-view.js';
7
7
  export { renderErrorView, renderFormView, renderLoadingView } from './render-view.js';
8
- export { FormieCoreForm } from './formie-core-form.js';
8
+ export { FormieClientFormElement } from './formie-client-form.js';
9
9
  export { FormieInternalSignature } from './signature-element.js';
10
10
  export { isFieldDefinition, resolveFieldRendererType } from './field-utils.js';
11
11
  /**
12
12
  * Registers all Formie custom elements: `formie-form` (server-rendered forms via formie-browser),
13
- * `formie-core-form` (definition-driven UI), and `formie-internal-signature`.
13
+ * `formie-client-form` (definition-driven UI), and `formie-internal-signature`.
14
14
  * Safe to call more than once.
15
15
  */
16
16
  export declare function registerFormieWebComponents(): void;
17
17
  export { createFormieClient } from '@verbb/formie-browser';
18
- export type { FormAction, FormDefinitionPayload, FormEndpointPayload, FormEventUnsubscribe, FormMountOptions, FormieClient, FormieFormInstance, FormSubmitResult, } from '@verbb/formie-browser';
18
+ export type { FormAction, FormEndpointPayload, FormEventUnsubscribe, FormMountOptions, FormieClient, FormieFormInstance, FormSubmitResult, } from '@verbb/formie-browser';
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACH,4BAA4B,EAC5B,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAI/E;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAkBlD;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EACR,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACH,4BAA4B,EAC5B,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAI/E;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAkBlD;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EACR,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,uBAAuB,CAAC"}