@embeddables/cli 0.1.0

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 (173) hide show
  1. package/README.md +116 -0
  2. package/bin/embeddables.mjs +2 -0
  3. package/dist/auth/index.d.ts +43 -0
  4. package/dist/auth/index.d.ts.map +1 -0
  5. package/dist/auth/index.js +100 -0
  6. package/dist/cli.d.ts +2 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +75 -0
  9. package/dist/commands/build-workbench.d.ts +5 -0
  10. package/dist/commands/build-workbench.d.ts.map +1 -0
  11. package/dist/commands/build-workbench.js +122 -0
  12. package/dist/commands/build.d.ts +7 -0
  13. package/dist/commands/build.d.ts.map +1 -0
  14. package/dist/commands/build.js +22 -0
  15. package/dist/commands/dev.d.ts +11 -0
  16. package/dist/commands/dev.d.ts.map +1 -0
  17. package/dist/commands/dev.js +153 -0
  18. package/dist/commands/login.d.ts +2 -0
  19. package/dist/commands/login.d.ts.map +1 -0
  20. package/dist/commands/login.js +112 -0
  21. package/dist/commands/logout.d.ts +2 -0
  22. package/dist/commands/logout.d.ts.map +1 -0
  23. package/dist/commands/logout.js +18 -0
  24. package/dist/commands/pull.d.ts +7 -0
  25. package/dist/commands/pull.d.ts.map +1 -0
  26. package/dist/commands/pull.js +97 -0
  27. package/dist/compiler/errors.d.ts +20 -0
  28. package/dist/compiler/errors.d.ts.map +1 -0
  29. package/dist/compiler/errors.js +35 -0
  30. package/dist/compiler/evalStatic.d.ts +3 -0
  31. package/dist/compiler/evalStatic.d.ts.map +1 -0
  32. package/dist/compiler/evalStatic.js +57 -0
  33. package/dist/compiler/flatten.js +1 -0
  34. package/dist/compiler/helpers/duplicateIds.d.ts +9 -0
  35. package/dist/compiler/helpers/duplicateIds.d.ts.map +1 -0
  36. package/dist/compiler/helpers/duplicateIds.js +71 -0
  37. package/dist/compiler/index.d.ts +16 -0
  38. package/dist/compiler/index.d.ts.map +1 -0
  39. package/dist/compiler/index.js +934 -0
  40. package/dist/compiler/parsePage.d.ts +15 -0
  41. package/dist/compiler/parsePage.d.ts.map +1 -0
  42. package/dist/compiler/parsePage.js +562 -0
  43. package/dist/compiler/registry.d.ts +4 -0
  44. package/dist/compiler/registry.d.ts.map +1 -0
  45. package/dist/compiler/registry.js +44 -0
  46. package/dist/compiler/reverse.d.ts +17 -0
  47. package/dist/compiler/reverse.d.ts.map +1 -0
  48. package/dist/compiler/reverse.js +1632 -0
  49. package/dist/compiler/types.d.ts +21 -0
  50. package/dist/compiler/types.d.ts.map +1 -0
  51. package/dist/compiler/types.js +1 -0
  52. package/dist/components/index.d.ts +21 -0
  53. package/dist/components/index.d.ts.map +1 -0
  54. package/dist/components/index.js +21 -0
  55. package/dist/components/primitives/BaseComponent.d.ts +32 -0
  56. package/dist/components/primitives/BaseComponent.d.ts.map +1 -0
  57. package/dist/components/primitives/BaseComponent.js +26 -0
  58. package/dist/components/primitives/BookMeeting.d.ts +18 -0
  59. package/dist/components/primitives/BookMeeting.d.ts.map +1 -0
  60. package/dist/components/primitives/BookMeeting.js +5 -0
  61. package/dist/components/primitives/Chart.d.ts +41 -0
  62. package/dist/components/primitives/Chart.d.ts.map +1 -0
  63. package/dist/components/primitives/Chart.js +5 -0
  64. package/dist/components/primitives/Container.d.ts +8 -0
  65. package/dist/components/primitives/Container.d.ts.map +1 -0
  66. package/dist/components/primitives/Container.js +5 -0
  67. package/dist/components/primitives/CustomButton.d.ts +37 -0
  68. package/dist/components/primitives/CustomButton.d.ts.map +1 -0
  69. package/dist/components/primitives/CustomButton.js +10 -0
  70. package/dist/components/primitives/CustomHTML.d.ts +8 -0
  71. package/dist/components/primitives/CustomHTML.d.ts.map +1 -0
  72. package/dist/components/primitives/CustomHTML.js +5 -0
  73. package/dist/components/primitives/FileUpload.d.ts +18 -0
  74. package/dist/components/primitives/FileUpload.d.ts.map +1 -0
  75. package/dist/components/primitives/FileUpload.js +16 -0
  76. package/dist/components/primitives/InputBox.d.ts +34 -0
  77. package/dist/components/primitives/InputBox.d.ts.map +1 -0
  78. package/dist/components/primitives/InputBox.js +25 -0
  79. package/dist/components/primitives/Lottie.d.ts +11 -0
  80. package/dist/components/primitives/Lottie.d.ts.map +1 -0
  81. package/dist/components/primitives/Lottie.js +5 -0
  82. package/dist/components/primitives/MediaEmbed.d.ts +13 -0
  83. package/dist/components/primitives/MediaEmbed.d.ts.map +1 -0
  84. package/dist/components/primitives/MediaEmbed.js +6 -0
  85. package/dist/components/primitives/MediaImage.d.ts +8 -0
  86. package/dist/components/primitives/MediaImage.d.ts.map +1 -0
  87. package/dist/components/primitives/MediaImage.js +5 -0
  88. package/dist/components/primitives/OptionSelector.d.ts +35 -0
  89. package/dist/components/primitives/OptionSelector.d.ts.map +1 -0
  90. package/dist/components/primitives/OptionSelector.js +8 -0
  91. package/dist/components/primitives/PaypalCheckout.d.ts +25 -0
  92. package/dist/components/primitives/PaypalCheckout.d.ts.map +1 -0
  93. package/dist/components/primitives/PaypalCheckout.js +5 -0
  94. package/dist/components/primitives/PlainText.d.ts +6 -0
  95. package/dist/components/primitives/PlainText.d.ts.map +1 -0
  96. package/dist/components/primitives/PlainText.js +5 -0
  97. package/dist/components/primitives/ProgressBar.d.ts +15 -0
  98. package/dist/components/primitives/ProgressBar.d.ts.map +1 -0
  99. package/dist/components/primitives/ProgressBar.js +5 -0
  100. package/dist/components/primitives/RichText.d.ts +6 -0
  101. package/dist/components/primitives/RichText.d.ts.map +1 -0
  102. package/dist/components/primitives/RichText.js +5 -0
  103. package/dist/components/primitives/RichTextMarkdown.d.ts +6 -0
  104. package/dist/components/primitives/RichTextMarkdown.d.ts.map +1 -0
  105. package/dist/components/primitives/RichTextMarkdown.js +5 -0
  106. package/dist/components/primitives/Rive.d.ts +16 -0
  107. package/dist/components/primitives/Rive.d.ts.map +1 -0
  108. package/dist/components/primitives/Rive.js +8 -0
  109. package/dist/components/primitives/StripeCheckout.d.ts +52 -0
  110. package/dist/components/primitives/StripeCheckout.d.ts.map +1 -0
  111. package/dist/components/primitives/StripeCheckout.js +5 -0
  112. package/dist/components/primitives/StripeCheckout2.d.ts +30 -0
  113. package/dist/components/primitives/StripeCheckout2.d.ts.map +1 -0
  114. package/dist/components/primitives/StripeCheckout2.js +7 -0
  115. package/dist/proxy/injectApiInterceptor.d.ts +6 -0
  116. package/dist/proxy/injectApiInterceptor.d.ts.map +1 -0
  117. package/dist/proxy/injectApiInterceptor.js +66 -0
  118. package/dist/proxy/injectReload.d.ts +2 -0
  119. package/dist/proxy/injectReload.d.ts.map +1 -0
  120. package/dist/proxy/injectReload.js +14 -0
  121. package/dist/proxy/injectWorkbench.d.ts +4 -0
  122. package/dist/proxy/injectWorkbench.d.ts.map +1 -0
  123. package/dist/proxy/injectWorkbench.js +16 -0
  124. package/dist/proxy/server.d.ts +11 -0
  125. package/dist/proxy/server.d.ts.map +1 -0
  126. package/dist/proxy/server.js +246 -0
  127. package/dist/proxy/sse.d.ts +5 -0
  128. package/dist/proxy/sse.d.ts.map +1 -0
  129. package/dist/proxy/sse.js +17 -0
  130. package/dist/types-builder.d.ts +800 -0
  131. package/dist/types-builder.d.ts.map +1 -0
  132. package/dist/types-builder.js +20 -0
  133. package/dist/workbench/ActionsPanel.d.ts +6 -0
  134. package/dist/workbench/ActionsPanel.d.ts.map +1 -0
  135. package/dist/workbench/ActionsPanel.js +47 -0
  136. package/dist/workbench/AutofillPanel.d.ts +6 -0
  137. package/dist/workbench/AutofillPanel.d.ts.map +1 -0
  138. package/dist/workbench/AutofillPanel.js +543 -0
  139. package/dist/workbench/ComputedFieldsPanel.d.ts +6 -0
  140. package/dist/workbench/ComputedFieldsPanel.d.ts.map +1 -0
  141. package/dist/workbench/ComputedFieldsPanel.js +31 -0
  142. package/dist/workbench/ExperimentsPanel.d.ts +6 -0
  143. package/dist/workbench/ExperimentsPanel.d.ts.map +1 -0
  144. package/dist/workbench/ExperimentsPanel.js +182 -0
  145. package/dist/workbench/FieldEditorPanel.d.ts +9 -0
  146. package/dist/workbench/FieldEditorPanel.d.ts.map +1 -0
  147. package/dist/workbench/FieldEditorPanel.js +650 -0
  148. package/dist/workbench/InspectorPanel.d.ts +6 -0
  149. package/dist/workbench/InspectorPanel.d.ts.map +1 -0
  150. package/dist/workbench/InspectorPanel.js +341 -0
  151. package/dist/workbench/PageNavigator.d.ts +6 -0
  152. package/dist/workbench/PageNavigator.d.ts.map +1 -0
  153. package/dist/workbench/PageNavigator.js +123 -0
  154. package/dist/workbench/SchemaPanel.d.ts +6 -0
  155. package/dist/workbench/SchemaPanel.d.ts.map +1 -0
  156. package/dist/workbench/SchemaPanel.js +222 -0
  157. package/dist/workbench/UserDataPanel.d.ts +6 -0
  158. package/dist/workbench/UserDataPanel.d.ts.map +1 -0
  159. package/dist/workbench/UserDataPanel.js +350 -0
  160. package/dist/workbench/WorkbenchApp.d.ts +6 -0
  161. package/dist/workbench/WorkbenchApp.d.ts.map +1 -0
  162. package/dist/workbench/WorkbenchApp.js +193 -0
  163. package/dist/workbench/cloudflare-worker/README.md +31 -0
  164. package/dist/workbench/cloudflare-worker/public/workbench.css +1614 -0
  165. package/dist/workbench/cloudflare-worker/public/workbench.js +77 -0
  166. package/dist/workbench/cloudflare-worker/worker.js +40 -0
  167. package/dist/workbench/cloudflare-worker/wrangler.toml +10 -0
  168. package/dist/workbench/index.d.ts +9 -0
  169. package/dist/workbench/index.d.ts.map +1 -0
  170. package/dist/workbench/index.js +44 -0
  171. package/dist/workbench/workbench.css +1614 -0
  172. package/dist/workbench/workbench.js +77 -0
  173. package/package.json +79 -0
@@ -0,0 +1,800 @@
1
+ export interface Flow {
2
+ id: string;
3
+ builder_version?: number;
4
+ pages: FlowPage[];
5
+ styles?: FlowStyles;
6
+ title: string;
7
+ name?: string;
8
+ project_id?: string;
9
+ components?: Component[];
10
+ experiments?: Experiment[];
11
+ connected_experiments?: ConnectedExperiment[];
12
+ popup_selector?: string;
13
+ popup_prevent_default?: boolean;
14
+ reset_page_on_popup?: boolean;
15
+ required_labels?: boolean;
16
+ disable_form_validation?: boolean;
17
+ defaults?: {
18
+ transitions?: Transitions;
19
+ userData?: {
20
+ [key: string]: any;
21
+ };
22
+ };
23
+ url_keys?: string;
24
+ embed_code_keys?: string;
25
+ scroll_to_document_top?: boolean;
26
+ scroll_to_top_page?: boolean;
27
+ dont_scroll_to_top_popup?: boolean;
28
+ scroll_to_top_behavior?: 'instant' | 'smooth';
29
+ show_next_button_on_incomplete?: 'show_disable' | 'hide' | 'always_show';
30
+ dataOutputs?: Action[];
31
+ computedFields?: ComputedField[];
32
+ outputs_onloadflow?: string | string[];
33
+ outputs_onviewflow?: string | string[];
34
+ outputs_onremoved?: string[];
35
+ registered_keys?: string;
36
+ form_wrapper?: boolean;
37
+ use_location_data?: boolean;
38
+ wait_for_bundle?: boolean;
39
+ sync_pages_with_url?: boolean;
40
+ reset_css?: boolean;
41
+ hide_prefilled_pages?: boolean;
42
+ pagesById?: {
43
+ [key: string]: FlowPage;
44
+ };
45
+ outputs_onopenpopup?: string | string[];
46
+ outputs_onclosepopup?: string | string[];
47
+ next_on_complete?: boolean;
48
+ load_tags?: Tag[];
49
+ highlight_project_id?: string;
50
+ posthog_product_id?: string;
51
+ forget_user_data?: boolean;
52
+ do_not_store_any_data?: boolean;
53
+ content_sources?: ContentSource[];
54
+ auto_preload_all_images?: boolean;
55
+ auto_advance_on_input_enter?: boolean;
56
+ change_validate_default_behaviour?: 'hide' | 'disabled' | 'always_show';
57
+ breakpoints?: Array<Breakpoint>;
58
+ preloadImages?: string[];
59
+ }
60
+ export interface FlowPage {
61
+ id: string;
62
+ key: string;
63
+ hide?: boolean;
64
+ starred?: boolean;
65
+ components: Component[];
66
+ conditions?: Condition[];
67
+ conversions?: Record<string, unknown>[];
68
+ tags?: string[];
69
+ transition?: Transitions;
70
+ outputs_oncomplete?: string | string[];
71
+ preloadImages?: string[];
72
+ outputs_onload?: string | string[];
73
+ next_on_timeout?: number;
74
+ change_validate_default_behaviour?: 'hide' | 'disabled' | 'always_show';
75
+ show_next_button_on_incomplete?: 'show_disable' | 'hide' | 'always_show' | 'show_disabled_except_single_selects';
76
+ showNav?: boolean;
77
+ conditional_tags?: ConditionalTag[];
78
+ is_exit_page?: boolean;
79
+ title?: string;
80
+ subtitle?: string;
81
+ headingLabel?: string;
82
+ outputs_onopen_infobox?: string[];
83
+ outputs_onclose_infobox?: string[];
84
+ }
85
+ export interface FlowStyles {
86
+ [selector: string]: {
87
+ [property: string]: string | number;
88
+ };
89
+ }
90
+ interface Transitions {
91
+ content?: string;
92
+ 'individual-content'?: boolean;
93
+ enter_transition?: Transition;
94
+ exit_transition?: Transition;
95
+ }
96
+ export interface Transition {
97
+ name: 'no_transition' | 'slide_and_fade_right_to_left' | 'slide_and_fade_bottom_to_top' | 'slide_right_to_left' | 'slide_bottom_to_top' | 'fade_in' | 'fade_out';
98
+ duration?: number;
99
+ timing_function?: 'ease-in' | 'ease-out' | 'ease-in-out' | 'linear';
100
+ delay?: number;
101
+ }
102
+ export interface Experiment {
103
+ id: string;
104
+ status: 'draft' | 'live' | 'paused' | 'completed';
105
+ variants: ExperimentVariant[];
106
+ key: string;
107
+ description?: string;
108
+ title?: string;
109
+ paused_showing_variant?: string;
110
+ winner_variant?: string;
111
+ }
112
+ export interface ExperimentVariant {
113
+ id: string;
114
+ key: string;
115
+ weighting?: number;
116
+ }
117
+ export interface ConnectedExperiment {
118
+ experiment_id: string;
119
+ experiment_key: string;
120
+ }
121
+ export type Tag = {
122
+ tag: 'link' | 'script';
123
+ url: string;
124
+ attributes?: {
125
+ [key: string]: string;
126
+ };
127
+ metadata?: FontMetadata;
128
+ };
129
+ export interface FontMetadata {
130
+ name: string;
131
+ type: 'font';
132
+ font_type: string;
133
+ font_styles: string[];
134
+ font_weights: number[];
135
+ }
136
+ export type Component = Base | CustomButton | StripeCheckout | StripeCheckout2 | PaypalCheckout | InputBox | MediaImage | MediaEmbed | CustomHTML | Lottie | Rive | OptionSelector | ProgressBar | FileUpload | BookMeeting | Container | Chart;
137
+ export type ComponentType = 'PlainText' | 'RichText' | 'RichTextMarkdown' | 'CustomHTML' | 'CustomButton' | 'StripeCheckout' | 'StripeCheckout2' | 'PaypalCheckout' | 'InputBox' | 'MediaImage' | 'MediaEmbed' | 'Lottie' | 'Rive' | 'OptionSelector' | 'ProgressBar' | 'FileUpload' | 'BookMeeting' | 'Container' | 'Chart';
138
+ type Base = {
139
+ id: string;
140
+ key: string;
141
+ type: ComponentType;
142
+ isRequired?: boolean;
143
+ hide?: boolean;
144
+ label?: string;
145
+ text?: string;
146
+ src?: string;
147
+ placeholder?: string;
148
+ parent_key?: string;
149
+ parent_id?: string;
150
+ tags?: string[];
151
+ mask_recording?: boolean;
152
+ ignore_recording?: boolean;
153
+ ignore_in_qa_tests?: boolean;
154
+ conditions?: Condition[];
155
+ _location?: GlobalComponentLocation;
156
+ repeater_key?: string;
157
+ page_reactive_classes?: boolean;
158
+ __hide_initially?: boolean;
159
+ set_value_class?: boolean;
160
+ action?: string;
161
+ info_box_key?: string;
162
+ always_rerender?: boolean;
163
+ outputs_onmounted?: string[];
164
+ outputs_onunmounted?: string[];
165
+ doNotSave?: 'cloud' | boolean;
166
+ always_disabled?: boolean;
167
+ element_id?: string;
168
+ tooltip?: string;
169
+ tooltip_description?: string;
170
+ tooltip_position?: TooltipPosition;
171
+ htmlMetadata?: {
172
+ sibilingId?: string;
173
+ insertBeforeSibiling?: string;
174
+ [key: string]: string | undefined;
175
+ };
176
+ components?: Component[];
177
+ __is_child_already_inserted?: boolean;
178
+ is_repeatable_child?: boolean;
179
+ outputs_onrepeatablerender?: string[];
180
+ conditional_tags?: ConditionalTag[];
181
+ component_version?: number;
182
+ };
183
+ export declare const GLOBAL_COMPONENT_LOCATIONS: readonly ["before_page", "page_top", "before_components", "after_components", "page_bottom", "after_page"];
184
+ export type GlobalComponentLocation = (typeof GLOBAL_COMPONENT_LOCATIONS)[number];
185
+ export type TooltipPosition = 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
186
+ export declare const CONDITION_OPERATORS: readonly ["==", "!=", "exists", "!exists", "is-true", "is-false", "is-not-true", "is-not-false", "is-empty", "is-not-empty"];
187
+ export type ConditionOperator = (typeof CONDITION_OPERATORS)[number];
188
+ export interface Condition {
189
+ id?: string;
190
+ key: string;
191
+ operator: ConditionOperator;
192
+ values: ConditionValue[];
193
+ }
194
+ export type ConditionValue = string | number | boolean;
195
+ export type ConditionalTag = {
196
+ tag: string;
197
+ conditions: Condition[];
198
+ };
199
+ interface Chart extends Base {
200
+ chart_type?: 'line' | 'bar' | 'radar' | 'bubble' | 'doughnut' | 'pie' | 'polarArea' | 'scatter';
201
+ data?: {
202
+ labels?: string | string[];
203
+ datasets?: [
204
+ {
205
+ label?: string;
206
+ data?: [number | {
207
+ x: number;
208
+ y: number;
209
+ r: number;
210
+ }] | string;
211
+ fill?: boolean;
212
+ border_color?: string | string[];
213
+ border_width?: number;
214
+ background_color?: string[];
215
+ line_tension?: number;
216
+ hover_offset?: number;
217
+ }
218
+ ];
219
+ };
220
+ options?: any;
221
+ scales?: {
222
+ y?: {
223
+ begin_at_zero?: boolean;
224
+ };
225
+ x?: {
226
+ begin_at_zero?: boolean;
227
+ };
228
+ };
229
+ elements?: {
230
+ line?: {
231
+ border_width?: number;
232
+ };
233
+ };
234
+ responsive?: boolean;
235
+ maintain_aspect_ratio?: boolean;
236
+ }
237
+ export interface CustomButton extends Base {
238
+ conversions: Record<string, unknown>[];
239
+ action?: 'no-action' | 'next-page' | 'prev-page' | 'open-url' | 'open-info-box' | 'close-popup' | 'reset' | `page-${string}`;
240
+ actionUrl?: string;
241
+ toggle?: boolean;
242
+ icon?: string;
243
+ emojiIcon?: string;
244
+ imageUrl?: string;
245
+ imageAltText?: string;
246
+ richText?: boolean;
247
+ description?: string;
248
+ richDescription?: boolean;
249
+ openUrlInNewTab?: boolean;
250
+ ariaLabel?: string;
251
+ info_box_key?: string;
252
+ allow_skip_validation?: boolean;
253
+ hide_if_no_nav_target?: boolean;
254
+ needs_validation_passed?: boolean;
255
+ validation_show_state?: 'disable' | 'hide' | 'always_show';
256
+ shouldDownloadUrl?: boolean;
257
+ downloadFilename?: string;
258
+ outputs_onclick?: string | string[];
259
+ use_custom_code?: boolean;
260
+ custom_code?: string;
261
+ output_key?: string;
262
+ track_clicks?: boolean;
263
+ show_loading_until_actions_resolved?: boolean;
264
+ success_message?: string;
265
+ loading_message?: string;
266
+ fail_message?: string;
267
+ primary_button?: boolean;
268
+ }
269
+ export interface CustomHTML extends Base {
270
+ text?: string;
271
+ }
272
+ export interface StripeCheckout extends Base {
273
+ on_payment_complete_conversions?: Record<string, unknown>[];
274
+ pay_button_text?: string;
275
+ action: 'one-time-payment' | 'collect_details' | 'subscription';
276
+ publishable_key: string;
277
+ currency?: string;
278
+ country?: string;
279
+ amount: string | number;
280
+ billing_info_name?: string;
281
+ billing_info_email?: string;
282
+ billing_info_phone?: string;
283
+ billing_info_address_line1?: string;
284
+ billing_info_address_line2?: string;
285
+ billing_info_city?: string;
286
+ billing_info_state?: string;
287
+ billing_info_postal_code?: string;
288
+ billing_info_country?: string;
289
+ create_customer?: boolean;
290
+ output_customer_id?: boolean;
291
+ customer_id_key?: string;
292
+ output_subscription_id?: boolean;
293
+ subscription_id_key?: string;
294
+ output_invoice_id?: boolean;
295
+ invoice_id_key?: string;
296
+ output_payment_method?: boolean;
297
+ payment_method_key?: string;
298
+ output_payment_intent_id?: boolean;
299
+ payment_intent_id_key?: string;
300
+ trial_period_days?: string;
301
+ price_id?: string;
302
+ one_time_price_id?: string;
303
+ allow_alternate_payments?: boolean;
304
+ allow_buy_now_pay_later?: boolean;
305
+ place_hold_only?: boolean;
306
+ individual_fields?: boolean;
307
+ hide_cc_fields?: boolean;
308
+ enforce_validation?: boolean;
309
+ collect_details?: string;
310
+ next_on_complete?: string;
311
+ on_payment_failed_outputs?: string;
312
+ on_payment_complete_outputs?: string;
313
+ on_payment_attempted_outputs?: string;
314
+ cc_field_logos_image?: string;
315
+ promo_code?: string;
316
+ skip_https_check?: boolean;
317
+ use_new_backend?: boolean;
318
+ enable_automatic_tax?: boolean;
319
+ use_new_stripe_elements?: boolean;
320
+ }
321
+ export interface StripeCheckout2 extends Base {
322
+ elements_to_display: Array<StripeElementType>;
323
+ checkout_session: StripeCheckoutSession;
324
+ init_checkout_options?: StripeInitCheckoutOptions;
325
+ confirm_checkout_options?: StripeCheckoutConfirmOptions;
326
+ create_element_options?: StripeCreateElementOptions;
327
+ create_express_checkout_element_options?: StripeCheckoutExpressCheckoutElementOptions;
328
+ enforce_validation?: boolean;
329
+ next_on_complete?: boolean;
330
+ display: {
331
+ success_message?: string;
332
+ };
333
+ save_outputs_to_user_data?: {
334
+ customer_id?: string;
335
+ invoice_id?: string;
336
+ payment_method?: string;
337
+ payment_intent_id?: string;
338
+ setup_intent_id?: string;
339
+ };
340
+ on_payment_failed_outputs?: string;
341
+ on_payment_complete_outputs?: string;
342
+ on_payment_attempted_outputs?: string;
343
+ on_payment_complete_conversions: Record<string, unknown>[];
344
+ }
345
+ type StripeElementType = 'payment' | 'express_checkout';
346
+ export type StripeCheckoutSession = {
347
+ mode: StripeElementsMode;
348
+ currency?: StripeCurrency;
349
+ customer?: string;
350
+ customer_email?: string;
351
+ customer_creation?: 'always' | 'if_required';
352
+ line_items?: StripeCheckoutLineItem[];
353
+ payment_method_types?: StripePaymentMethodType[];
354
+ phone_number_collection?: {
355
+ enabled: boolean;
356
+ };
357
+ payment_intent_data?: {
358
+ capture_method?: 'manual' | 'automatic_async';
359
+ metadata?: {
360
+ [key: string]: string;
361
+ };
362
+ };
363
+ subscription_data?: {
364
+ metadata?: {
365
+ [key: string]: string;
366
+ };
367
+ };
368
+ discounts?: StripeCheckoutDiscount[];
369
+ };
370
+ export type StripeInitCheckoutOptions = {
371
+ elementsOptions: {
372
+ appearance: {
373
+ rules: Record<string, string>;
374
+ };
375
+ };
376
+ };
377
+ export type StripeCheckoutExpressCheckoutElementOptions = {
378
+ buttonHeight?: number;
379
+ };
380
+ export type StripeCheckoutConfirmOptions = {
381
+ email?: string;
382
+ phoneNumber?: string;
383
+ billingAddress?: StripeCheckoutAddress;
384
+ shippingAddress?: StripeCheckoutAddress;
385
+ };
386
+ export type StripeCreateElementOptions = {
387
+ layout: 'accordion' | 'tabs';
388
+ };
389
+ export type StripeCheckoutLineItem = {
390
+ quantity?: number;
391
+ price?: string;
392
+ price_data?: {
393
+ currency: StripeCurrency;
394
+ product_data: {
395
+ name: string;
396
+ };
397
+ unit_amount: number;
398
+ };
399
+ };
400
+ type StripeElementsMode = 'payment' | 'setup' | 'subscription';
401
+ type StripePaymentMethodType = 'card' | 'link' | 'us_bank_account' | 'afterpay_clearpay' | 'klarna' | 'affirm';
402
+ type StripeCurrency = 'usd' | 'gbp' | 'cad' | 'eur';
403
+ type StripeCheckoutAddress = {
404
+ name?: string;
405
+ address?: StripeAddress;
406
+ };
407
+ type StripeAddress = {
408
+ line1?: string;
409
+ line2?: string;
410
+ city?: string;
411
+ state?: string;
412
+ postal_code?: string;
413
+ country?: string;
414
+ };
415
+ export type StripeCheckoutDiscount = {
416
+ coupon?: string;
417
+ promotion_code?: string;
418
+ };
419
+ interface PaypalCheckout extends Base {
420
+ on_payment_complete_conversions: Record<string, unknown>[];
421
+ pay_button_text: string;
422
+ action: string;
423
+ next_on_complete: boolean;
424
+ amount: string | number;
425
+ billing_info_name: string;
426
+ billing_info_email: string;
427
+ buttons_config?: PaypalButtonConfig;
428
+ plan_id: string;
429
+ output_subscription_id?: boolean;
430
+ output_subscription_id_key?: string;
431
+ on_payment_complete_outputs?: string;
432
+ }
433
+ interface PaypalButtonConfig {
434
+ layout?: string;
435
+ color?: string;
436
+ shape?: string;
437
+ size?: string;
438
+ label?: string;
439
+ tagline?: string;
440
+ }
441
+ export interface InputBox extends Base {
442
+ input_type?: 'text' | 'email' | 'number' | 'phone' | 'date' | 'time' | 'month' | 'password' | 'confirm' | 'range' | 'switch' | 'checkbox';
443
+ use_tel_input?: boolean;
444
+ mismatch_values_message?: string;
445
+ invalid_message?: string;
446
+ empty_invalid_message?: string;
447
+ max_length?: string;
448
+ icon?: string;
449
+ range_min?: number | string;
450
+ range_max?: number | string;
451
+ range_step?: number;
452
+ width?: number;
453
+ label_on_both_side?: boolean;
454
+ off_label?: string;
455
+ multiline?: boolean;
456
+ trim_whitespace_on_blur?: boolean;
457
+ format_email_on_blur?: boolean;
458
+ validation_formula?: string;
459
+ validate_on_blur?: boolean;
460
+ outputs_onchange?: string[];
461
+ integer_only?: boolean;
462
+ debounce_time?: number;
463
+ disable_auto_next?: boolean;
464
+ validate_value?: boolean;
465
+ phone_display_format?: 'no_formatting_no_country_code' | 'no_formatting_with_country_code' | 'formatting_no_country_code' | 'formatting_with_country_code';
466
+ phone_store_format?: 'no_formatting_no_country_code' | 'no_formatting_with_country_code' | 'formatting_no_country_code' | 'formatting_with_country_code';
467
+ custom_validation_function?: string;
468
+ }
469
+ export interface MediaImage extends Base {
470
+ src?: string;
471
+ caption?: string;
472
+ alt_text?: string;
473
+ }
474
+ interface MediaEmbed extends Base {
475
+ roundedCorners?: boolean;
476
+ silentAutoplayPreview?: boolean;
477
+ hide_controls?: boolean;
478
+ centralPlayButton?: boolean;
479
+ embed_code?: string;
480
+ placeholder_image_url?: string;
481
+ embed_code_raw?: string;
482
+ src?: string;
483
+ }
484
+ interface Lottie extends Base {
485
+ src?: string;
486
+ mode?: 'normal' | 'bounce';
487
+ autoplay?: boolean;
488
+ loop?: boolean;
489
+ controls?: boolean;
490
+ hover?: boolean;
491
+ }
492
+ interface Rive extends Base {
493
+ src?: string;
494
+ autoplay?: boolean;
495
+ artboard?: string;
496
+ animation?: string;
497
+ is_state_machine?: boolean;
498
+ width?: number;
499
+ height?: number;
500
+ flow_event_to_rive_action_mappings?: {
501
+ [key: string]: string;
502
+ }[];
503
+ capture_events?: boolean;
504
+ }
505
+ export interface OptionSelector extends Base {
506
+ [x: string]: any;
507
+ conversions: Record<string, unknown>[];
508
+ buttons?: OptionSelectorButton[];
509
+ multiple?: boolean;
510
+ allow_deselect?: boolean;
511
+ dropdown?: boolean;
512
+ is_advanced_dropdown?: boolean;
513
+ maxSelection?: number;
514
+ block_selection_over_max?: boolean;
515
+ checkbox?: boolean;
516
+ layout?: 'horizontal_bars' | 'buttons_wrapped';
517
+ checkbox_location?: 'start' | 'end' | 'none';
518
+ allow_typing?: boolean;
519
+ defaultVal?: string;
520
+ preset_buttons?: string;
521
+ button_repeater_key?: string;
522
+ empty_invalid_message?: string;
523
+ invalid_message?: string;
524
+ validation_formula?: string;
525
+ outputs_onchange?: string[];
526
+ fetch_uri?: string;
527
+ fetch_headers?: string;
528
+ fetch_transformer?: string;
529
+ fetch_debounce?: string;
530
+ outputs_onbuttonsrepeatablerender?: string[];
531
+ richDescription?: boolean;
532
+ richText?: boolean;
533
+ randomize_buttons?: boolean;
534
+ }
535
+ export interface OptionSelectorButton {
536
+ id: string;
537
+ conditions?: Condition[];
538
+ key: string | null;
539
+ text?: string;
540
+ description?: string;
541
+ triggerEvent?: OptionSelectorButtonTriggerEvent;
542
+ openUrlInNewTab?: boolean;
543
+ url?: string;
544
+ single_select?: boolean;
545
+ icon?: string;
546
+ emojiIcon?: string;
547
+ imageUrl?: string;
548
+ imageAltText?: string;
549
+ hide?: boolean;
550
+ is_repeatable_button?: boolean;
551
+ }
552
+ type OptionSelectorButtonTriggerEvent = 'no-action' | 'next-page' | 'open-url';
553
+ interface ProgressBar extends Base {
554
+ progress_type?: 'circle' | 'simple' | 'custom';
555
+ allow_nav?: boolean;
556
+ fill_connectors?: boolean;
557
+ node_icon?: string;
558
+ showProgressPercentage?: boolean;
559
+ progressBarLabelPosition?: 'bottom' | 'left' | 'right';
560
+ percentageType?: 'percent-complete' | 'fractional';
561
+ progressBarStartAtOne?: boolean;
562
+ progressBarCompleteText?: string;
563
+ animate_in?: boolean;
564
+ }
565
+ export interface FileUpload extends Base {
566
+ upload_type?: 'all' | 'image' | 'audio' | 'video' | 'doc' | 'custom';
567
+ custom_upload_type?: string;
568
+ icon?: string;
569
+ sublabel?: string;
570
+ validate_value?: boolean;
571
+ empty_invalid_message?: string;
572
+ invalid_message?: string;
573
+ validation_formula?: string;
574
+ uploadFile?: boolean;
575
+ outputs_onchange?: string[];
576
+ multiple?: boolean;
577
+ files_max_limit?: number;
578
+ }
579
+ export interface BookMeeting extends Base {
580
+ service: 'hubspot' | 'calendly';
581
+ next_on_complete?: boolean;
582
+ next_on_complete_timeout?: number;
583
+ embedUrl: string;
584
+ store_scheduled_event_id?: string;
585
+ prefill_keys?: string[];
586
+ prefill?: {
587
+ firstname?: string;
588
+ lastname?: string;
589
+ email?: string;
590
+ [key: string]: string | undefined;
591
+ };
592
+ isTesting?: boolean;
593
+ }
594
+ interface Container extends Base {
595
+ container_type: string;
596
+ }
597
+ interface Breakpoint {
598
+ max_width: number;
599
+ name: string;
600
+ }
601
+ export interface UserData {
602
+ entryId: string;
603
+ createdAt: number;
604
+ current_page_id: string;
605
+ current_page_index: number;
606
+ current_page_key: string;
607
+ highest_page_reached_id: string;
608
+ highest_page_reached_index: number;
609
+ highest_page_reached_key: string;
610
+ _has_analytics: boolean;
611
+ _prefilled: {
612
+ [key: string]: unknown;
613
+ };
614
+ [key: string]: unknown;
615
+ }
616
+ export type ResetUserDataOptions = {
617
+ preserveCurrentPage?: boolean;
618
+ };
619
+ export type SetMultipleEmbeddableUpdateCommands = Array<{
620
+ type: 'add' | 'add_embeddable_property';
621
+ data: HistoryCommandData['add_embeddable_property'];
622
+ } | {
623
+ type: 'remove' | 'remove_embeddable_property';
624
+ data: HistoryCommandData['remove_embeddable_property'];
625
+ } | {
626
+ type: 'set' | 'update_embeddable_property';
627
+ data: HistoryCommandData['update_embeddable_property'];
628
+ }>;
629
+ type HistoryCommandData = {
630
+ update_flow_property: {
631
+ path: (string | number)[];
632
+ value: any;
633
+ };
634
+ update_embeddable_property: {
635
+ path: string[];
636
+ value: any;
637
+ objectMatchKey?: string;
638
+ alternativePathObjectMatchKeys?: string[];
639
+ };
640
+ add_flow_property: {
641
+ path: (string | number)[];
642
+ value: any;
643
+ position?: AddPosition;
644
+ };
645
+ add_embeddable_property: {
646
+ path: string[];
647
+ value: any;
648
+ position?: InsertPosition;
649
+ objectMatchKey?: string;
650
+ alternativePathObjectMatchKeys?: string[];
651
+ };
652
+ remove_flow_property: {
653
+ path: (string | number)[];
654
+ position?: string | number | (string | number)[];
655
+ };
656
+ remove_embeddable_property: {
657
+ path: string[];
658
+ propertyToRemove?: string;
659
+ objectMatchKey?: string;
660
+ isStringMatch?: boolean;
661
+ alternativePathObjectMatchKeys?: string[];
662
+ };
663
+ move_embeddable_property: {
664
+ elementId: string;
665
+ originPath: string[];
666
+ destinationPath?: string[];
667
+ position?: InsertPosition;
668
+ };
669
+ set_multiple_embeddable_updates: {
670
+ commands: SetMultipleEmbeddableUpdateCommands;
671
+ };
672
+ update_entire_flow: undefined;
673
+ };
674
+ export type HistoryCommand = {
675
+ [K in keyof HistoryCommandData]: {
676
+ id: string;
677
+ json?: Flow;
678
+ metadata: HistoryCommandMetadata;
679
+ type: K;
680
+ data: HistoryCommandData[K];
681
+ };
682
+ }[keyof HistoryCommandData];
683
+ export type HistoryCommandExecutionResult = {
684
+ command: HistoryCommand;
685
+ path?: string[];
686
+ status?: 'ERROR' | 'WARNING' | 'SUCCESS';
687
+ message?: string;
688
+ };
689
+ export type HistoryCommandMetadata = {
690
+ description: string;
691
+ trigger: {
692
+ origin: 'Layers' | 'Pages' | 'Assets' | 'Designer' | 'Options' | 'Add' | 'Logic' | 'AI' | 'DOM' | 'Shortcut' | 'Draft';
693
+ editor: string;
694
+ };
695
+ };
696
+ export type AddPosition = {
697
+ before: string | number;
698
+ } | {
699
+ after: string | number;
700
+ };
701
+ export type InsertPosition = {
702
+ after?: string;
703
+ before?: string;
704
+ inside?: string[];
705
+ globalLocation?: GlobalComponentLocation;
706
+ };
707
+ export type Action = {
708
+ id: string;
709
+ name: string;
710
+ output: 'custom' | 'airtable' | 'hubspot' | 'google-sheets' | 'sendgrid' | 'diahook';
711
+ manual_trigger_only?: boolean;
712
+ code?: string;
713
+ };
714
+ export interface AirtableAction extends Action {
715
+ mappingsAllowed: boolean;
716
+ mappings: Record<string, string>;
717
+ base: string;
718
+ table: string;
719
+ datastream: boolean;
720
+ excludeUnmappedKeys: boolean;
721
+ timeout: number;
722
+ submit_limit: number;
723
+ }
724
+ export interface HubspotAction extends Action {
725
+ mappingsAllowed: boolean;
726
+ mappings: Record<string, string>;
727
+ excludeUnmappedKeys: boolean;
728
+ timeout: number;
729
+ submit_limit: number;
730
+ submit_as_form: boolean;
731
+ }
732
+ export interface GoogleSheetsAction extends Action {
733
+ mappingsAllowed: boolean;
734
+ mappings: Record<string, string>;
735
+ excludeUnmappedKeys: boolean;
736
+ timeout: number;
737
+ submit_limit: number;
738
+ sheetUrl: string;
739
+ }
740
+ export interface WebhookAction extends Action {
741
+ mappingsAllowed: boolean;
742
+ mappings: Record<string, string>;
743
+ excludeUnmappedKeys: boolean;
744
+ timeout: number;
745
+ submit_limit: number;
746
+ outboundId: string;
747
+ }
748
+ export interface SendgridAction extends Action {
749
+ mappingsAllowed: boolean;
750
+ mappings: Record<string, string>;
751
+ excludeUnmappedKeys: boolean;
752
+ timeout: number;
753
+ submit_limit: number;
754
+ uniqueId?: string;
755
+ templateId?: string;
756
+ sendFromSavvy: boolean;
757
+ to?: string;
758
+ cc?: string;
759
+ bcc?: string;
760
+ from?: string;
761
+ toName?: string;
762
+ fromName?: string;
763
+ subject?: string;
764
+ }
765
+ export type ComputedField = {
766
+ id: string;
767
+ key: string;
768
+ formula: 'custom';
769
+ inputs?: string[];
770
+ input_triggers?: string[];
771
+ code?: string;
772
+ doNotSave?: boolean | 'cloud';
773
+ use_full_user_data?: boolean;
774
+ include_full_user_data?: boolean;
775
+ async?: boolean;
776
+ async_debounce_time?: string;
777
+ include_loading_state?: boolean;
778
+ cache_data?: boolean;
779
+ set_value_class?: boolean;
780
+ };
781
+ export interface ContentSource {
782
+ key: string;
783
+ source_type: 'embeddables_cms' | 'airtable';
784
+ source_config: SourceConfig;
785
+ multiple_records?: boolean;
786
+ controller_type?: ControllerType;
787
+ controller_key?: string;
788
+ }
789
+ export type ControllerType = 'url_pattern' | 'url_path_ends_with' | 'url_contains' | null;
790
+ type SourceConfig = EmbeddablesCmsSourceConfig | AirtableSourceConfig;
791
+ export interface EmbeddablesCmsSourceConfig {
792
+ table_id: string;
793
+ }
794
+ interface AirtableSourceConfig {
795
+ base_id: string;
796
+ table_id: string;
797
+ api_key: string;
798
+ }
799
+ export {};
800
+ //# sourceMappingURL=types-builder.d.ts.map