| @@ -1,4 +1,60 @@ | ||
| 1 | 1 | export interface IForm { |
| 2 | 2 | guid: string; |
| 3 | 3 | name: string; |
| 4 | + embedVersion: string; | |
| 4 | 5 | } |
| 6 | + | |
| 7 | +export enum HubSpotFormTemplateAvailabilityKeys { | |
| 8 | + AI_GENERATED = 'ai-generated', | |
| 9 | + BLANK = 'blank', | |
| 10 | + NEWSLETTER = 'newsletter', | |
| 11 | + CONTACT_US = 'contact-us', | |
| 12 | + EVENT_REGISTRATION = 'event-registration', | |
| 13 | + TALK_TO_AN_EXPERT = 'talk-to-an-expert', | |
| 14 | + BOOK_A_MEETING = 'book-a-meeting', | |
| 15 | + GATED_CONTENT = 'gated-content', | |
| 16 | + SUPPORT = 'support', | |
| 17 | +} | |
| 18 | + | |
| 19 | +export enum ExcludedTemplateAvailabilityKeys { | |
| 20 | + SUPPORT = 'support', | |
| 21 | + AI_GENERATED = 'ai-generated', | |
| 22 | +} | |
| 23 | + | |
| 24 | +export const TemplateLabels = { | |
| 25 | + [HubSpotFormTemplateAvailabilityKeys.BLANK]: 'Blank Form', | |
| 26 | + [HubSpotFormTemplateAvailabilityKeys.NEWSLETTER]: 'Newsletter Form', | |
| 27 | + [HubSpotFormTemplateAvailabilityKeys.CONTACT_US]: 'Contact Us Form', | |
| 28 | + [HubSpotFormTemplateAvailabilityKeys.EVENT_REGISTRATION]: | |
| 29 | + 'Event Registration Form', | |
| 30 | + [HubSpotFormTemplateAvailabilityKeys.TALK_TO_AN_EXPERT]: | |
| 31 | + 'Talk to an Expert Form', | |
| 32 | + [HubSpotFormTemplateAvailabilityKeys.BOOK_A_MEETING]: 'Book a Meeting Form', | |
| 33 | + [HubSpotFormTemplateAvailabilityKeys.GATED_CONTENT]: 'Gated Content Form', | |
| 34 | +}; | |
| 35 | + | |
| 36 | +export const TemplateValues = { | |
| 37 | + [HubSpotFormTemplateAvailabilityKeys.BLANK]: 'BLANK', | |
| 38 | + [HubSpotFormTemplateAvailabilityKeys.NEWSLETTER]: 'NEWSLETTER', | |
| 39 | + [HubSpotFormTemplateAvailabilityKeys.CONTACT_US]: 'CONTACT_US', | |
| 40 | + [HubSpotFormTemplateAvailabilityKeys.EVENT_REGISTRATION]: | |
| 41 | + 'EVENT_REGISTRATION', | |
| 42 | + [HubSpotFormTemplateAvailabilityKeys.TALK_TO_AN_EXPERT]: 'TALK_TO_AN_EXPERT', | |
| 43 | + [HubSpotFormTemplateAvailabilityKeys.BOOK_A_MEETING]: 'BOOK_A_MEETING', | |
| 44 | + [HubSpotFormTemplateAvailabilityKeys.GATED_CONTENT]: 'GATED_CONTENT', | |
| 45 | +}; | |
| 46 | + | |
| 47 | +export type HubSpotFormTemplateAvailability = { | |
| 48 | + canCreateWithMissingScopes: boolean; | |
| 49 | + previewImageUrl: string; | |
| 50 | + missingScopes: Array<string>; | |
| 51 | +}; | |
| 52 | + | |
| 53 | +export type TemplateAvailability = Record< | |
| 54 | + HubSpotFormTemplateAvailabilityKeys, | |
| 55 | + HubSpotFormTemplateAvailability | |
| 56 | +>; | |
| 57 | + | |
| 58 | +export type TemplateAvailabilityResponse = { | |
| 59 | + templateAvailability: TemplateAvailability; | |
| 60 | +}; | |