{"version":3,"file":"static/js/cd6dc17e7b843a21f137.bundle.js","mappings":"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","sources":["webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/britax-business-sign-up/components/sign-up-button.tsx?7f8b","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/britax-business-sign-up/components/sign-up-error.tsx?a280","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/britax-business-sign-up/components/sign-up-input.tsx?2575","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/britax-business-sign-up/components/sign-up-label.tsx?cc5a","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/britax-business-sign-up/britax-business-sign-up.tsx?7325","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/britax-business-sign-up/britax-business-sign-up.view.tsx?bf6a","webpack://@msdyn365-commerce-partners/fabrikam/./lib/britax-business-sign-up/module-registration.js?06c0","webpack://@msdyn365-commerce-partners/fabrikam/external var \"React\"?0d3b","webpack://@msdyn365-commerce-partners/fabrikam/external var \"ReactDOM\"?853b","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/modules/es.string.match.js?1418"],"sourcesContent":["/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n ITelemetryContent,\r\n} from \"@msdyn365-commerce-modules/utilities\";\r\nimport * as React from \"react\";\r\n\r\nexport interface IBusinessSignUpButtonProps {\r\n id?: string;\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n link?: string;\r\n telemetryContent: ITelemetryContent;\r\n onClick?(event: React.MouseEvent): void;\r\n}\r\n\r\nexport const SignUpButton: React.FC = ({\r\n id,\r\n className,\r\n text,\r\n ariaLabel,\r\n telemetryContent,\r\n disabled,\r\n link,\r\n onClick,\r\n}) => {\r\n const payLoad = getPayloadObject(\"click\", telemetryContent, text);\r\n const attributes = getTelemetryAttributes(telemetryContent, payLoad);\r\n\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default SignUpButton;\r\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\n/* eslint-disable no-duplicate-imports */\nimport classnames from \"classnames\";\nimport * as React from \"react\";\n\nexport interface IBusinessSignUpErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nexport const SignUpError: React.FC = ({\n id,\n className,\n type = \"page\",\n message,\n}) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n // VSI-Customization code upgrade 10.0.32 Talha ADO:2621\n \n

{message}

\n \n );\n};\n\nexport default SignUpError;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { INodeProps } from \"@msdyn365-commerce-modules/utilities\";\r\nimport * as React from \"react\";\r\n\r\nimport { InputType } from \"../britax-business-sign-up\";\r\n\r\nexport interface IBusinessSignUpInputProps {\r\n id?: string;\r\n type: InputType;\r\n value?: string;\r\n pattern?: string;\r\n className: string;\r\n maxLength?: string;\r\n isRequired: boolean;\r\n fieldReference?: React.RefObject;\r\n onChange?(\r\n event: React.ChangeEvent\r\n ): void;\r\n}\r\n\r\nexport interface IBusinessSignUpInput {\r\n key: string;\r\n AddressItem: INodeProps;\r\n label: React.ReactNode;\r\n alert: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nconst GetMaxLength = (maxLength?: string): number | undefined => {\r\n if (maxLength) {\r\n const parsedMaxLength = Number.parseInt(maxLength, 10);\r\n if (!isNaN(parsedMaxLength)) {\r\n return parsedMaxLength;\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nexport const SignUpInput: React.FC = ({\r\n id,\r\n type,\r\n value,\r\n pattern,\r\n className,\r\n maxLength,\r\n isRequired,\r\n onChange,\r\n fieldReference,\r\n}) => {\r\n if (type === InputType.TextArea) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SignUpInput;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from \"react\";\r\n\r\nexport interface IBusinessSignUpLabelProps {\r\n id: string;\r\n forId: string;\r\n className: string;\r\n text: string;\r\n}\r\n\r\nexport const SignUpLabel: React.FC = ({\r\n id,\r\n forId,\r\n className,\r\n text,\r\n}) => (\r\n \r\n);\r\n\r\nexport default SignUpLabel;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n ContentEditableEvent,\r\n getUrlSync,\r\n RichTextComponent,\r\n Text,\r\n} from \"@msdyn365-commerce/core\";\r\nimport {\r\n Address,\r\n BusinessPartnerProspect,\r\n} from \"@msdyn365-commerce/retail-proxy\";\r\nimport { createProspectAsync } from \"@msdyn365-commerce/retail-proxy/dist/DataActions/BusinessPartnersDataActions.g\";\r\nimport { EmailRegex } from \"@msdyn365-commerce-modules/retail-actions\";\r\nimport {\r\n getTelemetryObject,\r\n IModuleProps,\r\n INodeProps,\r\n ITelemetryContent,\r\n} from \"@msdyn365-commerce-modules/utilities\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\n\r\nimport {\r\n IBritaxBusinessSignUpConfig,\r\n IBritaxBusinessSignUpProps,\r\n} from \"./britax-business-sign-up.props.autogenerated\";\r\nimport {\r\n SignUpButton,\r\n SignUpError,\r\n SignUpInput,\r\n SignUpLabel,\r\n} from \"./components\";\r\n\r\nexport interface IBusinessSignUpExtendedProps\r\n extends IBritaxBusinessSignUpProps {\r\n formItems?: IFormItem[];\r\n}\r\n\r\nexport interface IBusinessSignUpItem {\r\n wrapper: INodeProps;\r\n isAddressInput?: boolean;\r\n id: string;\r\n label: React.ReactNode;\r\n errorMessage: React.ReactNode;\r\n input?: React.ReactNode;\r\n}\r\n\r\nexport interface IBusinessState {\r\n isReady: boolean;\r\n formItems: IFormItem[];\r\n addressHasErrors: boolean;\r\n showAddressErrors: boolean;\r\n hasSubmitErrors: boolean;\r\n emailCheck: boolean;\r\n}\r\n\r\nexport interface IBusinessSignUpLocalAccount {\r\n FormWrapper: INodeProps;\r\n items: IBusinessSignUpItem[];\r\n buttons: React.ReactNode[];\r\n errorMessage: React.ReactNode[];\r\n disclaimer: React.ReactNode;\r\n}\r\n\r\nexport interface IBusinessSignUpViewProps {\r\n className: string;\r\n businessSignUp: IModuleProps;\r\n ContainerWrapper: INodeProps;\r\n heading: React.ReactNode;\r\n businessSignUpForm: IBusinessSignUpLocalAccount;\r\n formItems: IFormItem[];\r\n}\r\n\r\nexport interface IFormItem {\r\n id: string;\r\n type: InputType;\r\n label: string;\r\n value: string;\r\n maxChars?: string;\r\n isRequired: boolean;\r\n pattern?: string;\r\n address?: Address;\r\n customClass?: string;\r\n fieldReference?: React.RefObject;\r\n}\r\n\r\nexport enum InputType {\r\n // eslint-disable-next-line @typescript-eslint/no-shadow -- Text enum doesn't override the imported Text\r\n Text = \"text\",\r\n Address = \"address\",\r\n Email = \"email\",\r\n TextArea = \"textarea\",\r\n Number = \"number\",\r\n}\r\n\r\nexport enum InputID {\r\n FirstName = \"FirstName\",\r\n LastName = \"LastName\",\r\n Email = \"CompanyEmail\",\r\n CompanyName = \"CompanyName\",\r\n Address = \"CompanyAddress\",\r\n JobTitle = \"JobTitle\",\r\n Size = \"CompanySize\",\r\n Department = \"Department\",\r\n Comment = \"Comment\",\r\n VatNo = \"VATNo\",\r\n}\r\n\r\nexport const renderInputSection = (\r\n hasSubmitErrors: any,\r\n resources: any,\r\n inputs: IFormItem[],\r\n className: string,\r\n needToReset: boolean,\r\n onInputChange: (\r\n event: React.ChangeEvent\r\n ) => void,\r\n showErrors: boolean,\r\n addressForm?: React.ReactNode,\r\n emailCheck?: Boolean,\r\n updateAddress?: (errors: boolean, currAddress?: Address) => void,\r\n props?: any\r\n): IBusinessSignUpItem[] => {\r\n return inputs.map((element, index) => {\r\n const {\r\n id,\r\n type,\r\n label,\r\n maxChars,\r\n isRequired,\r\n pattern,\r\n customClass,\r\n value,\r\n fieldReference,\r\n } = element;\r\n\r\n const baseSignUpItem: IBusinessSignUpItem = {\r\n wrapper: {\r\n className: classnames(className, `${className}-${id}`, customClass),\r\n },\r\n id,\r\n label: ,\r\n errorMessage: ,\r\n };\r\n\r\n if (type === InputType.Address) {\r\n if (addressForm) {\r\n baseSignUpItem.isAddressInput = true;\r\n baseSignUpItem.input = (\r\n <>\r\n {React.cloneElement(addressForm as React.ReactElement, {\r\n updateForm: updateAddress,\r\n hasError: showErrors,\r\n isRequired: isRequired === undefined ? false : isRequired,\r\n resetAddress: needToReset,\r\n })}\r\n \r\n );\r\n } else {\r\n // If the address slot is not filled, remove this input from the form\r\n inputs.splice(index, 1);\r\n }\r\n } else {\r\n if (baseSignUpItem.id == \"CompanyEmail\") {\r\n baseSignUpItem.input = (\r\n <>\r\n \r\n {value.length === 0 && isRequired === true && hasSubmitErrors ? (\r\n \r\n {resources.requiredFieldMissingError}\r\n \r\n ) : null}\r\n {emailCheck ? (\r\n \r\n {props.resources.invalidEmailAddress}\r\n \r\n ) : null}\r\n \r\n );\r\n } else if (baseSignUpItem.id == \"CompanySize\") {\r\n baseSignUpItem.input = (\r\n <>\r\n \r\n {value.length === 0 && isRequired === true && hasSubmitErrors ? (\r\n \r\n {resources.requiredFieldMissingError}\r\n \r\n ) : null}\r\n \r\n );\r\n } else {\r\n baseSignUpItem.input = (\r\n <>\r\n \r\n {value.length === 0 && isRequired === true && hasSubmitErrors ? (\r\n \r\n {resources.requiredFieldMissingError}\r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n }\r\n\r\n return baseSignUpItem;\r\n });\r\n};\r\n\r\n/**\r\n *\r\n * Business Request Form Modules\r\n * Form that a business can use to submit a request to become a partner with Microsoft.\r\n * @extends {React.Component>}\r\n */\r\nclass BusinessSignUp extends React.Component<\r\n IBusinessSignUpExtendedProps,\r\n IBusinessState\r\n> {\r\n // Used as default data\r\n public BusinessSignUpDefaultInputs: IFormItem[] = [\r\n {\r\n id: InputID.FirstName,\r\n type: InputType.Text,\r\n label: this.props.resources.firstNameLabel,\r\n value: \"\",\r\n isRequired: true,\r\n customClass: \"width-25\",\r\n },\r\n {\r\n id: InputID.LastName,\r\n type: InputType.Text,\r\n label: this.props.resources.lastNameLabel,\r\n value: \"\",\r\n isRequired: true,\r\n customClass: \"width-25\",\r\n },\r\n {\r\n id: InputID.Email,\r\n type: InputType.Email,\r\n label: this.props.resources.emailAddressLabel,\r\n value: \"\",\r\n isRequired: true,\r\n pattern: EmailRegex.defaultRegex.source,\r\n customClass: \"width-50\",\r\n },\r\n {\r\n id: InputID.CompanyName,\r\n type: InputType.Text,\r\n label: this.props.resources.companyLabel,\r\n value: \"\",\r\n isRequired: true,\r\n customClass: \"width-50\",\r\n },\r\n {\r\n id: InputID.Department,\r\n type: InputType.Text,\r\n label: this.props.resources.departmentLabel,\r\n value: \"\",\r\n isRequired: true,\r\n customClass: \"width-50\",\r\n },\r\n {\r\n id: InputID.JobTitle,\r\n type: InputType.Text,\r\n label: this.props.resources.jobTitleLabel,\r\n value: \"\",\r\n isRequired: true,\r\n customClass: \"width-50\",\r\n },\r\n {\r\n id: InputID.Size,\r\n type: InputType.Number,\r\n label: this.props.resources.companySizeLabel,\r\n value: \"\",\r\n isRequired: true,\r\n customClass: \"width-50\",\r\n },\r\n {\r\n id: InputID.Address,\r\n type: InputType.Address,\r\n label: this.props.resources.companyAddressLabel,\r\n value: \"\",\r\n isRequired: true,\r\n customClass: \"width-100\",\r\n },\r\n {\r\n id: InputID.Comment,\r\n type: InputType.TextArea,\r\n label: this.props.resources.commentLabel,\r\n value: \"\",\r\n isRequired: false,\r\n customClass: \"width-100\",\r\n },\r\n {\r\n id: InputID.VatNo,\r\n type: InputType.Text,\r\n label: this.props.resources?.vatNo,\r\n value: \"\",\r\n isRequired: false,\r\n customClass: \"width-100\",\r\n },\r\n ];\r\n\r\n private readonly formChildReference: React.RefObject =\r\n React.createRef();\r\n\r\n private readonly moduleClassName: string = \"ms-business-sign-up\";\r\n\r\n private needsToReset: boolean = false;\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n constructor(props: IBusinessSignUpExtendedProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isReady: false,\r\n formItems: this.props.formItems || this._addedReference(),\r\n addressHasErrors: false,\r\n showAddressErrors: false,\r\n hasSubmitErrors: false,\r\n emailCheck: false,\r\n };\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n }\r\n\r\n public componentDidMount(): void {\r\n this.formChildReference.current?.focus();\r\n const phone: any = document.querySelector(\"#company_addressphone\");\r\n if (phone) {\r\n phone.setAttribute(\"type\", \"number\");\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(\r\n nextProps: IBusinessSignUpExtendedProps,\r\n nextState: IBusinessState\r\n ): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { config } = this.props;\r\n const { formItems } = this.state;\r\n const { className, heading } = config;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n businessSignUp: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName, className),\r\n },\r\n ContainerWrapper: {\r\n className: `${this.moduleClassName}__container`,\r\n },\r\n heading: (\r\n \r\n ),\r\n businessSignUpForm: this._renderForm(),\r\n formItems,\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handle the heading change event.\r\n * @param event - Content Editable Event.\r\n */\r\n public handleHeadingChange = (event: ContentEditableEvent): void => {\r\n this.props.config.heading.text = event.target.value;\r\n };\r\n\r\n private _renderForm(): IBusinessSignUpLocalAccount {\r\n const { config, resources, slots } = this.props;\r\n const { showAddressErrors, hasSubmitErrors, isReady, formItems } =\r\n this.state;\r\n const {\r\n signUpButtonArialabel,\r\n signUpButtonText,\r\n cancelButtonArialabel,\r\n cancelButtonText,\r\n } = resources;\r\n const addressForm =\r\n (slots &&\r\n slots.addressSlot &&\r\n slots.addressSlot.length > 0 &&\r\n slots.addressSlot[0]) ||\r\n undefined;\r\n const successPageURL =\r\n (config.confirmationLink &&\r\n config.confirmationLink.linkUrl &&\r\n config.confirmationLink.linkUrl.destinationUrl) ||\r\n getUrlSync(\"home\", this.props.context.actionContext);\r\n\r\n const form = {\r\n FormWrapper: {\r\n className: `${this.moduleClassName}__form `,\r\n },\r\n items: renderInputSection(\r\n hasSubmitErrors,\r\n resources,\r\n formItems,\r\n `${this.moduleClassName}__form-item`,\r\n this.needsToReset,\r\n this._onInputChange,\r\n showAddressErrors,\r\n addressForm,\r\n this.state.emailCheck,\r\n this._onAddressChange,\r\n this.props\r\n ),\r\n buttons: [\r\n ,\r\n ,\r\n ],\r\n errorMessage: [\r\n // hasSubmitErrors && ,\r\n // showAddressErrors && \r\n ],\r\n disclaimer: config.disclaimer && (\r\n \r\n ),\r\n };\r\n\r\n if (this.needsToReset) {\r\n this.needsToReset = false;\r\n }\r\n\r\n return form;\r\n }\r\n\r\n private readonly _onInputChange = (\r\n event: React.ChangeEvent\r\n ): void => {\r\n const newForm = this.state.formItems;\r\n newForm.forEach((item) => {\r\n if (item.id === event.target.id) {\r\n item.value = event.target.value;\r\n }\r\n });\r\n // Check if form is ready, update state object with latest values, values have changed so reset hasSubmitErrros\r\n\r\n this.setState({\r\n isReady: this._isFormReady(),\r\n formItems: newForm,\r\n hasSubmitErrors: false,\r\n });\r\n };\r\n\r\n private _addedReference(): IFormItem[] {\r\n const newFormFields = this.BusinessSignUpDefaultInputs;\r\n newFormFields[0].fieldReference = this.formChildReference;\r\n return newFormFields;\r\n }\r\n\r\n private readonly _onAddressChange = (\r\n errors: boolean,\r\n currentAddress?: Address\r\n ): void => {\r\n // Find address item\r\n const newForm = this.state.formItems;\r\n const addressItem = newForm.find((item) => {\r\n return item.type === InputType.Address;\r\n });\r\n\r\n // If found --> set to currentAddress\r\n var span: any = document.querySelector(\"#addressPhone\");\r\n\r\n if (addressItem) {\r\n addressItem.address = currentAddress;\r\n if (span) {\r\n span.style.display = \"none\";\r\n }\r\n // Update state with new values and set errors to false if address is not required field\r\n var numberOfShops = document.querySelector(\r\n \".ms-business-sign-up__form-item-input.ms-business-sign-up__form-item-CompanySize\"\r\n );\r\n if (numberOfShops) {\r\n numberOfShops.setAttribute(\"type\", \"number\");\r\n numberOfShops.setAttribute(\r\n \"onkeypress\",\r\n \"return event.keyCode === 8 || event.charCode >= 48 && event.charCode <= 57\"\r\n );\r\n }\r\n\r\n var p: any = document.querySelector(\"#company_addressphone\");\r\n if (p) {\r\n if (p?.value.length > 0 && !errors) {\r\n this.setState({\r\n isReady: this._isFormReady(),\r\n formItems: newForm,\r\n addressHasErrors: false,\r\n showAddressErrors: false,\r\n });\r\n } else {\r\n this.setState(\r\n // VSI-Customization code upgrade 10.0.32 Talha ADO:2621\r\n {\r\n formItems: newForm,\r\n addressHasErrors: errors,\r\n showAddressErrors: false,\r\n },\r\n () => {\r\n this.setState({ isReady: this._isFormReady() });\r\n }\r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n private readonly _isFormReady = (): boolean => {\r\n const { formItems } = this.state;\r\n\r\n for (const currentInput of formItems) {\r\n // Will return FALSE if:\r\n // - input field is required\r\n // IF is address AND addressHasErrors === true\r\n // ELSE value is undefined OR empty\r\n // OR\r\n // - pattern provided and value does not match pattern\r\n\r\n if (currentInput.isRequired) {\r\n if (currentInput.type === InputType.Address) {\r\n if (this.state.addressHasErrors) {\r\n return false;\r\n }\r\n } else if (\r\n currentInput.value === undefined ||\r\n currentInput.value === \"\"\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n if (\r\n currentInput.pattern !== undefined &&\r\n currentInput.value.match(currentInput.pattern) == null\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n };\r\n\r\n private readonly _onSubmit = (\r\n event: React.MouseEvent\r\n ) => {\r\n if (this.state.addressHasErrors) {\r\n this.setState({\r\n showAddressErrors: true,\r\n });\r\n\r\n event.preventDefault();\r\n }\r\n\r\n const { context } = this.props;\r\n\r\n // Check for matching id and if not empty\r\n const firstName = this._getItem(InputID.FirstName);\r\n const lastName = this._getItem(InputID.LastName);\r\n const companyName = this._getItem(InputID.CompanyName);\r\n const companyEmail = this._getItem(InputID.Email);\r\n const companyAddress = this._getItem(InputID.Address, true);\r\n const jobTitle = this._getItem(InputID.JobTitle);\r\n const department = this._getItem(InputID.Department);\r\n const companySize = this._getItem(InputID.Size);\r\n const comments = this._getItem(InputID.Comment);\r\n const VatNo = this._getItem(InputID.VatNo);\r\n\r\n var p: any = document.querySelector(\"#company_addressphone\");\r\n if (p) {\r\n if (p?.value.length == 0) {\r\n var span: any = document.querySelector(\"#addressPhone\");\r\n if (span) {\r\n span.style.display = \"block\";\r\n }\r\n } else {\r\n var span: any = document.querySelector(\"#addressPhone\");\r\n if (span) {\r\n span.style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n const testString: string = companyEmail?.value ? companyEmail.value : \"\";\r\n\r\n if (\r\n EmailRegex.defaultRegex.test(testString) == false &&\r\n testString.length > 0\r\n ) {\r\n this.setState({\r\n emailCheck: true,\r\n });\r\n } else {\r\n this.setState({\r\n emailCheck: false,\r\n });\r\n }\r\n\r\n if (\r\n firstName &&\r\n lastName &&\r\n companyName &&\r\n companyEmail &&\r\n companyAddress &&\r\n jobTitle &&\r\n department &&\r\n companySize &&\r\n p?.value.length > 0\r\n ) {\r\n // // API gets email as part of the address object, but I do not use the email input from the address component, thus we need to copy it over\r\n if (\r\n companyEmail &&\r\n companyEmail.value &&\r\n companyAddress &&\r\n companyAddress.address\r\n ) {\r\n companyAddress.address.Email = companyEmail.value;\r\n }\r\n const newPartner: BusinessPartnerProspect = {\r\n FirstName: firstName && firstName.value,\r\n LastName: lastName && lastName.value,\r\n CompanyName: companyName && companyName.value,\r\n Address:\r\n companyAddress && companyAddress.address && companyAddress.address,\r\n JobTitle: jobTitle && jobTitle.value,\r\n Department: department && department.value,\r\n CompanySize:\r\n (companySize && Number.parseInt(companySize.value, 10)) || 0,\r\n Comments: comments && comments.value,\r\n ExtensionProperties: [\r\n {\r\n Key: \"VATNumber\",\r\n Value: {\r\n // BooleanValue: null,\r\n // ByteValue: null,\r\n // DateTimeOffsetValue: null,\r\n // DecimalValue: null,\r\n // IntegerValue: null,\r\n // \"LongValue\": null,(\r\n StringValue: VatNo?.value,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n // Create business partner request\r\n createProspectAsync({ callerContext: context.actionContext }, newPartner)\r\n .then((res: any) => {\r\n if (res) {\r\n window.location.href =\r\n context.request.url.requestUrl.origin + \"/signup-confirmation\";\r\n }\r\n })\r\n .catch((e: any) => {\r\n this.setState({\r\n hasSubmitErrors: true,\r\n isReady: false,\r\n });\r\n });\r\n } else {\r\n this.setState({\r\n hasSubmitErrors: true,\r\n });\r\n }\r\n };\r\n\r\n private readonly _onCancel = () => {\r\n // Reset values of the form\r\n const locale =\r\n this.props.context.request.locale != \"en-GB\"\r\n ? this.props.context.request.locale\r\n : \"\";\r\n\r\n const cleanForm = this.state.formItems;\r\n cleanForm.forEach((input) => {\r\n input.value = \"\";\r\n });\r\n\r\n // Set reset flag so address input will get reset on next renderInputSection() call\r\n this.needsToReset = true;\r\n\r\n this.setState({\r\n isReady: false,\r\n formItems: cleanForm,\r\n addressHasErrors: true,\r\n showAddressErrors: false,\r\n hasSubmitErrors: false,\r\n });\r\n\r\n window.location.href =\r\n this.props.context.request.url.requestUrl.origin + \"/\" + locale;\r\n };\r\n\r\n private readonly _getItem = (id: string, isAddress: boolean = false) => {\r\n if (isAddress) {\r\n return this.state.formItems.find((item) => {\r\n return item.id === id && item.address;\r\n });\r\n }\r\n return this.state.formItems.find((item) => {\r\n return item.id === id && item.value !== \"\";\r\n });\r\n };\r\n}\r\n\r\nexport default BusinessSignUp;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from \"@msdyn365-commerce-modules/utilities\";\r\nimport * as React from \"react\";\r\n\r\nimport {\r\n IBusinessSignUpItem,\r\n IBusinessSignUpViewProps,\r\n} from \"./britax-business-sign-up\";\r\n\r\nconst BusinessSignUpItem: React.FC = ({\r\n wrapper,\r\n label,\r\n errorMessage,\r\n input,\r\n isAddressInput,\r\n}) => {\r\n // Hide label and error message if rendering address section\r\n return (\r\n \r\n {!isAddressInput && label}\r\n {!isAddressInput && errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst BusinesSignUpView: React.FC = (props) => {\r\n const { businessSignUp, ContainerWrapper, heading, businessSignUpForm } =\r\n props;\r\n\r\n const { FormWrapper, buttons, items, errorMessage, disclaimer } =\r\n businessSignUpForm;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {items &&\r\n items.map((item: IBusinessSignUpItem) => {\r\n return ;\r\n })}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n {disclaimer}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BusinesSignUpView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['britax-business-sign-up'] = {\n c: () => require('partner/modules/britax-business-sign-up/britax-business-sign-up.tsx'),\n $type: 'containerModule',\n da: [],\n \n iNM: false,\n ns: '__local__',\n n: 'britax-business-sign-up',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/britax-business-sign-up'\n });\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|modules|britax-business-sign-up|britax-business-sign-up'] = {\n c: () => require('partner/modules/britax-business-sign-up/britax-business-sign-up.view.tsx'),\n cn: '__local__-__local__-britax-business-sign-up'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n"],"names":["SignUpButton","_ref","id","className","text","ariaLabel","telemetryContent","disabled","link","onClick","payLoad","getPayloadObject","attributes","getTelemetryAttributes","React","Button","Object","assign","role","SignUpError","type","message","errorClassName","classnames","GetMaxLength","maxLength","parsedMaxLength","Number","parseInt","isNaN","SignUpInput","value","pattern","isRequired","onChange","fieldReference","InputType","TextArea","name","undefined","ref","SignUpLabel","forId","htmlFor","InputID","renderInputSection","hasSubmitErrors","resources","inputs","needToReset","onInputChange","showErrors","addressForm","emailCheck","updateAddress","props","map","element","index","label","maxChars","customClass","baseSignUpItem","wrapper","errorMessage","Address","isAddressInput","input","updateForm","hasError","resetAddress","splice","length","requiredFieldMissingError","invalidEmailAddress","BusinessSignUp","constructor","_this$props$resources","_this","super","this","BusinessSignUpDefaultInputs","FirstName","Text","firstNameLabel","LastName","lastNameLabel","Email","emailAddressLabel","EmailRegex","defaultRegex","source","CompanyName","companyLabel","Department","departmentLabel","JobTitle","jobTitleLabel","Size","companySizeLabel","companyAddressLabel","Comment","commentLabel","VatNo","vatNo","formChildReference","moduleClassName","needsToReset","handleHeadingChange","event","config","heading","target","_onInputChange","newForm","state","formItems","forEach","item","setState","isReady","_isFormReady","_onAddressChange","errors","currentAddress","addressItem","find","span","document","querySelector","address","style","display","numberOfShops","setAttribute","p","addressHasErrors","showAddressErrors","currentInput","match","_onSubmit","preventDefault","context","firstName","_getItem","lastName","companyName","companyEmail","companyAddress","jobTitle","department","companySize","comments","testString","test","newPartner","CompanySize","Comments","ExtensionProperties","Key","Value","StringValue","createProspectAsync","callerContext","actionContext","then","res","window","location","href","request","url","requestUrl","origin","catch","e","_onCancel","locale","cleanForm","isAddress","arguments","_addedReference","getTelemetryObject","telemetryPageName","friendlyName","telemetry","componentDidMount","_this$formChildRefere","current","focus","phone","shouldComponentUpdate","nextProps","nextState","data","render","viewProps","_objectSpread","businessSignUp","moduleProps","ContainerWrapper","editProps","onEdit","requestContext","businessSignUpForm","_renderForm","renderView","slots","signUpButtonArialabel","signUpButtonText","cancelButtonArialabel","cancelButtonText","addressSlot","successPageURL","confirmationLink","linkUrl","destinationUrl","getUrlSync","form","FormWrapper","items","buttons","key","disclaimer","RichTextComponent","newFormFields","BusinessSignUpItem","Node","Module","error","button","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","pdp","md","__bindings__","viewDictionary","cn","module","exports","ReactDOM","call","fixRegExpWellKnownSymbolLogic","anObject","isNullOrUndefined","toLength","toString","requireObjectCoercible","getMethod","advanceStringIndex","regExpExec","MATCH","nativeMatch","maybeCallNative","regexp","O","matcher","RegExp","string","rx","S","done","global","fullUnicode","unicode","lastIndex","result","A","matchStr"],"sourceRoot":""}