@usefillo/dom 0.11.0 → 0.12.1

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/dist/index.d.ts CHANGED
@@ -43,10 +43,7 @@ interface FilloDomFieldIds {
43
43
  name: string;
44
44
  }
45
45
  type FieldRenderer = (context: FieldRenderContext) => HTMLElement | null;
46
- interface RenderFormOptions {
47
- form?: FormSchema | CodeForm;
48
- client?: FilloClient;
49
- formId?: string;
46
+ interface RenderFormBaseOptions {
50
47
  theme?: FormTheme;
51
48
  initialData?: ResponseData;
52
49
  /**
@@ -86,6 +83,32 @@ interface RenderFormOptions {
86
83
  renderSuccess?: (api: FilloDomApi) => HTMLElement;
87
84
  renderError?: (error: FilloError) => HTMLElement;
88
85
  }
86
+ type HostedRenderFormOptions = RenderFormBaseOptions & {
87
+ formId: string;
88
+ form?: undefined;
89
+ client?: FilloClient;
90
+ renderOnly?: false;
91
+ };
92
+ type InlineTargetedRenderFormOptions = RenderFormBaseOptions & {
93
+ form: FormSchema | CodeForm;
94
+ formId: string;
95
+ client?: FilloClient;
96
+ renderOnly?: false;
97
+ };
98
+ type CodeBackedRenderFormOptions = RenderFormBaseOptions & {
99
+ form: CodeForm;
100
+ client: FilloClient;
101
+ formId?: undefined;
102
+ renderOnly?: false;
103
+ };
104
+ type RenderOnlyFormOptions = RenderFormBaseOptions & {
105
+ form: FormSchema | CodeForm;
106
+ client?: FilloClient;
107
+ formId?: string;
108
+ /** Explicit local preview: submission, uploads, and saved progress are disabled. */
109
+ renderOnly: true;
110
+ };
111
+ type RenderFormOptions = HostedRenderFormOptions | InlineTargetedRenderFormOptions | CodeBackedRenderFormOptions | RenderOnlyFormOptions;
89
112
  interface FilloDomForm {
90
113
  readonly element: HTMLElement;
91
114
  readonly status: FormStatus;
@@ -133,6 +156,8 @@ declare class FilloFormElement extends HTMLElementBase {
133
156
  * them, and a stringified `false` must never enable dev chrome for real
134
157
  * respondents. Disable by removing the attribute or setting it to "false". */
135
158
  private previewAttrEnabled;
159
+ /** Explicit local-preview mode for custom-element integrations. */
160
+ private renderOnlyAttrEnabled;
136
161
  private mount;
137
162
  }
138
163
  declare function registerFilloElement(name?: string): void;