@salla.sa/twilight-components 2.11.110 → 2.11.111
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.
- package/README.md +48 -42
- package/dist/cjs/{app-globals-c392da62.js → app-globals-38ac4fe8.js} +2 -2
- package/dist/cjs/{app-globals-c392da62.js.map → app-globals-38ac4fe8.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/salla-add-product-button_40.cjs.entry.js +73 -23
- package/dist/cjs/salla-add-product-button_40.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +5 -27
- package/dist/cjs/salla-filters-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +8 -4
- package/dist/cjs/salla-filters.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-price-range.cjs.entry.js +109 -37
- package/dist/cjs/salla-price-range.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-products-list.cjs.entry.js +85 -59
- package/dist/cjs/salla-products-list.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-products-slider.cjs.entry.js +12 -4
- package/dist/cjs/salla-products-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/twilight.cjs.js +2 -2
- package/dist/collection/components/salla-filters/salla-filters.js +8 -4
- package/dist/collection/components/salla-filters/salla-filters.js.map +1 -1
- package/dist/collection/components/salla-filters-widget/salla-filters-widget.js +5 -27
- package/dist/collection/components/salla-filters-widget/salla-filters-widget.js.map +1 -1
- package/dist/collection/components/salla-login-modal/intefaces.js.map +1 -1
- package/dist/collection/components/salla-login-modal/salla-login-modal.js +1 -1
- package/dist/collection/components/salla-login-modal/salla-login-modal.js.map +1 -1
- package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js +14 -1
- package/dist/collection/components/salla-maintenance-alert/salla-maintenance-alert.js.map +1 -1
- package/dist/collection/components/salla-price-range/salla-price-range.js +152 -148
- package/dist/collection/components/salla-price-range/salla-price-range.js.map +1 -1
- package/dist/collection/components/salla-products-list/salla-products-list.js +85 -59
- package/dist/collection/components/salla-products-list/salla-products-list.js.map +1 -1
- package/dist/collection/components/salla-products-slider/salla-products-slider.js +29 -5
- package/dist/collection/components/salla-products-slider/salla-products-slider.js.map +1 -1
- package/dist/collection/components/salla-verify/salla-verify.css +12 -0
- package/dist/collection/components/salla-verify/salla-verify.js +58 -20
- package/dist/collection/components/salla-verify/salla-verify.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/salla-filters-widget2.js +5 -27
- package/dist/components/salla-filters-widget2.js.map +1 -1
- package/dist/components/salla-filters.js +8 -4
- package/dist/components/salla-filters.js.map +1 -1
- package/dist/components/salla-login-modal.js +1 -1
- package/dist/components/salla-login-modal.js.map +1 -1
- package/dist/components/salla-maintenance-alert.js +14 -1
- package/dist/components/salla-maintenance-alert.js.map +1 -1
- package/dist/components/salla-price-range2.js +113 -43
- package/dist/components/salla-price-range2.js.map +1 -1
- package/dist/components/salla-products-list.js +85 -59
- package/dist/components/salla-products-list.js.map +1 -1
- package/dist/components/salla-products-slider.js +13 -5
- package/dist/components/salla-products-slider.js.map +1 -1
- package/dist/components/salla-verify2.js +59 -21
- package/dist/components/salla-verify2.js.map +1 -1
- package/dist/esm/{app-globals-663240cc.js → app-globals-3a81b4f2.js} +2 -2
- package/dist/esm/{app-globals-663240cc.js.map → app-globals-3a81b4f2.js.map} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/salla-add-product-button_40.entry.js +73 -23
- package/dist/esm/salla-add-product-button_40.entry.js.map +1 -1
- package/dist/esm/salla-filters-widget.entry.js +5 -27
- package/dist/esm/salla-filters-widget.entry.js.map +1 -1
- package/dist/esm/salla-filters.entry.js +8 -4
- package/dist/esm/salla-filters.entry.js.map +1 -1
- package/dist/esm/salla-price-range.entry.js +109 -37
- package/dist/esm/salla-price-range.entry.js.map +1 -1
- package/dist/esm/salla-products-list.entry.js +85 -59
- package/dist/esm/salla-products-list.entry.js.map +1 -1
- package/dist/esm/salla-products-slider.entry.js +12 -4
- package/dist/esm/salla-products-slider.entry.js.map +1 -1
- package/dist/esm/twilight.js +2 -2
- package/dist/esm-es5/{app-globals-663240cc.js → app-globals-3a81b4f2.js} +2 -2
- package/dist/{twilight/p-dcfa0f39.system.js.map → esm-es5/app-globals-3a81b4f2.js.map} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/salla-add-product-button_40.entry.js +4 -4
- package/dist/esm-es5/salla-add-product-button_40.entry.js.map +1 -1
- package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
- package/dist/esm-es5/salla-filters-widget.entry.js.map +1 -1
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-filters.entry.js.map +1 -1
- package/dist/esm-es5/salla-price-range.entry.js +2 -2
- package/dist/esm-es5/salla-price-range.entry.js.map +1 -1
- package/dist/esm-es5/salla-products-list.entry.js +2 -2
- package/dist/esm-es5/salla-products-list.entry.js.map +1 -1
- package/dist/esm-es5/salla-products-slider.entry.js +1 -1
- package/dist/esm-es5/salla-products-slider.entry.js.map +1 -1
- package/dist/esm-es5/twilight.js +1 -1
- package/dist/esm-es5/twilight.js.map +1 -1
- package/dist/twilight/{p-6948b825.js → p-1edec127.js} +2 -2
- package/dist/twilight/{p-6948b825.js.map → p-1edec127.js.map} +1 -1
- package/dist/twilight/{p-7c6638f5.system.entry.js → p-2739ddc5.system.entry.js} +2 -2
- package/dist/twilight/p-2739ddc5.system.entry.js.map +1 -0
- package/dist/twilight/p-3212e42c.entry.js +5 -0
- package/dist/twilight/p-3212e42c.entry.js.map +1 -0
- package/dist/twilight/{p-6404a9a5.system.js → p-37389934.system.js} +2 -2
- package/dist/twilight/{p-6404a9a5.system.js.map → p-37389934.system.js.map} +1 -1
- package/dist/twilight/{p-dcfa0f39.system.js → p-38496eab.system.js} +2 -2
- package/dist/{esm-es5/app-globals-663240cc.js.map → twilight/p-38496eab.system.js.map} +1 -1
- package/dist/twilight/p-3f03d17c.system.entry.js +5 -0
- package/dist/twilight/p-3f03d17c.system.entry.js.map +1 -0
- package/dist/twilight/p-46b7f931.system.entry.js +5 -0
- package/dist/twilight/p-46b7f931.system.entry.js.map +1 -0
- package/dist/twilight/p-54783694.system.entry.js +5 -0
- package/dist/twilight/p-54783694.system.entry.js.map +1 -0
- package/dist/twilight/{p-9713044b.entry.js → p-5b15c1a6.entry.js} +2 -2
- package/dist/twilight/p-5b15c1a6.entry.js.map +1 -0
- package/dist/twilight/p-cd5cb2f7.entry.js +5 -0
- package/dist/twilight/p-cd5cb2f7.entry.js.map +1 -0
- package/dist/twilight/p-d7a62fb3.system.entry.js +5 -0
- package/dist/twilight/p-d7a62fb3.system.entry.js.map +1 -0
- package/dist/twilight/p-def222e1.entry.js +5 -0
- package/dist/twilight/p-def222e1.entry.js.map +1 -0
- package/dist/twilight/p-e393f123.entry.js +5 -0
- package/dist/twilight/p-e393f123.entry.js.map +1 -0
- package/dist/twilight/p-e3dc0687.entry.js +5 -0
- package/dist/twilight/p-e3dc0687.entry.js.map +1 -0
- package/dist/twilight/{p-1e4abb42.system.entry.js → p-fcc169b5.system.entry.js} +2 -2
- package/dist/twilight/p-fcc169b5.system.entry.js.map +1 -0
- package/dist/twilight/twilight.esm.js +1 -1
- package/dist/twilight/twilight.esm.js.map +1 -1
- package/dist/twilight/twilight.js +1 -1
- package/dist/types/components/salla-filters-widget/salla-filters-widget.d.ts +0 -7
- package/dist/types/components/salla-login-modal/intefaces.d.ts +1 -0
- package/dist/types/components/salla-maintenance-alert/salla-maintenance-alert.d.ts +3 -0
- package/dist/types/components/salla-price-range/salla-price-range.d.ts +16 -10
- package/dist/types/components/salla-products-list/salla-products-list.d.ts +2 -2
- package/dist/types/components/salla-products-slider/salla-products-slider.d.ts +5 -1
- package/dist/types/components/salla-verify/salla-verify.d.ts +6 -1
- package/dist/types/components.d.ts +14 -8
- package/package.json +4 -4
- package/dist/twilight/p-1e4abb42.system.entry.js.map +0 -1
- package/dist/twilight/p-3b1a0059.entry.js +0 -5
- package/dist/twilight/p-3b1a0059.entry.js.map +0 -1
- package/dist/twilight/p-41b3e09d.entry.js +0 -5
- package/dist/twilight/p-41b3e09d.entry.js.map +0 -1
- package/dist/twilight/p-4a743b5e.system.entry.js +0 -5
- package/dist/twilight/p-4a743b5e.system.entry.js.map +0 -1
- package/dist/twilight/p-62c1b309.entry.js +0 -5
- package/dist/twilight/p-62c1b309.entry.js.map +0 -1
- package/dist/twilight/p-6349125a.entry.js +0 -5
- package/dist/twilight/p-6349125a.entry.js.map +0 -1
- package/dist/twilight/p-7c6638f5.system.entry.js.map +0 -1
- package/dist/twilight/p-8ee37cc6.entry.js +0 -5
- package/dist/twilight/p-8ee37cc6.entry.js.map +0 -1
- package/dist/twilight/p-9713044b.entry.js.map +0 -1
- package/dist/twilight/p-9e27da8e.system.entry.js +0 -5
- package/dist/twilight/p-9e27da8e.system.entry.js.map +0 -1
- package/dist/twilight/p-b1f8b436.system.entry.js +0 -5
- package/dist/twilight/p-b1f8b436.system.entry.js.map +0 -1
- package/dist/twilight/p-c9cdaea6.system.entry.js +0 -5
- package/dist/twilight/p-c9cdaea6.system.entry.js.map +0 -1
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(t,e,i,r){function n(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,a){function s(t){try{l(r.next(t))}catch(t){a(t)}}function c(t){try{l(r["throw"](t))}catch(t){a(t)}}function l(t){t.done?i(t.value):n(t.value).then(s,c)}l((r=r.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,n,a,s;return s={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function c(t){return function(e){return l([t,e])}}function l(c){if(r)throw new TypeError("Generator is already executing.");while(s&&(s=0,c[0]&&(i=0)),i)try{if(r=1,n&&(a=c[0]&2?n["return"]:c[0]?n["throw"]||((a=n["return"])&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;if(n=0,a)c=[c[0]&2,a.value];switch(c[0]){case 0:case 1:a=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;n=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(a=i.trys,a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){i.label=c[1];break}if(c[0]===6&&i.label<a[1]){i.label=a[1];a=c;break}if(a&&i.label<a[2]){i.label=a[2];i.ops.push(c);break}if(a[2])i.ops.pop();i.trys.pop();continue}c=e.call(t,i)}catch(t){c=[6,t];n=0}finally{r=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};
|
|
2
|
-
/*!
|
|
3
|
-
* Crafted with ❤ by Salla
|
|
4
|
-
*/System.register(["./p-5ee0461b.system.js"],(function(t){"use strict";var e,i,r,n;return{setters:[function(t){e=t.r;i=t.c;r=t.h;n=t.H}],execute:function(){var a=":host{display:block}.rtl .rtl-range-slider,[dir=rtl] .rtl-range-slider{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.rtl .rtl-range-numbers,[dir=rtl] .rtl-range-numbers{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.rtl .form-select,.rtl select,[dir=rtl] .form-select,[dir=rtl] select{background-position:left 0.5rem center;padding-right:12px}.rtl .menu-divide li:not(:last-child):after,[dir=rtl] .menu-divide li:not(:last-child):after{left:0;right:auto}input[type=range]::-webkit-slider-thumb{pointer-events:all;width:24px;height:24px;-webkit-appearance:none}[type=checkbox]:checked{background-size:80%}";var s=t("salla_price_range",function(){function t(t){e(this,t);this.minPriceSelected=i(this,"minPriceSelected",7);this.maxPriceSelected=i(this,"maxPriceSelected",7);this.minPrice=1e3;this.maxPrice=5e3;this.min=0;this.max=1e4;this.minthumb=0;this.maxthumb=0}t.prototype.componentWillLoad=function(){this.minTrigger();this.maxTrigger()};t.prototype.minTrigger=function(t){if(t===void 0){t=null}return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(i){e=t?t.target.value*1:null;this.minInputValidation(e);this.minthumb=(this.minPrice-this.min)/(this.max-this.min)*100;this.changeLeftHandle();this.isReady&&this.minPriceSelected.emit(e);return[2]}))}))};t.prototype.maxTrigger=function(t){if(t===void 0){t=null}return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(i){e=t?t.target.value*1:null;this.maxInputValidation(e);this.maxthumb=100-(this.maxPrice-this.min)/(this.max-this.min)*100;this.changeRightHandle();this.isReady&&this.maxPriceSelected.emit(e);return[2]}))}))};t.prototype.minInputValidation=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(t&&(t>this.max||t>this.maxPrice))return[2];else if(t<this.min){this.minPrice=this.min}else{t&&(this.minPrice=t)}return[2]}))}))};t.prototype.maxInputValidation=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(t&&(t<this.min||t<this.minPrice))return[2];else if(t>this.max){this.maxPrice=this.max}else{t&&(this.maxPrice=t)}return[2]}))}))};t.prototype.changeRightHandle=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.rightHandle&&(this.rightHandle.style.right="".concat(this.maxthumb,"%"));this.activeBar&&(this.activeBar.style.right="".concat(this.maxthumb,"%"));return[2]}))}))};t.prototype.changeLeftHandle=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.leftHandle&&(this.leftHandle.style.left="".concat(this.minthumb,"%"));this.activeBar&&(this.activeBar.style.left="".concat(this.minthumb,"%"));return[2]}))}))};t.prototype.render=function(){var t=this;return r(n,null,r("div",{style:{direction:"ltr"},class:"flex justify-center items-center"},r("div",{class:"relative max-w-xl w-full"},r("div",{class:"rtl-range-slider"},r("input",{type:"range",step:"100",min:this.min,max:this.max,onInput:function(e){return t.minTrigger(e)},value:this.minPrice,class:"s-price-range-input"}),r("input",{type:"range",step:"100",min:this.min,max:this.max,onInput:function(e){return t.maxTrigger(e)},value:this.maxPrice,class:"s-price-range-input"}),r("div",{class:"s-price-range-bar-container"},r("div",{class:"s-price-range-bar"}),r("div",{class:"s-price-range-active-bar",ref:function(e){return t.activeBar=e}}),r("div",{class:"s-price-range-left-handle",ref:function(e){return t.leftHandle=e}}),r("div",{class:"s-price-range-right-handle",ref:function(e){return t.rightHandle=e}}))),r("div",{class:"s-price-range-inputs"},r("div",{class:"s-price-range-relative"},r("div",{class:"s-price-range-currency"}," ",salla.config.currency().symbol),r("input",{type:"number",maxlength:"5",onInput:function(e){return t.minTrigger(e)},value:this.minPrice,class:"s-price-range-number-input"})),r("div",{class:"s-price-range-gray-text"}," - "),r("div",{class:"s-price-range-relative"},r("div",{class:"s-price-range-currency"}," ",salla.config.currency().symbol),r("input",{type:"number",maxlength:"5",onInput:function(e){return t.maxTrigger(e)},value:this.maxPrice,class:"s-price-range-number-input",placeholder:"0.00","aria-describedby":"price-currency"}))))))};t.prototype.componentDidLoad=function(){this.changeLeftHandle();this.changeRightHandle();this.isReady=true};return t}());s.style=a}}}));
|
|
5
|
-
//# sourceMappingURL=p-9e27da8e.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sallaPriceRangeCss","SallaPriceRange","exports","class_1","prototype","componentWillLoad","this","minTrigger","maxTrigger","event","value","target","minInputValidation","minthumb","minPrice","min","max","changeLeftHandle","isReady","minPriceSelected","emit","maxInputValidation","maxthumb","maxPrice","changeRightHandle","maxPriceSelected","rightHandle","style","right","concat","activeBar","leftHandle","left","render","_this","h","Host","direction","class","type","step","onInput","ref","el","salla","config","currency","symbol","maxlength","placeholder","componentDidLoad"],"sources":["src/components/salla-price-range/salla-price-range.scss?tag=salla-price-range","src/components/salla-price-range/salla-price-range.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n\n.rtl, [dir=\"rtl\"] {\n .rtl-range-slider {\n transform: rotateY(180deg);\n }\n\n .rtl-range-numbers{\n flex-direction: row-reverse;\n }\n\n .form-select, select{\n background-position: left 0.5rem center;\n padding-right: 12px;\n } \n\n // divide\n.menu-divide {\n li {\n &:not(:last-child) {\n &:after {\n left: 0;\n right: auto;\n }\n }\n }\n}\n}\n\ninput[type=range]::-webkit-slider-thumb {\n pointer-events: all;\n width: 24px;\n height: 24px;\n -webkit-appearance: none;\n}\n\n[type='checkbox']:checked{\n background-size: 80%;\n}","import {Component, Host, h, Method, State, Prop, Event, EventEmitter} from '@stencil/core';\n\n@Component({\n tag: 'salla-price-range',\n styleUrl: 'salla-price-range.scss',\n})\nexport class SallaPriceRange {\n @Prop({mutable: true}) minPrice = 1000;\n @Prop({mutable: true}) maxPrice = 5000;\n @State() min = 0;\n @State() max = 10000;\n\n @State() minthumb = 0;\n @State() maxthumb = 0;\n\n @Event() minPriceSelected: EventEmitter<number>;\n @Event() maxPriceSelected: EventEmitter<number>;\n\n isReady: Boolean;\n rightHandle: HTMLDivElement;\n leftHandle: HTMLDivElement;\n activeBar: HTMLDivElement;\n\n componentWillLoad() {\n this.minTrigger();\n this.maxTrigger();\n }\n\n @Method()\n async minTrigger(event = null) {\n let value = event ? event.target.value * 1 : null\n this.minInputValidation(value);\n this.minthumb = ((this.minPrice - this.min) / (this.max - this.min)) * 100;\n this.changeLeftHandle()\n \n this.isReady && this.minPriceSelected.emit(value);\n }\n\n @Method()\n async maxTrigger(event = null) {\n let value = event ? event.target.value * 1 : null\n this.maxInputValidation(value)\n this.maxthumb = 100 - (((this.maxPrice - this.min) / (this.max - this.min)) * 100);\n this.changeRightHandle()\n \n this.isReady && this.maxPriceSelected.emit(value);\n }\n\n @Method()\n async minInputValidation(value) {\n if (value && (value > this.max || value > this.maxPrice)) return;\n else if (value < this.min) {\n this.minPrice = this.min;\n } else {\n value && (this.minPrice = value)\n }\n }\n\n @Method()\n async maxInputValidation(value) {\n if (value && (value < this.min || value < this.minPrice)) return;\n else if (value > this.max) {\n this.maxPrice = this.max;\n } else {\n value && (this.maxPrice = value)\n }\n }\n\n @Method()\n async changeRightHandle() {\n this.rightHandle && (this.rightHandle.style.right = `${this.maxthumb}%`);\n this.activeBar && (this.activeBar.style.right = `${this.maxthumb}%`);\n }\n\n @Method()\n async changeLeftHandle() {\n this.leftHandle && (this.leftHandle.style.left = `${this.minthumb}%`);\n this.activeBar && (this.activeBar.style.left = `${this.minthumb}%`);\n }\n\n\n render() {\n return (\n <Host>\n <div style={{direction: 'ltr'}} class=\"flex justify-center items-center\">\n <div class=\"relative max-w-xl w-full\">\n <div class=\"rtl-range-slider\">\n <input\n type=\"range\"\n step=\"100\"\n min={this.min} max={this.max}\n onInput={(event) => this.minTrigger(event)}\n value={this.minPrice}\n class=\"s-price-range-input\"\n />\n\n <input\n type=\"range\"\n step=\"100\"\n min={this.min}\n max={this.max}\n onInput={(event) => this.maxTrigger(event)}\n value={this.maxPrice}\n class=\"s-price-range-input\"\n />\n\n <div class=\"s-price-range-bar-container\">\n <div class=\"s-price-range-bar\"/>\n <div class=\"s-price-range-active-bar\" ref={(el) => this.activeBar = el}/>\n <div class=\"s-price-range-left-handle\" ref={(el) => this.leftHandle = el}/>\n <div class=\"s-price-range-right-handle\" ref={(el) => this.rightHandle = el}/>\n </div>\n\n </div>\n\n\n <div class=\"s-price-range-inputs\">\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input\n type=\"number\"\n maxlength=\"5\"\n onInput={(event) => this.minTrigger(event)}\n value={this.minPrice}\n class=\"s-price-range-number-input\"\n />\n </div>\n\n <div class=\"s-price-range-gray-text\"> - </div>\n <div class=\"s-price-range-relative\">\n <div class=\"s-price-range-currency\"> {salla.config.currency().symbol}</div>\n <input type=\"number\" maxlength=\"5\"\n onInput={(event) => this.maxTrigger(event)}\n value={this.maxPrice}\n class=\"s-price-range-number-input\" placeholder=\"0.00\" aria-describedby=\"price-currency\"/>\n </div>\n\n </div>\n\n </div>\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n // this.max=this.maxPrice;\n this.changeLeftHandle()\n this.changeRightHandle()\n this.isReady = true;\n }\n}\n"],"mappings":";;;6JAAA,IAAMA,EAAqB,0nB,ICMdC,EAAeC,EAAA,+B,4IACQ,I,cACA,I,SACnB,E,SACA,I,cAEK,E,cACA,C,CAUpBC,EAAAC,UAAAC,kBAAA,WACEC,KAAKC,aACLD,KAAKE,Y,EAIDL,EAAAC,UAAAG,WAAN,SAAiBE,GAAA,GAAAA,SAAA,GAAAA,EAAA,IAAY,C,2FACvBC,EAAQD,EAAQA,EAAME,OAAOD,MAAQ,EAAI,KAC7CJ,KAAKM,mBAAmBF,GACxBJ,KAAKO,UAAaP,KAAKQ,SAAWR,KAAKS,MAAQT,KAAKU,IAAMV,KAAKS,KAAQ,IACvET,KAAKW,mBAELX,KAAKY,SAAWZ,KAAKa,iBAAiBC,KAAKV,G,iBAIvCP,EAAAC,UAAAI,WAAN,SAAiBC,GAAA,GAAAA,SAAA,GAAAA,EAAA,IAAY,C,2FACvBC,EAAQD,EAAQA,EAAME,OAAOD,MAAQ,EAAI,KAC7CJ,KAAKe,mBAAmBX,GACxBJ,KAAKgB,SAAW,KAAShB,KAAKiB,SAAWjB,KAAKS,MAAQT,KAAKU,IAAMV,KAAKS,KAAQ,IAC9ET,KAAKkB,oBAELlB,KAAKY,SAAWZ,KAAKmB,iBAAiBL,KAAKV,G,iBAIvCP,EAAAC,UAAAQ,mBAAN,SAAyBF,G,qFACvB,GAAIA,IAAUA,EAAQJ,KAAKU,KAAON,EAAQJ,KAAKiB,UAAW,eACrD,GAAIb,EAAQJ,KAAKS,IAAK,CACzBT,KAAKQ,SAAWR,KAAKS,G,KAChB,CACLL,IAAUJ,KAAKQ,SAAWJ,E,kBAKxBP,EAAAC,UAAAiB,mBAAN,SAAyBX,G,qFACvB,GAAIA,IAAUA,EAAQJ,KAAKS,KAAOL,EAAQJ,KAAKQ,UAAW,eACrD,GAAIJ,EAAQJ,KAAKU,IAAK,CACzBV,KAAKiB,SAAWjB,KAAKU,G,KAChB,CACLN,IAAUJ,KAAKiB,SAAWb,E,kBAKxBP,EAAAC,UAAAoB,kBAAN,W,qFACElB,KAAKoB,cAAgBpB,KAAKoB,YAAYC,MAAMC,MAAQ,GAAAC,OAAGvB,KAAKgB,SAAQ,MACpEhB,KAAKwB,YAAcxB,KAAKwB,UAAUH,MAAMC,MAAQ,GAAAC,OAAGvB,KAAKgB,SAAQ,M,iBAI5DnB,EAAAC,UAAAa,iBAAN,W,qFACEX,KAAKyB,aAAezB,KAAKyB,WAAWJ,MAAMK,KAAO,GAAAH,OAAGvB,KAAKO,SAAQ,MACjEP,KAAKwB,YAAcxB,KAAKwB,UAAUH,MAAMK,KAAO,GAAAH,OAAGvB,KAAKO,SAAQ,M,iBAIjEV,EAAAC,UAAA6B,OAAA,eAAAC,EAAA5B,KACE,OACE6B,EAACC,EAAI,KACHD,EAAA,OAAKR,MAAO,CAACU,UAAW,OAAQC,MAAM,oCACpCH,EAAA,OAAKG,MAAM,4BACTH,EAAA,OAAKG,MAAM,oBACTH,EAAA,SACEI,KAAK,QACLC,KAAK,MACLzB,IAAKT,KAAKS,IAAKC,IAAKV,KAAKU,IACzByB,QAAS,SAAChC,GAAU,OAAAyB,EAAK3B,WAAWE,EAAhB,EACpBC,MAAOJ,KAAKQ,SACZwB,MAAM,wBAGRH,EAAA,SACEI,KAAK,QACLC,KAAK,MACLzB,IAAKT,KAAKS,IACVC,IAAKV,KAAKU,IACVyB,QAAS,SAAChC,GAAU,OAAAyB,EAAK1B,WAAWC,EAAhB,EACpBC,MAAOJ,KAAKiB,SACZe,MAAM,wBAGRH,EAAA,OAAKG,MAAM,+BACTH,EAAA,OAAKG,MAAM,sBACXH,EAAA,OAAKG,MAAM,2BAA2BI,IAAK,SAACC,GAAO,OAAAT,EAAKJ,UAAYa,CAAjB,IACnDR,EAAA,OAAKG,MAAM,4BAA4BI,IAAK,SAACC,GAAO,OAAAT,EAAKH,WAAaY,CAAlB,IACpDR,EAAA,OAAKG,MAAM,6BAA6BI,IAAK,SAACC,GAAO,OAAAT,EAAKR,YAAciB,CAAnB,MAMzDR,EAAA,OAAKG,MAAM,wBACTH,EAAA,OAAKG,MAAM,0BACTH,EAAA,OAAKG,MAAM,0BAAwB,IAAGM,MAAMC,OAAOC,WAAWC,QAC9DZ,EAAA,SACEI,KAAK,SACLS,UAAU,IACVP,QAAS,SAAChC,GAAU,OAAAyB,EAAK3B,WAAWE,EAAhB,EACpBC,MAAOJ,KAAKQ,SACZwB,MAAM,gCAIVH,EAAA,OAAKG,MAAM,2BAAyB,OACpCH,EAAA,OAAKG,MAAM,0BACTH,EAAA,OAAKG,MAAM,0BAAwB,IAAGM,MAAMC,OAAOC,WAAWC,QAC9DZ,EAAA,SAAOI,KAAK,SAASS,UAAU,IACxBP,QAAS,SAAChC,GAAU,OAAAyB,EAAK1B,WAAWC,EAAhB,EACpBC,MAAOJ,KAAKiB,SACZe,MAAM,6BAA6BW,YAAY,OAAM,mBAAkB,uB,EAW5F9C,EAAAC,UAAA8C,iBAAA,WAEE5C,KAAKW,mBACLX,KAAKkB,oBACLlB,KAAKY,QAAU,I,WA/IS,I"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(t,e,i,n){function r(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,o){function s(t){try{l(n.next(t))}catch(t){o(t)}}function a(t){try{l(n["throw"](t))}catch(t){o(t)}}function l(t){t.done?i(t.value):r(t.value).then(s,a)}l((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,r,o,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(e){return l([t,e])}}function l(a){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(i=0)),i)try{if(n=1,r&&(o=a[0]&2?r["return"]:a[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;if(r=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(a[0]===6&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}if(o[2])i.ops.pop();i.trys.pop();continue}a=e.call(t,i)}catch(t){a=[6,t];r=0}finally{n=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};
|
|
2
|
-
/*!
|
|
3
|
-
* Crafted with ❤ by Salla
|
|
4
|
-
*/System.register(["./p-5ee0461b.system.js","./p-77944169.system.js","./p-01a0d85b.system.js"],(function(t){"use strict";var e,i,n,r,o,s,a,l;return{setters:[function(t){e=t.r;i=t.c;n=t.h;r=t.H;o=t.g},function(t){s=t.H},function(t){a=t.a;l=t.F}],execute:function(){var c=":host{display:block}";var u=t("salla_filters_widget",function(){function t(t){e(this,t);this.changed=i(this,"changed",7);this.initHeight=195;this.widgetTitle=undefined;this.withLoadMore=undefined;this.filtersData=undefined;this.option=undefined;this.isOpen=true;this.isShowMore=false}t.prototype.connectedCallback=function(){this.withLoadMore=Array.isArray(this.option.values)&&this.option.values.length>8;this.widgetTitle=this.option.label};t.prototype.componentDidLoad=function(){this.widgetValues.scrollHeight<this.initHeight&&(this.withLoadMore=false);this.withLoadMore&&this.widgetValues&&(this.widgetValues.style.maxHeight="".concat(this.initHeight,"px"));this.widgetContent.style.height="".concat(this.widgetContent.scrollHeight,"px")};t.prototype.reset=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(i){switch(i.label){case 0:if(!(this.option.type===a.RANGE))return[3,3];this.priceRange.minPrice=(t=this.option.values)===null||t===void 0?void 0:t.min;this.priceRange.maxPrice=(e=this.option.values)===null||e===void 0?void 0:e.max;return[4,this.priceRange.maxTrigger()];case 1:i.sent();return[4,this.priceRange.minTrigger()];case 2:i.sent();i.label=3;case 3:Array.from(this.host.querySelectorAll("input")).forEach((function(t){return t.checked=false}));return[2]}}))}))};t.prototype.showMore=function(){return __awaiter(this,void 0,void 0,(function(){var t=this;return __generator(this,(function(e){this.isShowMore=!this.isShowMore;this.widgetContent.style.height="auto";this.widgetValues.style.maxHeight=this.isShowMore?"".concat(this.widgetValues.scrollHeight,"px"):"".concat(this.initHeight,"px");setTimeout((function(){t.widgetContent.style.height="".concat(t.widgetContent.scrollHeight,"px")}),400);return[2]}))}))};t.prototype.toggleWidget=function(){return __awaiter(this,void 0,void 0,(function(){var t=this;return __generator(this,(function(e){this.isOpen=!this.isOpen;s.toggleElementClassIf(this.widgetContent,"s-filters-widget-opened","s-filters-widget-closed",(function(){return t.isOpen}));return[2]}))}))};t.prototype.handlePriceSelection=function(t,e){this.changed.emit({event:t,option:e,value:{max:t.currentTarget.maxPrice,min:t.currentTarget.minPrice}})};t.prototype.renderSliderOption=function(t){var e=this;if(t.type!==a.RANGE){return""}return n("salla-price-range",{onMinPriceSelected:function(i){return e.handlePriceSelection(i,t)},onMaxPriceSelected:function(i){return e.handlePriceSelection(i,t)},ref:function(t){return e.priceRange=t},"min-price":t.values.min,"max-price":t.values.max})};t.prototype.renderFilterOption=function(t){var e=this;if(![a.VALUES,a.MINIMUM,a.VARIANTS].includes(t.type)){return""}return t.values.map((function(i,r){var o=typeof i=="number"?i:i.key||i.value;return n("label",{class:"s-filters-label",htmlFor:"".concat(t.key,"-option-").concat(r)},n("input",{id:"".concat(t.key,"-option-").concat(r),name:t.key,type:t.inputType,checked:e.isSelectedOption(t,o),class:"s-filters-".concat(t.inputType),onChange:function(i){return e.changed.emit({event:i,option:t,value:o})}}),e.getOptionLabel(t,i))}))};t.prototype.isSelectedOption=function(t,e){if(!this.filtersData||!this.filtersData[t.key]){return false}return t.inputType===l.CHECKBOX?this.filtersData[t.key].includes(e):this.filtersData[t.key]==e};t.prototype.getOptionLabel=function(t,e){if(t.key=="rating"){return n("salla-rating-stars",{size:"small",value:e})}var i=e.value||"null";return n("span",{class:"s-filters-option-name"},i)};t.prototype.render=function(){var t=this;return n(r,{class:"s-filters-widget-container"},n("h3",{class:"s-filters-widget-title",onClick:function(){return t.toggleWidget()}},n("span",null,this.widgetTitle),n("span",{class:"s-filters-widget-plusminus ".concat(this.isOpen?"s-filters-widget-plusminus-active":"")})),n("div",{class:"s-filters-widget-content",ref:function(e){return t.widgetContent=e}},n("div",{class:"s-filters-widget-values",ref:function(e){return t.widgetValues=e}},n("slot",null),this.renderFilterOption(this.option),this.renderSliderOption(this.option)),this.withLoadMore&&n("a",{class:"s-filters-widget-more",onClick:function(){return t.showMore()}},!this.isShowMore?"عرض المزيد":"عرض أقل")))};Object.defineProperty(t.prototype,"host",{get:function(){return o(this)},enumerable:false,configurable:true});return t}());u.style=c}}}));
|
|
5
|
-
//# sourceMappingURL=p-b1f8b436.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sallaFiltersWidgetCss","SallaFiltersWidget","exports","this","initHeight","class_1","prototype","connectedCallback","withLoadMore","Array","isArray","option","values","length","widgetTitle","label","componentDidLoad","widgetValues","scrollHeight","style","maxHeight","concat","widgetContent","height","reset","type","FilterOptionTypes","RANGE","priceRange","minPrice","_a","min","maxPrice","_b","max","maxTrigger","_c","sent","minTrigger","from","host","querySelectorAll","forEach","input","checked","showMore","isShowMore","setTimeout","_this","toggleWidget","isOpen","Helper","toggleElementClassIf","handlePriceSelection","event","changed","emit","value","currentTarget","renderSliderOption","h","onMinPriceSelected","onMaxPriceSelected","ref","el","renderFilterOption","VALUES","MINIMUM","VARIANTS","includes","map","filterOption","index","key","class","htmlFor","id","name","inputType","isSelectedOption","onChange","e","getOptionLabel","filtersData","FilterOptionInputType","CHECKBOX","size","render","Host","onClick"],"sources":["src/components/salla-filters-widget/salla-filters-widget.scss?tag=salla-filters-widget","src/components/salla-filters-widget/salla-filters-widget.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import {Component, Host, h, Method, State, Prop, Event, Element} from '@stencil/core';\nimport Helper from '../../Helpers/Helper';\nimport {Filter, FilterOptionInputType, FilterOptionTypes} from \"../salla-filters/interfaces\";\n\n@Component({\n tag: 'salla-filters-widget',\n styleUrl: 'salla-filters-widget.scss',\n})\nexport class SallaFiltersWidget {\n @Element() host: HTMLElement;\n @Prop({mutable: true}) widgetTitle: string;\n @Prop({mutable: true}) withLoadMore: boolean;\n @Prop({reflect: true}) filtersData: object;\n @Prop({reflect: true}) option: Filter;\n priceRange: HTMLSallaPriceRangeElement\n\n\n private widgetValues: HTMLElement;\n private widgetContent: HTMLDivElement;\n private initHeight: number = 195;\n @State() isOpen: boolean = true;\n @State() isShowMore: boolean = false;\n\n @Event() changed: any;\n\n connectedCallback() {\n //lets be smart and don't show 5 and more link for 8 options\n this.withLoadMore = Array.isArray(this.option.values) && this.option.values.length > 8;\n this.widgetTitle = this.option.label;\n }\n\n componentDidLoad() {\n this.widgetValues.scrollHeight < this.initHeight && (this.withLoadMore = false);\n (this.withLoadMore && this.widgetValues) && (this.widgetValues.style.maxHeight = `${this.initHeight}px`);\n this.widgetContent.style.height = `${this.widgetContent.scrollHeight}px`;\n }\n\n @Method()\n async reset() {\n if (this.option.type === FilterOptionTypes.RANGE) {\n this.priceRange.minPrice = (this.option.values as any)?.min;\n this.priceRange.maxPrice = (this.option.values as any)?.max;\n await this.priceRange.maxTrigger();\n await this.priceRange.minTrigger();\n }\n Array.from(this.host.querySelectorAll('input')).forEach(input => input.checked = false);\n }\n\n @Method()\n async showMore() {\n this.isShowMore = !this.isShowMore\n this.widgetContent.style.height = 'auto';\n this.widgetValues.style.maxHeight = this.isShowMore ? `${this.widgetValues.scrollHeight}px` : `${this.initHeight}px`;\n setTimeout(() => {\n this.widgetContent.style.height = `${this.widgetContent.scrollHeight}px`;\n }, 400); // get height after time of collapse animtion (duration-300)\n }\n\n @Method()\n async toggleWidget() {\n this.isOpen = !this.isOpen;\n Helper.toggleElementClassIf(this.widgetContent, 's-filters-widget-opened', 's-filters-widget-closed', () => this.isOpen);\n }\n\n /**\n * @param {currentTarget: HTMLSallaPriceRangeElement} event\n * @param option\n * @private\n */\n private handlePriceSelection(event, option: Filter) {\n this.changed.emit({\n event: event,\n option: option,\n value: {\n max: event.currentTarget.maxPrice,\n min: event.currentTarget.minPrice,\n }\n })\n }\n\n renderSliderOption(option) {\n if (option.type !== FilterOptionTypes.RANGE) {\n return '';\n }\n return <salla-price-range\n onMinPriceSelected={(event) => this.handlePriceSelection(event, option)}\n onMaxPriceSelected={(event) => this.handlePriceSelection(event, option)}\n ref={el => this.priceRange = el}\n min-price={option.values.min}\n max-price={option.values.max}/>;\n }\n\n renderFilterOption(option: Filter) {\n if (![FilterOptionTypes.VALUES, FilterOptionTypes.MINIMUM, FilterOptionTypes.VARIANTS].includes(option.type)) {\n return '';\n }\n //@ts-ignore\n return option.values.map((filterOption, index) => {\n let value = typeof filterOption == 'number' ? filterOption : (filterOption.key || filterOption.value);\n\n return <label class=\"s-filters-label\" htmlFor={`${option.key}-option-${index}`}>\n <input\n id={`${option.key}-option-${index}`}\n name={option.key}\n type={option.inputType}\n //TODO:: debug more why sometimes it's not rendered as selected🤨\n checked={this.isSelectedOption(option, value)}\n class={`s-filters-${option.inputType}`}\n onChange={e => this.changed.emit({event: e, option: option, value: value})}\n />\n {this.getOptionLabel(option, filterOption)}\n </label>\n }\n )\n }\n\n private isSelectedOption(option: Filter, value) {\n if (!this.filtersData || !this.filtersData[option.key]) {\n return false\n }\n\n return option.inputType === FilterOptionInputType.CHECKBOX\n ? this.filtersData[option.key].includes(value)\n : this.filtersData[option.key] == value;\n }\n\n private getOptionLabel(option: Filter, filterOption) {\n if (option.key == 'rating') {\n return <salla-rating-stars size=\"small\" value={filterOption}/>;\n }\n let label = filterOption.value || 'null';\n //label+=filterOption.count ? ` (${salla.helpers.number(filterOption.count)})` : '';\n return <span class=\"s-filters-option-name\">{label}</span>;\n }\n\n render() {\n return (\n <Host class=\"s-filters-widget-container\">\n <h3 class=\"s-filters-widget-title\" onClick={() => this.toggleWidget()}>\n <span>{this.widgetTitle}</span>\n <span class={`s-filters-widget-plusminus ${this.isOpen ? 's-filters-widget-plusminus-active' : ''}`}/>\n </h3>\n <div class=\"s-filters-widget-content\" ref={(el) => this.widgetContent = el}>\n <div class=\"s-filters-widget-values\" ref={(el) => this.widgetValues = el}>\n <slot/>\n {this.renderFilterOption(this.option)}\n {this.renderSliderOption(this.option)}\n </div>\n {this.withLoadMore &&\n <a class=\"s-filters-widget-more\"\n onClick={() => this.showMore()}>{!this.isShowMore ? 'عرض المزيد' : 'عرض أقل'}</a>\n }\n </div>\n </Host>\n );\n }\n\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Crafted with ❤ by Salla
|
|
3
|
-
*/
|
|
4
|
-
System.register(["./p-5ee0461b.system.js"],(function(e){"use strict";var t,s,r,u;return{setters:[function(e){t=e.r;s=e.h;r=e.H;u=e.g}],execute:function(){var i="";var o=e("salla_products_slider",function(){function e(e){var s=this;t(this,e);this.blockTitle=undefined;this.subTitle=undefined;this.sliderId=undefined;this.displayAllUrl=undefined;this.source=undefined;this.sourceValue=undefined;this.productsData=undefined;this.isReady=undefined;this.sourceValueIsValid=undefined;this.hasCustomComponent=undefined;this.urlPrefix="";this.apiUrl="";this.parsedSourceValue=undefined;salla.onReady((function(){s.sourceValueIsValid=!!(s.sourceValue||["latest","offers"].includes(s.getSource()))}));if(!this.sourceValueIsValid){salla.logger.warn("source-value prop is required for source [".concat(this.getSource(),"]"));return}this.hasCustomComponent=!!customElements.get("custom-salla-product-card")}e.prototype.getItemHTML=function(e){if(this.hasCustomComponent){return s("div",{class:"s-products-slider-card"},s("custom-salla-product-card",{product:e,source:this.getSource(),"source-value":this.getSourceValue()}))}return s("div",{class:"s-products-slider-card"},s("salla-product-card",{"show-quantity":this.getSource()=="landing-page","hide-add-btn":this.getSource()=="landing-page","shadow-on-hover":true,product:e}))};e.prototype.getApiUrl=function(){if(this.getSource()==="json"){return}if(["offers","latest"].includes(this.getSource())){return salla.url.api("products?source=".concat(this.getSource()).concat(this.urlPrefix))}if(["related","landing-page"].includes(this.getSource())){return salla.url.api("products?source=".concat(this.getSource(),"&source_value=").concat(this.getSourceValue()).concat(this.urlPrefix))}try{return salla.url.api("products?source=".concat(this.getSource(),"&source_value[]=").concat(this.getSourceValue().join("&source_value[]=")).concat(this.urlPrefix))}catch(e){salla.logger.warn('source-value prop should be array of ids ex source-value="[1,2,3]" for the source ['.concat(this.getSource(),"]"));this.sourceValueIsValid=false}};e.prototype.getSource=function(){return{"brands.single":"brands","product.index":"categories","product.index.latest":"latest","product.index.offers":"offers","product.index.search":"search","landing-page":"landing-page","product.index.tag":"tags"}[this.source||salla.config.get("page.slug")]||this.source||"latest"};e.prototype.getSourceValue=function(){if(!["search","json"].includes(this.getSource())){if(Array.isArray(JSON.parse(this.sourceValue))&&JSON.parse(this.sourceValue).length){return JSON.parse(this.sourceValue)}if(typeof JSON.parse(this.sourceValue)=="number"){return[JSON.parse(this.sourceValue)]}}return this.sourceValue||salla.config.get("page.id")};e.prototype.canRender=function(){return this.sourceValueIsValid&&this.isReady};e.prototype.componentWillLoad=function(){var e=this;if(this.source==="json"){this.productsData=this.getSourceValue();this.isReady=true;return}salla.api.request(this.getApiUrl(),null,"get").then((function(t){e.productsData=t.data;e.isReady=true}))};e.prototype.render=function(){var e=this;var t;if(this.getSource()=="related"&&!salla.config.get("store.settings.product.related_products_enabled")||!this.canRender()){return}return s(r,{class:"s-products-slider-wrapper"},s("salla-slider",{class:"s-products-slider-slider",id:this.sliderId||"s-products-slider-".concat(Math.random().toString(36).substr(2,9)),type:"carousel","block-title":this.blockTitle,"block-subTitle":this.subTitle,"display-all-url":this.displayAllUrl},s("div",{slot:"items"},(t=this.productsData)===null||t===void 0?void 0:t.map((function(t){return e.getItemHTML(t)})))))};Object.defineProperty(e.prototype,"host",{get:function(){return u(this)},enumerable:false,configurable:true});return e}());o.style=i}}}));
|
|
5
|
-
//# sourceMappingURL=p-c9cdaea6.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["sallaProductsSliderCss","SallaProductsSlider","exports","class_1","hostRef","_this","this","salla","onReady","sourceValueIsValid","sourceValue","includes","getSource","logger","warn","concat","hasCustomComponent","customElements","get","prototype","getItemHTML","product","h","class","source","getSourceValue","getApiUrl","url","api","urlPrefix","join","e","config","Array","isArray","JSON","parse","length","canRender","isReady","componentWillLoad","productsData","request","then","res","data","render","Host","id","sliderId","Math","random","toString","substr","type","blockTitle","subTitle","displayAllUrl","slot","_a","map"],"sources":["src/components/salla-products-slider/salla-products-slider.scss?tag=salla-products-slider","src/components/salla-products-slider/salla-products-slider.tsx"],"sourcesContent":[".s-products-slider{\n &-wrapper{\n\n }\n &-slider{\n\n }\n &-card{\n\n }\n}","import {Component, Host, h, Prop, Element, State} from '@stencil/core';\n\n@Component({\n tag: 'salla-products-slider',\n styleUrl: 'salla-products-slider.scss'\n})\nexport class SallaProductsSlider {\n constructor() {\n salla.onReady(() => {\n this.sourceValueIsValid = !!(this.sourceValue || ['latest', 'offers'].includes(this.getSource()));\n });\n if (!this.sourceValueIsValid) {\n salla.logger.warn(`source-value prop is required for source [${this.getSource()}]`);\n return;\n }\n this.hasCustomComponent = !!customElements.get('custom-salla-product-card');\n }\n\n @Element() host: HTMLElement;\n //todo:: support limit, default =10, make sure that maximum is 32,\n\n /**\n * Title of the block - works only if slider is true\n * @type {string}\n * @default ''\n * */\n @Prop() blockTitle: string;\n\n /**\n * Sub title of the block - works only if slider is true\n * @type {string}\n * @default ''\n * */\n @Prop() subTitle: string;\n\n /**\n * Slider Id, if not provided will be generated automatically\n * @type {string}\n * @default ''\n * */\n @Prop() sliderId: string;\n\n /**\n * Display 'ALL' URL\n * @type {string}\n * @default ''\n * */\n @Prop() displayAllUrl: string;\n\n /**\n * Source of the products, if api will get the products from the API, if json will get the products from the products prop\n * @type {string}\n * @default ''\n * */\n @Prop({\n reflect: true,\n mutable: true\n }) source: 'categories' | 'latest' | 'related' | 'brands' | 'json' | 'tags' | 'selected' | 'offers' | 'landing-page';\n\n /**\n * The source value, cloud be different values as following:\n * - array of ids when `source` in ['categories', 'brands', 'tags', 'selected']\n * - products payload when `source` = 'json'\n * - product_id when `source` = 'related'\n *\n * @type {string}\n * */\n @Prop() sourceValue: string;\n @State() productsData: any;\n @State() isReady: boolean;\n @State() sourceValueIsValid: boolean;\n @State() hasCustomComponent: boolean;\n @State() urlPrefix: string = '';\n @State() apiUrl: string = '';\n @State() parsedSourceValue: any;\n\n private getItemHTML(product) {\n if (this.hasCustomComponent) {\n return <div class=\"s-products-slider-card\">\n <custom-salla-product-card product={product} source={this.getSource()} source-value={this.getSourceValue()}/>\n </div>;\n }\n\n return <div class=\"s-products-slider-card\">\n <salla-product-card\n show-quantity={this.getSource() == 'landing-page'}\n hide-add-btn={this.getSource() == 'landing-page'}\n shadow-on-hover={true}\n product={product}/>\n </div>;\n }\n\n getApiUrl() {\n if (this.getSource() === 'json') {\n return;\n }\n if (['offers', 'latest'].includes(this.getSource())) {\n return salla.url.api(`products?source=${this.getSource()}${this.urlPrefix}`);\n }\n if (['related', 'landing-page'].includes(this.getSource())) {\n return salla.url.api(`products?source=${this.getSource()}&source_value=${this.getSourceValue()}${this.urlPrefix}`);\n }\n\n try {\n return salla.url.api(`products?source=${this.getSource()}&source_value[]=${this.getSourceValue().join('&source_value[]=')}${this.urlPrefix}`);\n } catch (e) {\n salla.logger.warn(`source-value prop should be array of ids ex source-value=\"[1,2,3]\" for the source [${this.getSource()}]`);\n this.sourceValueIsValid = false;\n }\n }\n private getSource(){\n return {\n 'brands.single': 'brands',\n 'product.index': 'categories',\n 'product.index.latest': 'latest',\n 'product.index.offers': 'offers',\n 'product.index.search': 'search',\n 'landing-page': 'landing-page',\n 'product.index.tag': 'tags',\n }[this.source || salla.config.get('page.slug')] || this.source ||'latest';\n }\n\n private getSourceValue() {\n if (!['search', 'json'].includes(this.getSource())) {\n if (Array.isArray(JSON.parse(this.sourceValue)) && JSON.parse(this.sourceValue).length) {\n return JSON.parse(this.sourceValue);\n }\n\n if (typeof JSON.parse(this.sourceValue) == 'number') {\n return [JSON.parse(this.sourceValue)];\n }\n }\n return this.sourceValue || salla.config.get('page.id');\n }\n private canRender() {\n return this.sourceValueIsValid && this.isReady;\n }\n\n componentWillLoad() {\n if (this.source === 'json') {\n this.productsData = this.getSourceValue();\n this.isReady = true\n return;\n }\n salla.api.request(this.getApiUrl(), null, 'get').then(res => {\n this.productsData = res.data\n this.isReady = true\n })\n }\n\n render() {\n if ((this.getSource() == 'related' && !salla.config.get('store.settings.product.related_products_enabled')) || !this.canRender()) {\n return;\n }\n return (\n <Host class=\"s-products-slider-wrapper\">\n <salla-slider\n class=\"s-products-slider-slider\"\n id={this.sliderId || `s-products-slider-${Math.random().toString(36).substr(2, 9)}`}\n type=\"carousel\"\n block-title={this.blockTitle}\n block-subTitle={this.subTitle}\n display-all-url={this.displayAllUrl}\n >\n <div slot=\"items\">\n {this.productsData?.map((product) =>\n this.getItemHTML(product)\n )}\n </div>\n </salla-slider>\n </Host>\n );\n }\n\n}\n"],"mappings":"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"}
|