@salla.sa/twilight-components 2.13.92 → 2.13.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/cjs/app-globals-c5340b59.js.map +1 -1
  2. package/dist/cjs/salla-add-product-button_48.cjs.entry.js +23 -19
  3. package/dist/cjs/salla-add-product-button_48.cjs.entry.js.map +1 -1
  4. package/dist/collection/components/salla-rating-modal/salla-rating-modal.js +12 -13
  5. package/dist/collection/components/salla-rating-modal/salla-rating-modal.js.map +1 -1
  6. package/dist/components/index.js.map +1 -1
  7. package/dist/components/salla-quick-buy2.js +11 -6
  8. package/dist/components/salla-quick-buy2.js.map +1 -1
  9. package/dist/components/salla-rating-modal.js +12 -13
  10. package/dist/components/salla-rating-modal.js.map +1 -1
  11. package/dist/esm/app-globals-0280e1d0.js.map +1 -1
  12. package/dist/esm/salla-add-product-button_48.entry.js +23 -19
  13. package/dist/esm/salla-add-product-button_48.entry.js.map +1 -1
  14. package/dist/esm-es5/app-globals-0280e1d0.js.map +1 -1
  15. package/dist/esm-es5/salla-add-product-button_48.entry.js +4 -4
  16. package/dist/esm-es5/salla-add-product-button_48.entry.js.map +1 -1
  17. package/dist/twilight/p-4a9df09e.js.map +1 -1
  18. package/dist/twilight/p-4c2194e3.system.js.map +1 -1
  19. package/dist/twilight/p-54e1a882.system.js +1 -1
  20. package/dist/twilight/{p-e68699b3.system.entry.js → p-903962d6.system.entry.js} +2 -2
  21. package/dist/twilight/p-903962d6.system.entry.js.map +1 -0
  22. package/dist/twilight/{p-b2122863.entry.js → p-c612fde8.entry.js} +2 -2
  23. package/dist/twilight/p-c612fde8.entry.js.map +1 -0
  24. package/dist/twilight/twilight.esm.js +1 -1
  25. package/package.json +5 -5
  26. package/dist/twilight/p-b2122863.entry.js.map +0 -1
  27. package/dist/twilight/p-e68699b3.system.entry.js.map +0 -1
@@ -91,23 +91,22 @@ export class SallaRatingModal {
91
91
  return this.submitted.includes(this.currentIndex);
92
92
  }
93
93
  validate(rating = null, type = null) {
94
- if (!rating && this.currentTab.dataset.type == 'products') {
95
- return this.currentTab.querySelectorAll('.rating-outer-form').forEach(rating => this.validate(rating, 'product'));
94
+ if (!rating && this.currentTab.dataset.type === 'products') {
95
+ const ratingForms = this.currentTab.querySelectorAll('.rating-outer-form');
96
+ ratingForms.forEach(ratingForm => this.validate(ratingForm, 'product'));
97
+ return;
96
98
  }
97
99
  rating = rating || this.currentTab;
98
- let stars = rating.querySelector('.rating_hidden_input').value;
99
- let comment = rating.querySelector('.s-rating-modal-comment');
100
- let validationMessage = rating.querySelector('.s-rating-modal-validation-msg');
101
- if (stars && comment.value && comment.value.length > 3) {
102
- comment.classList.remove('s-has-error');
100
+ const stars = rating.querySelector('.rating_hidden_input').value;
101
+ const validationMessage = rating.querySelector('.s-rating-modal-validation-msg');
102
+ type = type || rating.dataset.type;
103
+ if (!stars) {
104
+ validationMessage.innerHTML = salla.lang.get(`pages.rating.rate_${type}_stars`).replace(' (:item)', '');
105
+ throw new Error(validationMessage.innerHTML);
106
+ }
107
+ else {
103
108
  validationMessage.innerHTML = '';
104
- return;
105
109
  }
106
- type = type || rating['dataset'].type;
107
- Helper.toggleElementClassIf(comment, 'save', 's-has-error', el => el.value.length > 3);
108
- throw validationMessage.innerHTML = stars
109
- ? (salla.lang.get('common.errors.not_less_than_chars', { chars: 4 }) + ' ' + comment.getAttribute('placeholder'))
110
- : salla.lang.get(`pages.rating.rate_${type}_stars`).replace(' (:item)', '');
111
110
  }
112
111
  sendFeedback() {
113
112
  let data = {};
@@ -1 +1 @@
1
- {"version":3,"file":"salla-rating-modal.js","sourceRoot":"","sources":["../../../src/components/salla-rating-modal/salla-rating-modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEjF,OAAO,IAAI,MAAM,2BAA2B,CAAC;AAC7C,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAI1C,MAAM,OAAO,gBAAgB;EAC3B;IAaQ,eAAU,GAAW,CAAC,CAAC;IAIvB,iBAAY,GAAW,CAAC,CAAC;IAOzB,cAAS,GAAkB,EAAE,CAAC;;oBAdT,KAAK;;mBAmBR,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;6BAEf,KAAK;IA9BzC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAElD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;MACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC,CAAC,CAAC;GAEJ;EA4BD;;KAEG;EAEH,KAAK,CAAC,IAAI;IACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;OACrB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;OAClI,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;OACrI,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;OACpC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;OAC3J,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;OACtD,KAAK,CAAC,CAAC,CAAC,EAAE;;MACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;MACrB,IAAI,CAAC,YAAY,GAAG,CAAA,MAAA,MAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,0CAAE,KAAK,0CAAE,OAAO,MAAI,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAA,CAAC;MACzE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;EACN,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,KAAK;IACT,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;EAC5B,CAAC;EAGD,gBAAgB;EACR,YAAY;IAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;IACpE,IAAI,CAAC,cAAc,EAAE,CAAC;EACxB,CAAC;EAEO,cAAc,CAAC,OAAO,GAAG,IAAI;;IACnC,IAAI,CAAC,UAAU,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,CAAC,aAAa,CAAC,0BAA0B,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OAChJ,aAAa,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAA;IAEzH,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;MAC1B,gBAAgB;MAChB,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;MAC7G,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KACrI;IAED,WAAW;IACX,IAAI,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,0CAAE,OAAO,CAAC,IAAI,CAAC;IAC/D,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC;MACrH,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAEjD,UAAU,CAAC,GAAG,EAAE,eAAC,OAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY,CAAC,OAAO,EAAE,SAAS,IAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAA,GAAG,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC;EACvG,CAAC;EAEO,WAAW;IACjB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7C,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC9G,IAAI,CAAC,cAAc,EAAE,CAAC;EACxB,CAAC;EAEO,MAAM;IACZ,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1C,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;OAChB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;OACzD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;OAC9H,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;OACtE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;OACjC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;OAC/F,OAAO,CAAC,GAAG,EAAE;MACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;MACpB,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;MAC7B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;MAC5D,iCAAiC;IACnC,CAAC,CAAC,CAAC;EACP,CAAC;EAEO,eAAe;IACrB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACpD,CAAC;EAEO,QAAQ,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI;IACzC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;MACzD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;KACnH;IACD,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;IACnC,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;IAC/D,IAAI,OAAO,GAAqB,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAChF,IAAI,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;IAC/E,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;MACtD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;MACxC,iBAAiB,CAAC,SAAS,GAAG,EAAE,CAAC;MACjC,OAAO;KACR;IACD,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;IAEtC,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvF,MAAM,iBAAiB,CAAC,SAAS,GAAG,KAAK;MACvC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;MACjH,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;EAChF,CAAC;EAEO,YAAY;IAClB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAuB,EAAE,EAAE;MAC7E,oGAAoG;MACpG,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;MACvE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;MACjC,OAAO;KACR;IACD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;EAC9D,CAAC;EAEO,YAAY;IAClB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;MACjC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;MACjD,IAAI,OAAO,GAAG,CAAC,EAAE;QACf,OAAM;OACP;MACD,aAAa,CAAC,WAAW,CAAC,CAAC;MAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;MACzB,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC9F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EACtC,CAAC;EAED,MAAM;;IACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,gBAAgB;MAC1B,mBAAa,KAAK,EAAC,qBAAqB,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK;QACnG,WAAK,IAAI,EAAC,SAAS;UACjB,WAAK,KAAK,EAAC,yBAAyB;YAClC,sBAAgB,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAkB;YAC1E,sBAAgB,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,GAAkB;YAC3D,sBAAgB,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,GAAkB;YAC3D,WAAK,KAAK,EAAC,+BAA+B,IACvC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,WAAK,SAAS,EAAE,IAAI,GAAQ,CAAC,CAClD;YACN,sBAAgB,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,GAAkB;YAC7D,WAAK,KAAK,EAAC,gCAAgC;cACzC,sBAAgB,MAAM,EAAC,MAAM,EAAC,KAAK,EAAC,KAAK,GAAkB,CACvD,CACF,CACF;QACL,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK;UAC3B,CAAC,CAAC,CAAC,WAAK,KAAK,EAAC,wBAAwB,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;cAE7D,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,oBAAoB,EAAC,CAAC;gBACjC,WAAK,KAAK,EAAC,sFAAsF,eACrF,OAAO;kBACjB,WAAK,KAAK,EAAC,6BAA6B;oBACtC,WAAK,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,uDAAuD,CAAC,EAC/F,GAAG,EAAC,YAAY,EAAC,KAAK,EAAC,2BAA2B,GAAG,CACnD;kBACN,UAAI,KAAK,EAAC,sBAAsB,IAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAM;kBACrF,WAAK,KAAK,EAAC,8BAA8B;oBACvC,0BAAoB,IAAI,EAAC,OAAO,GAAsB,CAClD;kBACN,gBAAU,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,wBAAwB,EACrD,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,GAAa;kBAC3E,aAAO,KAAK,EAAC,+BAA+B,GAAS,CACjD;gBACN,CAAC,CAAC,EAAE;cAGL,IAAI,CAAC,KAAK,CAAC,gBAAgB;gBAC1B,CAAC,CAAC,eAAS,KAAK,EAAC,2CAA2C,eAAW,UAAU,IAC9E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACvC,WAAK,KAAK,EAAC,0CAA0C,sBACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC;kBACnE,WAAK,KAAK,EAAC,iCAAiC;oBAC1C,WAAK,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAC,4BAA4B,GAAG,CAC3F;kBACN,WAAK,KAAK,EAAC,gCAAgC;oBACzC,UAAI,KAAK,EAAC,8BAA8B;;sBAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAM;oBAClE,WAAK,KAAK,EAAC,8BAA8B;sBACvC,0BAAoB,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,YAAY,KAAK,WAAW,GAAuB,CACtF;oBACN,aAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,YAAY,KAAK,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAI;oBACvF,gBAAU,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,EACtE,IAAI,EAAE,YAAY,KAAK,YAAY,EAAE,KAAK,EAAC,wBAAwB,GAAY;oBACjF,aAAO,KAAK,EAAC,+BAA+B,GAAS,CACjD,CACF,CACP,CACO;gBACV,CAAC,CAAC,EAAE;cAIL,IAAI,CAAC,KAAK,CAAC,gBAAgB,KAAI,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,0CAAE,OAAO,CAAA;gBAC1D,CAAC,CAAC,WAAK,KAAK,EAAC,sFAAsF,eACvF,UAAU;kBACpB,aAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,qBAAqB,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAI;kBACxF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;oBAC/B,CAAC,CAAC,WAAK,KAAK,EAAC,6BAA6B;sBACxC,WAAK,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAC,8BAA8B,EAC9E,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAI,CACvC;oBACN,CAAC,CAAC,YAAM,KAAK,EAAC,qBAAqB,EAAC,SAAS,EAAE,YAAY,GAAS;kBACtE,WACE,KAAK,EAAC,sBAAsB;;oBAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAO;kBAC7H,WAAK,KAAK,EAAC,8BAA8B;oBACvC,0BAAoB,IAAI,EAAC,OAAO,GAAsB,CAClD;kBACN,gBAAU,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,wBAAwB,EACrD,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,GAAa;kBAC9E,aAAO,KAAK,EAAC,+BAA+B,GAAS,CACjD;gBACN,CAAC,CAAC,EAAE;cAGN,WAAK,KAAK,EAAC,6CAA6C,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE;gBACrF,YAAM,KAAK,EAAC,qBAAqB,EAAC,SAAS,EAAE,YAAY,GAAS;gBAClE,UAAI,KAAK,EAAC,6BAA6B,IAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAM;gBACpF,WAAK,KAAK,EAAC,2BAA2B,EAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAQ;gBACnF,YAAM,KAAK,EAAC,4BAA4B,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,GAAS,CAC7E,CAEF,EACN,WAAK,KAAK,EAAC,uBAAuB;cAChC,cAAQ,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EACrE,KAAK,EAAC,8CAA8C,IACnD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAChC;cACR,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAI,KAAK,EAAC,qBAAqB,IAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CACnG,UAAI,KAAK,EAAC,gDAAgD,GAAM,CACjE,CAAM,CAAC,CAAC,CAAC,EAAE;cACZ,uCAA8B,QAAQ,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAC9F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAC1B,CACX,EAAE;UACR,CAAC,CAAC,yBAAmB,SAAS,EAAC,QAAQ,GAAqB,CAClD,CACT,CACR,CAAC;EACJ,CAAC;EAED,gBAAgB;IACd,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;EAC9C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Method, Element, Host, State, Prop } from '@stencil/core';\nimport OrderFeedbackResponse from \"./order-feedback-response\";\nimport Star from '../../assets/svg/star.svg';\nimport ShippingFast from \"../../assets/svg/shipping-fast.svg\";\nimport CheckCircle2 from \"../../assets/svg/check-circle2.svg\";\nimport Helper from '../../Helpers/Helper';\n\n@Component({ tag: 'salla-rating-modal', styleUrl: 'salla-rating-modal.scss' })\n\nexport class SallaRatingModal {\n constructor() {\n salla.event.on('rating::open', () => this.open());\n\n salla.lang.onLoaded(() => {\n this.translationLoaded = true;\n });\n\n }\n\n @State() order: OrderFeedbackResponse | undefined;\n @State() hasError: boolean = false;\n @State() errorMessage: string;\n\n private stepsCount: number = 0;\n private nextBtn: HTMLSallaButtonElement;\n private backBtn: HTMLButtonElement;\n private modal: HTMLSallaModalElement;\n private currentIndex: number = 0;\n private currentTab: HTMLDivElement | HTMLElement;\n private thanksTab: HTMLDivElement;\n private body: HTMLDivElement;\n private thanksTime: HTMLTimeElement;\n private steps: NodeListOf<HTMLDivElement>;\n private dots: NodeListOf<HTMLDivElement>;\n private submitted: Array<number> = [];\n\n /**\n * The order id, to rate on its products & shipping\n */\n @Prop() orderId: number = salla.config.get('page.id');\n\n @State() translationLoaded: boolean = false;\n\n @Element() host: HTMLElement;\n\n /**\n * Show the rating modal\n */\n @Method()\n async open() {\n return this.modal.open()\n .then(() => this.order || salla.api.withoutNotifier(() => salla.rating.api.order(this.orderId)).then(res => this.order = res.data))\n .then(() => this.modal.setTitle(salla.lang.get('pages.rating.rate_order') + ' <span class=\"unicode\">(#' + this.order.id + ')</span>'))\n .then(() => this.modal.stopLoading())\n .then(() => this.stepsCount = [this.order.testimonials_enabled, this.order.products_enabled, this.order.shipping_enabled].filter(enabled => enabled).length)\n .then(() => setTimeout(() => this.handleWizard(), 100))\n .catch(e => {\n this.hasError = true;\n this.errorMessage = e.response?.data?.error?.message || e.response?.data;\n this.modal.stopLoading()\n })\n }\n\n /**\n * Show the rating modal\n */\n @Method()\n async close() {\n return this.modal.close();\n }\n\n\n // handle wizard\n private handleWizard() {\n this.steps = this.modal.querySelectorAll(\".s-rating-modal-step\");\n this.dots = this.modal.querySelectorAll(\".s-rating-modal-step-dot\");\n this.showActiveStep();\n }\n\n private showActiveStep(current = null) {\n this.currentTab = current || this.steps[this.currentIndex];\n Helper.toggleClassIf('.s-rating-modal-step-dot', 's-rating-modal-bg-gray', 's-rating-modal-bg-primary', dot => dot != this.dots[this.currentIndex])\n .toggleClassIf('.s-rating-modal-step', 's-rating-modal-active', 's-rating-modal-hidden', tab => tab == this.currentTab)\n\n if (this.currentIndex != 0) {\n // the animation\n Helper.toggleElementClassIf(this.currentTab, 's-rating-modal-unactive', 's-rating-modal-hidden', () => true);\n setTimeout(() => Helper.toggleElementClassIf(this.currentTab, 's-rating-modal-active', 's-rating-modal-unactive', () => true), 300);\n }\n\n // Btn text\n let nextType = this.steps[this.currentIndex + 1]?.dataset.type;\n this.nextBtn?.setText(nextType ? salla.lang.get('pages.rating.rate') + ' ' + salla.lang.get('pages.rating.' + nextType)\n : salla.lang.get('pages.rating.send_ratings'));\n\n setTimeout(() => this.body?.setAttribute('style', 'height:' + this.currentTab?.offsetHeight + 'px'));\n }\n\n private previousTab() {\n this.currentIndex > 0 && this.currentIndex--;\n Helper.toggleElementClassIf(this.backBtn, 's-rating-modal-unvisiable', 'block', () => this.currentIndex == 0);\n this.showActiveStep();\n }\n\n private submit() {\n this.submittedBefore() || this.validate();\n salla.config.canLeave = false;\n this.nextBtn.load()\n .then(() => this.submittedBefore() || this.sendFeedback())\n .then(() => this.currentTab.querySelectorAll('[name],.s-rating-modal-btn-star').forEach(el => el.setAttribute('disabled', '')))\n .then(() => this.currentIndex < this.stepsCount && this.currentIndex++)\n .then(() => this.showActiveStep())\n .then(() => Helper.toggleClassIf('#prev-btn', 'block', 's-rating-modal-unvisiable', () => true))\n .finally(() => {\n this.nextBtn.stop();\n salla.config.canLeave = true;\n this.currentIndex == this.stepsCount && this.showThankYou();\n // this.modal.isClosable = false;\n });\n }\n\n private submittedBefore() {\n return this.submitted.includes(this.currentIndex);\n }\n\n private validate(rating = null, type = null) {\n if (!rating && this.currentTab.dataset.type == 'products') {\n return this.currentTab.querySelectorAll('.rating-outer-form').forEach(rating => this.validate(rating, 'product'));\n }\n rating = rating || this.currentTab;\n let stars = rating.querySelector('.rating_hidden_input').value;\n let comment: HTMLInputElement = rating.querySelector('.s-rating-modal-comment');\n let validationMessage = rating.querySelector('.s-rating-modal-validation-msg');\n if (stars && comment.value && comment.value.length > 3) {\n comment.classList.remove('s-has-error');\n validationMessage.innerHTML = '';\n return;\n }\n type = type || rating['dataset'].type;\n\n Helper.toggleElementClassIf(comment, 'save', 's-has-error', el => el.value.length > 3);\n\n throw validationMessage.innerHTML = stars\n ? (salla.lang.get('common.errors.not_less_than_chars', { chars: 4 }) + ' ' + comment.getAttribute('placeholder'))\n : salla.lang.get(`pages.rating.rate_${type}_stars`).replace(' (:item)', '');\n }\n\n private sendFeedback() {\n let data = {};\n this.currentTab.querySelectorAll('[name]').forEach((input: HTMLInputElement) => {\n //decode names like `<input name=\"jamal[inner]\" value=\"hi\">` to be {name:jamal, value: {inner:\"hi\"}}\n let inputData = salla.helpers.inputData(input.name, input.value, data);\n data[inputData.name] = inputData.value;\n });\n\n if (Object.keys(data).length == 0) {\n return;\n }\n data['order_id'] = this.orderId;\n data['type'] = this.currentTab.dataset.type;\n this.submitted.push(this.currentIndex);\n return salla.rating.api[this.currentTab.dataset.type](data);\n }\n\n private showThankYou() {\n let seconds = 10;\n let timeToClose = setInterval(() => {\n this.thanksTime.innerHTML = '00:0' + (seconds--);\n if (seconds > 0) {\n return\n }\n clearInterval(timeToClose);\n this.thanksTime.remove();\n this.close().then(() => window.location.reload());\n }, 1000);\n\n this.modal.querySelector('.s-rating-modal-footer').classList.add('s-rating-modal-unvisiable');\n this.showActiveStep(this.thanksTab);\n }\n\n render() {\n return (\n <Host class=\"s-rating-modal\">\n <salla-modal class=\"s-rating-modal-wrap\" isLoading={true} width=\"md\" ref={modal => this.modal = modal}>\n <div slot='loading'>\n <div class=\"s-rating-modal-skeleton\">\n <salla-skeleton type='circle' height='80px' width='80px'></salla-skeleton>\n <salla-skeleton height='15px' width='60%'></salla-skeleton>\n <salla-skeleton height='10px' width='30%'></salla-skeleton>\n <div class=\"s-rating-modal-skeleton-stars\">\n {[...Array(5)].map(() => <div innerHTML={Star}></div>)}\n </div>\n <salla-skeleton height='100px' width='100%'></salla-skeleton>\n <div class=\"s-rating-modal-skeleton-footer\">\n <salla-skeleton height='40px' width='30%'></salla-skeleton>\n </div>\n </div>\n </div>\n {!this.hasError && this.order\n ? [<div class=\"s-rating-modal-wrapper\" ref={el => this.body = el}>\n {/*Store Rating tab*/}\n {this.order?.testimonials_enabled ?\n <div class=\"rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden\"\n data-type=\"store\">\n <div class=\"s-rating-modal-rounded-icon\">\n <img src={salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png')}\n alt=\"store name\" class=\"s-rating-modal-store-logo\" />\n </div>\n <h2 class=\"s-rating-modal-title\">{salla.lang.get('pages.rating.rate_the_store')}</h2>\n <div class=\"s-rating-modal-stars-company\">\n <salla-rating-stars size=\"large\"></salla-rating-stars>\n </div>\n <textarea name=\"comment\" class=\"s-rating-modal-comment\"\n placeholder={salla.lang.get('pages.rating.write_store_rate')}></textarea>\n <small class=\"s-rating-modal-validation-msg\"></small>\n </div>\n : ''}\n\n {/*Products tab*/}\n {this.order.products_enabled\n ? <section class=\"s-rating-modal-step s-rating-modal-hidden\" data-type=\"products\">\n {this.order.products.map((item, index) =>\n <div class=\"rating-outer-form s-rating-modal-product\"\n data-stars-error={salla.lang.get('pages.rating.rate_product_stars')}>\n <div class=\"s-rating-modal-product-img-wrap\">\n <img src={item.product.thumbnail} alt={item.product.name} class=\"s-rating-modal-product-img\" />\n </div>\n <div class=\"s-rating-modal-product-details\">\n <h3 class=\"s-rating-modal-product-title\"> {item.product.name}</h3>\n <div class=\"s-rating-modal-stars-product\">\n <salla-rating-stars size=\"small\" name={`products[${index}][rating]`}></salla-rating-stars>\n </div>\n <input type=\"hidden\" name={`products[${index}][product_id]`} value={item.product.id} />\n <textarea placeholder={salla.lang.get('pages.rating.write_product_rate')}\n name={`products[${index}][comment]`} class=\"s-rating-modal-comment\"></textarea>\n <small class=\"s-rating-modal-validation-msg\"></small>\n </div>\n </div>\n )}\n </section>\n : ''}\n\n\n {/*Shipping tab*/}\n {this.order.shipping_enabled && this.order.shipping?.company\n ? <div class=\"rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden\"\n data-type=\"shipping\">\n <input type=\"hidden\" name=\"shipping_company_id\" value={this.order.shipping.company.id} />\n {this.order.shipping.company.logo\n ? <div class=\"s-rating-modal-rounded-icon\">\n <img src={this.order.shipping.company.logo} class=\"s-rating-modal-shipping-logo\"\n alt={this.order.shipping.company.name} />\n </div>\n : <span class=\"s-rating-modal-icon\" innerHTML={ShippingFast}></span>}\n <div\n class=\"s-rating-modal-title\"> {salla.lang.get('pages.rating.rate_shipping') + ' ' + this.order.shipping.company.name}</div>\n <div class=\"s-rating-modal-stars-company\">\n <salla-rating-stars size=\"large\"></salla-rating-stars>\n </div>\n <textarea name=\"comment\" class=\"s-rating-modal-comment\"\n placeholder={salla.lang.get('pages.rating.write_shipping_rate')}></textarea>\n <small class=\"s-rating-modal-validation-msg\"></small>\n </div>\n : ''}\n\n {/*Thank you tab*/}\n <div class=\"s-rating-modal-thanks s-rating-modal-hidden\" ref={el => this.thanksTab = el}>\n <span class=\"s-rating-modal-icon\" innerHTML={CheckCircle2}></span>\n <h3 class=\"s-rating-modal-thanks-title\">{salla.lang.get('pages.rating.thanks')}</h3>\n <div class=\"s-rating-modal-thanks-msg\" innerHTML={this.order.thanks_message}></div>\n <time class=\"s-rating-modal-thanks-time\" ref={el => this.thanksTime = el}></time>\n </div>\n\n </div>,\n <div class=\"s-rating-modal-footer\">\n <button ref={el => this.backBtn = el} onClick={() => this.previousTab()}\n class=\"s-rating-modal-btn s-rating-modal-unvisiable\">\n {salla.lang.get('common.elements.back')}\n </button>\n {this.stepsCount > 1 ? <ul class=\"s-rating-modal-dots\">{[0, 1, 2].slice(0, this.stepsCount).map(() =>\n <li class='s-rating-modal-bg-gray s-rating-modal-step-dot'></li>\n )}</ul> : ''}\n <salla-button loader-position='center' ref={el => this.nextBtn = el} onClick={() => this.submit()}>\n {salla.lang.get('common.elements.next')}\n </salla-button>\n </div>,]\n : <salla-placeholder alignment=\"center\"></salla-placeholder>}\n </salla-modal>\n </Host>\n );\n }\n\n componentDidLoad() {\n salla.event.dispatch('rating::ready', this);\n }\n}\n"]}
1
+ {"version":3,"file":"salla-rating-modal.js","sourceRoot":"","sources":["../../../src/components/salla-rating-modal/salla-rating-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Method, Element, Host, State, Prop } from '@stencil/core';\nimport OrderFeedbackResponse from \"./order-feedback-response\";\nimport Star from '../../assets/svg/star.svg';\nimport ShippingFast from \"../../assets/svg/shipping-fast.svg\";\nimport CheckCircle2 from \"../../assets/svg/check-circle2.svg\";\nimport Helper from '../../Helpers/Helper';\n\n@Component({ tag: 'salla-rating-modal', styleUrl: 'salla-rating-modal.scss' })\n\nexport class SallaRatingModal {\n constructor() {\n salla.event.on('rating::open', () => this.open());\n\n salla.lang.onLoaded(() => {\n this.translationLoaded = true;\n });\n\n }\n\n @State() order: OrderFeedbackResponse | undefined;\n @State() hasError: boolean = false;\n @State() errorMessage: string;\n\n private stepsCount: number = 0;\n private nextBtn: HTMLSallaButtonElement;\n private backBtn: HTMLButtonElement;\n private modal: HTMLSallaModalElement;\n private currentIndex: number = 0;\n private currentTab: HTMLDivElement | HTMLElement;\n private thanksTab: HTMLDivElement;\n private body: HTMLDivElement;\n private thanksTime: HTMLTimeElement;\n private steps: NodeListOf<HTMLDivElement>;\n private dots: NodeListOf<HTMLDivElement>;\n private submitted: Array<number> = [];\n\n /**\n * The order id, to rate on its products & shipping\n */\n @Prop() orderId: number = salla.config.get('page.id');\n\n @State() translationLoaded: boolean = false;\n\n @Element() host: HTMLElement;\n\n /**\n * Show the rating modal\n */\n @Method()\n async open() {\n return this.modal.open()\n .then(() => this.order || salla.api.withoutNotifier(() => salla.rating.api.order(this.orderId)).then(res => this.order = res.data))\n .then(() => this.modal.setTitle(salla.lang.get('pages.rating.rate_order') + ' <span class=\"unicode\">(#' + this.order.id + ')</span>'))\n .then(() => this.modal.stopLoading())\n .then(() => this.stepsCount = [this.order.testimonials_enabled, this.order.products_enabled, this.order.shipping_enabled].filter(enabled => enabled).length)\n .then(() => setTimeout(() => this.handleWizard(), 100))\n .catch(e => {\n this.hasError = true;\n this.errorMessage = e.response?.data?.error?.message || e.response?.data;\n this.modal.stopLoading()\n })\n }\n\n /**\n * Show the rating modal\n */\n @Method()\n async close() {\n return this.modal.close();\n }\n\n\n // handle wizard\n private handleWizard() {\n this.steps = this.modal.querySelectorAll(\".s-rating-modal-step\");\n this.dots = this.modal.querySelectorAll(\".s-rating-modal-step-dot\");\n this.showActiveStep();\n }\n\n private showActiveStep(current = null) {\n this.currentTab = current || this.steps[this.currentIndex];\n Helper.toggleClassIf('.s-rating-modal-step-dot', 's-rating-modal-bg-gray', 's-rating-modal-bg-primary', dot => dot != this.dots[this.currentIndex])\n .toggleClassIf('.s-rating-modal-step', 's-rating-modal-active', 's-rating-modal-hidden', tab => tab == this.currentTab)\n\n if (this.currentIndex != 0) {\n // the animation\n Helper.toggleElementClassIf(this.currentTab, 's-rating-modal-unactive', 's-rating-modal-hidden', () => true);\n setTimeout(() => Helper.toggleElementClassIf(this.currentTab, 's-rating-modal-active', 's-rating-modal-unactive', () => true), 300);\n }\n\n // Btn text\n let nextType = this.steps[this.currentIndex + 1]?.dataset.type;\n this.nextBtn?.setText(nextType ? salla.lang.get('pages.rating.rate') + ' ' + salla.lang.get('pages.rating.' + nextType)\n : salla.lang.get('pages.rating.send_ratings'));\n\n setTimeout(() => this.body?.setAttribute('style', 'height:' + this.currentTab?.offsetHeight + 'px'));\n }\n\n private previousTab() {\n this.currentIndex > 0 && this.currentIndex--;\n Helper.toggleElementClassIf(this.backBtn, 's-rating-modal-unvisiable', 'block', () => this.currentIndex == 0);\n this.showActiveStep();\n }\n\n private submit() {\n this.submittedBefore() || this.validate();\n salla.config.canLeave = false;\n this.nextBtn.load()\n .then(() => this.submittedBefore() || this.sendFeedback())\n .then(() => this.currentTab.querySelectorAll('[name],.s-rating-modal-btn-star').forEach(el => el.setAttribute('disabled', '')))\n .then(() => this.currentIndex < this.stepsCount && this.currentIndex++)\n .then(() => this.showActiveStep())\n .then(() => Helper.toggleClassIf('#prev-btn', 'block', 's-rating-modal-unvisiable', () => true))\n .finally(() => {\n this.nextBtn.stop();\n salla.config.canLeave = true;\n this.currentIndex == this.stepsCount && this.showThankYou();\n // this.modal.isClosable = false;\n });\n }\n\n private submittedBefore() {\n return this.submitted.includes(this.currentIndex);\n }\n\n private validate(rating = null, type = null) {\n if (!rating && this.currentTab.dataset.type === 'products') {\n const ratingForms = this.currentTab.querySelectorAll('.rating-outer-form');\n ratingForms.forEach(ratingForm => this.validate(ratingForm, 'product'));\n return;\n }\n\n rating = rating || this.currentTab;\n\n const stars = rating.querySelector('.rating_hidden_input').value;\n const validationMessage = rating.querySelector('.s-rating-modal-validation-msg');\n\n type = type || rating.dataset.type;\n\n if (!stars) {\n validationMessage.innerHTML = salla.lang.get(`pages.rating.rate_${type}_stars`).replace(' (:item)', '');\n throw new Error(validationMessage.innerHTML);\n } else {\n validationMessage.innerHTML = '';\n }\n }\n\n private sendFeedback() {\n let data = {};\n this.currentTab.querySelectorAll('[name]').forEach((input: HTMLInputElement) => {\n //decode names like `<input name=\"jamal[inner]\" value=\"hi\">` to be {name:jamal, value: {inner:\"hi\"}}\n let inputData = salla.helpers.inputData(input.name, input.value, data);\n data[inputData.name] = inputData.value;\n });\n\n if (Object.keys(data).length == 0) {\n return;\n }\n data['order_id'] = this.orderId;\n data['type'] = this.currentTab.dataset.type;\n this.submitted.push(this.currentIndex);\n return salla.rating.api[this.currentTab.dataset.type](data);\n }\n\n private showThankYou() {\n let seconds = 10;\n let timeToClose = setInterval(() => {\n this.thanksTime.innerHTML = '00:0' + (seconds--);\n if (seconds > 0) {\n return\n }\n clearInterval(timeToClose);\n this.thanksTime.remove();\n this.close().then(() => window.location.reload());\n }, 1000);\n\n this.modal.querySelector('.s-rating-modal-footer').classList.add('s-rating-modal-unvisiable');\n this.showActiveStep(this.thanksTab);\n }\n\n render() {\n return (\n <Host class=\"s-rating-modal\">\n <salla-modal class=\"s-rating-modal-wrap\" isLoading={true} width=\"md\" ref={modal => this.modal = modal}>\n <div slot='loading'>\n <div class=\"s-rating-modal-skeleton\">\n <salla-skeleton type='circle' height='80px' width='80px'></salla-skeleton>\n <salla-skeleton height='15px' width='60%'></salla-skeleton>\n <salla-skeleton height='10px' width='30%'></salla-skeleton>\n <div class=\"s-rating-modal-skeleton-stars\">\n {[...Array(5)].map(() => <div innerHTML={Star}></div>)}\n </div>\n <salla-skeleton height='100px' width='100%'></salla-skeleton>\n <div class=\"s-rating-modal-skeleton-footer\">\n <salla-skeleton height='40px' width='30%'></salla-skeleton>\n </div>\n </div>\n </div>\n {!this.hasError && this.order\n ? [<div class=\"s-rating-modal-wrapper\" ref={el => this.body = el}>\n {/*Store Rating tab*/}\n {this.order?.testimonials_enabled ?\n <div class=\"rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden\"\n data-type=\"store\">\n <div class=\"s-rating-modal-rounded-icon\">\n <img src={salla.config.get('store.logo', 'https://assets.salla.sa/cp/assets/images/logo-new.png')}\n alt=\"store name\" class=\"s-rating-modal-store-logo\" />\n </div>\n <h2 class=\"s-rating-modal-title\">{salla.lang.get('pages.rating.rate_the_store')}</h2>\n <div class=\"s-rating-modal-stars-company\">\n <salla-rating-stars size=\"large\"></salla-rating-stars>\n </div>\n <textarea name=\"comment\" class=\"s-rating-modal-comment\"\n placeholder={salla.lang.get('pages.rating.write_store_rate')}></textarea>\n <small class=\"s-rating-modal-validation-msg\"></small>\n </div>\n : ''}\n\n {/*Products tab*/}\n {this.order.products_enabled\n ? <section class=\"s-rating-modal-step s-rating-modal-hidden\" data-type=\"products\">\n {this.order.products.map((item, index) =>\n <div class=\"rating-outer-form s-rating-modal-product\"\n data-stars-error={salla.lang.get('pages.rating.rate_product_stars')}>\n <div class=\"s-rating-modal-product-img-wrap\">\n <img src={item.product.thumbnail} alt={item.product.name} class=\"s-rating-modal-product-img\" />\n </div>\n <div class=\"s-rating-modal-product-details\">\n <h3 class=\"s-rating-modal-product-title\"> {item.product.name}</h3>\n <div class=\"s-rating-modal-stars-product\">\n <salla-rating-stars size=\"small\" name={`products[${index}][rating]`}></salla-rating-stars>\n </div>\n <input type=\"hidden\" name={`products[${index}][product_id]`} value={item.product.id} />\n <textarea placeholder={salla.lang.get('pages.rating.write_product_rate')}\n name={`products[${index}][comment]`} class=\"s-rating-modal-comment\"></textarea>\n <small class=\"s-rating-modal-validation-msg\"></small>\n </div>\n </div>\n )}\n </section>\n : ''}\n\n\n {/*Shipping tab*/}\n {this.order.shipping_enabled && this.order.shipping?.company\n ? <div class=\"rating-outer-form s-rating-modal-step-wrap s-rating-modal-step s-rating-modal-hidden\"\n data-type=\"shipping\">\n <input type=\"hidden\" name=\"shipping_company_id\" value={this.order.shipping.company.id} />\n {this.order.shipping.company.logo\n ? <div class=\"s-rating-modal-rounded-icon\">\n <img src={this.order.shipping.company.logo} class=\"s-rating-modal-shipping-logo\"\n alt={this.order.shipping.company.name} />\n </div>\n : <span class=\"s-rating-modal-icon\" innerHTML={ShippingFast}></span>}\n <div\n class=\"s-rating-modal-title\"> {salla.lang.get('pages.rating.rate_shipping') + ' ' + this.order.shipping.company.name}</div>\n <div class=\"s-rating-modal-stars-company\">\n <salla-rating-stars size=\"large\"></salla-rating-stars>\n </div>\n <textarea name=\"comment\" class=\"s-rating-modal-comment\"\n placeholder={salla.lang.get('pages.rating.write_shipping_rate')}></textarea>\n <small class=\"s-rating-modal-validation-msg\"></small>\n </div>\n : ''}\n\n {/*Thank you tab*/}\n <div class=\"s-rating-modal-thanks s-rating-modal-hidden\" ref={el => this.thanksTab = el}>\n <span class=\"s-rating-modal-icon\" innerHTML={CheckCircle2}></span>\n <h3 class=\"s-rating-modal-thanks-title\">{salla.lang.get('pages.rating.thanks')}</h3>\n <div class=\"s-rating-modal-thanks-msg\" innerHTML={this.order.thanks_message}></div>\n <time class=\"s-rating-modal-thanks-time\" ref={el => this.thanksTime = el}></time>\n </div>\n\n </div>,\n <div class=\"s-rating-modal-footer\">\n <button ref={el => this.backBtn = el} onClick={() => this.previousTab()}\n class=\"s-rating-modal-btn s-rating-modal-unvisiable\">\n {salla.lang.get('common.elements.back')}\n </button>\n {this.stepsCount > 1 ? <ul class=\"s-rating-modal-dots\">{[0, 1, 2].slice(0, this.stepsCount).map(() =>\n <li class='s-rating-modal-bg-gray s-rating-modal-step-dot'></li>\n )}</ul> : ''}\n <salla-button loader-position='center' ref={el => this.nextBtn = el} onClick={() => this.submit()}>\n {salla.lang.get('common.elements.next')}\n </salla-button>\n </div>,]\n : <salla-placeholder alignment=\"center\"></salla-placeholder>}\n </salla-modal>\n </Host>\n );\n }\n\n componentDidLoad() {\n salla.event.dispatch('rating::ready', this);\n }\n}\n"]}