landing-pages.yotpo.com Open in urlscan Pro
23.200.181.14  Public Scan

Submitted URL: http://em.yotpo.com/ls/click?upn=u001.v8pUSzLQyuRoSj1F7dBz9-2FN4uv9ctJtO6MNf-2BdsEjFLEBfa5Lrc-2FpnT5fbJbs-2Bs2N90c5t...
Effective URL: https://landing-pages.yotpo.com/custom/J0HdWwHJYOSy5bpyK5Onl4iZc5PnYlmoQCIjkHeA/1/
Submission: On October 09 via manual from SG — Scanned from SG

Form analysis 3 forms found in the DOM

<form ng-submit="submitForm(true)" class="ui form ng-pristine ng-valid" ng-class="{ disabled: showReviewBody &amp;&amp; isSubmitClicked }" data-cy="review-form">
  <!-- ngIf: showReviewBody -->
  <div class="review-header ng-scope ng-isolate-scope" ng-if="showReviewBody" star-color="E7721B" star-rating-value="baseFields.reviewScore" show-validation-errors="!cleanForm" show-product-image="showProductImage" product-image-url=""
    product-name="Product Name">
    <div class="header-container">
      <div ng-show="showProductImage" class="product-img-container" data-cy="product-image-container">
        <!-- ngIf: productImageUrl -->
        <!-- ngIf: !productImageUrl --><svg ng-if="!productImageUrl" class="product-img ng-scope" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="75" height="75" style="">
          <g fill="none" fill-rule="evenodd">
            <path d="M.5.5h74v74H.5z"></path>
            <g transform="rotate(38 -7.454 68.216)">
              <path fill="#D3D6DD"
                d="M10.478 9.86c-1.268 0-2.295-.983-2.295-2.197 0-1.213 1.027-2.197 2.295-2.197s2.295.984 2.295 2.197c0 1.214-1.027 2.198-2.295 2.198m9.28-3.456L10.483.101 1.199 6.405C.445 6.833 0 7.694 0 8.702V27.6c0 1.582 1.346 2.87 2.999 2.87h14.97c1.643 0 2.988-1.288 2.988-2.87V8.702c0-1.008-.445-1.869-1.198-2.297">
              </path>
            </g>
            <path fill="#D3D6DD" d="M43.302 31.028l1.31 1.024 7.608-9.738-1.31-1.024z"></path>
          </g>
        </svg><!-- end ngIf: !productImageUrl -->
      </div>
      <div class="stars-container">
        <div class="product-name" style="display: -webkit-box;">
          <span ng-bind-html="productName" data-cy="product-name" class="ng-binding">Product Name</span>
        </div>
        <div class="stars">
          <ul class="stars ng-isolate-scope" ng-class="{'error': !ratingValue &amp;&amp; showError}" rating-value="starRatingValue" show-error="showError(starRatingValue)" data-cy="star-rating">
            <!-- ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="1 Star Rating" class="ng-scope" style="">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="2 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="3 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="4 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="5 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
          </ul>
          <span class="rate-error ng-binding ng-hide" ng-show="showError(starRatingValue)" ng-bind="'REVIEW.RATING_REQUIRED' | translate" style="">Required</span>
        </div>
      </div>
    </div>
  </div><!-- end ngIf: showReviewBody -->
  <!-- ngIf: showReviewBody -->
  <div class="review-body ng-scope animation-done" ng-if="showReviewBody" ng-class="{collapsed: !expanded, loading: expanded &amp;&amp; !loaded, 'animation-done': expandAnimationDone}" style="">
    <div class="title-and-content">
      <div class="loading-container loading ng-isolate-scope ng-hide" data-cy="loading-container" review-body-mode="true" ng-show="expanded &amp;&amp; !loaded">
        <!-- ngIf: !reviewBodyMode -->
        <div class="ls-body-container">
          <div class="left-margin line-masker"></div>
          <div class="ls-body-content">
            <!-- ngIf: !reviewBodyMode -->
            <div>
              <div class="ls-review-title"></div>
              <div class="ls-review-content"></div>
              <div class="fields-line-1">
                <div class="line-1"></div>
                <div class="line-2 line-masker"></div>
              </div>
              <div class="fields-line-2">
                <div class="line-1"></div>
                <div class="line-2 line-masker"></div>
              </div>
              <div class="fields-line-3">
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-margin-right line-masker"></div>
              </div>
            </div>
          </div>
          <div class="right-margin line-masker"></div>
        </div>
      </div>
      <!-- ngIf: reviewTitleRequired && !suggestedTopicsEnabled -->
      <div ng-if="reviewTitleRequired &amp;&amp; !suggestedTopicsEnabled" class="review-title-container ng-scope" ng-class="{error: showError(baseFields.reviewTitle, 'title')}" data-cy="title-without-topics">
        <input class="review-title ng-pristine ng-untouched ng-valid ng-empty" name="review_title" aria-label="Review title" type="text" ng-model="baseFields.reviewTitle" placeholder="Review title" data-cy="title-free-text-input">
      </div><!-- end ngIf: reviewTitleRequired && !suggestedTopicsEnabled -->
      <div class="review-content-container" ng-class="{error: showError(baseFields.reviewContent, 'content'), 'small-spacing': suggestedTopicsEnabled}">
        <!-- ngIf: !suggestedTopicsEnabled --><textarea ng-if="!suggestedTopicsEnabled" rows="4" class="review-content yotpo-textarea ng-pristine ng-untouched ng-valid ng-scope ng-empty" aria-label="Review content" type="text"
          ng-model="baseFields.reviewContent" name="review_content" placeholder="* Write your review here!" data-cy="content-without-topics-free-text-input"></textarea><!-- end ngIf: !suggestedTopicsEnabled -->
        <!-- ngIf: loaded && suggestedTopicsEnabled -->
        <span class="content-error ng-binding" ng-bind="'REVIEW.CONTENT_REQUIRED' | translate">Required</span>
      </div>
      <!-- ngIf: reviewTitleRequired && suggestedTopicsEnabled -->
      <!-- ngIf: showDisplayNameAndEmail -->
      <!-- ngIf: showDisplayNameAndEmail -->
    </div>
    <!-- ngIf: loaded && (imagesEnabled || videosEnabled) && !thankYouMode -->
    <div class="custom-fields ng-isolate-scope" data-cy="custom-fields" fields="customFields" allow-show-errors="!cleanForm" value-updated-callback="updateCustomFieldValue(slug, value)">
      <div ng-show="fields">
        <!-- ngRepeat: (slug, field) in fields -->
        <div ng-repeat="(slug, field) in fields" class="ng-scope" style="">
          <div ng-switch="field.type">
            <!-- ngSwitchWhen: Rating -->
            <!-- ngSwitchWhen: Size -->
            <!-- ngSwitchWhen: MultipleChoice -->
            <!-- ngSwitchWhen: SingleChoice -->
            <div ng-switch-when="SingleChoice" class="ng-scope">
              <!-- ngIf: field.displayVariant !== 'dropdown' -->
              <div class="custom-field cf-single-choice cf-radio form-element custom-single-choice-field ng-scope ng-isolate-scope" data-cy="single-choice-radio" ng-if="field.displayVariant !== 'dropdown'" field="field"
                allow-show-errors="allowShowErrors" value-updated-callback="updateValue(slug, newValue)">
                <div class="field-title">
                  <span class="text ng-binding" ng-bind="field.title">Recommendation rate</span>
                  <span class="mandatory-mark ng-hide" ng-show="field.mandatory" style="">*</span>
                </div>
                <fieldset aria-required="false">
                  <legend class="field-subtitle ng-binding" ng-bind="field.subTitle">Would you recommend this product to a friend?</legend>
                  <div class="single-choice-field">
                    <!-- ngRepeat: fieldOption in field.options track by $index -->
                    <div class="field-choice-option ng-scope" ng-repeat="fieldOption in field.options track by $index" style="">
                      <div class="custom-radio">
                        <input type="radio" class="radio ng-pristine ng-untouched ng-valid ng-empty" ng-class="{'error': showError()}" name="hPPQ-single-choice-field-80661" id="hPPQ-single-choice-field-80661-option-0" ng-model="selectedValue"
                          ng-value="fieldOption" ng-click="updateValue(fieldOption)" data-cy="single-input" value="Yes">
                        <label for="hPPQ-single-choice-field-80661-option-0" ng-bind="fieldOption" data-cy="single-option" class="ng-binding">Yes</label>
                      </div>
                    </div><!-- end ngRepeat: fieldOption in field.options track by $index -->
                    <div class="field-choice-option ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <div class="custom-radio">
                        <input type="radio" class="radio ng-pristine ng-untouched ng-valid ng-empty" ng-class="{'error': showError()}" name="hPPQ-single-choice-field-80661" id="hPPQ-single-choice-field-80661-option-1" ng-model="selectedValue"
                          ng-value="fieldOption" ng-click="updateValue(fieldOption)" data-cy="single-input" value="No">
                        <label for="hPPQ-single-choice-field-80661-option-1" ng-bind="fieldOption" data-cy="single-option" class="ng-binding">No</label>
                      </div>
                    </div><!-- end ngRepeat: fieldOption in field.options track by $index -->
                  </div>
                </fieldset>
              </div><!-- end ngIf: field.displayVariant !== 'dropdown' -->
              <!-- ngIf: field.displayVariant === 'dropdown' -->
            </div><!-- end ngSwitchWhen: -->
            <!-- ngSwitchWhen: CustomerFreeText -->
            <!-- ngSwitchWhen: ProductFreeText -->
          </div>
        </div><!-- end ngRepeat: (slug, field) in fields -->
        <div ng-repeat="(slug, field) in fields" class="ng-scope">
          <div ng-switch="field.type">
            <!-- ngSwitchWhen: Rating -->
            <div ng-switch-when="Rating" class="ng-scope">
              <div class="custom-field cf-rating form-element custom-rating-field ng-isolate-scope" data-cy="rating" field="field" allow-show-errors="allowShowErrors" value-updated-callback="updateValue(slug, newValue)">
                <div class="field-title">
                  <span class="text ng-binding" ng-bind="field.title">Value for money</span>
                  <span class="mandatory-mark ng-hide" ng-show="field.mandatory" style="">*</span>
                </div>
                <fieldset aria-required="false">
                  <legend class="field-subtitle ng-binding" ng-bind="field.subTitle">How do you rate the value for money?</legend>
                  <div class="rating-field">
                    <!-- ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index" style="">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="1" name="0fGr-rating-field-80662" id="0fGr-rating-field-80662-option-0" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="0fGr-rating-field-80662-option-0" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="2" name="0fGr-rating-field-80662" id="0fGr-rating-field-80662-option-1" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="0fGr-rating-field-80662-option-1" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="3" name="0fGr-rating-field-80662" id="0fGr-rating-field-80662-option-2" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="0fGr-rating-field-80662-option-2" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="4" name="0fGr-rating-field-80662" id="0fGr-rating-field-80662-option-3" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="0fGr-rating-field-80662-option-3" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="5" name="0fGr-rating-field-80662" id="0fGr-rating-field-80662-option-4" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="0fGr-rating-field-80662-option-4" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index -->
                    <span class="field-option-value ng-binding" ng-class="{'selected': selectedValue > 0}" ng-bind="fieldOptionSelected">Click here to rate</span>
                  </div>
                </fieldset>
              </div>
            </div><!-- end ngSwitchWhen: -->
            <!-- ngSwitchWhen: Size -->
            <!-- ngSwitchWhen: MultipleChoice -->
            <!-- ngSwitchWhen: SingleChoice -->
            <!-- ngSwitchWhen: CustomerFreeText -->
            <!-- ngSwitchWhen: ProductFreeText -->
          </div>
        </div><!-- end ngRepeat: (slug, field) in fields -->
        <div ng-repeat="(slug, field) in fields" class="ng-scope">
          <div ng-switch="field.type">
            <!-- ngSwitchWhen: Rating -->
            <div ng-switch-when="Rating" class="ng-scope">
              <div class="custom-field cf-rating form-element custom-rating-field ng-isolate-scope" data-cy="rating" field="field" allow-show-errors="allowShowErrors" value-updated-callback="updateValue(slug, newValue)">
                <div class="field-title">
                  <span class="text ng-binding" ng-bind="field.title">Product quality</span>
                  <span class="mandatory-mark ng-hide" ng-show="field.mandatory" style="">*</span>
                </div>
                <fieldset aria-required="false">
                  <legend class="field-subtitle ng-binding" ng-bind="field.subTitle">How do you rate the product quality?</legend>
                  <div class="rating-field">
                    <!-- ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index" style="">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="1" name="zsr1-rating-field-80663" id="zsr1-rating-field-80663-option-0" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="zsr1-rating-field-80663-option-0" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="2" name="zsr1-rating-field-80663" id="zsr1-rating-field-80663-option-1" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="zsr1-rating-field-80663-option-1" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="3" name="zsr1-rating-field-80663" id="zsr1-rating-field-80663-option-2" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="zsr1-rating-field-80663-option-2" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="4" name="zsr1-rating-field-80663" id="zsr1-rating-field-80663-option-3" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="zsr1-rating-field-80663-option-3" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="5" name="zsr1-rating-field-80663" id="zsr1-rating-field-80663-option-4" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="zsr1-rating-field-80663-option-4" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index -->
                    <span class="field-option-value ng-binding" ng-class="{'selected': selectedValue > 0}" ng-bind="fieldOptionSelected">Click here to rate</span>
                  </div>
                </fieldset>
              </div>
            </div><!-- end ngSwitchWhen: -->
            <!-- ngSwitchWhen: Size -->
            <!-- ngSwitchWhen: MultipleChoice -->
            <!-- ngSwitchWhen: SingleChoice -->
            <!-- ngSwitchWhen: CustomerFreeText -->
            <!-- ngSwitchWhen: ProductFreeText -->
          </div>
        </div><!-- end ngRepeat: (slug, field) in fields -->
        <div ng-repeat="(slug, field) in fields" class="ng-scope">
          <div ng-switch="field.type">
            <!-- ngSwitchWhen: Rating -->
            <div ng-switch-when="Rating" class="ng-scope">
              <div class="custom-field cf-rating form-element custom-rating-field ng-isolate-scope" data-cy="rating" field="field" allow-show-errors="allowShowErrors" value-updated-callback="updateValue(slug, newValue)">
                <div class="field-title">
                  <span class="text ng-binding" ng-bind="field.title">Appearance</span>
                  <span class="mandatory-mark ng-hide" ng-show="field.mandatory" style="">*</span>
                </div>
                <fieldset aria-required="false">
                  <legend class="field-subtitle ng-binding" ng-bind="field.subTitle">How do you rate the product appearance?</legend>
                  <div class="rating-field">
                    <!-- ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index" style="">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="1" name="ze0h-rating-field-80664" id="ze0h-rating-field-80664-option-0" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="ze0h-rating-field-80664-option-0" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="2" name="ze0h-rating-field-80664" id="ze0h-rating-field-80664-option-1" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="ze0h-rating-field-80664-option-1" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="3" name="ze0h-rating-field-80664" id="ze0h-rating-field-80664-option-2" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="ze0h-rating-field-80664-option-2" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="4" name="ze0h-rating-field-80664" id="ze0h-rating-field-80664-option-3" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="ze0h-rating-field-80664-option-3" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="5" name="ze0h-rating-field-80664" id="ze0h-rating-field-80664-option-4" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="ze0h-rating-field-80664-option-4" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index -->
                    <span class="field-option-value ng-binding" ng-class="{'selected': selectedValue > 0}" ng-bind="fieldOptionSelected">Click here to rate</span>
                  </div>
                </fieldset>
              </div>
            </div><!-- end ngSwitchWhen: -->
            <!-- ngSwitchWhen: Size -->
            <!-- ngSwitchWhen: MultipleChoice -->
            <!-- ngSwitchWhen: SingleChoice -->
            <!-- ngSwitchWhen: CustomerFreeText -->
            <!-- ngSwitchWhen: ProductFreeText -->
          </div>
        </div><!-- end ngRepeat: (slug, field) in fields -->
        <div ng-repeat="(slug, field) in fields" class="ng-scope">
          <div ng-switch="field.type">
            <!-- ngSwitchWhen: Rating -->
            <div ng-switch-when="Rating" class="ng-scope">
              <div class="custom-field cf-rating form-element custom-rating-field ng-isolate-scope" data-cy="rating" field="field" allow-show-errors="allowShowErrors" value-updated-callback="updateValue(slug, newValue)">
                <div class="field-title">
                  <span class="text ng-binding" ng-bind="field.title">Ease of assembly/installation</span>
                  <span class="mandatory-mark ng-hide" ng-show="field.mandatory" style="">*</span>
                </div>
                <fieldset aria-required="false">
                  <legend class="field-subtitle ng-binding" ng-bind="field.subTitle">How do you rate the ease of assembly/installation?</legend>
                  <div class="rating-field">
                    <!-- ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index" style="">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="1" name="bWRA-rating-field-80665" id="bWRA-rating-field-80665-option-0" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="bWRA-rating-field-80665-option-0" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="2" name="bWRA-rating-field-80665" id="bWRA-rating-field-80665-option-1" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="bWRA-rating-field-80665-option-1" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="3" name="bWRA-rating-field-80665" id="bWRA-rating-field-80665-option-2" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="bWRA-rating-field-80665-option-2" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="4" name="bWRA-rating-field-80665" id="bWRA-rating-field-80665-option-3" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="bWRA-rating-field-80665-option-3" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="5" name="bWRA-rating-field-80665" id="bWRA-rating-field-80665-option-4" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="bWRA-rating-field-80665-option-4" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index -->
                    <span class="field-option-value ng-binding" ng-class="{'selected': selectedValue > 0}" ng-bind="fieldOptionSelected">Click here to rate</span>
                  </div>
                </fieldset>
              </div>
            </div><!-- end ngSwitchWhen: -->
            <!-- ngSwitchWhen: Size -->
            <!-- ngSwitchWhen: MultipleChoice -->
            <!-- ngSwitchWhen: SingleChoice -->
            <!-- ngSwitchWhen: CustomerFreeText -->
            <!-- ngSwitchWhen: ProductFreeText -->
          </div>
        </div><!-- end ngRepeat: (slug, field) in fields -->
        <div ng-repeat="(slug, field) in fields" class="ng-scope">
          <div ng-switch="field.type">
            <!-- ngSwitchWhen: Rating -->
            <div ng-switch-when="Rating" class="ng-scope">
              <div class="custom-field cf-rating form-element custom-rating-field ng-isolate-scope" data-cy="rating" field="field" allow-show-errors="allowShowErrors" value-updated-callback="updateValue(slug, newValue)">
                <div class="field-title">
                  <span class="text ng-binding" ng-bind="field.title">Works as expected</span>
                  <span class="mandatory-mark ng-hide" ng-show="field.mandatory" style="">*</span>
                </div>
                <fieldset aria-required="false">
                  <legend class="field-subtitle ng-binding" ng-bind="field.subTitle">Rate whether the product works as you expected:</legend>
                  <div class="rating-field">
                    <!-- ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index" style="">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="1" name="Lg2O-rating-field-80666" id="Lg2O-rating-field-80666-option-0" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="Lg2O-rating-field-80666-option-0" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="2" name="Lg2O-rating-field-80666" id="Lg2O-rating-field-80666-option-1" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="Lg2O-rating-field-80666-option-1" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="3" name="Lg2O-rating-field-80666" id="Lg2O-rating-field-80666-option-2" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="Lg2O-rating-field-80666-option-2" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="4" name="Lg2O-rating-field-80666" id="Lg2O-rating-field-80666-option-3" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="Lg2O-rating-field-80666-option-3" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index --><span class="custom-input-container ng-scope" ng-repeat="fieldOption in field.options track by $index">
                      <input type="radio" class="rating" ng-class="{'error': showError()}" aria-label="5" name="Lg2O-rating-field-80666" id="Lg2O-rating-field-80666-option-4" ng-checked="selectedValue == $index + 1"
                        ng-click="updateValue($index + 1, fieldOption)" data-cy="rating-input">
                      <label for="Lg2O-rating-field-80666-option-4" ng-class="{'selected': showSelected[$index]}" data-cy="rating-option"></label>
                    </span><!-- end ngRepeat: fieldOption in field.options track by $index -->
                    <span class="field-option-value ng-binding" ng-class="{'selected': selectedValue > 0}" ng-bind="fieldOptionSelected">Click here to rate</span>
                  </div>
                </fieldset>
              </div>
            </div><!-- end ngSwitchWhen: -->
            <!-- ngSwitchWhen: Size -->
            <!-- ngSwitchWhen: MultipleChoice -->
            <!-- ngSwitchWhen: SingleChoice -->
            <!-- ngSwitchWhen: CustomerFreeText -->
            <!-- ngSwitchWhen: ProductFreeText -->
          </div>
        </div><!-- end ngRepeat: (slug, field) in fields -->
      </div>
    </div>
    <!-- ngIf: termsAndConditionsUrl --><custom-checkbox ng-if="termsAndConditionsUrl" class="consent-checkbox ng-scope ng-isolate-scope" initial-value="termsAndConditionsCheckboxChecked" on-update="termsAndConditionsCheckboxChanged(checked)"
      allow-show-errors="!cleanForm" context="terms-and-conditions" data-cy="terms-and-conditions">
      <div class="custom-checkbox-wrapper terms-and-conditions-wrapper">
        <input type="checkbox" id="X8Sc-terms-and-conditions" class="custom-checkbox-input terms-and-conditions-input ng-empty" ng-class="{error: $ctrl.showError()}" ng-model="$ctrl.checked" ng-change="$ctrl.notifyUpdate()"
          data-cy="custom-checkbox-input" style="">
        <label class="custom-checkbox-label terms-and-conditions-label" for="X8Sc-terms-and-conditions" data-cy="custom-checkbox-option">
          <ng-transclude>
            <span class="mandatory-mark ng-scope">*</span>
            <span ng-bind="'REVIEW.CONSENT_CHECKBOX.I_AGREE' | translate" class="ng-binding ng-scope">I consent to the collection, storage, use and disclosure of my personal data by Ikano Handel Sdn. Bhd., to publish my rating and review. I have
              read, understood and accept the</span>
            <span
              class="ng-scope"><a class="consent-checkbox-link ng-binding" ng-href="https://www.ikea.com/my/en/customer-service/terms-conditions/" target="_blank" ng-bind="'REVIEW.CONSENT_CHECKBOX.TERMS_AND_CONDITIONS' | translate" data-cy="link" href="https://www.ikea.com/my/en/customer-service/terms-conditions/">[Terms of Use]</a></span><span
              class="ng-scope"> and </span><span
              class="ng-scope"><a class="consent-checkbox-link ng-binding" href="https://www.ikea.com/my/en/customer-service/privacy-policy/" target="_blank" ng-bind="'REVIEW.CONSENT_CHECKBOX.PRIVACY_POLICY' | translate" data-cy="link">[Privacy Policy]</a>.</span>
          </ng-transclude>
        </label>
      </div>
    </custom-checkbox><!-- end ngIf: termsAndConditionsUrl -->
    <!-- ngIf: privacyPolicyUrl -->
    <div ng-show="loaded" class="form-field submit-container">
      <button class="submit-review-button regular-button" name="commit" ng-disabled="mediaInProgressExists()" data-cy="submit-review-button">
        <!-- ngIf: !mediaInProgressExists() --><span ng-if="!mediaInProgressExists()" ng-bind="'REVIEW.SUBMIT' | translate" class="ng-binding ng-scope">Submit Review</span><!-- end ngIf: !mediaInProgressExists() -->
        <!-- ngIf: mediaInProgressExists() -->
      </button>
    </div>
  </div><!-- end ngIf: showReviewBody -->
  <!-- ngIf: (imagesEnabled || videosEnabled) && mediaStandAloneMode && !thankYouMode -->
  <!-- ngIf: thankYouMode -->
</form>

<form ng-submit="submitForm(true)" class="ui form ng-pristine ng-valid" ng-class="{ disabled: showReviewBody &amp;&amp; isSubmitClicked }" data-cy="review-form">
  <!-- ngIf: showReviewBody -->
  <div class="review-header ng-scope ng-isolate-scope" ng-if="showReviewBody" star-color="E7721B" star-rating-value="baseFields.reviewScore" show-validation-errors="!cleanForm" show-product-image="showProductImage" product-image-url=""
    product-name="Product Name">
    <div class="header-container">
      <div ng-show="showProductImage" class="product-img-container" data-cy="product-image-container">
        <!-- ngIf: productImageUrl -->
        <!-- ngIf: !productImageUrl --><svg ng-if="!productImageUrl" class="product-img ng-scope" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="75" height="75" style="">
          <g fill="none" fill-rule="evenodd">
            <path d="M.5.5h74v74H.5z"></path>
            <g transform="rotate(38 -7.454 68.216)">
              <path fill="#D3D6DD"
                d="M10.478 9.86c-1.268 0-2.295-.983-2.295-2.197 0-1.213 1.027-2.197 2.295-2.197s2.295.984 2.295 2.197c0 1.214-1.027 2.198-2.295 2.198m9.28-3.456L10.483.101 1.199 6.405C.445 6.833 0 7.694 0 8.702V27.6c0 1.582 1.346 2.87 2.999 2.87h14.97c1.643 0 2.988-1.288 2.988-2.87V8.702c0-1.008-.445-1.869-1.198-2.297">
              </path>
            </g>
            <path fill="#D3D6DD" d="M43.302 31.028l1.31 1.024 7.608-9.738-1.31-1.024z"></path>
          </g>
        </svg><!-- end ngIf: !productImageUrl -->
      </div>
      <div class="stars-container">
        <div class="product-name" style="display: -webkit-box;">
          <span ng-bind-html="productName" data-cy="product-name" class="ng-binding">Product Name</span>
        </div>
        <div class="stars">
          <ul class="stars ng-isolate-scope" ng-class="{'error': !ratingValue &amp;&amp; showError}" rating-value="starRatingValue" show-error="showError(starRatingValue)" data-cy="star-rating">
            <!-- ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="1 Star Rating" class="ng-scope" style="">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="2 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="3 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="4 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="5 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
          </ul>
          <span class="rate-error ng-binding ng-hide" ng-show="showError(starRatingValue)" ng-bind="'REVIEW.RATING_REQUIRED' | translate" style="">Required</span>
        </div>
      </div>
    </div>
  </div><!-- end ngIf: showReviewBody -->
  <!-- ngIf: showReviewBody -->
  <div class="review-body ng-scope collapsed" ng-if="showReviewBody" ng-class="{collapsed: !expanded, loading: expanded &amp;&amp; !loaded, 'animation-done': expandAnimationDone}" style="">
    <div class="title-and-content">
      <div class="loading-container loading ng-isolate-scope ng-hide" data-cy="loading-container" review-body-mode="true" ng-show="expanded &amp;&amp; !loaded">
        <!-- ngIf: !reviewBodyMode -->
        <div class="ls-body-container">
          <div class="left-margin line-masker"></div>
          <div class="ls-body-content">
            <!-- ngIf: !reviewBodyMode -->
            <div>
              <div class="ls-review-title"></div>
              <div class="ls-review-content"></div>
              <div class="fields-line-1">
                <div class="line-1"></div>
                <div class="line-2 line-masker"></div>
              </div>
              <div class="fields-line-2">
                <div class="line-1"></div>
                <div class="line-2 line-masker"></div>
              </div>
              <div class="fields-line-3">
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-margin-right line-masker"></div>
              </div>
            </div>
          </div>
          <div class="right-margin line-masker"></div>
        </div>
      </div>
      <!-- ngIf: reviewTitleRequired && !suggestedTopicsEnabled -->
      <div ng-if="reviewTitleRequired &amp;&amp; !suggestedTopicsEnabled" class="review-title-container ng-scope" ng-class="{error: showError(baseFields.reviewTitle, 'title')}" data-cy="title-without-topics">
        <input class="review-title ng-pristine ng-untouched ng-valid ng-empty" name="review_title" aria-label="Review title" type="text" ng-model="baseFields.reviewTitle" placeholder="Review title" data-cy="title-free-text-input">
      </div><!-- end ngIf: reviewTitleRequired && !suggestedTopicsEnabled -->
      <div class="review-content-container" ng-class="{error: showError(baseFields.reviewContent, 'content'), 'small-spacing': suggestedTopicsEnabled}">
        <!-- ngIf: !suggestedTopicsEnabled --><textarea ng-if="!suggestedTopicsEnabled" rows="4" class="review-content yotpo-textarea ng-pristine ng-untouched ng-valid ng-scope ng-empty" aria-label="Review content" type="text"
          ng-model="baseFields.reviewContent" name="review_content" placeholder="* Write your review here!" data-cy="content-without-topics-free-text-input"></textarea><!-- end ngIf: !suggestedTopicsEnabled -->
        <!-- ngIf: loaded && suggestedTopicsEnabled -->
        <span class="content-error ng-binding" ng-bind="'REVIEW.CONTENT_REQUIRED' | translate">Required</span>
      </div>
      <!-- ngIf: reviewTitleRequired && suggestedTopicsEnabled -->
      <!-- ngIf: showDisplayNameAndEmail -->
      <!-- ngIf: showDisplayNameAndEmail -->
    </div>
    <!-- ngIf: loaded && (imagesEnabled || videosEnabled) && !thankYouMode -->
    <div class="custom-fields ng-isolate-scope" data-cy="custom-fields" fields="customFields" allow-show-errors="!cleanForm" value-updated-callback="updateCustomFieldValue(slug, value)">
      <div ng-show="fields" class="ng-hide" style="">
        <!-- ngRepeat: (slug, field) in fields -->
      </div>
    </div>
    <!-- ngIf: termsAndConditionsUrl --><custom-checkbox ng-if="termsAndConditionsUrl" class="consent-checkbox ng-scope ng-isolate-scope" initial-value="termsAndConditionsCheckboxChecked" on-update="termsAndConditionsCheckboxChanged(checked)"
      allow-show-errors="!cleanForm" context="terms-and-conditions" data-cy="terms-and-conditions">
      <div class="custom-checkbox-wrapper terms-and-conditions-wrapper">
        <input type="checkbox" id="dMBq-terms-and-conditions" class="custom-checkbox-input terms-and-conditions-input ng-empty" ng-class="{error: $ctrl.showError()}" ng-model="$ctrl.checked" ng-change="$ctrl.notifyUpdate()"
          data-cy="custom-checkbox-input" style="">
        <label class="custom-checkbox-label terms-and-conditions-label" for="dMBq-terms-and-conditions" data-cy="custom-checkbox-option">
          <ng-transclude>
            <span class="mandatory-mark ng-scope">*</span>
            <span ng-bind="'REVIEW.CONSENT_CHECKBOX.I_AGREE' | translate" class="ng-binding ng-scope">I consent to the collection, storage, use and disclosure of my personal data by Ikano Handel Sdn. Bhd., to publish my rating and review. I have
              read, understood and accept the</span>
            <span
              class="ng-scope"><a class="consent-checkbox-link ng-binding" ng-href="https://www.ikea.com/my/en/customer-service/terms-conditions/" target="_blank" ng-bind="'REVIEW.CONSENT_CHECKBOX.TERMS_AND_CONDITIONS' | translate" data-cy="link" href="https://www.ikea.com/my/en/customer-service/terms-conditions/">[Terms of Use]</a></span><span
              class="ng-scope"> and </span><span
              class="ng-scope"><a class="consent-checkbox-link ng-binding" href="https://www.ikea.com/my/en/customer-service/privacy-policy/" target="_blank" ng-bind="'REVIEW.CONSENT_CHECKBOX.PRIVACY_POLICY' | translate" data-cy="link">[Privacy Policy]</a>.</span>
          </ng-transclude>
        </label>
      </div>
    </custom-checkbox><!-- end ngIf: termsAndConditionsUrl -->
    <!-- ngIf: privacyPolicyUrl -->
    <div ng-show="loaded" class="form-field submit-container ng-hide">
      <button class="submit-review-button regular-button" name="commit" ng-disabled="mediaInProgressExists()" data-cy="submit-review-button">
        <!-- ngIf: !mediaInProgressExists() --><span ng-if="!mediaInProgressExists()" ng-bind="'REVIEW.SUBMIT' | translate" class="ng-binding ng-scope">Submit Review</span><!-- end ngIf: !mediaInProgressExists() -->
        <!-- ngIf: mediaInProgressExists() -->
      </button>
    </div>
  </div><!-- end ngIf: showReviewBody -->
  <!-- ngIf: (imagesEnabled || videosEnabled) && mediaStandAloneMode && !thankYouMode -->
  <!-- ngIf: thankYouMode -->
</form>

<form ng-submit="submitForm(true)" class="ui form ng-pristine ng-valid" ng-class="{ disabled: showReviewBody &amp;&amp; isSubmitClicked }" data-cy="review-form">
  <!-- ngIf: showReviewBody -->
  <div class="review-header ng-scope ng-isolate-scope" ng-if="showReviewBody" star-color="E7721B" star-rating-value="baseFields.reviewScore" show-validation-errors="!cleanForm" show-product-image="showProductImage" product-image-url=""
    product-name="Product Name">
    <div class="header-container">
      <div ng-show="showProductImage" class="product-img-container" data-cy="product-image-container">
        <!-- ngIf: productImageUrl -->
        <!-- ngIf: !productImageUrl --><svg ng-if="!productImageUrl" class="product-img ng-scope" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="75" height="75" style="">
          <g fill="none" fill-rule="evenodd">
            <path d="M.5.5h74v74H.5z"></path>
            <g transform="rotate(38 -7.454 68.216)">
              <path fill="#D3D6DD"
                d="M10.478 9.86c-1.268 0-2.295-.983-2.295-2.197 0-1.213 1.027-2.197 2.295-2.197s2.295.984 2.295 2.197c0 1.214-1.027 2.198-2.295 2.198m9.28-3.456L10.483.101 1.199 6.405C.445 6.833 0 7.694 0 8.702V27.6c0 1.582 1.346 2.87 2.999 2.87h14.97c1.643 0 2.988-1.288 2.988-2.87V8.702c0-1.008-.445-1.869-1.198-2.297">
              </path>
            </g>
            <path fill="#D3D6DD" d="M43.302 31.028l1.31 1.024 7.608-9.738-1.31-1.024z"></path>
          </g>
        </svg><!-- end ngIf: !productImageUrl -->
      </div>
      <div class="stars-container">
        <div class="product-name" style="display: -webkit-box;">
          <span ng-bind-html="productName" data-cy="product-name" class="ng-binding">Product Name</span>
        </div>
        <div class="stars">
          <ul class="stars ng-isolate-scope" ng-class="{'error': !ratingValue &amp;&amp; showError}" rating-value="starRatingValue" show-error="showError(starRatingValue)" data-cy="star-rating">
            <!-- ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="1 Star Rating" class="ng-scope" style="">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="2 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="3 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="4 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
            <li ng-repeat="index in [1,2,3,4,5]" ng-click="select(index)" aria-label="5 Star Rating" class="ng-scope">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/filled-star.png" ng-show="ratingValue &amp;&amp; index <= ratingValue" width="33" class="ng-hide">
              <img src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/empty-star.png" ng-show="(ratingValue &amp;&amp; index > ratingValue) || (!ratingValue &amp;&amp; !showError)" width="33" class="">
              <img ng-show="showError &amp;&amp; !ratingValue" src="https://yotpo-stool.s3.amazonaws.com/images/ikea/MY/error-star.png" width="33" class="ng-hide">
            </li><!-- end ngRepeat: index in [1,2,3,4,5] -->
          </ul>
          <span class="rate-error ng-binding ng-hide" ng-show="showError(starRatingValue)" ng-bind="'REVIEW.RATING_REQUIRED' | translate" style="">Required</span>
        </div>
      </div>
    </div>
  </div><!-- end ngIf: showReviewBody -->
  <!-- ngIf: showReviewBody -->
  <div class="review-body ng-scope collapsed" ng-if="showReviewBody" ng-class="{collapsed: !expanded, loading: expanded &amp;&amp; !loaded, 'animation-done': expandAnimationDone}" style="">
    <div class="title-and-content">
      <div class="loading-container loading ng-isolate-scope ng-hide" data-cy="loading-container" review-body-mode="true" ng-show="expanded &amp;&amp; !loaded">
        <!-- ngIf: !reviewBodyMode -->
        <div class="ls-body-container">
          <div class="left-margin line-masker"></div>
          <div class="ls-body-content">
            <!-- ngIf: !reviewBodyMode -->
            <div>
              <div class="ls-review-title"></div>
              <div class="ls-review-content"></div>
              <div class="fields-line-1">
                <div class="line-1"></div>
                <div class="line-2 line-masker"></div>
              </div>
              <div class="fields-line-2">
                <div class="line-1"></div>
                <div class="line-2 line-masker"></div>
              </div>
              <div class="fields-line-3">
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-separator line-masker"></div>
                <div class="bullet"></div>
                <div class="bullet-margin-right line-masker"></div>
              </div>
            </div>
          </div>
          <div class="right-margin line-masker"></div>
        </div>
      </div>
      <!-- ngIf: reviewTitleRequired && !suggestedTopicsEnabled -->
      <div ng-if="reviewTitleRequired &amp;&amp; !suggestedTopicsEnabled" class="review-title-container ng-scope" ng-class="{error: showError(baseFields.reviewTitle, 'title')}" data-cy="title-without-topics">
        <input class="review-title ng-pristine ng-untouched ng-valid ng-empty" name="review_title" aria-label="Review title" type="text" ng-model="baseFields.reviewTitle" placeholder="Review title" data-cy="title-free-text-input">
      </div><!-- end ngIf: reviewTitleRequired && !suggestedTopicsEnabled -->
      <div class="review-content-container" ng-class="{error: showError(baseFields.reviewContent, 'content'), 'small-spacing': suggestedTopicsEnabled}">
        <!-- ngIf: !suggestedTopicsEnabled --><textarea ng-if="!suggestedTopicsEnabled" rows="4" class="review-content yotpo-textarea ng-pristine ng-untouched ng-valid ng-scope ng-empty" aria-label="Review content" type="text"
          ng-model="baseFields.reviewContent" name="review_content" placeholder="* Write your review here!" data-cy="content-without-topics-free-text-input"></textarea><!-- end ngIf: !suggestedTopicsEnabled -->
        <!-- ngIf: loaded && suggestedTopicsEnabled -->
        <span class="content-error ng-binding" ng-bind="'REVIEW.CONTENT_REQUIRED' | translate">Required</span>
      </div>
      <!-- ngIf: reviewTitleRequired && suggestedTopicsEnabled -->
      <!-- ngIf: showDisplayNameAndEmail -->
      <!-- ngIf: showDisplayNameAndEmail -->
    </div>
    <!-- ngIf: loaded && (imagesEnabled || videosEnabled) && !thankYouMode -->
    <div class="custom-fields ng-isolate-scope" data-cy="custom-fields" fields="customFields" allow-show-errors="!cleanForm" value-updated-callback="updateCustomFieldValue(slug, value)">
      <div ng-show="fields" class="ng-hide" style="">
        <!-- ngRepeat: (slug, field) in fields -->
      </div>
    </div>
    <!-- ngIf: termsAndConditionsUrl --><custom-checkbox ng-if="termsAndConditionsUrl" class="consent-checkbox ng-scope ng-isolate-scope" initial-value="termsAndConditionsCheckboxChecked" on-update="termsAndConditionsCheckboxChanged(checked)"
      allow-show-errors="!cleanForm" context="terms-and-conditions" data-cy="terms-and-conditions">
      <div class="custom-checkbox-wrapper terms-and-conditions-wrapper">
        <input type="checkbox" id="Yvxv-terms-and-conditions" class="custom-checkbox-input terms-and-conditions-input ng-empty" ng-class="{error: $ctrl.showError()}" ng-model="$ctrl.checked" ng-change="$ctrl.notifyUpdate()"
          data-cy="custom-checkbox-input" style="">
        <label class="custom-checkbox-label terms-and-conditions-label" for="Yvxv-terms-and-conditions" data-cy="custom-checkbox-option">
          <ng-transclude>
            <span class="mandatory-mark ng-scope">*</span>
            <span ng-bind="'REVIEW.CONSENT_CHECKBOX.I_AGREE' | translate" class="ng-binding ng-scope">I consent to the collection, storage, use and disclosure of my personal data by Ikano Handel Sdn. Bhd., to publish my rating and review. I have
              read, understood and accept the</span>
            <span
              class="ng-scope"><a class="consent-checkbox-link ng-binding" ng-href="https://www.ikea.com/my/en/customer-service/terms-conditions/" target="_blank" ng-bind="'REVIEW.CONSENT_CHECKBOX.TERMS_AND_CONDITIONS' | translate" data-cy="link" href="https://www.ikea.com/my/en/customer-service/terms-conditions/">[Terms of Use]</a></span><span
              class="ng-scope"> and </span><span
              class="ng-scope"><a class="consent-checkbox-link ng-binding" href="https://www.ikea.com/my/en/customer-service/privacy-policy/" target="_blank" ng-bind="'REVIEW.CONSENT_CHECKBOX.PRIVACY_POLICY' | translate" data-cy="link">[Privacy Policy]</a>.</span>
          </ng-transclude>
        </label>
      </div>
    </custom-checkbox><!-- end ngIf: termsAndConditionsUrl -->
    <!-- ngIf: privacyPolicyUrl -->
    <div ng-show="loaded" class="form-field submit-container ng-hide">
      <button class="submit-review-button regular-button" name="commit" ng-disabled="mediaInProgressExists()" data-cy="submit-review-button">
        <!-- ngIf: !mediaInProgressExists() --><span ng-if="!mediaInProgressExists()" ng-bind="'REVIEW.SUBMIT' | translate" class="ng-binding ng-scope">Submit Review</span><!-- end ngIf: !mediaInProgressExists() -->
        <!-- ngIf: mediaInProgressExists() -->
      </button>
    </div>
  </div><!-- end ngIf: showReviewBody -->
  <!-- ngIf: (imagesEnabled || videosEnabled) && mediaStandAloneMode && !thankYouMode -->
  <!-- ngIf: thankYouMode -->
</form>

Text Content

PRODUCTS TO REVIEW

Product Name
   
 * 
   
 * 
   
 * 
   
 * 
   
 * 
   

Required
Required
Recommendation rate *
Would you recommend this product to a friend?
Yes
No
Value for money *
How do you rate the value for money?
Click here to rate
Product quality *
How do you rate the product quality?
Click here to rate
Appearance *
How do you rate the product appearance?
Click here to rate
Ease of assembly/installation *
How do you rate the ease of assembly/installation?
Click here to rate
Works as expected *
Rate whether the product works as you expected:
Click here to rate
* I consent to the collection, storage, use and disclosure of my personal data
by Ikano Handel Sdn. Bhd., to publish my rating and review. I have read,
understood and accept the [Terms of Use] and [Privacy Policy].
Submit Review

Product Name
   
 * 
   
 * 
   
 * 
   
 * 
   
 * 
   

Required
Required

* I consent to the collection, storage, use and disclosure of my personal data
by Ikano Handel Sdn. Bhd., to publish my rating and review. I have read,
understood and accept the [Terms of Use] and [Privacy Policy].
Submit Review
Product Name
   
 * 
   
 * 
   
 * 
   
 * 
   
 * 
   

Required
Required

* I consent to the collection, storage, use and disclosure of my personal data
by Ikano Handel Sdn. Bhd., to publish my rating and review. I have read,
understood and accept the [Terms of Use] and [Privacy Policy].
Submit Review