{ "version": 3, "sources": ["libs/sms/src/lib/token.ts", "libs/sms/src/lib/registration/a2p-registration/info-banner/learn-more-modal/learn-more-modal.component.ts", "libs/sms/src/lib/registration/a2p-registration/info-banner/learn-more-modal/learn-more-modal.component.html", "libs/sms/src/lib/registration/progress-tracker/progress-tracker.component.ts", "libs/sms/src/lib/registration/progress-tracker/progress-tracker.component.html", "libs/sms/src/lib/registration/a2p-registration/sms-registration-form/types.ts", "libs/sms/src/lib/registration/a2p-registration/a2p-registration.constants.ts", "libs/sms/src/lib/registration/a2p-registration/a2p-helper-functions.ts", "libs/sms/src/lib/registration/a2p-registration/a2p-registration.service.ts", "libs/sms/src/lib/registration/a2p-registration/info-banner/info-banner.component.ts", "libs/sms/src/lib/registration/a2p-registration/info-banner/info-banner.component.html", "libs/sms/src/lib/registration/a2p-registration/sms-registration-alert/sms-registration-alert.component.ts", "libs/sms/src/lib/registration/a2p-registration/sms-registration-alert/sms-registration-alert.component.html", "libs/sms/src/lib/registration/a2p-registration/sms-registration-error-banner/sms-registration-error-banner.component.ts", "libs/sms/src/lib/registration/a2p-registration/sms-registration-error-banner/sms-registration-error-banner.component.html", "libs/sms/src/lib/registration/a2p-registration/sms-registration-form/pipes/business-category-to-label.pipe.ts", "libs/sms/src/lib/registration/a2p-registration/sms-registration-form/pipes/region-to-label.pipe.ts", "libs/sms/src/lib/registration/a2p-registration/sms-registration-form/comfirmation-dialog/confirmation-modal.component.ts", "libs/sms/src/lib/registration/a2p-registration/sms-registration-form/comfirmation-dialog/confirmation-modal.component.html", "libs/sms/src/lib/registration/a2p-registration/sms-registration-form/sms-registration-form.component.ts", "libs/sms/src/lib/registration/a2p-registration/sms-registration-form/sms-registration-form.component.html", "libs/sms/src/lib/registration/a2p-registration/sms-registration/sms-registration.component.ts", "libs/sms/src/lib/registration/a2p-registration/sms-registration/sms-registration.component.html", "libs/sms/src/lib/assets/i18n/en_devel.json", "libs/sms/src/lib/assets/i18n/sms-i18n.module.ts", "libs/sms/src/lib/sms.module.ts", "libs/templates/src/lib/dynamic-component-selector/dynamic-component-selector.service.ts", "libs/templates/src/lib/dynamic-component-selector/dynamic-component-dialog/dynamic-component-dialog.component.ts", "libs/templates/src/lib/dynamic-component-selector/dynamic-component-dialog/dynamic-component-dialog.component.html", "libs/templates/src/lib/dynamic-component-selector/dynamic-component-selector.component.ts", "libs/templates/src/lib/dynamic-component-selector/dynamic-component-selector.component.html", "libs/templates/src/lib/assets/i18n/en_devel.json", "libs/templates/src/lib/assets/i18n/templates-i18n.module.ts", "libs/templates/src/lib/dynamic-component-selector/dynamic-component-selector.module.ts", "libs/templates/src/index.ts", "libs/sms/src/lib/text-message-builder/text-message-builder-form/text-message-builder-form.component.ts", "libs/sms/src/lib/text-message-builder/text-message-builder-form/text-message-builder-form.component.html", "libs/sms/src/lib/text-message-builder/text-message-builder-preview/text-message-builder-preview.component.ts", "libs/sms/src/lib/text-message-builder/text-message-builder-preview/text-message-builder-preview.component.html", "libs/sms/src/lib/text-message-builder/text-message-builder.component.ts", "libs/sms/src/lib/text-message-builder/text-message-builder.component.html", "libs/sms/src/lib/sms-config-service/sms-config.service.ts", "libs/sms/src/lib/interface.ts", "libs/sms/src/index.ts"], "sourcesContent": ["import { InjectionToken } from '@angular/core';\nimport { SmsRegistrationDependencies, SmsContext } from './interface';\n\nexport const SmsInjectionToken = new InjectionToken(\n 'dependencies for the sms registration',\n);\n\nexport const SmsContextToken = new InjectionToken('context for services in the sms lib');\n\nexport const SmsTextLimitToken = new InjectionToken('limits the allowable size of SMS text');\n", "import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n imports: [CommonModule, MatDialogModule, MatButtonModule],\n templateUrl: './learn-more-modal.component.html',\n styleUrls: ['./learn-more-modal.component.scss'],\n})\nexport class LearnMoreModalComponent {}\n", "
Required registration for SMS
\n\n SMS Registration Requirements\n

\n To prevent spam and other SMS abuse, phone carriers in the United States now require businesses to register their\n phone numbers before sending SMS messages to customers. (Policy known as A2P 10DLC)\n

\n How long does registration take?\n

\n Once the form has been submitted, registration through third-party verification can take anywhere from one week, up\n to one month. A third-party agency is being used by telecom carriers in the United States to verify business\n registration data with government databases.\n

\n How do I find my business registration number a.k.a. EIN / Tax ID?\n

\n An EIN is a nine-digit number the IRS uses to identify a business for tax purposes, much like a Social Security\n number identifies an individual business. In the US, the Internal Revenue Service (IRS) issues a CP 575 EIN\n Confirmation Letter to confirm the unique Employer Identification Number (EIN) issued to a new business. The EIN\n provided in a CP 575 letter is required to file your company’s taxes, open a business bank account, and apply for a\n business credit card, loan, or payroll processing. You may be able to find your number on previous business tax\n returns, loans, licenses or bank statements. If you can't find your EIN on any of your documents, you can contact\n the IRS at 800-829-4933, Monday through Friday between 7 a.m. and 7 p.m. local time. If your business does not have\n an EIN, you can apply for an EIN by submitting IRS Form SS-4 with the IRS.\n

\n How can I ensure my application is approved?\n

\n Make sure the data entered exactly matches the information associated with your EIN, including your legal company\n name. The most common reason for a business’s application being rejected is because the information entered in the\n form does not match the information the IRS has for the business, associated with your EIN.\n

\n What if my business deals with age-restricted products?\n

\n We do not handle age verification laws and associated requirements for SMS messaging. Consequently, industries\n related to age-restricted products, such as alcohol, firearms, gambling, tobacco, and other adult content, are not\n supported at this time.\n

\n What are prohibited uses and restricted industries?\n

\n Certain messaging use cases are strictly prohibited to ensure compliance with regulations and carrier requirements.\n The following categories of businesses cannot register for A2P messaging:\n

\n
    \n
  • High-risk financial services (e.g., payday loans, short-term high-interest loans, cryptocurrency)
  • \n
  • Third-party lead generation and marketing (e.g., affiliate marketing, deceptive practices)
  • \n
  • Debt collection or forgiveness services
  • \n
  • “Get rich quick” schemes (e.g., pyramid schemes, deceptive work-from-home opportunities)
  • \n
  • Illegal substances or articles (e.g., cannabis, CBD, kratom, paraphernalia products)
  • \n
  • Prescription drugs (e.g., drugs requiring a prescription)
  • \n
  • Gambling (e.g., casino apps, betting/sports picks, sweepstakes)
  • \n
  • Age-restricted content (e.g., alcohol, firearms, tobacco, vape/e-cigs)
  • \n
\n

\n These restrictions apply regardless of the content of the message. If your business operates within these\n categories, it will not be supported for A2P registration on our platform.\n

\n
\n\n \n\n", "import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIcon } from '@angular/material/icon';\n\nexport enum Status {\n NotStarted = 'not_started',\n InProgress = 'in_progress',\n Completed = 'completed',\n Failed = 'failed',\n}\nexport interface StageStatus {\n name: string;\n status: Status;\n}\n\n@Component({\n selector: 'sms-progress-tracker',\n imports: [CommonModule, MatIcon],\n templateUrl: './progress-tracker.component.html',\n styleUrl: './progress-tracker.component.scss',\n})\nexport class ProgressTrackerComponent {\n @Input({ required: true }) stages: StageStatus[] = [];\n\n private cssClasses: Map = new Map([\n [Status.NotStarted, 'tracker-not-started-color'],\n [Status.InProgress, 'tracker-in-progress-color'],\n [Status.Completed, 'tracker-completed-color'],\n [Status.Failed, 'tracker-failed-color'],\n ]);\n\n getClassForStatus(status: Status): string {\n return this.cssClasses.get(status) ?? '';\n }\n}\n", "
\n \n
\n
\n
\n
\n .\n .\n .\n
\n done\n close\n
\n
\n {{ stage.name }}\n
\n
\n
\n
\n", "export enum BusinessType {\n soleProprietorship = 'Sole Proprietorship',\n partnerShip = 'Partnership',\n limitedLiabilityCorporation = 'Limited Liability Corporation',\n coOperative = 'Co-operative',\n nonProfit = 'Non-profit Corporation',\n corporation = 'Corporation',\n}\n\n// aka Industry\nexport enum BusinessCategory {\n automotiveIndustry = 'AUTOMOTIVE',\n agriculture = 'AGRICULTURE',\n banking = 'BANKING',\n consumer = 'CONSUMER',\n education = 'EDUCATION',\n engineering = 'ENGINEERING',\n energy = 'ENERGY',\n oilAndGas = 'OIL_AND_GAS',\n fastMovingConsumerGoods = 'FAST_MOVING_CONSUMER_GOODS',\n financial = 'FINANCIAL',\n fintech = 'FINTECH',\n foodAndBeverage = 'FOOD_AND_BEVERAGE',\n government = 'GOVERNMENT',\n healthcare = 'HEALTHCARE',\n hospitality = 'HOSPITALITY',\n insurance = 'INSURANCE',\n legal = 'LEGAL',\n manufacturing = 'MANUFACTURING',\n media = 'MEDIA',\n online = 'ONLINE',\n rawMaterials = 'RAW_MATERIALS',\n realEstate = 'REAL_ESTATE',\n religion = 'RELIGION',\n retail = 'RETAIL',\n jewelry = 'JEWELRY',\n technology = 'TECHNOLOGY',\n telecommunications = 'TELECOMMUNICATIONS',\n transportation = 'TRANSPORTATION',\n travel = 'TRAVEL',\n electronics = 'ELECTRONICS',\n notForProfit = 'NOT_FOR_PROFIT',\n}\n\nconst businessCategoryLabels = new Map([\n [BusinessCategory.automotiveIndustry, 'Automotive Industry'],\n [BusinessCategory.agriculture, 'Agriculture'],\n [BusinessCategory.banking, 'Banking'],\n [BusinessCategory.consumer, 'Consumer'],\n [BusinessCategory.education, 'Education'],\n [BusinessCategory.engineering, 'Engineering'],\n [BusinessCategory.energy, 'Energy'],\n [BusinessCategory.oilAndGas, 'Oil and Gas'],\n [BusinessCategory.fastMovingConsumerGoods, 'Fast Moving Consumer Goods'],\n [BusinessCategory.financial, 'Financial'],\n [BusinessCategory.fintech, 'Fintech'],\n [BusinessCategory.foodAndBeverage, 'Food and Beverage'],\n [BusinessCategory.government, 'Government'],\n [BusinessCategory.healthcare, 'Healthcare'],\n [BusinessCategory.hospitality, 'Hospitality'],\n [BusinessCategory.insurance, 'Insurance'],\n [BusinessCategory.legal, 'Legal'],\n [BusinessCategory.manufacturing, 'Manufacturing'],\n [BusinessCategory.media, 'Media'],\n [BusinessCategory.online, 'Online'],\n [BusinessCategory.rawMaterials, 'Raw Materials'],\n [BusinessCategory.realEstate, 'Real Estate'],\n [BusinessCategory.religion, 'Religion'],\n [BusinessCategory.retail, 'Retail'],\n [BusinessCategory.jewelry, 'Jewelry'],\n [BusinessCategory.technology, 'Technology'],\n [BusinessCategory.telecommunications, 'Telecommunications'],\n [BusinessCategory.transportation, 'Transportation'],\n [BusinessCategory.travel, 'Travel'],\n [BusinessCategory.electronics, 'Electronics'],\n [BusinessCategory.notForProfit, 'Not for Profit'],\n]);\n\nexport const businessCategoryToLabel = (businessCategory: BusinessCategory): string => {\n return businessCategoryLabels.get(businessCategory);\n};\n\nexport enum Region {\n africa = 'AFRICA',\n asia = 'ASIA',\n europe = 'EUROPE',\n latinAmerica = 'LATIN_AMERICA',\n usaAndCanada = 'USA_AND_CANADA',\n}\n\nconst regionLabels = new Map([\n [Region.africa, 'Africa'],\n [Region.asia, 'Asia'],\n [Region.europe, 'Europe'],\n [Region.latinAmerica, 'Latin America'],\n [Region.usaAndCanada, 'USA and Canada'],\n]);\n\nexport const regionToLabel = (region: Region): string => {\n return regionLabels.get(region);\n};\n\nexport enum Position {\n director = 'Director',\n gm = 'GM',\n vp = 'VP',\n ceo = 'CEO',\n cfo = 'CFO',\n generalCounsel = 'General Counsel',\n otherPosition = 'Other',\n}\n", "export const NORTH_AMERICA_COUNTRIES = ['US', 'CA'];\n\nexport enum RegistrationStage {\n NotSubmitted = 0,\n ReviewingInfo = 1,\n RegistrationComplete = 2,\n DataError = 3,\n CampaignError = 4,\n}\n", "import {\n A2PRegistrationStatusInterface,\n BrandStatus,\n MessagingCampaignStatus,\n ValidationStatus,\n} from '@vendasta/smsv2';\nimport { RegistrationStage } from './a2p-registration.constants';\n\nexport function getRegistrationStage(\n a2pRegistrationStatus: A2PRegistrationStatusInterface,\n isSubmitted: boolean,\n): RegistrationStage {\n const secondaryBusinessProfileStatus =\n a2pRegistrationStatus?.secondaryBusinessProfile?.status ?? ValidationStatus.VALIDATION_STATUS_UNSPECIFIED;\n const trustBundleStatus =\n a2pRegistrationStatus?.trustBundle?.status ?? ValidationStatus.VALIDATION_STATUS_UNSPECIFIED;\n const brandStatus = a2pRegistrationStatus?.brand?.status ?? BrandStatus.BRAND_STATUS_UNSPECIFIED;\n const messagingCampaignStatus =\n a2pRegistrationStatus?.messagingCampaign?.status ?? MessagingCampaignStatus.MESSAGING_CAMPAIGN_STATUS_UNSPECIFIED;\n\n if (!isSubmitted) {\n return RegistrationStage.NotSubmitted;\n }\n\n if (\n secondaryBusinessProfileStatus === ValidationStatus.VALIDATION_STATUS_NON_COMPLIANT ||\n trustBundleStatus === ValidationStatus.VALIDATION_STATUS_NON_COMPLIANT ||\n brandStatus === BrandStatus.BRAND_STATUS_FAILED\n ) {\n return RegistrationStage.DataError;\n }\n\n // This is separate because the data in the form is acceptable, but it failed for other reasons outside the user's control\n if (messagingCampaignStatus === MessagingCampaignStatus.MESSAGING_CAMPAIGN_STATUS_FAILED) {\n return RegistrationStage.CampaignError;\n }\n\n if (messagingCampaignStatus === MessagingCampaignStatus.MESSAGING_CAMPAIGN_STATUS_VERIFIED) {\n return RegistrationStage.RegistrationComplete;\n }\n\n return RegistrationStage.ReviewingInfo;\n}\n", "import { HttpResponse } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { AccountGroup, AccountGroupService, ProjectionFilter } from '@galaxy/account-group';\nimport { GetPartnerModelRequest, PartnerModelApiService } from '@vendasta/partner';\nimport {\n A2PRegistrationApiService,\n A2PRegistrationInfoInterface,\n A2PRegistrationStatusInterface,\n CreateA2PRegistrationInfoRequestInterface,\n GetA2PRegistrationInfoRequestInterface,\n GetA2PRegistrationInfoResponseInterface,\n GetLatestA2PRegistrationStatusRequestInterface,\n OwnerType,\n} from '@vendasta/smsv2';\nimport { UpsertA2PRegistrationInfoRequestInterface } from '@vendasta/smsv2/lib/_internal/interfaces/api.interface';\nimport { GetLatestA2PRegistrationStatusResponse } from '@vendasta/smsv2/lib/_internal/objects';\nimport {\n BehaviorSubject,\n catchError,\n combineLatest,\n distinctUntilChanged,\n firstValueFrom,\n map,\n Observable,\n of,\n shareReplay,\n} from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { SmsRegistrationDependencies } from '../../interface';\nimport { Region } from './sms-registration-form/types';\nimport { NORTH_AMERICA_COUNTRIES, RegistrationStage } from './a2p-registration.constants';\nimport { SmsInjectionToken } from '../../token';\nimport { getRegistrationStage } from './a2p-helper-functions';\n\nexport interface A2PRegistrationState {\n a2pRegistrationInfo: A2PRegistrationInfoInterface;\n a2pRegistrationStatus: A2PRegistrationStatusInterface;\n RegistrationStage: RegistrationStage;\n}\n\nexport interface OwnerLocation {\n ownerId: string;\n ownerType: OwnerType;\n streetAddress?: string;\n streetAddressSecondary?: string;\n city?: string;\n state?: string;\n postalCode?: string;\n country?: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class A2PRegistrationService {\n private readonly A2PRegistrationState$$: BehaviorSubject =\n new BehaviorSubject({\n a2pRegistrationInfo: {} as A2PRegistrationInfoInterface,\n a2pRegistrationStatus: {} as A2PRegistrationStatusInterface,\n RegistrationStage: RegistrationStage.NotSubmitted,\n });\n\n public readonly A2PRegistrationState$: Observable = this.A2PRegistrationState$$.asObservable();\n\n public readonly registrationStage$: Observable = this.A2PRegistrationState$$.asObservable().pipe(\n map((state) => state.RegistrationStage),\n );\n\n public readonly a2PRegistrationInfo$: Observable = this.A2PRegistrationState$$.pipe(\n map((state) => state.a2pRegistrationInfo),\n );\n\n public readonly a2pRegistrationStatus$: Observable = this.A2PRegistrationState$$.pipe(\n map((state) => state.a2pRegistrationStatus),\n );\n\n public readonly showExternalBanner$: Observable = this.registrationStage$.pipe(\n map((stage) => stage === RegistrationStage.NotSubmitted || stage === RegistrationStage.DataError),\n shareReplay(1),\n );\n\n ownerId$: Observable;\n public ownerType: OwnerType = this.config.ownerType;\n\n constructor(\n private a2pRegistrationApiService: A2PRegistrationApiService,\n private partnerService: PartnerModelApiService,\n private accountGroupService: AccountGroupService,\n @Inject(SmsInjectionToken) private readonly config: SmsRegistrationDependencies,\n ) {\n this.ownerId$ = this.config.ownerId$.pipe(distinctUntilChanged(), shareReplay(1));\n\n const existingA2PRegistrationInfo$ = this.ownerId$.pipe(\n switchMap((ownerId) => {\n const request = {\n ownerId: ownerId,\n } as GetA2PRegistrationInfoRequestInterface;\n return this.a2pRegistrationApiService.getA2pRegistrationInfo(request).pipe(\n catchError(() => {\n console.error('Error getting A2P registration info');\n return of({} as GetA2PRegistrationInfoResponseInterface);\n }),\n );\n }),\n );\n\n const existingA2PRegistrationStatus$ = combineLatest([this.config.ownerId$, this.config.subaccountID$]).pipe(\n switchMap(([ownerId, subaccountId]) => {\n if (!ownerId || !subaccountId) {\n return of({} as GetLatestA2PRegistrationStatusResponse);\n }\n const request = {\n ownerId: ownerId,\n subaccountId: subaccountId,\n } as GetLatestA2PRegistrationStatusRequestInterface;\n return this.a2pRegistrationApiService.getLatestA2pRegistrationStatus(request).pipe(\n catchError((e) => {\n console.error('getLatestA2pRegistrationStatus error:', e);\n return of({} as GetLatestA2PRegistrationStatusResponse);\n }),\n );\n }),\n map((response) => response.status),\n catchError(() => of({} as A2PRegistrationStatusInterface)),\n );\n\n combineLatest([existingA2PRegistrationInfo$, existingA2PRegistrationStatus$]).subscribe(\n ([a2pRegistrationInfo, a2pRegistrationStatus]) => {\n const a2pInfo = a2pRegistrationInfo?.a2pRegistrationInfo ?? ({} as A2PRegistrationInfoInterface);\n const isSubmitted = !!a2pInfo?.submitted && a2pInfo?.submitted > new Date(2023, 1, 1);\n this.A2PRegistrationState$$.next({\n a2pRegistrationInfo: a2pInfo,\n a2pRegistrationStatus: a2pRegistrationStatus,\n RegistrationStage: getRegistrationStage(a2pRegistrationStatus, isSubmitted),\n });\n },\n );\n }\n\n public async upsertA2pRegistration(request: UpsertA2PRegistrationInfoRequestInterface): Promise> {\n const ownerId = await firstValueFrom(this.ownerId$);\n request.ownerId = ownerId;\n request.ownerType = this.config.ownerType;\n return await firstValueFrom(\n this.a2pRegistrationApiService.upsertA2pRegistrationInfo(request).pipe(\n map((response) => {\n this.updateA2pRegistrationInfo(request);\n return response;\n }),\n ),\n );\n }\n\n private updateA2pRegistrationInfo(\n a2pRegistrationInfo: CreateA2PRegistrationInfoRequestInterface | UpsertA2PRegistrationInfoRequestInterface,\n ): void {\n const currentState = this.A2PRegistrationState$$.getValue();\n this.A2PRegistrationState$$.next({\n ...currentState,\n a2pRegistrationInfo: {\n ...currentState.a2pRegistrationInfo,\n ...a2pRegistrationInfo,\n submitted: a2pRegistrationInfo.submitted ? new Date() : currentState.a2pRegistrationInfo.submitted,\n },\n RegistrationStage: getRegistrationStage(currentState.a2pRegistrationStatus, true),\n });\n }\n\n getAccountGroupInfo$(): Observable {\n return this.ownerId$.pipe(\n switchMap((ownerId) => {\n return this.accountGroupService\n .get(ownerId, new ProjectionFilter({ napData: true }))\n .pipe(catchError(() => of({} as AccountGroup)));\n }),\n );\n }\n\n getOwnerLocation$(): Observable {\n if (this.ownerType === OwnerType.OWNER_TYPE_ACCOUNT_GROUP) {\n return this.getAccountGroupInfo$().pipe(\n map((accountGroupInfo) => {\n return {\n ownerId: accountGroupInfo?.accountGroupId,\n ownerType: OwnerType.OWNER_TYPE_ACCOUNT_GROUP,\n streetAddress: accountGroupInfo?.napData?.address,\n streetAddressSecondary: accountGroupInfo?.napData?.address2,\n city: accountGroupInfo?.napData?.city,\n state: accountGroupInfo?.napData?.state,\n postalCode: accountGroupInfo?.napData?.zip,\n country: accountGroupInfo?.napData?.country,\n };\n }),\n );\n } else if (this.ownerType === OwnerType.OWNER_TYPE_PARTNER) {\n return this.ownerId$.pipe(\n switchMap((partnerId) => this.partnerService.getPartnerModel(new GetPartnerModelRequest({ partnerId }))),\n map((partnerResponse) => {\n const partnerModel = partnerResponse?.partner;\n return {\n ownerId: partnerModel?.partnerId,\n ownerType: OwnerType.OWNER_TYPE_PARTNER,\n streetAddress: partnerModel?.addressLineOne,\n streetAddressSecondary: partnerModel?.addressLineTwo,\n city: partnerModel?.city,\n state: partnerModel?.stateCode,\n postalCode: partnerModel?.postalCode,\n country: partnerModel?.countryCode,\n };\n }),\n );\n }\n return of({} as OwnerLocation);\n }\n\n getPrefillA2PFormInfo(): Observable {\n return this.a2PRegistrationInfo$.pipe(\n switchMap((a2PRegistrationInfo) => {\n //If there is submitted A2P form data from different app\n if (a2PRegistrationInfo && Object.keys(a2PRegistrationInfo).length > 0) {\n return of(a2PRegistrationInfo);\n }\n\n if (this.ownerType === OwnerType.OWNER_TYPE_ACCOUNT_GROUP) {\n return this.getAccountGroupInfo$().pipe(\n map((accountGroupInfo) => {\n return {\n business: {\n regionOfOperation: NORTH_AMERICA_COUNTRIES.includes(accountGroupInfo?.napData?.country)\n ? Region.usaAndCanada\n : '',\n streetAddress: accountGroupInfo?.napData?.address,\n streetAddressSecondary: accountGroupInfo?.napData?.address2,\n state: accountGroupInfo?.napData?.state,\n city: accountGroupInfo?.napData?.city,\n postalCode: accountGroupInfo?.napData?.zip,\n websiteUrl: accountGroupInfo?.napData?.website,\n },\n } as A2PRegistrationInfoInterface;\n }),\n );\n }\n\n return of({} as A2PRegistrationInfoInterface);\n }),\n );\n }\n}\n", "import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCardModule } from '@angular/material/card';\nimport { GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { LearnMoreModalComponent } from './learn-more-modal/learn-more-modal.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ProgressTrackerComponent, StageStatus, Status } from '../../progress-tracker/progress-tracker.component';\nimport { map, Observable } from 'rxjs';\nimport { A2PRegistrationService } from '../a2p-registration.service';\nimport { RegistrationStage } from '../a2p-registration.constants';\nimport {\n A2PRegistrationStatusInterface,\n BrandStatus,\n MessagingCampaignStatus,\n ValidationStatus,\n} from '@vendasta/smsv2';\n\n@Component({\n selector: 'sms-info-banner',\n imports: [CommonModule, MatCardModule, GalaxyBadgeModule, MatButtonModule, TranslateModule, ProgressTrackerComponent],\n templateUrl: './info-banner.component.html',\n styleUrls: ['./info-banner.component.scss'],\n})\nexport class InfoBannerComponent {\n stages$: Observable;\n constructor(\n private dialog: MatDialog,\n private readonly smsRegistrationService: A2PRegistrationService,\n ) {\n this.stages$ = this.smsRegistrationService.A2PRegistrationState$.pipe(\n map((state) => {\n if (state.RegistrationStage === RegistrationStage.NotSubmitted) {\n return [\n { name: 'Submit information', status: Status.NotStarted },\n { name: 'Information review', status: Status.NotStarted },\n { name: 'Final approval', status: Status.NotStarted },\n ];\n }\n\n return [\n { name: 'Information submitted', status: Status.Completed },\n this.getInformationStageStatus(state?.a2pRegistrationStatus),\n this.getMessagingCampaignStageStatus(state?.a2pRegistrationStatus),\n ];\n }),\n );\n }\n\n openLearnMoreModal(): void {\n this.dialog.open(LearnMoreModalComponent, { width: '600px' });\n }\n\n private getInformationStageStatus(registrationStatus: A2PRegistrationStatusInterface): StageStatus {\n let informationStatus: Status = Status.InProgress; // Default to in progress, this assumes info has been submitted\n const secondaryBusinessProfileStatus = registrationStatus?.secondaryBusinessProfile?.status;\n const trustBundleStatus = registrationStatus?.trustBundle?.status;\n const brandStatus = registrationStatus?.brand?.status;\n\n if (brandStatus === BrandStatus.BRAND_STATUS_APPROVED) {\n informationStatus = Status.Completed;\n } else if (\n secondaryBusinessProfileStatus === ValidationStatus.VALIDATION_STATUS_NON_COMPLIANT ||\n trustBundleStatus === ValidationStatus.VALIDATION_STATUS_NON_COMPLIANT ||\n brandStatus === BrandStatus.BRAND_STATUS_FAILED\n ) {\n informationStatus = Status.Failed;\n }\n\n switch (informationStatus) {\n case Status.InProgress:\n return { name: 'Information review', status: Status.InProgress };\n case Status.Completed:\n return { name: 'Information approved', status: Status.Completed };\n case Status.Failed:\n return { name: 'Information rejected', status: Status.Failed };\n default:\n return { name: 'Information review', status: Status.InProgress };\n }\n }\n\n private getMessagingCampaignStageStatus(registrationStatus: A2PRegistrationStatusInterface): StageStatus {\n const informationStageStatus = this.getInformationStageStatus(registrationStatus);\n let campaignStatus: Status =\n informationStageStatus.status === Status.Completed ? Status.InProgress : Status.NotStarted;\n\n const messagingCampaignStatus = registrationStatus?.messagingCampaign?.status;\n if (messagingCampaignStatus === MessagingCampaignStatus.MESSAGING_CAMPAIGN_STATUS_VERIFIED) {\n campaignStatus = Status.Completed;\n } else if (messagingCampaignStatus === MessagingCampaignStatus.MESSAGING_CAMPAIGN_STATUS_FAILED) {\n campaignStatus = Status.Failed;\n } else if (messagingCampaignStatus === MessagingCampaignStatus.MESSAGING_CAMPAIGN_STATUS_PENDING) {\n campaignStatus = Status.InProgress;\n }\n\n switch (campaignStatus) {\n case Status.InProgress:\n return { name: 'Final approval', status: Status.InProgress };\n case Status.Completed:\n return { name: 'Approved', status: Status.Completed };\n case Status.Failed:\n return { name: 'Not approved', status: Status.Failed };\n default:\n return { name: 'Final approval', status: Status.NotStarted };\n }\n }\n}\n", "\n \n Registration for messaging US recipients \n \n To send SMS messages to recipients located in the US, provide business details below\n \n \n \n \n \n \n \n \n\n", "import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AlertTypes } from '@vendasta/galaxy/alert';\nimport { Observable } from 'rxjs';\nimport { A2PRegistrationService } from '../a2p-registration.service';\nimport { RegistrationStage } from '../a2p-registration.constants';\n\n@Component({\n selector: 'sms-registration-alert',\n templateUrl: './sms-registration-alert.component.html',\n styleUrls: ['./sms-registration-alert.component.scss'],\n standalone: false,\n})\nexport class SmsRegistrationAlertComponent {\n @Input() alertType: AlertTypes = 'important';\n @Output() actionClick: EventEmitter = new EventEmitter();\n registrationStage$: Observable;\n\n protected readonly RegistrationStage = RegistrationStage;\n\n constructor(private smsRegistrationService: A2PRegistrationService) {\n this.registrationStage$ = smsRegistrationService.registrationStage$;\n }\n\n actionClicked(): void {\n this.actionClick.emit();\n }\n}\n", "\n {{ 'SMS_REGISTRATION.ALERT.BUSINESS_INFO_REQUIRED_TITLE' | translate }} -\n {{ 'SMS_REGISTRATION.ALERT.MORE_DETAILS_SUGGESTION' | translate }}\n\n\n {{ 'SMS_REGISTRATION.ALERT.REJECTED_TITLE' | translate }} -\n {{ 'SMS_REGISTRATION.ALERT.REJECTED_SUGGESTION' | translate }}\n\n", "import { Component, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { A2PRegistrationService } from '../a2p-registration.service';\nimport { RegistrationStage } from '../a2p-registration.constants';\nimport { LearnMoreModalComponent } from '../info-banner/learn-more-modal/learn-more-modal.component';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'sms-registration-error-banner',\n templateUrl: './sms-registration-error-banner.component.html',\n styleUrls: ['./sms-registration-error-banner.component.scss'],\n standalone: false,\n})\nexport class SmsRegistrationErrorBannerComponent implements OnInit {\n registrationStage$: Observable;\n\n protected readonly RegistrationStage = RegistrationStage;\n\n constructor(\n private smsRegistrationService: A2PRegistrationService,\n private dialog: MatDialog,\n ) {}\n\n ngOnInit() {\n this.registrationStage$ = this.smsRegistrationService.registrationStage$;\n }\n openLearnMoreModal(): void {\n this.dialog.open(LearnMoreModalComponent, { width: '600px' });\n }\n}\n", "\n \n {{ 'SMS_REGISTRATION.ALERT.REJECTED_TITLE' | translate }} -\n {{ 'SMS_REGISTRATION.ALERT.REJECTED_SUGGESTION' | translate }}\n \n\n", "import { Pipe, PipeTransform } from '@angular/core';\nimport { BusinessCategory, businessCategoryToLabel } from '../types';\n\n@Pipe({\n name: 'businessCategoryToLabel',\n standalone: true,\n})\nexport class BusinessCategoryToLabelPipe implements PipeTransform {\n transform(businessCategory: BusinessCategory): string {\n return businessCategoryToLabel(businessCategory);\n }\n}\n", "import { Pipe, PipeTransform } from '@angular/core';\nimport { Region, regionToLabel } from '../types';\n\n@Pipe({\n name: 'regionToLabel',\n standalone: true,\n})\nexport class RegionToLabelPipe implements PipeTransform {\n transform(region: Region): string {\n return regionToLabel(region);\n }\n}\n", "import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'sms-comfirmation-dialog',\n imports: [CommonModule, MatDialogModule, MatButtonModule],\n templateUrl: './confirmation-modal.component.html',\n styleUrls: ['./confirmation-modal.component.scss'],\n})\nexport class ConfirmationModalComponent {}\n", "

Submit business information?

\n\n

\n You will not be able to edit this information after submitting. Make sure that all the information you've provided\n is accurate.\n

\n
\n\n \n \n\n", "import { Component, DestroyRef, OnDestroy, OnInit } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport {\n A2PRegistrationInfoInterface,\n A2PRegistrationStatusInterface,\n AuthorizedRepresentativeInterface,\n BrandStatus,\n BusinessInterface,\n DataField,\n RegistrationIdentifierInterface,\n UpsertA2PRegistrationInfoRequestInterface,\n ValidationStatus,\n} from '@vendasta/smsv2';\nimport { Subscription, combineLatest, take } from 'rxjs';\nimport { A2PRegistrationService } from '../a2p-registration.service';\nimport { RegistrationStage } from '../a2p-registration.constants';\nimport { ConfirmationModalComponent } from './comfirmation-dialog/confirmation-modal.component';\nimport { BusinessCategory, BusinessType, Position, Region } from './types';\n\n// The format for american EINsn(Employer Identification Number) is XX-XXXXXXX\nconst EIN_REGEX = /^\\d{2}-\\d{7}$/;\n\n// The format of the phone number is +1 (XXX) XXX-XXXX\nconst PHONE_NUMBER_REGEX = /^\\+\\d{1,3}-\\d{3}-\\d{3}-\\d{4}$/;\n\n// The format of zip codes is either XXXXX or XXXXX-XXXX\nconst ZIP_CODE_REGEX = /^\\d{5}(?:-\\d{4})?$/;\n\n// IdentifierTypeEIN USA: Employer Identification Number.\nconst IdentifierTypeEIN = 'EIN';\n\nconst additionalAddressLine = 'additionalAddressLine';\nconst businessRegistrationNumber = 'businessRegistrationNumber';\nconst businessName = 'businessName';\n\n@Component({\n selector: 'sms-registration-form',\n templateUrl: './sms-registration-form.component.html',\n styleUrls: ['./sms-registration-form.component.scss'],\n standalone: false,\n})\nexport class SmsRegistrationFormComponent implements OnInit, OnDestroy {\n BusinessCategories = Object.values(BusinessCategory);\n BusinessTypes = Object.values(BusinessType);\n Regions = Object.values(Region);\n JobPositions = Object.values(Position);\n\n smsForm: FormGroup;\n formLocked = false;\n registrationStage: RegistrationStage = RegistrationStage.NotSubmitted;\n initialRegistrationFormInfo: Map = new Map();\n fieldsWithIssues: string[] = [];\n groupOfSomeValuesNeedToChange: string[] = [];\n customValidatorsMap = new Map();\n\n subscriptions: Subscription[] = [];\n\n fieldWithIssuesToFormFieldsMapping = new Map([\n [DataField.DATA_FIELD_LEGAL_BUSINESS_NAME, 'businessName'],\n [DataField.DATA_FIELD_BUSINESS_CATEGORY, 'businessCategory'],\n [DataField.DATA_FIELD_BUSINESS_TYPE, 'businessType'],\n [DataField.DATA_FIELD_REGION_OF_OPERATION, 'regionOfOperation'],\n [DataField.DATA_FIELD_BUSINESS_REGISTRATION_NUMBER, 'businessRegistrationNumber'],\n [DataField.DATA_FIELD_STREET_ADDRESS, 'address'],\n [DataField.DATA_FIELD_STREET_ADDRESS_SECONDARY, 'additionalAddressLine'],\n [DataField.DATA_FIELD_CITY, 'city'],\n [DataField.DATA_FIELD_STATE, 'state'],\n [DataField.DATA_FIELD_POSTAL_CODE, 'zipCode'],\n [DataField.DATA_FIELD_WEBSITE_URL, 'website'],\n [DataField.DATA_FIELD_COUNTRY, 'country'],\n [DataField.DATA_FIELD_FIRST_NAME, 'firstName'],\n [DataField.DATA_FIELD_LAST_NAME, 'lastName'],\n [DataField.DATA_FIELD_JOB_POSITION, 'jobPosition'],\n [DataField.DATA_FIELD_BUSINESS_TITLE, 'businessTitle'],\n [DataField.DATA_FIELD_EMAIL, 'email'],\n [DataField.DATA_FIELD_PHONE_NUMBER, 'phoneNumber'],\n ]);\n\n constructor(\n private formBuilder: FormBuilder,\n private smsRegistrationService: A2PRegistrationService,\n private snackbarService: SnackbarService,\n private modal: MatDialog,\n private destroyRef: DestroyRef,\n ) {\n this.smsForm = this.formBuilder.group({\n businessName: ['', Validators.maxLength(64)],\n businessCategory: [''],\n businessType: [''],\n regionOfOperation: [''],\n businessRegistrationNumber: ['', Validators.pattern(EIN_REGEX)],\n address: [''],\n additionalAddressLine: [''],\n state: [''],\n city: [''],\n zipCode: ['', Validators.pattern(ZIP_CODE_REGEX)],\n website: [''],\n firstName: [''],\n lastName: [''],\n jobPosition: [''],\n businessTitle: [''],\n email: ['', Validators.email],\n phoneNumber: ['', Validators.pattern(PHONE_NUMBER_REGEX)],\n });\n }\n\n ngOnInit(): void {\n this.getRegistration();\n const sub = this.smsForm.controls['jobPosition'].valueChanges.subscribe((value: string) => {\n const businessTitle = this.smsForm.value.businessTitle;\n const businessTitleInJobPositions = this.JobPositions.some((p) => p === businessTitle);\n\n if (value !== Position.otherPosition && (businessTitle === '' || businessTitleInJobPositions)) {\n this.smsForm.controls['businessTitle'].patchValue(value);\n } else if (value === Position.otherPosition && businessTitleInJobPositions) {\n this.smsForm.controls['businessTitle'].patchValue('');\n }\n });\n this.subscriptions.push(sub);\n\n Object.keys(this.smsForm.controls).forEach((key) => {\n this.subscriptions.push(\n this.smsForm.controls[key].valueChanges.subscribe(() => {\n if (this.groupOfSomeValuesNeedToChange.includes(key)) {\n this.groupOfSomeValuesNeedToChange.forEach((fieldName) => {\n this.smsForm.controls[fieldName].updateValueAndValidity({ emitEvent: false });\n });\n }\n }),\n );\n });\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((s) => s.unsubscribe());\n }\n\n submitRegistrationForm(): void {\n this.toggleSubmitValidators(true);\n if (this.smsForm.invalid) {\n this.snackbarService.openErrorSnack('Invalid data for submission');\n return;\n }\n\n this.modal\n .open(ConfirmationModalComponent, { width: '420px' })\n .afterClosed()\n .pipe(take(1))\n .subscribe((result) => {\n if (result) {\n this.upsertData(true);\n }\n });\n }\n\n saveChanges(): void {\n // Don't show errors for empty required fields & unchanged error fields, when doing partial save\n this.toggleSubmitValidators(false);\n\n // Check for formatting errors\n const hasFormatErrors = Object.keys(this.smsForm.controls).some((key) => {\n const errors = this.smsForm.controls[key].errors;\n if (errors === null) {\n return;\n }\n\n return Object.keys(errors).some((errorKey) => errorKey !== 'required');\n });\n\n // If there are formatting errors don't save the form\n if (hasFormatErrors) {\n this.snackbarService.openErrorSnack('Invalid format for some fields');\n\n return;\n }\n\n this.upsertData(false);\n }\n\n upsertData(isSubmitted: boolean): void {\n const form = this.smsForm.value;\n // TODO: get country from form\n const country = 'US';\n\n const request = {\n business: {\n legalName: form.businessName,\n businessType: form.businessType,\n industry: form.businessCategory,\n registrationIdentifier: {\n identifierType: IdentifierTypeEIN,\n identifier: form.businessRegistrationNumber,\n } as RegistrationIdentifierInterface,\n regionOfOperation: form.regionOfOperation,\n websiteUrl: form.website,\n socialMediaProfileUrls: [],\n streetAddress: form.address,\n streetAddressSecondary: form.additionalAddressLine,\n city: form.city,\n state: form.state,\n postalCode: form.zipCode,\n country: country,\n } as BusinessInterface,\n authorizedRepresentative: {\n firstName: form.firstName,\n lastName: form.lastName,\n email: form.email,\n phoneNumber: form.phoneNumber,\n businessTitle: form.businessTitle,\n jobPosition: form.jobPosition,\n } as AuthorizedRepresentativeInterface,\n submitted: isSubmitted,\n } as UpsertA2PRegistrationInfoRequestInterface;\n this.smsRegistrationService\n .upsertA2pRegistration(request)\n .then(() => {\n this.snackbarService.openWithOptions('Registration Saved Successfully', {\n panelClass: ['success-snackbar'],\n });\n if (isSubmitted) {\n this.lockForm();\n }\n })\n .catch(() => {\n this.snackbarService.openErrorSnack('Error Saving Registration');\n });\n }\n\n getRegistration(): void {\n combineLatest([\n this.smsRegistrationService.a2PRegistrationInfo$,\n this.smsRegistrationService.registrationStage$,\n this.smsRegistrationService.a2pRegistrationStatus$,\n this.smsRegistrationService.getPrefillA2PFormInfo(),\n ])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(\n ([a2pRegistrationInfo, registrationStage, registrationStatus, a2PFormInfo]) => {\n this.registrationStage = registrationStage;\n this.prefillFormWithA2PFormInfo(a2PFormInfo as A2PRegistrationInfoInterface);\n\n if (\n registrationStage !== RegistrationStage.NotSubmitted &&\n registrationStage !== RegistrationStage.DataError\n ) {\n this.lockForm();\n } else {\n this.unlockForm();\n }\n\n if (registrationStage === RegistrationStage.DataError) {\n this.initialRegistrationFormInfo = this.getInitialRegistrationFormInfo(a2pRegistrationInfo);\n this.fieldsWithIssues = this.getFormFieldsWithIssues(registrationStatus);\n this.groupOfSomeValuesNeedToChange = this.getGroupOfSomeValuesNeedToChange(registrationStatus);\n this.fieldsWithIssues.forEach((fieldName) => {\n const control = this.smsForm.get(fieldName);\n if (control) {\n control.markAsTouched();\n }\n });\n this.groupOfSomeValuesNeedToChange.forEach((fieldName) => {\n const control = this.smsForm.get(fieldName);\n if (control) {\n control.markAsTouched();\n }\n });\n this.toggleSubmitValidators(true);\n }\n },\n (error) => {\n if (error.status !== 404) {\n this.snackbarService.openErrorSnack('Error Fetching Registration');\n }\n },\n );\n }\n\n lockForm(): void {\n this.formLocked = true;\n this.smsForm.disable();\n }\n\n unlockForm(): void {\n this.formLocked = false;\n this.smsForm.enable();\n }\n\n toggleSubmitValidators(on: boolean): void {\n Object.keys(this.smsForm.controls).forEach((key) => {\n const control = this.smsForm.controls[key];\n if (on) {\n if (key !== additionalAddressLine) {\n control.addValidators(Validators.required);\n }\n if (this.fieldsWithIssues.includes(key) && this.registrationStage === RegistrationStage.DataError) {\n const val = this.initialRegistrationFormInfo.get(key);\n if (val !== undefined) {\n const sameValueValidatorFn = this.sameValueValidator(val);\n control.addValidators(sameValueValidatorFn);\n this.customValidatorsMap.set(key, sameValueValidatorFn);\n }\n } else if (\n this.groupOfSomeValuesNeedToChange.includes(key) &&\n this.registrationStage === RegistrationStage.DataError\n ) {\n const someValueNeedsToChange = this.someValueNeedsToChangeValidator(this.groupOfSomeValuesNeedToChange);\n\n control.addValidators(someValueNeedsToChange);\n this.customValidatorsMap.set(key, someValueNeedsToChange);\n }\n } else {\n control.removeValidators(Validators.required);\n const customValidatorFn = this.customValidatorsMap.get(key);\n if (customValidatorFn) {\n control.removeValidators(customValidatorFn);\n this.customValidatorsMap.delete(key);\n }\n }\n\n control.updateValueAndValidity();\n });\n }\n\n getInitialRegistrationFormInfo(a2PRegistrationInfo: A2PRegistrationInfoInterface): Map {\n const result = new Map();\n result.set('businessName', a2PRegistrationInfo?.business?.legalName || '');\n result.set('businessCategory', a2PRegistrationInfo?.business?.industry || '');\n result.set('businessType', a2PRegistrationInfo?.business?.businessType || '');\n result.set('regionOfOperation', a2PRegistrationInfo?.business?.regionOfOperation || '');\n result.set('businessRegistrationNumber', a2PRegistrationInfo?.business?.registrationIdentifier?.identifier || '');\n result.set('address', a2PRegistrationInfo?.business?.streetAddress || '');\n result.set('additionalAddressLine', a2PRegistrationInfo?.business?.streetAddressSecondary || '');\n result.set('state', a2PRegistrationInfo?.business?.state || '');\n result.set('city', a2PRegistrationInfo?.business?.city || '');\n result.set('zipCode', a2PRegistrationInfo?.business?.postalCode || '');\n result.set('website', a2PRegistrationInfo?.business?.websiteUrl || '');\n result.set('firstName', a2PRegistrationInfo?.authorizedRepresentative?.firstName || '');\n result.set('lastName', a2PRegistrationInfo?.authorizedRepresentative?.lastName || '');\n result.set('jobPosition', a2PRegistrationInfo?.authorizedRepresentative?.jobPosition || '');\n result.set('businessTitle', a2PRegistrationInfo?.authorizedRepresentative?.businessTitle || '');\n result.set('email', a2PRegistrationInfo?.authorizedRepresentative?.email || '');\n result.set('phoneNumber', a2PRegistrationInfo?.authorizedRepresentative?.phoneNumber || '');\n return result;\n }\n\n sameValueValidator(originalFormFieldValue: string) {\n return (control: AbstractControl): ValidationErrors | null => {\n if (originalFormFieldValue === control.value) {\n return { sameValueError: true };\n }\n return null;\n };\n }\n\n someValueNeedsToChangeValidator(groupOfFields: string[]) {\n const originalValuesMap: Map = new Map();\n groupOfFields.forEach((fieldName) => {\n const val = this.initialRegistrationFormInfo.get(fieldName);\n if (val === undefined) {\n return;\n }\n originalValuesMap.set(fieldName, val);\n });\n\n return (): ValidationErrors | null => {\n let passed = false;\n for (const [fieldName, originalValue] of originalValuesMap.entries()) {\n const c = this.smsForm.get(fieldName);\n if (c !== null && c.value !== originalValue) {\n passed = true;\n break;\n }\n }\n if (!passed) {\n return { groupValueError: true };\n }\n return null;\n };\n }\n\n getFormFieldsWithIssues(registrationStatus: A2PRegistrationStatusInterface): string[] {\n const result: string[] = [];\n if (registrationStatus === null || registrationStatus === undefined) {\n return [];\n }\n if (\n !!registrationStatus.secondaryBusinessProfile &&\n registrationStatus.secondaryBusinessProfile.status === ValidationStatus.VALIDATION_STATUS_NON_COMPLIANT &&\n registrationStatus.secondaryBusinessProfile.fieldsWithIssues &&\n registrationStatus.secondaryBusinessProfile.fieldsWithIssues.length > 0\n ) {\n registrationStatus.secondaryBusinessProfile.fieldsWithIssues.forEach((field) => {\n const val = this.fieldWithIssuesToFormFieldsMapping.get(field);\n if (val !== undefined) {\n result.push(val);\n }\n });\n }\n if (\n !!registrationStatus.trustBundle &&\n registrationStatus.trustBundle.status === ValidationStatus.VALIDATION_STATUS_NON_COMPLIANT &&\n !!registrationStatus.trustBundle.fieldsWithIssues &&\n registrationStatus.trustBundle.fieldsWithIssues.length > 0\n ) {\n registrationStatus.trustBundle.fieldsWithIssues.forEach((field) => {\n const val = this.fieldWithIssuesToFormFieldsMapping.get(field);\n if (val !== undefined) {\n result.push(val);\n }\n });\n }\n\n return result;\n }\n\n getGroupOfSomeValuesNeedToChange(registrationStatus: A2PRegistrationStatusInterface): string[] {\n const result: string[] = [];\n if (registrationStatus === null || registrationStatus === undefined) {\n return [];\n }\n\n if (!!registrationStatus.brand && registrationStatus.brand.status === BrandStatus.BRAND_STATUS_FAILED) {\n result.push(businessRegistrationNumber);\n result.push(businessName);\n }\n\n return result;\n }\n\n prefillFormWithA2PFormInfo(a2pRegistrationInfo: A2PRegistrationInfoInterface): void {\n this.smsForm.patchValue({\n businessName: a2pRegistrationInfo?.business?.legalName,\n businessCategory: a2pRegistrationInfo?.business?.industry,\n businessType: a2pRegistrationInfo?.business?.businessType,\n regionOfOperation: a2pRegistrationInfo?.business?.regionOfOperation,\n businessRegistrationNumber: a2pRegistrationInfo?.business?.registrationIdentifier?.identifier,\n address: a2pRegistrationInfo?.business?.streetAddress,\n additionalAddressLine: a2pRegistrationInfo?.business?.streetAddressSecondary,\n state: a2pRegistrationInfo?.business?.state,\n city: a2pRegistrationInfo?.business?.city,\n zipCode: a2pRegistrationInfo?.business?.postalCode,\n website: a2pRegistrationInfo?.business?.websiteUrl,\n firstName: a2pRegistrationInfo?.authorizedRepresentative?.firstName,\n lastName: a2pRegistrationInfo?.authorizedRepresentative?.lastName,\n jobPosition: a2pRegistrationInfo?.authorizedRepresentative?.jobPosition,\n businessTitle: a2pRegistrationInfo?.authorizedRepresentative?.businessTitle,\n email: a2pRegistrationInfo?.authorizedRepresentative?.email,\n phoneNumber: a2pRegistrationInfo?.authorizedRepresentative?.phoneNumber,\n });\n }\n}\n", "
\n
\n \n \n
\n Business information\n lock\n
\n
\n\n \n \n \n \n Legal business name\n \n \n \n This must be the same name your business uses for tax purposes. For example: Roadside Coffee Inc.\n \n \n Business name should be maximum of 64 characters.\n \n \n\n \n \n \n Business category\n \n \n \n {{ businessCategory | businessCategoryToLabel }}\n \n \n \n\n \n \n \n Business type\n \n \n \n {{ businessType }}\n \n \n \n\n \n \n \n Country/region\n \n \n {{ region | regionToLabel }}\n \n \n\n \n \n \n Business registration number\n \n \n \n For US-based companies, this must be your business EIN number\n \n \n For US-based companies, this must be your business EIN number\n \n \n\n \n \n \n Address\n \n \n \n\n \n \n \n Additional address line\n \n \n \n\n \n \n \n \n State\n \n \n \n\n \n \n \n City\n \n \n \n \n\n \n \n \n Zip Code\n \n \n \n Not a valid zip code\n \n \n\n \n \n \n Website\n \n \n If you don't have a business website, provide an online listing\n \n \n
\n\n \n \n
\n Authorized business representative\n lock\n
\n
\n \n \n \n \n \n First name\n \n \n \n\n \n \n \n Last name\n \n \n \n \n\n \n \n \n Job position\n \n \n \n {{ jobPosition }}\n \n \n \n\n \n \n \n Title\n \n \n For example CEO, CTO, Manager\n \n\n \n \n \n Email\n \n \n Email of Authorized Business Representative\n \n Not a valid email\n \n \n\n \n \n \n Phone number\n \n \n \n Best way to contact the authorized business representative. Required format +1-123-456-7890\n \n \n Required format +1-123-456-7890\n \n \n \n
\n
\n\n
\n \n\n \n
\n
\n", "import { Component } from '@angular/core';\n\n@Component({\n selector: 'sms-registration',\n templateUrl: './sms-registration.component.html',\n styleUrls: ['./sms-registration.component.scss'],\n standalone: false,\n})\nexport class SmsRegistrationComponent {}\n", "
\n \n \n \n
\n", "{\n \"TITLE\": \"Name\",\n \"MESSAGE\": \"Message\",\n \"SMS_REGISTRATION\": {\n \"ALERT\": {\n \"BUSINESS_INFO_REQUIRED_TITLE\": \"Business information required\",\n \"MORE_DETAILS_SUGGESTION\": \"More details are needed about your business to send SMS messages to customers.\",\n \"UPDATE_INFO_ACTION_TITLE\": \"Update business info\",\n \"REJECTED_TITLE\": \"SMS registration rejected\",\n \"REJECTED_SUGGESTION\": \"update your information and try submitting again to access SMS features.\"\n },\n \"INFO_BANNER\": {\n \"LEARN_MORE\": \"Learn more\"\n }\n },\n \"SMS_BUILDER\": {\n \"SMS_CONFIGURATION\": \"SMS Configuration\",\n \"PREVIEW\": \"Preview\"\n },\n \"SMS_REGULATION\": {\n \"COMMON\": {\n \"SUBMIT\": \"Submit information\",\n \"ADDRESS\": {\n \"STREET_ADDRESS_PRIMARY\": \"Address\",\n \"STREET_ADDRESS_SECONDARY\": \"Additional address line\",\n \"CITY\": \"City\",\n \"STATE\": \"State/Province\",\n \"POSTAL_CODE\": \"Postal code\"\n },\n \"FILE_UPLOADER\": {\n \"ACCEPTED_FILE_TYPES\": \"A PDF, JPG or PNG file. Up to {{ numberOfMegabytes }} MB\"\n }\n },\n \"SOUTH_AFRICA\": {\n \"TITLE\": \"South African SMS Regulatory Compliance Form\",\n \"SUBTITLE\": \"This information is required to get a South African SMS number\",\n \"BUSINESS_IDENTITY\": {\n \"TITLE\": \"Business Identity\",\n \"BUSINESS_NAME\": \"Business name\",\n \"BUSINESS_REGISTRATION_NUMBER\": \"Business registration number\",\n \"ACCEPTED_DOCUMENTS\": {\n \"TITLE\": \"Proof of business identity\",\n \"HINT\": \"The type of document uploaded as proof of business identity\",\n \"BUSINESS_REGISTRATION\": \"Business registration\",\n \"CERTIFIED_LETTERHEAD\": \"Certified copy of business letterhead or similar document\"\n }\n },\n \"BUSINESS_ADDRESS\": {\n \"TITLE\": \"Business Address\",\n \"ACCEPTED_DOCUMENTS\": {\n \"TITLE\": \"Proof of address\",\n \"HINT\": \"The type of document uploaded as proof of address\",\n \"BANK_STATEMENT\": \"Bank statement\",\n \"MUNICIPAL_RATES_OR_TAX_INVOICE\": \"Municipal rates or tax invoice\",\n \"RECENT_PHONE_BILL\": \"Recent phone bill\",\n \"NEW_VEHICLE_LICENSE\": \"New motor vehicle license\"\n }\n },\n \"AUTHORIZED_REPRESENTATIVE\": {\n \"TITLE\": \"Authorized business representative\",\n \"FIRST_NAME\": \"First name\",\n \"LAST_NAME\": \"Last name\",\n \"IDENTITY_NUMBER\": \"Identity number\",\n \"IDENTITY_NUMBER_HINT\": \"The identity number for your government issued ID\",\n \"NATIONALITY\": \"Nationality\",\n \"ACCEPTED_DOCUMENTS\": {\n \"TITLE\": \"Proof of identity\",\n \"HINT\": \"Upload your government issued ID (must include full name and identity number)\",\n \"GOVERNMENT_ISSUED_ID\": \"Government issued ID\"\n }\n }\n }\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LexiconModule } from '@galaxy/lexicon';\nimport En from './en_devel.json';\n\n@NgModule({\n imports: [\n TranslateModule,\n LexiconModule.forChild({\n componentName: 'common/sms',\n baseTranslation: En,\n }),\n ],\n})\nexport class SMSI18NModule {}\n", "import { CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { GalaxyAlertModule } from '@vendasta/galaxy/alert';\nimport { GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { GalaxyPopoverModule } from '@vendasta/galaxy/popover';\nimport { InfoBannerComponent } from './registration/a2p-registration/info-banner/info-banner.component';\nimport { A2PRegistrationService } from './registration/a2p-registration/a2p-registration.service';\nimport { SmsRegistrationAlertComponent } from './registration/a2p-registration/sms-registration-alert/sms-registration-alert.component';\nimport { SmsRegistrationErrorBannerComponent } from './registration/a2p-registration/sms-registration-error-banner/sms-registration-error-banner.component';\nimport { BusinessCategoryToLabelPipe } from './registration/a2p-registration/sms-registration-form/pipes/business-category-to-label.pipe';\nimport { RegionToLabelPipe } from './registration/a2p-registration/sms-registration-form/pipes/region-to-label.pipe';\nimport { SmsRegistrationFormComponent } from './registration/a2p-registration/sms-registration-form/sms-registration-form.component';\nimport { SmsRegistrationComponent } from './registration/a2p-registration/sms-registration/sms-registration.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SMSI18NModule } from './assets/i18n/sms-i18n.module';\nimport { ProgressTrackerComponent } from './registration/progress-tracker/progress-tracker.component';\n\n@NgModule({\n declarations: [\n SmsRegistrationFormComponent,\n SmsRegistrationComponent,\n SmsRegistrationAlertComponent,\n SmsRegistrationErrorBannerComponent,\n ],\n exports: [SmsRegistrationComponent, SmsRegistrationAlertComponent],\n imports: [\n CommonModule,\n MatCardModule,\n GalaxyFormFieldModule,\n MatInputModule,\n MatSelectModule,\n MatButtonModule,\n ReactiveFormsModule,\n BusinessCategoryToLabelPipe,\n RegionToLabelPipe,\n MatIconModule,\n InfoBannerComponent,\n GalaxyAlertModule,\n MatChipsModule,\n GalaxyBadgeModule,\n GalaxyPopoverModule,\n CdkOverlayOrigin,\n TranslateModule,\n SMSI18NModule,\n ProgressTrackerComponent,\n ],\n providers: [A2PRegistrationService],\n})\nexport class SmsModule {}\n", "import { Inject, Injectable, Optional } from '@angular/core';\nimport { ActivatableApp } from '@vendasta/marketplace-packages';\nimport {\n ListSubstitutionParametersRequestFiltersInterface,\n SubstitutionParameter,\n TemplatesService,\n} from '@vendasta/templates';\nimport { Observable } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport {\n AppListingServiceInterface,\n EMAIL_BUILDER_APP_LISTING_SERVICE_TOKEN,\n} from '@galaxy/email-ui/email-builder/src/services/app-listing-service.interface';\n\nexport interface Option {\n title: string;\n value: string;\n}\n\nexport interface VariableMenuItemOptions {\n requiredParams: string[];\n nestedDynamicSelector: boolean;\n}\n\nexport interface VariableMenuItem {\n textKey: string;\n replacementTags: string[];\n template?: string;\n subItems?: SubstitutionParameter[];\n options?: VariableMenuItemOptions;\n}\n\nconst defaultDynamicComponents = [\n {\n textKey: 'DYNAMIC_COMPONENT_SELECTOR.CONTACT_DETAILS',\n replacementTags: ['crmContactFirstName', 'crmContactLastName'],\n },\n];\n\n@Injectable()\nexport class DynamicComponentSelectorService {\n private parentVariableCategories: VariableMenuItem[] = [];\n\n constructor(\n private readonly templatesService: TemplatesService,\n @Inject(EMAIL_BUILDER_APP_LISTING_SERVICE_TOKEN) @Optional() private appListingService: AppListingServiceInterface,\n ) {\n this.overrideParentVariableCategories(defaultDynamicComponents);\n }\n\n public hasComponentsToDisplay(): boolean {\n return this.parentVariableCategories.length > 0;\n }\n\n public getVariables(filters: ListSubstitutionParametersRequestFiltersInterface): Observable {\n return this.templatesService\n .listSubstitutionParameters(filters)\n .pipe(map((params) => this.filterSubstitutionParameters(params)));\n }\n\n private filterSubstitutionParameters(params: SubstitutionParameter[]): VariableMenuItem[] {\n return this.parentVariableCategories.map((v) => ({\n textKey: v.textKey,\n replacementTags: v.replacementTags,\n options: v.options,\n subItems: params\n .filter((p) => v.replacementTags.some((t) => t === p.replacementTag))\n .sort(function (a, b): number {\n return v.replacementTags.indexOf(a.replacementTag) - v.replacementTags.indexOf(b.replacementTag);\n }),\n }));\n }\n\n public getProductSubstitutionVariables(): Observable {\n return this.appListingService.listAllActivatableApps().pipe(take(1));\n }\n\n public overrideParentVariableCategories(variableCategories: VariableMenuItem[]): VariableMenuItem[] {\n return (this.parentVariableCategories = variableCategories);\n }\n}\n", "import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Option, VariableMenuItem, DynamicComponentSelectorService } from '../dynamic-component-selector.service';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\nimport { SubstitutionParameter } from '@vendasta/templates';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'templates-dynamic-component-dialog',\n templateUrl: './dynamic-component-dialog.component.html',\n styleUrls: ['./dynamic-component-dialog.component.scss'],\n standalone: false,\n})\nexport class DynamicComponentDialogComponent implements OnInit {\n @Output() formResult: EventEmitter = new EventEmitter();\n readonly allowedEntryApps = ['RM', 'SM'];\n\n variables$: Observable = this.dynamicComponentSelectorService\n .getVariables({ includeHtml: true })\n .pipe(\n map((vars) => {\n return vars.filter((v) => {\n return (v?.options?.requiredParams || []).reduce((prev, curr, i, arr) => {\n return prev && !!this[arr[i]];\n }, true);\n });\n }),\n shareReplay(1),\n );\n\n chosenCategory: VariableMenuItem = null;\n chosenParam: SubstitutionParameter = null;\n chosenParamDetails: string = null;\n chosenDynamicParam$$ = new ReplaySubject(1);\n chosenDynamicParam$: Observable;\n\n constructor(\n private readonly dynamicComponentSelectorService: DynamicComponentSelectorService,\n public dialogRef: MatDialogRef,\n ) {}\n\n ngOnInit(): void {\n this.chosenDynamicParam$ = this.chosenDynamicParam$$.asObservable().pipe(\n switchMap((chosenDynamicParam) => {\n if (\n chosenDynamicParam === 'productName' ||\n chosenDynamicParam === 'productPreviewUrl' ||\n chosenDynamicParam === 'productUrl'\n ) {\n return this.dynamicComponentSelectorService.getProductSubstitutionVariables().pipe(\n map((apps) => {\n if (chosenDynamicParam === 'productUrl') {\n apps = apps.filter((a) => this.allowedEntryApps.includes(a.appId));\n }\n return apps.map((app) => {\n return {\n title: app.name,\n value: app.appId,\n };\n });\n }),\n );\n }\n }),\n );\n }\n\n handleCategoryChange(): void {\n this.chosenParam = null;\n this.chosenParamDetails = null;\n }\n\n handleParamChange(): void {\n this.chosenParamDetails = null;\n if (\n this.chosenParam.replacementTag === 'productName' ||\n this.chosenParam.replacementTag === 'productPreviewUrl' ||\n this.chosenParam.replacementTag === 'productUrl'\n ) {\n this.chosenDynamicParam$$.next(this.chosenParam.replacementTag);\n }\n }\n\n add(): void {\n let replacementTag = this.chosenParam.replacementTag;\n if (this.chosenParamDetails) {\n replacementTag = `${replacementTag}['${this.chosenParamDetails}']`;\n }\n this.dialogRef.close('{{ ' + replacementTag + ' }}');\n }\n\n close(): void {\n this.dialogRef.close(null);\n }\n}\n", "\n

{{ 'DYNAMIC_COMPONENT_DIALOG.ADD_HEADING' | translate }}

\n \n \n \n {{ 'DYNAMIC_COMPONENT_DIALOG.CATEGORY' | translate }}\n \n \n {{ mainItem.textKey | translate }}\n \n \n \n \n \n \n \n \n {{ chosenCategory.textKey | translate }}\n \n \n \n {{ subParam.displayName | translate }}\n \n \n \n \n \n \n \n \n \n \n {{ chosenParam.displayName | translate }}\n \n \n \n {{ v.title | translate }}\n \n \n \n \n \n \n
\n
\n
\n \n
\n\n
\n \n \n {{ 'DYNAMIC_COMPONENT_DIALOG.ADD_BUTTON' | translate }}\n \n
\n
\n\n\n \n \n {{ 'DYNAMIC_COMPONENT_DIALOG.NO_OPTIONS' | translate }}\n \n \n\n", "import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { take } from 'rxjs/operators';\nimport { DynamicComponentDialogComponent } from './dynamic-component-dialog/dynamic-component-dialog.component';\nimport { DynamicComponentSelectorService } from './dynamic-component-selector.service';\n\n@Component({\n selector: 'templates-dynamic-component-selector',\n templateUrl: 'dynamic-component-selector.component.html',\n styleUrls: ['dynamic-component-selector.component.scss'],\n standalone: false,\n})\nexport class DynamicComponentSelectorComponent {\n @Input() marketId: string;\n @Input() target: HTMLTextAreaElement;\n @Input() model: string;\n\n @Output() modelChange: EventEmitter = new EventEmitter();\n\n public variablesReady = this.variableService.hasComponentsToDisplay();\n\n constructor(\n private dialog: MatDialog,\n private variableService: DynamicComponentSelectorService,\n ) {}\n\n openDialog(): void {\n const dialogRef = this.dialog.open(DynamicComponentDialogComponent, {\n width: '450px',\n height: '450px',\n });\n dialogRef\n .afterClosed()\n .pipe(take(1))\n .subscribe((res: string | null) => {\n if (res) {\n this.selectVariable(res);\n }\n });\n }\n\n selectVariable(replacementTag: string): void {\n const startPos = this.target.selectionStart;\n const endPos = this.target.selectionEnd ?? startPos;\n\n const contentBefore = this.target.value.substr(0, startPos);\n const contentAfter = this.target.value.substr(endPos, this.target.value.length);\n\n const newValue = contentBefore + replacementTag + contentAfter;\n this.target.value = newValue;\n this.target.selectionStart = startPos;\n\n this.modelChange.emit(newValue);\n\n // Using setTimeout fix bug where input does not focus\n window.setTimeout(() => {\n this.target.focus();\n this.target.setSelectionRange(startPos, replacementTag.length + startPos);\n }, 0);\n }\n}\n", "\n data_object\n\n", "{\n \"DYNAMIC_COMPONENT_SELECTOR\": {\n \"INSERT_DYNAMIC_CONTENT\": \"Insert dynamic content\",\n \"SNAPSHOT_REPORT\": \"Snapshot report\",\n \"BUSINESS_APP_DETAILS\": \"Business app details\",\n \"SALESPERSON_DETAILS\": \"Salesperson details\",\n \"PARTNER_DETAILS\": \"Partner details\",\n \"ACCOUNT_DETAILS\": \"Account details\",\n \"PRODUCT_DETAILS\": \"Product details\",\n \"CONTACT_DETAILS\": \"Contact details\"\n },\n \"DYNAMIC_COMPONENT_DIALOG\": {\n \"ADD_HEADING\": \"Add dynamic content\",\n \"CATEGORY\": \"Category\",\n \"CANCEL_BUTTON\": \"Cancel\",\n \"ADD_BUTTON\": \"Add\",\n \"NO_OPTIONS\": \"No options found\"\n }\n}\n", "import { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LexiconModule } from '@galaxy/lexicon';\nimport En from './en_devel.json';\n\n@NgModule({\n imports: [\n TranslateModule,\n LexiconModule.forChild({\n componentName: 'common/templates',\n baseTranslation: En,\n }),\n ],\n})\nexport class TemplatesI18nModule {}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { GalaxyWrapModule } from '@vendasta/galaxy/galaxy-wrap';\nimport { GalaxyTooltipModule } from '@vendasta/galaxy/tooltip';\nimport { DynamicComponentDialogComponent } from './dynamic-component-dialog/dynamic-component-dialog.component';\nimport { DynamicComponentSelectorComponent } from './dynamic-component-selector.component';\nimport {\n DynamicComponentSelectorService,\n VariableMenuItemOptions,\n VariableMenuItem,\n Option,\n} from './dynamic-component-selector.service';\nimport { TemplatesI18nModule } from '../assets/i18n/templates-i18n.module';\n\n@NgModule({\n providers: [DynamicComponentSelectorService],\n declarations: [DynamicComponentSelectorComponent, DynamicComponentDialogComponent],\n imports: [\n CommonModule,\n GalaxyTooltipModule,\n GalaxyWrapModule,\n MatFormFieldModule,\n MatButtonModule,\n MatDialogModule,\n MatInputModule,\n MatListModule,\n MatIconModule,\n MatTooltipModule,\n MatCardModule,\n MatOptionModule,\n TranslateModule,\n MatSelectModule,\n GalaxyEmptyStateModule,\n TemplatesI18nModule,\n ],\n exports: [DynamicComponentSelectorComponent],\n})\nexport class DynamicComponentSelectorModule {}\n\nexport { DynamicComponentSelectorService, VariableMenuItemOptions, VariableMenuItem, Option };\n", "export * from './lib/dynamic-component-selector/dynamic-component-selector.module';\n", "import { Component, ElementRef, EventEmitter, Inject, Input, OnInit, Optional, Output, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { TextMessageBuilderForm } from '../interfaces';\nimport { MatInputModule } from '@angular/material/input';\nimport { DynamicComponentSelectorModule } from '@galaxy/templates';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SmsTextLimitToken } from '../../token';\nimport { BehaviorSubject } from 'rxjs';\n\nconst regex = new RegExp(`{{\\\\s*([^}]+)\\\\s*}}`, 'g');\n\nconst FALLBACK_TEXT_LIMIT = 95;\n\n@Component({\n selector: 'sms-builder-form',\n templateUrl: 'text-message-builder-form.component.html',\n styleUrls: ['./text-message-builder-form.component.scss'],\n imports: [\n CommonModule,\n GalaxyFormFieldModule,\n ReactiveFormsModule,\n MatInputModule,\n DynamicComponentSelectorModule,\n TranslateModule,\n ],\n})\nexport class TextMessageBuilderFormComponent implements OnInit {\n smsForm = new FormGroup({\n name: new FormControl(''),\n message: new FormControl(''),\n });\n calculatedTextLength$$: BehaviorSubject = new BehaviorSubject(0);\n\n @ViewChild('smsText') smsText?: ElementRef;\n\n @Input()\n set setInitialInputText(inputText: TextMessageBuilderForm) {\n this.smsForm.patchValue(inputText);\n this.calculatedTextLength$$.next(inputText?.message?.replaceAll(regex, '').length ?? 0);\n }\n\n @Input() allowDynamic: boolean;\n @Input() setTextLimit: boolean;\n\n @Output() template: EventEmitter = new EventEmitter();\n @Output() valid: EventEmitter = new EventEmitter();\n\n constructor(@Inject(SmsTextLimitToken) @Optional() public readonly textLimit: number) {\n if (!textLimit) this.textLimit = FALLBACK_TEXT_LIMIT;\n }\n\n ngOnInit() {\n this.smsForm.valueChanges.subscribe((value) => {\n this.calculatedTextLength$$.next(value?.message?.replaceAll(regex, '').length ?? 0);\n this.template.emit(value as TextMessageBuilderForm);\n });\n this.smsForm.statusChanges.subscribe((status) => {\n this.valid.emit(status === 'VALID');\n });\n }\n\n emitNewTemplateValue(value: string) {\n this.smsForm.get('message').setValue(value);\n this.smsForm.updateValueAndValidity();\n }\n}\n", "
\n \n {{ 'TITLE' | translate }}\n \n \n @if (!allowDynamic) {\n \n {{ 'MESSAGE' | translate }}\n \n Message\n \n \n } @else {\n \n \n
\n \n \n
\n {{ 'MESSAGE' | translate }}\n
\n \n {{ calculatedTextLength$$ | async }}/{{ textLimit }} \n
\n }\n
\n", "import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { ChatMessageComponent } from '@vendasta/galaxy/chat';\nimport { MatCardModule } from '@angular/material/card';\nimport { TemplatesService, TemplateType } from '@vendasta/templates';\nimport { Observable, tap } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sms-builder-preview',\n templateUrl: 'text-message-builder-preview.component.html',\n styleUrls: ['./text-message-builder-preview.component.scss'],\n imports: [CommonModule, ChatMessageComponent, MatCardModule],\n})\nexport class TextMessageBuilderPreviewComponent implements OnChanges {\n @Input() messageText?: string;\n @Input() allowDynamic: boolean;\n @Input() smsLink$: Observable;\n @Input() businessName$?: Observable;\n @Input() messageImageURL$: Observable;\n rendered$: Observable;\n loading = false;\n\n constructor(private readonly templates: TemplatesService) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.allowDynamic && changes['messageText']) {\n this.loading = true;\n this.rendered$ = this.templates\n .render(\n changes['messageText'].currentValue,\n {\n account_group_id: 'want-fake-value-displayed',\n partner_id: 'want-fake-value-displayed',\n contact_id: 'want-fake-value-displayed',\n },\n TemplateType.TEMPLATE_TYPE_GOLANG_TEXT,\n {\n accountGroupId: 'account_group_id',\n partnerId: 'partner_id',\n contactId: 'contact_id',\n },\n undefined,\n undefined,\n undefined,\n true,\n )\n .pipe(tap((_) => (this.loading = false)));\n }\n }\n}\n", "\n \n\n\n
\n", "import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TextMessageBuilderFormComponent } from './text-message-builder-form/text-message-builder-form.component';\nimport { TextMessageBuilderPreviewComponent } from './text-message-builder-preview/text-message-builder-preview.component';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { TextMessageBuilderForm } from './interfaces';\nimport { CommonModule } from '@angular/common';\nimport { MatCardModule } from '@angular/material/card';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'sms-builder',\n templateUrl: 'text-message-builder.component.html',\n styleUrls: ['./text-message-builder.component.scss'],\n imports: [\n MatCardModule,\n CommonModule,\n TextMessageBuilderFormComponent,\n TextMessageBuilderPreviewComponent,\n TranslateModule,\n ],\n})\nexport class TextMessageBuilderComponent implements OnInit {\n initialInputText: TextMessageBuilderForm = { message: '', name: '' };\n private sms$$: BehaviorSubject = new BehaviorSubject({\n name: '',\n message: '',\n });\n sms$: Observable = this.sms$$.asObservable();\n private valid$$: BehaviorSubject = new BehaviorSubject(false);\n valid$: Observable = this.valid$$.asObservable();\n @Input() smsLink$: Observable;\n @Input() businessName$?: Observable;\n @Input() messageImageURL$: Observable;\n @Input() allowDynamic: boolean;\n @Input() setTextLimit: boolean;\n @Input()\n set setMessageBuilderText(messageBuilderText: TextMessageBuilderForm) {\n if (messageBuilderText) {\n this.initialInputText = messageBuilderText;\n this.sms$$.next(messageBuilderText);\n }\n }\n\n @Output() sms: EventEmitter = new EventEmitter();\n @Output() valid: EventEmitter = new EventEmitter();\n\n ngOnInit() {\n this.sms$.subscribe((value) => {\n this.sms.emit(value as TextMessageBuilderForm);\n });\n this.valid$.subscribe((status) => {\n this.valid.emit(status);\n });\n }\n\n updateSMS(m: TextMessageBuilderForm) {\n this.sms$$.next(m);\n }\n\n updateValid(m: boolean) {\n this.valid$$.next(m);\n }\n}\n", "
\n \n \n {{ 'SMS_BUILDER.SMS_CONFIGURATION' | translate }}\n \n\n \n \n \n \n \n \n \n {{ 'SMS_BUILDER.PREVIEW' | translate }}\n \n \n \n \n \n
\n", "import { inject, Injectable } from '@angular/core';\nimport { SmsContextToken } from '../token';\nimport { map, Observable, switchMap } from 'rxjs';\nimport {\n ConfigApiService,\n PhoneNumberConfig,\n PhoneNumberConfigInterface,\n ConversationApiService,\n} from '@vendasta/smsv2';\nimport { HttpResponse } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SmsConfigService {\n private readonly context = inject(SmsContextToken);\n private readonly configApiService = inject(ConfigApiService);\n private readonly conversationAPI = inject(ConversationApiService);\n public readonly phoneNumberConfig$: Observable;\n public readonly usesBroadlyTwilio$ = this.context.sendsViaBroadly$;\n\n constructor() {\n this.phoneNumberConfig$ = this.context.ownerId$.pipe(\n switchMap((ownerId) =>\n this.configApiService.getPhoneNumberConfig({ ownerId: ownerId, ownerType: this.context.ownerType }),\n ),\n map((response) => response?.phoneNumberConfig),\n );\n }\n\n public upsertPhoneNumberConfig(config: PhoneNumberConfigInterface): Observable> {\n return this.context.ownerId$.pipe(\n switchMap((ownerId) => {\n const payload = {\n ownerId: ownerId,\n ownerType: this.context.ownerType,\n phoneNumberConfig: config,\n };\n\n return this.configApiService.upsertPhoneNumberConfig(payload);\n }),\n );\n }\n\n public claimPhoneNumber(): Observable> {\n return this.context.ownerId$.pipe(\n switchMap((ownerId) => {\n const payload = {\n ownerId: ownerId,\n ownerType: this.context.ownerType,\n };\n\n return this.conversationAPI.claimPhoneNumber(payload);\n }),\n );\n }\n}\n", "import { Observable } from 'rxjs';\nimport { OwnerType } from '@vendasta/smsv2';\n\n// A list of PIDs of partners to consider when determining if SMS messages will be sent via Broadly 1.0.\n// NOTE: This is a front-end indicator only, the backend will determine the actual sending method.\nexport const BROADLY_SMS_PIDS = [\n 'NBLY',\n 'PRBS',\n 'CHOW', // Used in demo for testing Broadly SMS features\n];\n\nexport interface SmsRegistrationDependencies {\n // The type of the sms registration, a partner or an account\n ownerType: OwnerType;\n\n // The AGID of the account or the PID of the partner registering for SMS\n ownerId$: Observable;\n\n // The Twilio subaccount ID of the account registering for SMS\n subaccountID$: Observable;\n}\n\n// Provide contexts to services in the SMS lib about what entity operations are happening for\nexport interface SmsContext {\n // The ID of the entity using SMS right now (e.g. account group ID, partner ID, etc.)\n ownerId$: Observable;\n // The type of entity\n ownerType: OwnerType;\n // Information for feature flags\n featureFlagInfo$: Observable<{\n partnerId: string;\n marketId?: string;\n }>;\n // Whether this owner sends SMS via Broadly 1.0\n sendsViaBroadly$: Observable;\n}\n", "export * from './lib/sms.module';\nexport { A2PRegistrationService } from './lib/registration/a2p-registration/a2p-registration.service';\nexport { RegistrationStage } from './lib/registration/a2p-registration/a2p-registration.constants';\nexport { TextMessageBuilderComponent } from './lib/text-message-builder/text-message-builder.component';\nexport { TextMessageBuilderForm } from './lib/text-message-builder/interfaces';\nexport { LearnMoreModalComponent } from './lib/registration/a2p-registration/info-banner/learn-more-modal/learn-more-modal.component';\nexport { SmsConfigService } from './lib/sms-config-service/sms-config.service';\nexport {\n SmsRegulatoryFormComponent,\n Country,\n} from './lib/registration/regulatory-compliance/regulatory-form/sms-regulatory-form.component';\nexport { getRegistrationStage } from './lib/registration/a2p-registration/a2p-helper-functions';\nexport * from './lib/token';\nexport { BROADLY_SMS_PIDS } from './lib/interface';\n"], "mappings": "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", "names": ["SmsInjectionToken", "SmsContextToken", "SmsTextLimitToken", "init_token", "__esmMin", "init_core", "InjectionToken", "LearnMoreModalComponent", "init_learn_more_modal_component", "__esmMin", "init_common", "init_dialog", "init_button", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "CommonModule", "MatDialogModule", "MatDialogClose", "MatDialogTitle", "MatDialogActions", "MatDialogContent", "MatButtonModule", "MatButton", "styles", "\u0275\u0275element", "\u0275\u0275property", "ctx_r1", "getClassForStatus", "stage_r1", "status", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "ProgressTrackerComponent_ng_container_1_div_1_Template", "ProgressTrackerComponent_ng_container_1_div_4_Template", "ProgressTrackerComponent_ng_container_1_mat_icon_5_Template", "ProgressTrackerComponent_ng_container_1_mat_icon_6_Template", "\u0275\u0275advance", "isFirst_r3", "\u0275\u0275textInterpolate", "name", "Status", "ProgressTrackerComponent", "init_progress_tracker_component", "__esmMin", "init_common", "init_icon", "constructor", "stages", "cssClasses", "Map", "NotStarted", "InProgress", "Completed", "Failed", "get", "selectors", "inputs", "decls", "vars", "consts", "template", "rf", "ctx", "ProgressTrackerComponent_ng_container_1_Template", "CommonModule", "NgClass", "NgForOf", "NgIf", "MatIcon", "styles", "BusinessType", "BusinessCategory", "businessCategoryLabels", "businessCategoryToLabel", "Region", "regionLabels", "regionToLabel", "Position", "init_types", "__esmMin", "Map", "automotiveIndustry", "agriculture", "banking", "consumer", "education", "engineering", "energy", "oilAndGas", "fastMovingConsumerGoods", "financial", "fintech", "foodAndBeverage", "government", "healthcare", "hospitality", "insurance", "legal", "manufacturing", "media", "online", "rawMaterials", "realEstate", "religion", "retail", "jewelry", "technology", "telecommunications", "transportation", "travel", "electronics", "notForProfit", "businessCategory", "get", "africa", "asia", "europe", "latinAmerica", "usaAndCanada", "region", "NORTH_AMERICA_COUNTRIES", "RegistrationStage", "init_a2p_registration_constants", "__esmMin", "getRegistrationStage", "a2pRegistrationStatus", "isSubmitted", "secondaryBusinessProfileStatus", "secondaryBusinessProfile", "status", "ValidationStatus", "VALIDATION_STATUS_UNSPECIFIED", "trustBundleStatus", "trustBundle", "brandStatus", "brand", "BrandStatus", "BRAND_STATUS_UNSPECIFIED", "messagingCampaignStatus", "messagingCampaign", "MessagingCampaignStatus", "MESSAGING_CAMPAIGN_STATUS_UNSPECIFIED", "VALIDATION_STATUS_NON_COMPLIANT", "BRAND_STATUS_FAILED", "RegistrationStage", "DataError", "MESSAGING_CAMPAIGN_STATUS_FAILED", "CampaignError", "MESSAGING_CAMPAIGN_STATUS_VERIFIED", "RegistrationComplete", "ReviewingInfo", "NotSubmitted", "init_a2p_helper_functions", "__esmMin", "init_vendasta_smsv2", "init_a2p_registration_constants", "A2PRegistrationService", "init_a2p_registration_service", "__esmMin", "init_src", "init_vendasta_partner", "init_vendasta_smsv2", "init_esm", "init_operators", "init_types", "init_a2p_registration_constants", "init_token", "init_a2p_helper_functions", "constructor", "a2pRegistrationApiService", "partnerService", "accountGroupService", "config", "A2PRegistrationState$$", "BehaviorSubject", "a2pRegistrationInfo", "a2pRegistrationStatus", "RegistrationStage", "NotSubmitted", "A2PRegistrationState$", "asObservable", "registrationStage$", "pipe", "map", "state", "a2PRegistrationInfo$", "a2pRegistrationStatus$", "showExternalBanner$", "stage", "DataError", "shareReplay", "ownerType", "ownerId$", "distinctUntilChanged", "existingA2PRegistrationInfo$", "switchMap", "ownerId", "request", "getA2pRegistrationInfo", "catchError", "console", "error", "of", "existingA2PRegistrationStatus$", "combineLatest", "subaccountID$", "subaccountId", "getLatestA2pRegistrationStatus", "e", "response", "status", "subscribe", "a2pInfo", "isSubmitted", "submitted", "Date", "next", "getRegistrationStage", "upsertA2pRegistration", "__async", "firstValueFrom", "upsertA2pRegistrationInfo", "updateA2pRegistrationInfo", "currentState", "getValue", "__spreadProps", "__spreadValues", "getAccountGroupInfo$", "get", "ProjectionFilter", "napData", "getOwnerLocation$", "OwnerType", "OWNER_TYPE_ACCOUNT_GROUP", "accountGroupInfo", "accountGroupId", "streetAddress", "address", "streetAddressSecondary", "address2", "city", "postalCode", "zip", "country", "OWNER_TYPE_PARTNER", "partnerId", "getPartnerModel", "GetPartnerModelRequest", "partnerResponse", "partnerModel", "partner", "addressLineOne", "addressLineTwo", "stateCode", "countryCode", "getPrefillA2PFormInfo", "a2PRegistrationInfo", "Object", "keys", "length", "business", "regionOfOperation", "NORTH_AMERICA_COUNTRIES", "includes", "Region", "usaAndCanada", "websiteUrl", "website", "\u0275\u0275inject", "A2PRegistrationApiService", "PartnerModelApiService", "AccountGroupService", "SmsInjectionToken", "factory", "\u0275fac", "providedIn", "InfoBannerComponent", "init_info_banner_component", "__esmMin", "init_common", "init_card", "init_badge", "init_button", "init_learn_more_modal_component", "init_ngx_translate_core", "init_progress_tracker_component", "init_esm", "init_a2p_registration_constants", "init_vendasta_smsv2", "constructor", "dialog", "smsRegistrationService", "stages$", "A2PRegistrationState$", "pipe", "map", "state", "RegistrationStage", "NotSubmitted", "name", "status", "Status", "NotStarted", "Completed", "getInformationStageStatus", "a2pRegistrationStatus", "getMessagingCampaignStageStatus", "openLearnMoreModal", "open", "LearnMoreModalComponent", "width", "registrationStatus", "informationStatus", "InProgress", "secondaryBusinessProfileStatus", "secondaryBusinessProfile", "trustBundleStatus", "trustBundle", "brandStatus", "brand", "BrandStatus", "BRAND_STATUS_APPROVED", "ValidationStatus", "VALIDATION_STATUS_NON_COMPLIANT", "BRAND_STATUS_FAILED", "Failed", "campaignStatus", "messagingCampaignStatus", "messagingCampaign", "MessagingCampaignStatus", "MESSAGING_CAMPAIGN_STATUS_VERIFIED", "MESSAGING_CAMPAIGN_STATUS_FAILED", "MESSAGING_CAMPAIGN_STATUS_PENDING", "\u0275\u0275directiveInject", "MatDialog", "A2PRegistrationService", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275element", "\u0275\u0275listener", "\u0275\u0275advance", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate1", "CommonModule", "AsyncPipe", "MatCardModule", "MatCard", "MatCardActions", "MatCardContent", "MatCardHeader", "MatCardSubtitle", "MatCardTitle", "GalaxyBadgeModule", "MatButtonModule", "MatButton", "TranslateModule", "TranslatePipe", "ProgressTrackerComponent", "styles", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "actionClicked", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275propertyInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275property", "alertType", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "_r3", "\u0275\u0275propertyInterpolate", "SmsRegistrationAlertComponent", "init_sms_registration_alert_component", "__esmMin", "init_core", "init_a2p_registration_constants", "constructor", "smsRegistrationService", "actionClick", "EventEmitter", "RegistrationStage", "registrationStage$", "emit", "\u0275\u0275directiveInject", "A2PRegistrationService", "selectors", "inputs", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "SmsRegistrationAlertComponent_glxy_alert_0_Template", "SmsRegistrationAlertComponent_glxy_alert_2_Template", "NotSubmitted", "DataError", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "openLearnMoreModal", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "SmsRegistrationErrorBannerComponent", "init_sms_registration_error_banner_component", "__esmMin", "init_a2p_registration_constants", "init_learn_more_modal_component", "constructor", "smsRegistrationService", "dialog", "RegistrationStage", "ngOnInit", "registrationStage$", "open", "LearnMoreModalComponent", "width", "\u0275\u0275directiveInject", "A2PRegistrationService", "MatDialog", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "SmsRegistrationErrorBannerComponent_ng_container_0_Template", "DataError", "BusinessCategoryToLabelPipe", "init_business_category_to_label_pipe", "__esmMin", "init_types", "transform", "businessCategory", "businessCategoryToLabel", "pure", "RegionToLabelPipe", "init_region_to_label_pipe", "__esmMin", "init_types", "transform", "region", "regionToLabel", "pure", "ConfirmationModalComponent", "init_confirmation_modal_component", "__esmMin", "init_common", "init_dialog", "init_button", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "CommonModule", "MatDialogModule", "MatDialogClose", "MatDialogTitle", "MatDialogActions", "MatDialogContent", "MatButtonModule", "MatButton", "styles", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "businessCategory_r1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "businessType_r2", "region_r3", "\u0275\u0275textInterpolate", "jobPosition_r4", "EIN_REGEX", "PHONE_NUMBER_REGEX", "ZIP_CODE_REGEX", "IdentifierTypeEIN", "additionalAddressLine", "businessRegistrationNumber", "businessName", "SmsRegistrationFormComponent", "init_sms_registration_form_component", "__esmMin", "init_rxjs_interop", "init_forms", "init_vendasta_smsv2", "init_esm", "init_a2p_registration_constants", "init_confirmation_modal_component", "init_types", "constructor", "formBuilder", "smsRegistrationService", "snackbarService", "modal", "destroyRef", "BusinessCategories", "Object", "values", "BusinessCategory", "BusinessTypes", "BusinessType", "Regions", "Region", "JobPositions", "Position", "formLocked", "registrationStage", "RegistrationStage", "NotSubmitted", "initialRegistrationFormInfo", "Map", "fieldsWithIssues", "groupOfSomeValuesNeedToChange", "customValidatorsMap", "subscriptions", "fieldWithIssuesToFormFieldsMapping", "DataField", "DATA_FIELD_LEGAL_BUSINESS_NAME", "DATA_FIELD_BUSINESS_CATEGORY", "DATA_FIELD_BUSINESS_TYPE", "DATA_FIELD_REGION_OF_OPERATION", "DATA_FIELD_BUSINESS_REGISTRATION_NUMBER", "DATA_FIELD_STREET_ADDRESS", "DATA_FIELD_STREET_ADDRESS_SECONDARY", "DATA_FIELD_CITY", "DATA_FIELD_STATE", "DATA_FIELD_POSTAL_CODE", "DATA_FIELD_WEBSITE_URL", "DATA_FIELD_COUNTRY", "DATA_FIELD_FIRST_NAME", "DATA_FIELD_LAST_NAME", "DATA_FIELD_JOB_POSITION", "DATA_FIELD_BUSINESS_TITLE", "DATA_FIELD_EMAIL", "DATA_FIELD_PHONE_NUMBER", "smsForm", "group", "Validators", "maxLength", "businessCategory", "businessType", "regionOfOperation", "pattern", "address", "state", "city", "zipCode", "website", "firstName", "lastName", "jobPosition", "businessTitle", "email", "phoneNumber", "ngOnInit", "getRegistration", "sub", "controls", "valueChanges", "subscribe", "value", "businessTitleInJobPositions", "some", "p", "otherPosition", "patchValue", "push", "keys", "forEach", "key", "includes", "fieldName", "updateValueAndValidity", "emitEvent", "ngOnDestroy", "s", "unsubscribe", "submitRegistrationForm", "toggleSubmitValidators", "invalid", "openErrorSnack", "open", "ConfirmationModalComponent", "width", "afterClosed", "pipe", "take", "result", "upsertData", "saveChanges", "errors", "errorKey", "isSubmitted", "form", "request", "business", "legalName", "industry", "registrationIdentifier", "identifierType", "identifier", "websiteUrl", "socialMediaProfileUrls", "streetAddress", "streetAddressSecondary", "postalCode", "country", "authorizedRepresentative", "submitted", "upsertA2pRegistration", "then", "openWithOptions", "panelClass", "lockForm", "catch", "combineLatest", "a2PRegistrationInfo$", "registrationStage$", "a2pRegistrationStatus$", "getPrefillA2PFormInfo", "takeUntilDestroyed", "a2pRegistrationInfo", "registrationStatus", "a2PFormInfo", "prefillFormWithA2PFormInfo", "DataError", "unlockForm", "getInitialRegistrationFormInfo", "getFormFieldsWithIssues", "getGroupOfSomeValuesNeedToChange", "control", "get", "markAsTouched", "error", "status", "disable", "enable", "on", "addValidators", "required", "val", "undefined", "sameValueValidatorFn", "sameValueValidator", "set", "someValueNeedsToChange", "someValueNeedsToChangeValidator", "removeValidators", "customValidatorFn", "delete", "a2PRegistrationInfo", "originalFormFieldValue", "sameValueError", "groupOfFields", "originalValuesMap", "passed", "originalValue", "entries", "c", "groupValueError", "secondaryBusinessProfile", "ValidationStatus", "VALIDATION_STATUS_NON_COMPLIANT", "length", "field", "trustBundle", "brand", "BrandStatus", "BRAND_STATUS_FAILED", "\u0275\u0275directiveInject", "FormBuilder", "A2PRegistrationService", "SnackbarService", "MatDialog", "DestroyRef", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "SmsRegistrationFormComponent_mat_icon_7_Template", "\u0275\u0275element", "SmsRegistrationFormComponent_glxy_hint_14_Template", "SmsRegistrationFormComponent_glxy_error_15_Template", "SmsRegistrationFormComponent_mat_option_21_Template", "SmsRegistrationFormComponent_mat_option_27_Template", "SmsRegistrationFormComponent_mat_option_33_Template", "SmsRegistrationFormComponent_glxy_hint_39_Template", "SmsRegistrationFormComponent_glxy_error_40_Template", "SmsRegistrationFormComponent_glxy_error_67_Template", "SmsRegistrationFormComponent_mat_icon_80_Template", "SmsRegistrationFormComponent_mat_option_98_Template", "SmsRegistrationFormComponent_glxy_error_113_Template", "SmsRegistrationFormComponent_glxy_hint_119_Template", "SmsRegistrationFormComponent_glxy_error_120_Template", "\u0275\u0275listener", "hasError", "touched", "SmsRegistrationComponent", "init_sms_registration_component", "__esmMin", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275elementEnd", "en_devel_default", "init_en_devel", "__esmMin", "SMSI18NModule", "init_sms_i18n_module", "__esmMin", "init_ngx_translate_core", "init_src", "init_en_devel", "TranslateModule", "LexiconModule", "forChild", "componentName", "baseTranslation", "En", "SmsModule", "init_sms_module", "__esmMin", "init_common", "init_forms", "init_button", "init_card", "init_chips", "init_icon", "init_input", "init_select", "init_alert", "init_badge", "init_form_field", "init_popover", "init_info_banner_component", "init_a2p_registration_service", "init_ngx_translate_core", "init_sms_i18n_module", "init_progress_tracker_component", "A2PRegistrationService", "imports", "CommonModule", "MatCardModule", "GalaxyFormFieldModule", "MatInputModule", "MatSelectModule", "MatButtonModule", "ReactiveFormsModule", "MatIconModule", "InfoBannerComponent", "GalaxyAlertModule", "MatChipsModule", "GalaxyBadgeModule", "GalaxyPopoverModule", "TranslateModule", "SMSI18NModule", "ProgressTrackerComponent", "defaultDynamicComponents", "DynamicComponentSelectorService", "init_dynamic_component_selector_service", "__esmMin", "init_operators", "init_app_listing_service_interface", "textKey", "replacementTags", "constructor", "templatesService", "appListingService", "parentVariableCategories", "overrideParentVariableCategories", "hasComponentsToDisplay", "length", "getVariables", "filters", "listSubstitutionParameters", "pipe", "map", "params", "filterSubstitutionParameters", "v", "options", "subItems", "filter", "p", "some", "t", "replacementTag", "sort", "a", "b", "indexOf", "getProductSubstitutionVariables", "listAllActivatableApps", "take", "variableCategories", "\u0275\u0275inject", "TemplatesService", "EMAIL_BUILDER_APP_LISTING_SERVICE_TOKEN", "factory", "\u0275fac", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "mainItem_r4", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "textKey", "subParam_r6", "displayName", "\u0275\u0275elementContainerStart", "\u0275\u0275twoWayListener", "$event", "\u0275\u0275restoreView", "_r5", "ctx_r2", "\u0275\u0275nextContext", "i0", "\u0275\u0275twoWayBindingSet", "chosenParam", "\u0275\u0275resetView", "\u0275\u0275listener", "handleParamChange", "\u0275\u0275template", "DynamicComponentDialogComponent_ng_container_4_ng_container_8_mat_option_7_Template", "chosenCategory", "\u0275\u0275twoWayProperty", "subItems", "v_r8", "value", "title", "_r7", "chosenParamDetails", "DynamicComponentDialogComponent_ng_container_4_ng_container_9_ng_container_1_mat_option_7_Template", "dynamicValues_r9", "\u0275\u0275element", "DynamicComponentDialogComponent_ng_container_4_ng_container_9_ng_container_1_Template", "DynamicComponentDialogComponent_ng_container_4_ng_container_9_ng_template_3_Template", "\u0275\u0275templateRefExtractor", "chosenDynamicParam$", "loading_r10", "_r2", "handleCategoryChange", "DynamicComponentDialogComponent_ng_container_4_mat_option_7_Template", "DynamicComponentDialogComponent_ng_container_4_ng_container_8_Template", "DynamicComponentDialogComponent_ng_container_4_ng_container_9_Template", "\u0275\u0275textInterpolate", "variables_r11", "options", "nestedDynamicSelector", "DynamicComponentDialogComponent", "init_dynamic_component_dialog_component", "__esmMin", "init_core", "init_esm", "init_operators", "constructor", "dynamicComponentSelectorService", "dialogRef", "formResult", "EventEmitter", "allowedEntryApps", "variables$", "getVariables", "includeHtml", "pipe", "map", "vars", "filter", "v", "requiredParams", "reduce", "prev", "curr", "i", "arr", "shareReplay", "chosenDynamicParam$$", "ReplaySubject", "ngOnInit", "asObservable", "switchMap", "chosenDynamicParam", "getProductSubstitutionVariables", "apps", "a", "includes", "appId", "app", "name", "replacementTag", "next", "add", "close", "\u0275\u0275directiveInject", "DynamicComponentSelectorService", "MatDialogRef", "selectors", "outputs", "standalone", "decls", "consts", "template", "rf", "ctx", "DynamicComponentDialogComponent_ng_container_4_Template", "_r1", "DynamicComponentDialogComponent_ng_template_14_Template", "empty_r12", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "openDialog", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "DynamicComponentSelectorComponent", "init_dynamic_component_selector_component", "__esmMin", "init_core", "init_operators", "init_dynamic_component_dialog_component", "constructor", "dialog", "variableService", "modelChange", "EventEmitter", "variablesReady", "hasComponentsToDisplay", "open", "DynamicComponentDialogComponent", "width", "height", "afterClosed", "pipe", "take", "subscribe", "res", "selectVariable", "replacementTag", "startPos", "target", "selectionStart", "endPos", "selectionEnd", "contentBefore", "value", "substr", "contentAfter", "length", "newValue", "emit", "window", "setTimeout", "focus", "setSelectionRange", "\u0275\u0275directiveInject", "MatDialog", "DynamicComponentSelectorService", "selectors", "inputs", "marketId", "model", "outputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "DynamicComponentSelectorComponent_mat_icon_0_Template", "en_devel_default", "init_en_devel", "__esmMin", "TemplatesI18nModule", "init_templates_i18n_module", "__esmMin", "init_ngx_translate_core", "init_src", "init_en_devel", "TranslateModule", "LexiconModule", "forChild", "componentName", "baseTranslation", "En", "DynamicComponentSelectorModule", "init_dynamic_component_selector_module", "__esmMin", "init_common", "init_button", "init_card", "init_core", "init_dialog", "init_form_field", "init_icon", "init_input", "init_list", "init_select", "init_tooltip", "init_ngx_translate_core", "init_empty_state", "init_galaxy_wrap", "init_dynamic_component_selector_service", "init_templates_i18n_module", "DynamicComponentSelectorService", "imports", "CommonModule", "GalaxyTooltipModule", "GalaxyWrapModule", "MatFormFieldModule", "MatButtonModule", "MatDialogModule", "MatInputModule", "MatListModule", "MatIconModule", "MatTooltipModule", "MatCardModule", "MatOptionModule", "TranslateModule", "MatSelectModule", "GalaxyEmptyStateModule", "TemplatesI18nModule", "init_src", "__esmMin", "init_dynamic_component_selector_module", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275element", "\u0275\u0275property", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "emitNewTemplateValue", "smsText_r3", "\u0275\u0275textInterpolate1", "\u0275\u0275textInterpolate2", "calculatedTextLength$$", "textLimit", "regex", "FALLBACK_TEXT_LIMIT", "TextMessageBuilderFormComponent", "init_text_message_builder_form_component", "__esmMin", "init_core", "init_forms", "init_form_field", "init_input", "init_src", "init_common", "init_ngx_translate_core", "init_token", "init_esm", "RegExp", "setInitialInputText", "inputText", "smsForm", "patchValue", "next", "message", "replaceAll", "length", "constructor", "FormGroup", "name", "FormControl", "BehaviorSubject", "template", "EventEmitter", "valid", "ngOnInit", "valueChanges", "subscribe", "value", "emit", "statusChanges", "status", "get", "setValue", "updateValueAndValidity", "\u0275\u0275directiveInject", "SmsTextLimitToken", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275template", "TextMessageBuilderFormComponent_Conditional_6_Template", "TextMessageBuilderFormComponent_Conditional_7_Template", "\u0275\u0275conditional", "allowDynamic", "CommonModule", "AsyncPipe", "GalaxyFormFieldModule", "FormFieldComponent", "LabelDirective", "HintDirective", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NgControlStatus", "NgControlStatusGroup", "RequiredValidator", "FormGroupDirective", "FormControlName", "MatInputModule", "MatInput", "CdkTextareaAutosize", "DynamicComponentSelectorModule", "DynamicComponentSelectorComponent", "TranslateModule", "TranslatePipe", "styles", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275propertyInterpolate", "messageImageURL_r1", "\u0275\u0275sanitizeUrl", "TextMessageBuilderPreviewComponent", "init_text_message_builder_preview_component", "__esmMin", "init_chat", "init_card", "init_vendasta_templates", "init_esm", "init_common", "constructor", "templates", "loading", "ngOnChanges", "changes", "allowDynamic", "rendered$", "render", "currentValue", "account_group_id", "partner_id", "contact_id", "TemplateType", "TEMPLATE_TYPE_GOLANG_TEXT", "accountGroupId", "partnerId", "contactId", "undefined", "pipe", "tap", "_", "\u0275\u0275directiveInject", "TemplatesService", "selectors", "inputs", "messageText", "smsLink$", "businessName$", "messageImageURL$", "features", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "TextMessageBuilderPreviewComponent_ng_container_0_Template", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275sanitizeHtml", "CommonModule", "NgIf", "AsyncPipe", "ChatMessageComponent", "MatCardModule", "styles", "TextMessageBuilderComponent", "init_text_message_builder_component", "__esmMin", "init_core", "init_text_message_builder_form_component", "init_text_message_builder_preview_component", "init_esm", "init_common", "init_card", "init_ngx_translate_core", "constructor", "initialInputText", "message", "name", "sms$$", "BehaviorSubject", "sms$", "asObservable", "valid$$", "valid$", "sms", "EventEmitter", "valid", "setMessageBuilderText", "messageBuilderText", "next", "ngOnInit", "subscribe", "value", "emit", "status", "updateSMS", "m", "updateValid", "selectors", "inputs", "smsLink$", "businessName$", "messageImageURL$", "allowDynamic", "setTextLimit", "outputs", "ngContentSelectors", "_c1", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "$event", "\u0275\u0275projection", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275property", "MatCardModule", "MatCard", "MatCardContent", "MatCardHeader", "MatCardTitle", "CommonModule", "AsyncPipe", "TextMessageBuilderFormComponent", "TextMessageBuilderPreviewComponent", "TranslateModule", "TranslatePipe", "styles", "SmsConfigService", "init_sms_config_service", "__esmMin", "init_core", "init_token", "init_esm", "init_vendasta_smsv2", "constructor", "context", "inject", "SmsContextToken", "configApiService", "ConfigApiService", "conversationAPI", "ConversationApiService", "usesBroadlyTwilio$", "sendsViaBroadly$", "phoneNumberConfig$", "ownerId$", "pipe", "switchMap", "ownerId", "getPhoneNumberConfig", "ownerType", "map", "response", "phoneNumberConfig", "upsertPhoneNumberConfig", "config", "payload", "claimPhoneNumber", "factory", "\u0275fac", "providedIn", "BROADLY_SMS_PIDS", "init_interface", "__esmMin", "init_src", "__esmMin", "init_sms_module", "init_a2p_registration_service", "init_a2p_registration_constants", "init_text_message_builder_component", "init_learn_more_modal_component", "init_sms_config_service", "init_a2p_helper_functions", "init_token", "init_interface"] }