{"version":3,"file":"js/9507-40af7c1f22ffb4135da1.js","mappings":"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","sources":["webpack:///./app/javascript/components/OrderForm/Buttons.jsx","webpack:///./app/javascript/components/OrderForm/ContactForm.jsx","webpack:///./app/javascript/components/OrderForm/InfoForm.jsx","webpack:///./app/javascript/components/OrderForm/ShowCaseForm.jsx","webpack:///./app/javascript/components/OrderForm/index.jsx","webpack:///./app/javascript/components/SharedComponents/TrustPilot.jsx","webpack:///./app/javascript/components/helpers/trovit_analitics.js"],"sourcesContent":["import React from 'react';\n\nimport { SvgIco } from '../SharedComponents/Icons';\nimport Loader from '../SharedComponents/Loader';\n\nimport './Buttons.sass';\n\n\nexport const ButtonCta = ({\n  active,\n  isDisabled,\n  shouldSubmit,\n  additionalClass,\n  onClick,\n  text,\n  type,\n}) => {\n\n  const buttonsTypeData = {\n    infoButton: {\n      mainText: I18n.t('apps.lb_showroom.detailed.order_form.info_button_one'),\n      infoSentText: I18n.t('apps.lb_showroom.detailed.order_form.info_button_one_send'),\n    },\n    showButton: {\n      mainText: I18n.t('apps.lb_showroom.detailed.order_form.info_button_two'),\n      infoSentText: I18n.t('apps.lb_showroom.detailed.order_form.show_button_sent_ab_test'),\n    },\n    contactButton: {\n      mainText: I18n.t('apps.lb_showroom.detailed.order_form.contact_button_one_ab_test'),\n      infoSentText: I18n.t('apps.lb_showroom.detailed.order_form.contact_button_sent'),\n    },\n  };\n\n  const classes = `order-form__button ${active && 'active'} ${\n    additionalClass ? ' ' + additionalClass : ''\n  }`;\n\n  const buttonIcon =\n    active\n    ? <SvgIco name=\"check\" size={25} />\n    : isDisabled\n    ? <Loader size={18} left={7} top={15} />\n    : null;\n\n  const buttonText =\n    text\n    ? text\n    : active\n    ? buttonsTypeData[type].infoSentText\n    : buttonsTypeData[type].mainText;\n\n  return shouldSubmit ? (\n    <button onClick={onClick} disabled={isDisabled} className={classes}>\n      { buttonIcon }\n      <span>{ buttonText }</span>\n    </button>\n  ) : (\n    <div onClick={onClick} className={classes}>\n      { buttonIcon }\n      <span>{ buttonText }</span>\n    </div>\n  );\n};\n","import React, { Component } from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\n\nimport Client from '../../utils/Client';\nimport { validationPatterns } from '../../utils/validationPatterns';\nimport { ButtonCta } from './Buttons';\n\n// sent request when user onBlur input field in form\n// import { storeValidationFails } from '../../utils/FormHandler';\n\n\nclass Form extends Component {\n  state = {\n    subFormCollapsed: true,\n    collapsibleWrapperFullHeight: null,\n    collapsibleWrapperSubHeight: null,\n    // showJeudanValidationErrorMessage: false,\n    // jeudanReadMore: false,\n  };\n\n  componentDidMount() {\n    if (this.formFields) {\n      {\n        /*\n        todo: find a way to count this dynamically\n        error block height(15px) * error blocks count(5) = 75\n      */\n      }\n      this.setState({\n        collapsibleWrapperFullHeight: 1000,\n        collapsibleWrapperSubHeight:\n          this.formFields.clientHeight - this.subFrom.clientHeight,\n      });\n    }\n  }\n\n  uncollapseSubForm = () => {\n    this.state.subFormCollapsed && this.setState({ subFormCollapsed: false });\n  };\n\n  handleFieldBlur = (e) => {\n    this.props.handleBlur(e);\n    this.props.disableArrowWhenFocusInput\n      ? this.props.disableArrowWhenFocusInput(false)\n      : null;\n    // storeValidationFails(this, 'provider_message');\n  };\n\n  // openReadMoreJeudan = () => this.setState({ jeudanReadMore: true });\n\n  render() {\n    const {\n      values,\n      touched,\n      errors,\n      handleChange,\n      contactOrdered,\n      isSubmittingOrder,\n      buttonId,\n      // isJeudan,\n      handleSubmit,\n      handleInputChange,\n      setFieldValue,\n    } = this.props;\n\n    const {\n      // jeudanReadMore,\n      collapsibleWrapperSubHeight,\n      collapsibleWrapperFullHeight,\n      subFormCollapsed,\n    } = this.state;\n\n    const height = subFormCollapsed\n      ? collapsibleWrapperSubHeight\n      : collapsibleWrapperFullHeight;\n    const submitOnBtnClick = !subFormCollapsed;\n    const formHeight = { maxHeight: `${contactOrdered ? 0 : height - 5}px` };\n    // const checkboxClasses = classNames('jeudan-policy-checkbox__wrapper', {\n    //   checked: values.jeudan_policy,\n    //   error: touched.jeudan_policy && errors.jeudan_policy,\n    // });\n\n\n    return (\n      <div className=\"form-section\">\n        <form onSubmit={handleSubmit} noValidate>\n          {/* here we check does this field was filled by bot */}\n          <input\n            type=\"text\"\n            name=\"fifth_element\"\n            className=\"invisible\"\n            value={values.fifth_element}\n            onChange={handleChange}\n            onFocus={this.uncollapseSubForm}\n            onBlur={this.handleFieldBlur}\n          />\n\n          <div className=\"order-form__collapsible-wrapper form-collapsible-wrapper\">\n            <div\n              className=\"form-collapsible\"\n              ref={(elem) => (this.formFields = elem)}\n              style={formHeight}\n            >\n              <div className=\"input-wrapper\">\n                <div className=\"form-group\">\n                  <input\n                    id=\"name\"\n                    type=\"text\"\n                    value={values.name}\n                    onChange={(e) => {\n                      handleChange(e);\n                      handleInputChange(e);\n                    }}\n                    onBlur={this.handleFieldBlur}\n                    className={`form-control order-form__input\n                        ${values.name !== '' ? 'not-empty' : 'empty'}\n                        ${\n                          touched.name\n                            ? errors.name\n                              ? 'error'\n                              : 'is-valid order-input-valid'\n                            : null\n                        }`}\n                    onFocus={() => {\n                      this.uncollapseSubForm();\n                    }}\n                  />\n                  <span className=\"floating-label\">\n                    {I18n.t(\n                      'activemodel.attributes.provider_service_request.person_name',\n                    )}\n                    *\n                  </span>\n                  <div className=\"validation-wrapper\" />\n                  <div className=\"validation-message\">\n                    {touched.name && errors.name ? errors.name : null}\n                  </div>\n                </div>\n\n                <div className=\"form-group\">\n                  <input\n                    id=\"email\"\n                    type=\"email\"\n                    value={values.email}\n                    onChange={(e) => {\n                      handleChange(e);\n                      handleInputChange(e);\n                    }}\n                    onBlur={this.handleFieldBlur}\n                    onFocus={() => {\n                      this.uncollapseSubForm();\n                    }}\n                    className={`form-control order-form__input\n                        ${values.email !== '' ? 'not-empty' : 'empty'}\n                        ${\n                          touched.email\n                            ? errors.email\n                              ? 'error'\n                              : 'is-valid order-input-valid'\n                            : null\n                        }`}\n                  />\n                  <span className=\"floating-label\">\n                    {I18n.t(\n                      'activemodel.attributes.provider_service_request.email',\n                    )}\n                    *\n                  </span>\n                  <div className=\"validation-wrapper\" />\n                  <div className=\"validation-message\">\n                    {touched.email && errors.email ? errors.email : null}\n                  </div>\n                </div>\n\n                {subFormCollapsed && (\n                  <div className=\"form-group\">\n                    <textarea\n                      id=\"comment\"\n                      type=\"text\"\n                      resize=\"none\"\n                      value={values.comment}\n                      onChange={(e) => {\n                        handleChange(e);\n                        handleInputChange(e);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      onFocus={() => {\n                        this.uncollapseSubForm();\n                      }}\n                      className={`form-control order-form__textarea\n                        ${values.comment !== '' ? 'not-empty' : 'empty'}\n                        ${\n                          touched.comment\n                            ? errors.comment\n                              ? 'error'\n                              : 'is-valid order-input-valid'\n                            : null\n                        }`}\n                    />\n                    <span className=\"floating-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.your_question',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.comment && errors.comment\n                        ? errors.comment\n                        : null}\n                    </div>\n                  </div>\n                )}\n\n                <div className=\"form-sub\" ref={(elem) => (this.subFrom = elem)}>\n                  <div className=\"form-group\">\n                    <input\n                      id=\"phone\"\n                      type=\"tel\"\n                      value={values.phone}\n                      onChange={(e) => {\n                        const value = e.target.value\n                          .trimStart()\n                          .replace(/\\s\\s+/g, ' ');\n                        setFieldValue('phone', value);\n                        handleInputChange(e, value);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__input\n                          ${values.phone !== '' ? 'not-empty' : 'empty'}\n                          ${\n                            touched.phone\n                              ? errors.phone\n                                ? 'error'\n                                : 'is-valid order-input-valid'\n                              : null\n                          }`}\n                    />\n                    <span className=\"floating-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.phone_number_order_form',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.phone && errors.phone ? errors.phone : null}\n                    </div>\n                  </div>\n                  <div className=\"form-group\">\n                    <input\n                      id=\"company\"\n                      type=\"text\"\n                      value={values.company}\n                      onChange={(e) => {\n                        const value = e.target.value\n                          .trimStart()\n                          .replace(/\\s\\s+/g, ' ');\n                        setFieldValue('company', value);\n                        handleInputChange(e, value);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__input\n                          ${values.company !== '' ? 'not-empty' : 'empty'}\n                          ${\n                            touched.company\n                              ? errors.company\n                                ? 'error'\n                                : 'is-valid order-input-valid'\n                              : null\n                          }`}\n                    />\n                    <span className=\"floating-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.company_name',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.company && errors.company\n                        ? errors.company\n                        : null}\n                    </div>\n                  </div>\n                  <div className=\"form-group\">\n                    <textarea\n                      id=\"comment\"\n                      type=\"text\"\n                      resize=\"none\"\n                      value={values.comment}\n                      onChange={(e) => {\n                        handleChange(e);\n                        handleInputChange(e);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__textarea\n                          ${values.comment !== '' ? 'not-empty' : 'empty'}\n                          ${\n                            touched.comment\n                              ? errors.comment\n                                ? 'error'\n                                : 'is-valid order-input-valid'\n                              : null\n                          }`}\n                    />\n                    <span className=\"floating-label disappear-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.your_question',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.comment && errors.comment\n                        ? errors.comment\n                        : null}\n                    </div>\n                  </div>\n\n                  {/*{ isJeudan && (*/}\n                  {/*  <div className=\"form-group jeudan-policy-checkbox\">*/}\n                  {/*    <div className={checkboxClasses}>*/}\n                  {/*      <SvgIco name=\"check\" size={15} />*/}\n                  {/*      <input*/}\n                  {/*        name=\"jeudan_policy\"*/}\n                  {/*        type=\"checkbox\"*/}\n                  {/*        value={values.jeudan_policy}*/}\n                  {/*        id=\"jeudan_policy\"*/}\n                  {/*        onChange={handleChange}*/}\n                  {/*        onBlur={this.handleFieldBlur}*/}\n                  {/*      />*/}\n                  {/*      <div className=\"jeudan-policy-checkbox__label\">*/}\n                  {/*        {jeudanReadMore ? (*/}\n                  {/*          <div*/}\n                  {/*            dangerouslySetInnerHTML={{*/}\n                  {/*              __html: I18n.t(*/}\n                  {/*                'activemodel.attributes.provider_service_request.jeudan_privacy_policy_full',*/}\n                  {/*              ),*/}\n                  {/*            }}*/}\n                  {/*            className=\"jeudan-policy-checkbox__label-content\"*/}\n                  {/*          />*/}\n                  {/*        ) : (*/}\n                  {/*          <div>*/}\n                  {/*            {I18n.t(*/}\n                  {/*              'activemodel.attributes.provider_service_request.jeudan_privacy_policy_short',*/}\n                  {/*            )}*/}\n                  {/*            <span*/}\n                  {/*              onClick={this.openReadMoreJeudan}*/}\n                  {/*              className=\"jeudan-policy-checkbox__label-read-more-link\"*/}\n                  {/*            >*/}\n                  {/*              {I18n.t('generic.read_more')}.*/}\n                  {/*            </span>*/}\n                  {/*          </div>*/}\n                  {/*        )}*/}\n                  {/*      </div>*/}\n                  {/*    </div>*/}\n                  {/*    <div className=\"validation-message validation-message--jeudan\">*/}\n                  {/*      {touched.jeudan_policy && errors.jeudan_policy*/}\n                  {/*        ? errors.jeudan_policy*/}\n                  {/*        : null}*/}\n                  {/*    </div>*/}\n                  {/*  </div>*/}\n                  {/*)}*/}\n                </div>\n              </div>\n            </div>\n\n            <div className=\"form-button-wrapper order-form__button-wrapper\">\n              <ButtonCta\n                active={contactOrdered}\n                isDisabled={isSubmittingOrder}\n                onClick={this.uncollapseSubForm}\n                shouldSubmit={submitOnBtnClick}\n                type={buttonId}\n              />\n            </div>\n          </div>\n        </form>\n      </div>\n    );\n  }\n};\n\n\nconst { fifth_element, name, phone, email, company } = Client.getClientInfo();\nconst { nameI18n, emailI18n, companyI18n, phoneI18n, messageI18n } =\n  Client.getI18nAttrNames();\nconst i18nRequiredKey =\n  'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey =\n  'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nSymbolsLimitErrorMessage = I18n.t(\n  'apps.lb_showroom.misc.scoped_form.max_symbols_limit',\n  { symbols_limit: 254 },\n);\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t(\n  'apps.lb_showroom.misc.scoped_form.max_symbols_limit',\n  { symbols_limit: 100 },\n);\nconst i18nAtLeast8Digits =\n  'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\nconst ContactForm = withFormik({\n  mapPropsToValues: (bag) => ({\n    name,\n    email,\n    phone: phone ? phone : bag.userCountryPhoneCode,\n    company,\n    comment: '',\n    fifth_element,\n    // jeudan_policy: false,\n    // isJeudan: bag.isJeudan,\n  }),\n  validationSchema: Yup.object().shape({\n    fifth_element: Yup.string(),\n    name: Yup.string()\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .matches(\n        validationPatterns.name,\n        I18n.t('apps.lb_showroom.misc.scoped_form.name.invalid'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: nameI18n })),\n    email: Yup.string()\n      .matches(\n        validationPatterns.symbolsEmailLimit,\n        i18nSymbolsEmailLimitErrorMessage,\n      )\n      .email(\n        I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n    company: Yup.string()\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .matches(\n        validationPatterns.company,\n        I18n.t('apps.lb_showroom.misc.scoped_form.company.invalid'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: companyI18n })),\n    phone: Yup.string()\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .min(8, I18n.t(i18nMinNumberKey, { field: phoneI18n }))\n      .matches(\n        validationPatterns.phone,\n        I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'),\n      )\n      .test(\n        'minDigitsValidation',\n        I18n.t(i18nAtLeast8Digits),\n        function (value) {\n          const { path, createError } = this;\n          const phoneIsValid =\n            value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n          return (\n            phoneIsValid ||\n            !value ||\n            createError({ path, message: I18n.t(i18nAtLeast8Digits) })\n          );\n        },\n      )\n      .required(I18n.t(i18nRequiredKey, { field: phoneI18n })),\n    comment: Yup.string().required(\n      I18n.t(i18nRequiredKey, { field: messageI18n }),\n    ),\n    // isJeudan: Yup.boolean(),\n    // jeudan_policy: Yup.boolean().when('isJeudan', {\n    //   is: true,\n    //   then: Yup.boolean()\n    //     .required(\n    //       I18n.t(\n    //         'activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message',\n    //       ),\n    //     )\n    //     .oneOf(\n    //       [true],\n    //       I18n.t(\n    //         'activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message',\n    //       ),\n    //     ),\n    // }),\n  }),\n  handleSubmit: (values, bag) => {\n    Client.updateClientInfo(values);\n    bag.props.submitHandler(values);\n  },\n  displayName: 'ContactForm', // helps with React DevTools\n})(Form);\n\nexport default ContactForm;\n","import React, { Component, Fragment } from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\n\nimport Client from '../../utils/Client';\nimport { validationPatterns } from '../../utils/validationPatterns';\nimport { SvgIco } from \"../SharedComponents/Icons\";\nimport Loader from \"../SharedComponents/Loader\";\n\n\nclass InfoForm extends Component {\n  state = {\n    subFormCollapsed: true,\n    collapsibleWrapperFullHeight: null,\n    collapsibleWrapperSubHeight: null,\n    // jeudanReadMore: false,\n    isShowingModal: false,\n  };\n\n  componentDidMount() {\n    const subHeight = this.formFields.clientHeight - this.subFrom.clientHeight;\n\n    this.setState({\n      collapsibleWrapperFullHeight: 1000,\n      collapsibleWrapperSubHeight: subHeight,\n    });\n  }\n\n  uncollapseSubForm = () => {\n    this.state.subFormCollapsed && this.setState({ subFormCollapsed: false });\n  };\n\n  handleFieldBlur = (e) => {\n    this.props.handleBlur(e);\n    this.props.disableArrowWhenFocusInput\n      ? this.props.disableArrowWhenFocusInput(false)\n      : null;\n    // storeValidationFails(this, 'order');\n  };\n\n  // openReadMoreJeudan = () => this.setState({ jeudanReadMore: true });\n\n  render() {\n    const {\n      values,\n      touched,\n      errors,\n      handleChange,\n      locationOrdered,\n      isSubmittingOrder,\n      // isJeudan,\n      handleSubmit,\n      buttonId,\n      handleInputChange,\n      setFieldValue,\n    } = this.props;\n\n    const {\n      subFormCollapsed,\n      collapsibleWrapperFullHeight,\n      collapsibleWrapperSubHeight,\n      // jeudanReadMore,\n    } = this.state;\n\n    const height = subFormCollapsed\n      ? collapsibleWrapperSubHeight\n      : collapsibleWrapperFullHeight;\n    const maxHeight = { maxHeight: `${locationOrdered ? 0 : height}px` };\n    // const checkboxClasses = classNames('jeudan-policy-checkbox__wrapper', {\n    //   checked: values.jeudan_policy,\n    //   error: touched.jeudan_policy && errors.jeudan_policy,\n    // });\n\n\n    const submitButtonContent =\n      <Fragment>\n        { locationOrdered && <SvgIco name=\"check\" size={25} /> }\n        { isSubmittingOrder && <Loader size={18} left={7} top={15} /> }\n        <span>\n          { locationOrdered\n            ? I18n.t('apps.lb_showroom.detailed.order_form.info_button_one_send')\n            : I18n.t('apps.lb_showroom.detailed.order_form.info_button_one')\n          }\n        </span>\n      </Fragment>;\n\n\n    return (\n      <div className=\"form-section\">\n        <form onSubmit={handleSubmit} noValidate>\n          {/* here we check does this field was filled by bot */}\n          <input\n            id=\"fifth_element\"\n            type=\"text\"\n            name=\"fifth_element\"\n            className=\"invisible\"\n            value={values.fifth_element}\n            onPaste={handleChange}\n            onChange={handleChange}\n            onFocus={this.uncollapseSubForm}\n            onBlur={this.handleFieldBlur}\n          />\n\n          <div className=\"order-form__collapsible-wrapper form-collapsible-wrapper\">\n            <div\n              className=\"form-collapsible\"\n              ref={(elem) => (this.formFields = elem)}\n              style={maxHeight}\n            >\n              <div className=\"input-wrapper\">\n                <div className=\"form-group\">\n                  <input\n                    id=\"name\"\n                    type=\"text\"\n                    value={values.name}\n                    onChange={(e) => {\n                      handleChange(e);\n                      handleInputChange(e);\n                    }}\n                    onBlur={this.handleFieldBlur}\n                    onFocus={() => { this.uncollapseSubForm() }}\n                    className={`form-control order-form__input\n                      ${ values.name !== '' ? ' not-empty' : ' empty'}\n                      ${ touched.name ? (errors.name ? ' error' : ' is-valid order-input-valid') : ''}`\n                    }\n                  />\n\n                  <span className=\"floating-label\">\n                    { I18n.t('activemodel.attributes.provider_service_request.person_name') }*\n                  </span>\n\n                  <div className=\"validation-wrapper\" />\n\n                  <div className=\"validation-message\">\n                    { touched.name && errors.name ? errors.name : null }\n                  </div>\n                </div>\n\n                <div className=\"form-group\">\n                  <input\n                    id=\"email\"\n                    type=\"email\"\n                    value={values.email}\n                    onChange={(e) => {\n                      handleChange(e);\n                      handleInputChange(e);\n                    }}\n                    onFocus={() => {\n                      this.uncollapseSubForm();\n                    }}\n                    onBlur={this.handleFieldBlur}\n                    className={`form-control order-form__input\n                        ${values.email !== '' ? 'not-empty' : 'empty'}\n                        ${\n                          touched.email\n                            ? errors.email\n                              ? 'error'\n                              : 'is-valid order-input-valid'\n                            : null\n                        }`}\n                  />\n                  <span className=\"floating-label\">\n                    {I18n.t(\n                      'activemodel.attributes.provider_service_request.email',\n                    )}\n                    *\n                  </span>\n                  <div className=\"validation-wrapper\" />\n                  <div className=\"validation-message\">\n                    {touched.email && errors.email ? errors.email : null}\n                  </div>\n                </div>\n\n                <div className=\"form-sub\" ref={(elem) => (this.subFrom = elem)}>\n                  <div className=\"form-group\">\n                    <input\n                      id=\"company\"\n                      type=\"text\"\n                      value={values.company}\n                      onChange={(e) => {\n                        const value = e.target.value.trimStart().replace(/\\s\\s+/g, ' ');\n\n                        setFieldValue('company', value);\n                        handleInputChange(e, value);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__input\n                          ${values.company !== '' ? 'not-empty' : 'empty'}\n                          ${\n                            touched.company\n                              ? errors.company\n                                ? 'error'\n                                : 'is-valid order-input-valid'\n                              : null\n                          }`}\n                    />\n                    <span className=\"floating-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.company_name',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.company && errors.company\n                        ? errors.company\n                        : null}\n                    </div>\n                  </div>\n\n                  <div className=\"form-group\">\n                    <input\n                      id=\"phone\"\n                      type=\"tel\"\n                      value={values.phone}\n                      onChange={(e) => {\n                        const value = e.target.value.trimStart().replace(/\\s\\s+/g, ' ');\n\n                        setFieldValue('phone', value);\n                        handleInputChange(e, value);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__input\n                          ${values.phone !== '' ? 'not-empty' : 'empty'}\n                          ${\n                            touched.phone\n                              ? errors.phone\n                                ? 'error'\n                                : 'is-valid order-input-valid'\n                              : null\n                          }`}\n                    />\n                    <span className=\"floating-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.phone_number_order_form',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.phone && errors.phone ? errors.phone : null}\n                    </div>\n                  </div>\n\n                  <div className=\"form-group\">\n                    <textarea\n                      id=\"comment\"\n                      type=\"text\"\n                      resize=\"none\"\n                      value={values.comment}\n                      onChange={(e) => {\n                        handleChange(e);\n                        handleInputChange(e);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__textarea\n                          ${values.comment ? 'not-empty' : 'empty'}`}\n                    />\n                    <span className=\"floating-label disappear-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.your_question',\n                      )}{' '}\n                      (\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.your_option',\n                      )}\n                      )\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                  </div>\n\n                  {/*{ isJeudan && (*/}\n                  {/*  <div className=\"form-group jeudan-policy-checkbox\">*/}\n                  {/*    <div className={checkboxClasses}>*/}\n                  {/*      <input*/}\n                  {/*        name=\"jeudan_policy\"*/}\n                  {/*        type=\"checkbox\"*/}\n                  {/*        value={values.jeudan_policy}*/}\n                  {/*        id=\"jeudan_policy\"*/}\n                  {/*        onChange={handleChange}*/}\n                  {/*        onBlur={this.handleFieldBlur}*/}\n                  {/*      />*/}\n                  {/*      <div className=\"jeudan-policy-checkbox__label\">*/}\n                  {/*        <SvgIco name=\"check\" size={15} />*/}\n                  {/*        {jeudanReadMore ? (*/}\n                  {/*          <div*/}\n                  {/*            dangerouslySetInnerHTML={{*/}\n                  {/*              __html: I18n.t(*/}\n                  {/*                'activemodel.attributes.provider_service_request.jeudan_privacy_policy_full',*/}\n                  {/*              ),*/}\n                  {/*            }}*/}\n                  {/*            className=\"jeudan-policy-checkbox__label-content\"*/}\n                  {/*          />*/}\n                  {/*        ) : (*/}\n                  {/*          <div>*/}\n                  {/*            {I18n.t(*/}\n                  {/*              'activemodel.attributes.provider_service_request.jeudan_privacy_policy_short',*/}\n                  {/*            )}*/}\n                  {/*            <span*/}\n                  {/*              onClick={this.openReadMoreJeudan}*/}\n                  {/*              className=\"jeudan-policy-checkbox__label-read-more-link\"*/}\n                  {/*            >*/}\n                  {/*              {I18n.t('generic.read_more')}.*/}\n                  {/*            </span>*/}\n                  {/*          </div>*/}\n                  {/*        )}*/}\n                  {/*      </div>*/}\n                  {/*    </div>*/}\n                  {/*    <div className=\"validation-message validation-message--jeudan\">*/}\n                  {/*      {touched.jeudan_policy && errors.jeudan_policy*/}\n                  {/*        ? errors.jeudan_policy*/}\n                  {/*        : null}*/}\n                  {/*    </div>*/}\n                  {/*  </div>*/}\n                  {/*)}*/}\n                </div>\n              </div>\n            </div>\n          </div>\n\n          <div className=\"form-button-wrapper order-form__button-wrapper\" id={buttonId}>\n            <div>\n              { !subFormCollapsed\n                ?\n                  <button\n                    className={`order-form__button ${locationOrdered ? 'active' : '' }`}\n                    disabled={isSubmittingOrder}\n                    onClick={this.uncollapseSubForm}>\n                    { submitButtonContent }\n                  </button>\n                :\n                  <div\n                    className={`order-form__button ${locationOrdered ? 'active' : '' }`}\n                    onClick={this.uncollapseSubForm}>\n                    { submitButtonContent }\n                  </div>\n              }\n            </div>\n          </div>\n        </form>\n      </div>\n    );\n  }\n}\n\nconst { nameI18n, emailI18n, companyI18n, phoneI18n } =\n  Client.getI18nAttrNames();\nconst i18nRequiredKey =\n  'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey =\n  'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nSymbolsLimitErrorMessage = I18n.t(\n  'apps.lb_showroom.misc.scoped_form.max_symbols_limit',\n  { symbols_limit: 254 },\n);\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t(\n  'apps.lb_showroom.misc.scoped_form.max_symbols_limit',\n  { symbols_limit: 100 },\n);\nconst i18nAtLeast8Digits =\n  'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\nconst Form = withFormik({\n  mapPropsToValues: (bag) => {\n    const { fifth_element, name, phone, email, company, option_parking_lots } =\n      Client.getClientInfo();\n    return {\n      name,\n      email,\n      phone: phone ? phone : bag.userCountryPhoneCode,\n      company,\n      option_parking_lots,\n      fifth_element,\n      // jeudan_policy: false,\n      // isJeudan: bag.isJeudan,\n    };\n  },\n  validationSchema: Yup.object().shape({\n    fifth_element: Yup.string(),\n    name: Yup.string()\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .matches(\n        validationPatterns.name,\n        I18n.t('apps.lb_showroom.misc.scoped_form.name.invalid'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: nameI18n })),\n    email: Yup.string()\n      .matches(\n        validationPatterns.symbolsEmailLimit,\n        i18nSymbolsEmailLimitErrorMessage,\n      )\n      .email(\n        I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n    company: Yup.string()\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .matches(\n        validationPatterns.company,\n        I18n.t('apps.lb_showroom.misc.scoped_form.company.invalid'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: companyI18n })),\n    phone: Yup.string()\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .min(8, I18n.t(i18nMinNumberKey, { field: phoneI18n }))\n      .matches(\n        validationPatterns.phone,\n        I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'),\n      )\n      .test(\n        'minDigitsValidation',\n        I18n.t(i18nAtLeast8Digits),\n        function (value) {\n          const { path, createError } = this;\n          const phoneIsValid =\n            value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n          return (\n            phoneIsValid ||\n            !value ||\n            createError({ path, message: I18n.t(i18nAtLeast8Digits) })\n          );\n        },\n      )\n      .required(I18n.t(i18nRequiredKey, { field: phoneI18n })),\n    // isJeudan: Yup.boolean(),\n    // jeudan_policy: Yup.boolean().when('isJeudan', {\n    //   is: true,\n    //   then: Yup.boolean()\n    //     .required(\n    //       I18n.t(\n    //         'activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message',\n    //       ),\n    //     )\n    //     .oneOf(\n    //       [true],\n    //       I18n.t(\n    //         'activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message',\n    //       ),\n    //     ),\n    // }),\n  }),\n  handleSubmit: (values, bag) => {\n    // const detailedAnalyticsLabel = 'DetailedView';\n\n    // GoogleAnalytics.submitOrderAttempt(detailedAnalyticsLabel); // added analytics on form submit\n    Client.updateClientInfo(values);\n    bag.props.submitHandler(values);\n  },\n  displayName: 'InfoForm', // helps with React DevTools\n})(InfoForm);\n\nexport default Form;\n","import React, { Component } from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\nimport dayjs from 'dayjs';\n\nimport Client from '../../utils/Client';\nimport { validationPatterns } from '../../utils/validationPatterns';\nimport { ButtonCta } from './Buttons';\n\n\nclass ShowForm extends Component {\n  state = {\n    subFormCollapsed: true,\n    collapsibleWrapperFullHeight: null,\n    collapsibleWrapperSubHeight: null,\n    // jeudanReadMore: false,\n  };\n\n  componentDidMount() {\n    if (this.formFields) {\n      {\n        /*\n        todo: find a way to count this dynamically\n        error block height(15px) * error blocks count(3) = 45\n      */\n      }\n      this.setState({\n        collapsibleWrapperFullHeight: 1000,\n        collapsibleWrapperSubHeight:\n          this.formFields.clientHeight - this.subForm.clientHeight,\n      });\n    }\n  }\n\n  uncollapseSubForm = () => {\n    this.state.subFormCollapsed && this.setState({ subFormCollapsed: false });\n  };\n\n  handleFieldBlur = (e) => {\n    this.props.handleBlur(e);\n    this.props.disableArrowWhenFocusInput\n      ? this.props.disableArrowWhenFocusInput(false)\n      : null;\n    // storeValidationFails(this, 'book_showcase');\n  };\n\n  // openReadMoreJeudan = () => this.setState({ jeudanReadMore: true });\n\n  render() {\n    const {\n      values,\n      touched,\n      errors,\n      handleChange,\n      showcaseOrdered,\n      isSubmittingOrder,\n      buttonId,\n      // isJeudan,\n      handleSubmit,\n      handleInputChange,\n      setFieldValue,\n    } = this.props;\n\n    const {\n      subFormCollapsed,\n      collapsibleWrapperSubHeight,\n      collapsibleWrapperFullHeight,\n      // jeudanReadMore,\n    } = this.state;\n\n    const height = subFormCollapsed\n      ? collapsibleWrapperSubHeight\n      : collapsibleWrapperFullHeight;\n    const submitOnBtnClick = !this.state.subFormCollapsed;\n    const formHeight = { maxHeight: `${showcaseOrdered ? 0 : height - 5}px` };\n    // const checkboxClasses = classNames('jeudan-policy-checkbox__wrapper', {\n    //   checked: values.jeudan_policy,\n    //   error: touched.jeudan_policy && errors.jeudan_policy,\n    // });\n\n\n    return (\n      <div className=\"form-section\">\n        <form onSubmit={handleSubmit} noValidate>\n          {/* here we check does this field was filled by bot */}\n          <input\n            type=\"text\"\n            name=\"fifth_element\"\n            className=\"invisible\"\n            value={values.fifth_element}\n            onChange={handleChange}\n            onFocus={this.uncollapseSubForm}\n            onBlur={this.handleFieldBlur}\n          />\n\n          <div className=\"order-form__collapsible-wrapper form-collapsible-wrapper\">\n            <div\n              className=\"form-collapsible\"\n              ref={(elem) => (this.formFields = elem)}\n              style={formHeight}\n            >\n              <div className=\"input-wrapper\">\n                <div className=\"form-group\">\n                  <input\n                    id=\"name\"\n                    type=\"text\"\n                    value={values.name}\n                    onChange={(e) => {\n                      handleChange(e);\n                      handleInputChange(e);\n                    }}\n                    onBlur={this.handleFieldBlur}\n                    onFocus={() => {\n                      this.uncollapseSubForm();\n                    }}\n                    className={`form-control order-form__input\n                    ${values.name !== '' ? 'not-empty' : 'empty'}\n                    ${\n                      touched.name\n                        ? errors.name\n                          ? 'error'\n                          : 'is-valid order-input-valid'\n                        : null\n                    }`}\n                  />\n                  <span className=\"floating-label\">\n                    {I18n.t(\n                      'activemodel.attributes.provider_service_request.person_name',\n                    )}\n                    *\n                  </span>\n                  <div className=\"validation-wrapper\" />\n                  <div className=\"validation-message\">\n                    {touched.name && errors.name ? errors.name : null}\n                  </div>\n                </div>\n\n                <div className=\"form-group\">\n                  <input\n                    id=\"email\"\n                    type=\"email\"\n                    value={values.email}\n                    onChange={(e) => {\n                      handleChange(e);\n                      handleInputChange(e);\n                    }}\n                    onBlur={this.handleFieldBlur}\n                    onFocus={() => {\n                      this.uncollapseSubForm();\n                    }}\n                    className={`form-control order-form__input\n                    ${values.email !== '' ? 'not-empty' : 'empty'}\n                    ${\n                      touched.email\n                        ? errors.email\n                          ? 'error'\n                          : 'is-valid order-input-valid'\n                        : null\n                    }`}\n                  />\n                  <span className=\"floating-label\">\n                    {I18n.t(\n                      'activemodel.attributes.provider_service_request.email',\n                    )}\n                    *\n                  </span>\n                  <div className=\"validation-wrapper\" />\n                  <div className=\"validation-message\">\n                    {touched.email && errors.email ? errors.email : null}\n                  </div>\n                </div>\n\n                {this.state.subFormCollapsed ? (\n                  <div className=\"form-group\">\n                    <textarea\n                      id=\"comment\"\n                      type=\"text\"\n                      resize=\"none\"\n                      value={values.comment}\n                      onChange={(e) => {\n                        handleChange(e);\n                        handleInputChange(e);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      onFocus={() => {\n                        this.uncollapseSubForm();\n                      }}\n                      className={`form-control order-form__textarea\n                        ${values.comment !== '' ? 'not-empty' : 'empty'}\n                        ${\n                          touched.comment\n                            ? errors.comment\n                              ? 'error'\n                              : 'is-valid order-input-valid'\n                            : null\n                        }`}\n                    />\n                    <span className=\"floating-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.propose_date_for_view',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.comment && errors.comment\n                        ? errors.comment\n                        : null}\n                    </div>\n                  </div>\n                ) : null}\n\n                <div className=\"form-sub\" ref={(elem) => (this.subForm = elem)}>\n                  <div className=\"form-group\">\n                    <input\n                      id=\"company\"\n                      type=\"text\"\n                      value={values.company}\n                      onChange={(e) => {\n                        const value = e.target.value\n                          .trimStart()\n                          .replace(/\\s\\s+/g, ' ');\n                        setFieldValue('company', value);\n                        handleInputChange(e, value);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__input\n                        ${values.company !== '' ? 'not-empty' : 'empty'}\n                        ${\n                          touched.company\n                            ? errors.company\n                              ? 'error'\n                              : 'is-valid order-input-valid'\n                            : null\n                        }`}\n                    />\n                    <span className=\"floating-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.company_name',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.company && errors.company\n                        ? errors.company\n                        : null}\n                    </div>\n                  </div>\n\n                  <div className=\"form-group\">\n                    <input\n                      id=\"phone\"\n                      type=\"tel\"\n                      value={values.phone}\n                      onChange={(e) => {\n                        const value = e.target.value\n                          .trimStart()\n                          .replace(/\\s\\s+/g, ' ');\n                        setFieldValue('phone', value);\n                        handleInputChange(e, value);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__input\n                        ${values.phone !== '' ? 'not-empty' : 'empty'}\n                        ${\n                          touched.phone\n                            ? errors.phone\n                              ? 'error'\n                              : 'is-valid order-input-valid'\n                            : null\n                        }`}\n                    />\n                    <span className=\"floating-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.phone_number_order_form',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.phone && errors.phone ? errors.phone : null}\n                    </div>\n                  </div>\n\n                  <div className=\"form-group\">\n                    <textarea\n                      id=\"comment\"\n                      type=\"text\"\n                      resize=\"none\"\n                      value={values.comment}\n                      onChange={(e) => {\n                        handleChange(e);\n                        handleInputChange(e);\n                      }}\n                      onBlur={this.handleFieldBlur}\n                      className={`form-control order-form__textarea\n                        ${values.comment !== '' ? 'not-empty' : 'empty'}\n                        ${\n                          touched.comment\n                            ? errors.comment\n                              ? 'error'\n                              : 'is-valid order-input-valid'\n                            : null\n                        }`}\n                    />\n                    <span className=\"floating-label disappear-label\">\n                      {I18n.t(\n                        'activemodel.attributes.provider_service_request.propose_date_for_view',\n                      )}\n                      *\n                    </span>\n                    <div className=\"validation-wrapper\" />\n                    <div className=\"validation-message\">\n                      {touched.comment && errors.comment\n                        ? errors.comment\n                        : null}\n                    </div>\n                  </div>\n\n                  {/*{ isJeudan && (*/}\n                  {/*  <div className=\"form-group jeudan-policy-checkbox\">*/}\n                  {/*    <div className={checkboxClasses}>*/}\n                  {/*      <SvgIco name=\"check\" size={15} />*/}\n                  {/*      <input*/}\n                  {/*        name=\"jeudan_policy\"*/}\n                  {/*        type=\"checkbox\"*/}\n                  {/*        value={values.jeudan_policy}*/}\n                  {/*        id=\"jeudan_policy\"*/}\n                  {/*        onChange={handleChange}*/}\n                  {/*        onBlur={this.handleFieldBlur}*/}\n                  {/*      />*/}\n                  {/*      <div className=\"jeudan-policy-checkbox__label\">*/}\n                  {/*        {jeudanReadMore*/}\n                  {/*          ?*/}\n                  {/*            <div className=\"jeudan-policy-checkbox__label-content\"*/}\n                  {/*                 dangerouslySetInnerHTML={{__html: I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_full')}} />*/}\n                  {/*          :*/}\n                  {/*            <div>*/}\n                  {/*              { I18n.t('activemodel.attributes.provider_service_request.jeudan_privacy_policy_short') }*/}\n                  {/*              <span className=\"jeudan-policy-checkbox__label-read-more-link\"*/}\n                  {/*                    onClick={this.openReadMoreJeudan}>*/}\n                  {/*                { I18n.t('generic.read_more') }.*/}\n                  {/*              </span>*/}\n                  {/*            </div>*/}\n                  {/*        }*/}\n                  {/*      </div>*/}\n                  {/*    </div>*/}\n                  {/*    <div className=\"validation-message validation-message--jeudan\">*/}\n                  {/*      { touched.jeudan_policy && errors.jeudan_policy*/}\n                  {/*        ? errors.jeudan_policy*/}\n                  {/*        : null*/}\n                  {/*      }*/}\n                  {/*    </div>*/}\n                  {/*  </div>*/}\n                  {/*)}*/}\n                </div>\n              </div>\n            </div>\n\n            <div className=\"form-button-wrapper order-form__button-wrapper\">\n              <ButtonCta\n                active={showcaseOrdered}\n                isDisabled={isSubmittingOrder}\n                onClick={this.uncollapseSubForm}\n                shouldSubmit={submitOnBtnClick}\n                type={buttonId}\n              />\n            </div>\n          </div>\n        </form>\n      </div>\n    );\n  }\n}\n\nconst { fifth_element, name, email, company, phone } = Client.getClientInfo();\nconst { nameI18n, emailI18n, dateI18n, companyI18n, phoneI18n, messageI18n } =\n  Client.getI18nAttrNames();\nconst i18nRequiredKey =\n  'apps.lb_showroom.detailed.order_form.validation.field_required';\nconst i18nMinNumberKey =\n  'apps.lb_showroom.detailed.order_form.validation.min_number';\nconst i18nSymbolsLimitErrorMessage = I18n.t(\n  'apps.lb_showroom.misc.scoped_form.max_symbols_limit',\n  { symbols_limit: 254 },\n);\nconst i18nSymbolsEmailLimitErrorMessage = I18n.t(\n  'apps.lb_showroom.misc.scoped_form.max_symbols_limit',\n  { symbols_limit: 100 },\n);\nconst i18nAtLeast8Digits =\n  'apps.lb_showroom.detailed.order_form.validation.at_least_8_digits';\n\nconst ShowCaseForm = withFormik({\n  mapPropsToValues: (bag) => ({\n    name,\n    email,\n    date: dayjs().format('DD-MM-YYYY HH:mm'),\n    company,\n    phone: phone ? phone : bag.userCountryPhoneCode,\n    comment: '',\n    fifth_element,\n    // jeudan_policy: false,\n    // isJeudan: bag.isJeudan,\n  }),\n  validationSchema: Yup.object().shape({\n    fifth_element: Yup.string(),\n    name: Yup.string()\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .matches(\n        validationPatterns.name,\n        I18n.t('apps.lb_showroom.misc.scoped_form.name.invalid'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: nameI18n })),\n    email: Yup.string()\n      .matches(\n        validationPatterns.symbolsEmailLimit,\n        i18nSymbolsEmailLimitErrorMessage,\n      )\n      .email(\n        I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: emailI18n })),\n    company: Yup.string()\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .matches(\n        validationPatterns.company,\n        I18n.t('apps.lb_showroom.misc.scoped_form.company.invalid'),\n      )\n      .required(I18n.t(i18nRequiredKey, { field: companyI18n })),\n    phone: Yup.string()\n      .min(8, I18n.t(i18nMinNumberKey, { field: phoneI18n }))\n      .matches(validationPatterns.symbolsLimit, i18nSymbolsLimitErrorMessage)\n      .matches(\n        validationPatterns.phone,\n        I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid'),\n      )\n      .test(\n        'minDigitsValidation',\n        I18n.t(i18nAtLeast8Digits),\n        function (value) {\n          const { path, createError } = this;\n          const phoneIsValid =\n            value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n          return (\n            phoneIsValid ||\n            !value ||\n            createError({ path, message: I18n.t(i18nAtLeast8Digits) })\n          );\n        },\n      )\n      .required(I18n.t(i18nRequiredKey, { field: phoneI18n })),\n    date: Yup.string().required(I18n.t(i18nRequiredKey, { field: dateI18n })),\n    comment: Yup.string().required(\n      I18n.t(i18nRequiredKey, { field: messageI18n }),\n    ),\n    // isJeudan: Yup.boolean(),\n    // jeudan_policy: Yup.boolean().when('isJeudan', {\n    //   is: true,\n    //   then: Yup.boolean()\n    //     .required(\n    //       I18n.t(\n    //         'activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message',\n    //       ),\n    //     )\n    //     .oneOf(\n    //       [true],\n    //       I18n.t(\n    //         'activemodel.attributes.provider_service_request.jeudan_privacy_policy_error_message',\n    //       ),\n    //     ),\n    // }),\n  }),\n  handleSubmit: (values, bag) => {\n    const userInfo = { ...Client.getClientInfo(), ...values };\n\n    Client.updateClientInfo(userInfo);\n    bag.props.submitHandler(values);\n  },\n  displayName: 'ShowCaseForm', // helps with React DevTools\n})(ShowForm);\n\nexport default ShowCaseForm;\n","import React, { useContext, useEffect, useState, Fragment } from 'react';\n\nimport { Context } from \"../DetailedViewHeader\";\nimport { placeOrder, showCase, contactProvider, placeUncompletedOrder } from '../../utils/api';\nimport { camelizeName } from \"../../utils/helpers\";\nimport Storage from '../../utils/localStorage';\nimport Client from '../../utils/Client';\nimport { sendTrovitLead } from \"../helpers/trovit_analitics\";\nimport TrustBoxContainer from '../SharedComponents/TrustPilot';\nimport DataProtectionModal from '../SharedComponents/DataProtectionModal';\nimport { SvgIco } from '../SharedComponents/Icons';\nimport InfoForm from './InfoForm';\nimport ContactForm from './ContactForm';\nimport ShowCaseForm from './ShowCaseForm';\n\nimport './index.sass';\n\n\nconst OrderForm = () => {\n  const {\n    contactOrdered,\n    contactPath,\n    formAuthToken,\n    // isJeudan,\n    isScraped,\n    locationId,\n    locationOrdered,\n    locationUuid,\n    orderPath,\n    section,\n    selectedFormOption,\n    setUpdateAskLandlord,\n    setUpdateVirtualTourForm,\n    showcaseOrdered,\n    showCasePath,\n    siteKey,\n    setLocationOrdered,\n    setContactOrdered,\n    setShowcaseOrdered,\n    switchSelectedOrderForm,\n    trustpilotWidget,\n    visitorToken,\n    uncompletedOrderEnabled,\n    uncompletedOrderValues,\n    updateOrderForm,\n    updateAskLandlord,\n    userCountryPhoneCode,\n  } = useContext(Context);\n\n  const [isShowingModal, setIsShowingModal] = useState(false);\n  const [isSubmittingInfo, setIsSubmittingInfo] = useState(false);\n  const [isSubmittingContact, setIsSubmittingContact] = useState(false);\n  const [isSubmittingShowCase, setIsSubmittingShowCase] = useState(false);\n  const [formValuesUpd, setFormValuesUpd] = useState(false);\n  const [contactInfo, setContactInfo] = useState({\n    comment: '',\n    company: '',\n    email: '',\n    name: '',\n    phone: '',\n  });\n\n  const trustPilotLocale = siteKey === 'dk' ? 'da-DK' : 'en-US';\n\n\n  useEffect(() => {\n    uncompletedOrderValues && Client.updateClientInfo(uncompletedOrderValues);\n  }, []);\n\n\n  useEffect(() => {\n    let formName = 'order';\n\n    locationOrdered && !contactOrdered && (formName = 'provider_message');\n    contactOrdered && locationOrdered && !showcaseOrdered && (formName = 'book_showcase');\n    switchSelectedOrderForm(formName);\n\n  }, [contactOrdered, locationOrdered, showcaseOrdered]);\n\n\n  useEffect(() => {\n    updateOrderForm && setLocationOrdered(true);\n  }, [updateOrderForm]);\n\n\n  useEffect(() => {\n    updateAskLandlord && setContactOrdered(true);\n  }, [updateAskLandlord]);\n\n\n  const handleInputChange = (event, value) => {\n    event.persist();\n    setContactInfo(prevData => ({ ...prevData, [event.target.id]: value || event.target.value }));\n    setFormValuesUpd(true);\n  };\n\n  const onMouseLeaveHandler = () => {\n    if (uncompletedOrderEnabled && formValuesUpd) {\n      setFormValuesUpd(false);\n      processingUncompletedOrder();\n    }\n  };\n\n  const processingUncompletedOrder = () => {\n    const { name, email, company, phone, comment } = contactInfo;\n\n    if (!uncompletedOrderValues && selectedFormOption === 'order' && name && validateEmail(email)) {\n      const data = {\n        name,\n        company,\n        email,\n        phone,\n        authenticity_token: formAuthToken,\n        location_id: locationId,\n        context: selectedFormOption,\n        comment: comment || '',\n      };\n\n      placeUncompletedOrder('/lease/api/frontend/uncompleted_orders', data);\n    }\n  };\n\n  const validateEmail = (email) => {\n    /* eslint-disable max-len, no-useless-escape */\n    const re =\n      /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n    /* eslint-disable max-len, no-useless-escape */\n\n    return re.test(String(email).toLowerCase());\n  };\n\n  const placeOrderHandler = (params) => {\n    params.locationId = locationUuid;\n    params.user_token = visitorToken;\n    params.name = camelizeName(params.name);\n    setIsSubmittingInfo(true);\n\n    placeOrder(orderPath, params)\n      .then((response) => {\n        sendTrovitLead(siteKey);\n        setUpdateVirtualTourForm(true);\n        Storage.updateOrderedItem();\n        setLocationOrdered(true);\n        setIsSubmittingInfo(false);\n        window.location.href = response.data.confirmation_page_url;\n\n        if (showcaseOrdered && contactOrdered) {\n          switchSelectedOrderForm('order');\n          return;\n        }\n        if (contactOrdered) {\n          switchSelectedOrderForm('book_showcase');\n          return;\n        }\n        if (isScraped) {\n          switchSelectedOrderForm('order');\n          return;\n        }\n        switchSelectedOrderForm('provider_message');\n      })\n      .catch((error) => console.error(error));\n  };\n\n  const contactFormHandler = (params) => {\n    params.locationId = locationId;\n    params.user_token = visitorToken;\n    params.name = camelizeName(params.name);\n    setIsSubmittingContact(true);\n\n    contactProvider(contactPath, params)\n      .then((response) => {\n        sendTrovitLead(siteKey);\n        setUpdateAskLandlord(true);\n        Storage.updateContactItem();\n        setContactOrdered(true);\n        setIsSubmittingContact(false);\n        window.location.href = response.data.confirmation_page_url;\n\n        if (!locationOrdered || showcaseOrdered) {\n          switchSelectedOrderForm('order');\n          return;\n        }\n        switchSelectedOrderForm('book_showcase');\n      })\n      .catch((error) => {\n        console.error(error);\n      });\n  };\n\n  const showCaseHandle = (params) => {\n    params.locationId = locationId;\n    params.user_token = visitorToken;\n    params.name = camelizeName(params.name);\n    setIsSubmittingShowCase(true);\n\n    showCase(showCasePath, params)\n      .then((response) => {\n        sendTrovitLead(siteKey);\n        Storage.updateShowcaseItem();\n        setShowcaseOrdered(true);\n        setIsSubmittingShowCase(false);\n        eval(response.data);\n\n        if (locationOrdered && !contactOrdered) {\n          switchSelectedOrderForm('provider_message');\n          return;\n        }\n        switchSelectedOrderForm('order');\n      })\n      .catch((error) => {\n        console.error(error);\n      });\n  };\n\n  const handleOptionChange = (changeEvent) =>\n    switchSelectedOrderForm(changeEvent.target.value);\n\n  const openInfoModal = () =>\n    setIsShowingModal(prevState => !prevState)\n\n\n  return (\n    <div className=\"order-form\">\n      <div\n        className=\"order-form__wrapper\"\n        id=\"order-form-wrapper\"\n        onMouseLeave={onMouseLeaveHandler}\n      >\n        <DataProtectionModal\n          isShowingModal={isShowingModal}\n          handleClose={() => setIsShowingModal(false)}\n          title={I18n.t('apps.lb_showroom.detailed.order_form.data_protection')}\n          content={I18n.t('apps.lb_showroom.detailed.order_form.modal.data_protection_body')}\n        />\n\n        <section className=\"order-form__section content-section\">\n          <div className=\"order-form__title form-header__title\">\n            { section !== 'lease'\n              ? I18n.t('apps.lb_showroom.detailed.order_form.sale.heading')\n              : I18n.t('apps.lb_showroom.detailed.order_form.heading')\n            }\n          </div>\n\n          <p className=\"order-form__label\">\n            { I18n.t('apps.entry_page.search_area.value_points.lease.one_full')}\n          </p>\n\n          <div className={`select-option-group${selectedFormOption === 'order' ? ' checked' : ''}`}>\n            <input\n              checked={selectedFormOption === 'order'}\n              className=\"checkoption-input\"\n              id=\"order\"\n              name=\"react-tips\"\n              onChange={handleOptionChange}\n              type=\"radio\"\n              value=\"order\"\n            />\n            <label htmlFor=\"order\" className=\"select-option\">\n              <span className=\"option-checkmark\" />\n              { I18n.t('apps.lb_showroom.detailed.order_form.info_button_one') }\n            </label>\n          </div>\n\n          { !isScraped && (\n            <Fragment>\n              <div className={`select-option-group${ selectedFormOption === 'provider_message' ? ' checked' : ''}`}>\n                <input\n                  checked={selectedFormOption === 'provider_message'}\n                  className=\"checkoption-input\"\n                  id=\"provider_message\"\n                  name=\"react-tips\"\n                  onChange={handleOptionChange}\n                  type=\"radio\"\n                  value=\"provider_message\"\n                />\n                <label htmlFor=\"provider_message\" className=\"select-option\">\n                  <span className=\"option-checkmark\" />\n                  { I18n.t('apps.lb_showroom.detailed.order_form.contact_button_one_ab_test') }\n                </label>\n              </div>\n\n              <div className={`select-option-group${ selectedFormOption === 'book_showcase' ? ' checked' : '' }`}>\n                <input\n                  checked={selectedFormOption === 'book_showcase'}\n                  className=\"checkoption-input-input\"\n                  id=\"book_showcase\"\n                  name=\"react-tips\"\n                  onChange={handleOptionChange}\n                  type=\"radio\"\n                  value=\"book_showcase\"\n                />\n                <label htmlFor=\"book_showcase\" className=\"select-option\">\n                  <span className=\"option-checkmark\" />\n                  { I18n.t('apps.lb_showroom.detailed.order_form.info_button_two_ab_test') }\n                </label>\n              </div>\n            </Fragment>\n          )}\n        </section>\n\n        <div id=\"contactFormScrollTarget\" />\n\n        { selectedFormOption === 'order' && (\n          <section className=\"order-form__section content-section\">\n            <p className=\"order-form__description-under-options\">\n              { section !== 'lease'\n                ? I18n.t('apps.lb_showroom.detailed.order_form.sale.description_new')\n                : I18n.t('apps.lb_showroom.detailed.order_form.description_new')\n              }\n            </p>\n          </section>\n        )}\n\n        { selectedFormOption === 'provider_message' && (\n          <section className=\"order-form__section content-section\">\n            <p>\n               { I18n.t('apps.lb_showroom.detailed.order_form.landlord_request') }\n            </p>\n          </section>\n        ) }\n\n        { selectedFormOption === 'book_showcase' && (\n          <section className=\"order-form__section content-section\">\n            <p>\n              { I18n.t('apps.lb_showroom.detailed.order_form.specific_question')}\n            </p>\n          </section>\n        )}\n\n\n        { selectedFormOption === 'order' &&\n          <div className=\"order-form__section-wrapper\">\n            <InfoForm\n              buttonId={'infoButton'}\n              handleInputChange={handleInputChange}\n              isSubmittingOrder={isSubmittingInfo}\n              locationOrdered={locationOrdered}\n              siteKey={siteKey}\n              submitHandler={placeOrderHandler}\n              userCountryPhoneCode={userCountryPhoneCode}\n              // isJeudan={isJeudan}\n              // visitorToken={visitorToken}\n            />\n          </div>\n        }\n\n        { !isScraped &&\n          <div>\n            { selectedFormOption === 'provider_message' &&\n              <Fragment>\n                <div className=\"order-form__section-wrapper\">\n                  <ContactForm\n                    buttonId={'contactButton'}\n                    contactOrdered={contactOrdered}\n                    handleInputChange={handleInputChange}\n                    isSubmittingOrder={isSubmittingContact}\n                    siteKey={siteKey}\n                    submitHandler={contactFormHandler}\n                    userCountryPhoneCode={userCountryPhoneCode}\n                    // isJeudan={isJeudan}\n                    // visitorToken={visitorToken}\n                  />\n                </div>\n              </Fragment>\n            }\n\n            { selectedFormOption === 'book_showcase' &&\n              <div className=\"order-form__section-wrapper\">\n                <ShowCaseForm\n                  buttonId={'showButton'}\n                  handleInputChange={handleInputChange}\n                  isSubmittingOrder={isSubmittingShowCase}\n                  showcaseOrdered={showcaseOrdered}\n                  siteKey={siteKey}\n                  submitHandler={showCaseHandle}\n                  userCountryPhoneCode={userCountryPhoneCode}\n                  // isJeudan={isJeudan}\n                  // visitorToken={visitorToken}\n                />\n              </div>}\n          </div>\n        }\n\n        <div className=\"order-form__info-wrapper info-wrapper\">\n          <SvgIco name=\"lock\" size={24} />\n          <span className=\"info-label\" onClick={openInfoModal}>\n            { I18n.t('apps.lb_showroom.detailed.order_form.data_protection') }\n          </span>\n        </div>\n      </div>\n\n      <TrustBoxContainer\n        data={trustpilotWidget}\n        locale={trustPilotLocale}\n      />\n\n    </div>\n  );\n}\n\nexport default OrderForm;\n","import React, { useEffect, useState } from 'react';\n\nimport './TrustPilot.sass';\n\n\nconst TrustBoxContainer = ({ locale }) => {\n\n  const [showWidget, setShowWidget] = useState(false);\n\n  useEffect(() => {\n    setTimeout(() => setShowWidget(true), 10000);\n  }, []);\n\n  const isDk = locale === 'da-DK';\n  const url = `https://${ isDk ? 'dk' : 'www' }.trustpilot.com/review/www.lokalebasen.dk`;\n\n\n  return (\n    <div className={`trustpilot-wrapper ${showWidget ? 'visible' : ''}`}>\n      <div\n        id=\"trustbox\"\n        className=\"trustpilot-widget\"\n        data-locale={locale}\n        data-template-id=\"5419b6a8b0d04a076446a9ad\"\n        data-businessunit-id=\"4bdc4ef6000064000505acdd\"\n        data-style-height=\"20px\"\n        data-style-width=\"100%\"\n        data-style-alignment=\"center\"\n        data-theme=\"light\">\n        <a href={url} target=\"_blank\" rel=\"noopener\">Trustpilot</a>\n      </div>\n    </div>\n  )\n};\n\n\nexport default TrustBoxContainer;\n","export const sendTrovitLead = (siteKey) => {\n  ('at ch de dk se').includes(siteKey) && ta && ta('send', 'lead');\n}\n"],"names":["ButtonCta","_ref","active","isDisabled","shouldSubmit","additionalClass","onClick","text","type","buttonsTypeData","infoButton","mainText","I18n","t","infoSentText","showButton","contactButton","classes","concat","buttonIcon","React","SvgIco","name","size","Loader","left","top","buttonText","disabled","className","Form","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","_defineProperty","_assertThisInitialized","subFormCollapsed","collapsibleWrapperFullHeight","collapsibleWrapperSubHeight","state","setState","e","props","handleBlur","disableArrowWhenFocusInput","_createClass","key","value","this","formFields","clientHeight","subFrom","_this2","_this$props","values","touched","errors","handleChange","contactOrdered","isSubmittingOrder","buttonId","handleSubmit","handleInputChange","setFieldValue","_this$state","submitOnBtnClick","formHeight","maxHeight","onSubmit","noValidate","fifth_element","onChange","onFocus","uncollapseSubForm","onBlur","handleFieldBlur","ref","elem","style","id","email","resize","comment","phone","target","trimStart","replace","company","Component","_Client$getClientInfo","Client","getClientInfo","_Client$getI18nAttrNa","getI18nAttrNames","nameI18n","emailI18n","companyI18n","phoneI18n","messageI18n","i18nRequiredKey","i18nSymbolsLimitErrorMessage","symbols_limit","i18nSymbolsEmailLimitErrorMessage","i18nAtLeast8Digits","ContactForm","withFormik","mapPropsToValues","bag","userCountryPhoneCode","validationSchema","Yup","shape","matches","validationPatterns","symbolsLimit","required","field","symbolsEmailLimit","min","test","path","createError","message","updateClientInfo","submitHandler","displayName","InfoForm","isShowingModal","subHeight","locationOrdered","submitButtonContent","Fragment","onPaste","option_parking_lots","ShowForm","subForm","showcaseOrdered","height","dateI18n","ShowCaseForm","date","dayjs","format","userInfo","_objectSpread","OrderForm","_useContext","useContext","Context","contactPath","formAuthToken","isScraped","locationId","locationUuid","orderPath","section","selectedFormOption","setUpdateAskLandlord","setUpdateVirtualTourForm","showCasePath","siteKey","setLocationOrdered","setContactOrdered","setShowcaseOrdered","switchSelectedOrderForm","trustpilotWidget","visitorToken","uncompletedOrderEnabled","uncompletedOrderValues","updateOrderForm","updateAskLandlord","_useState","useState","_useState2","_slicedToArray","setIsShowingModal","_useState3","_useState4","isSubmittingInfo","setIsSubmittingInfo","_useState5","_useState6","isSubmittingContact","setIsSubmittingContact","_useState7","_useState8","isSubmittingShowCase","setIsSubmittingShowCase","_useState9","_useState10","formValuesUpd","setFormValuesUpd","_useState11","_useState12","contactInfo","setContactInfo","trustPilotLocale","useEffect","formName","event","persist","prevData","onMouseLeaveHandler","processingUncompletedOrder","validateEmail","data","authenticity_token","location_id","context","placeUncompletedOrder","String","toLowerCase","placeOrderHandler","params","user_token","camelizeName","placeOrder","then","response","sendTrovitLead","Storage","updateOrderedItem","window","location","href","confirmation_page_url","catch","error","console","contactFormHandler","contactProvider","updateContactItem","showCaseHandle","showCase","updateShowcaseItem","eval","handleOptionChange","changeEvent","openInfoModal","prevState","onMouseLeave","DataProtectionModal","handleClose","title","content","checked","htmlFor","TrustBoxContainer","locale","showWidget","setShowWidget","setTimeout","url","rel","includes","ta"],"sourceRoot":""}