UNPKG

@salla.sa/twilight-components

Version:
5 lines 30.8 kB
var __awaiter=this&&this.__awaiter||function(t,i,e,n){function o(t){return t instanceof e?t:new e((function(i){i(t)}))}return new(e||(e=Promise))((function(e,a){function r(t){try{l(n.next(t))}catch(t){a(t)}}function s(t){try{l(n["throw"](t))}catch(t){a(t)}}function l(t){t.done?e(t.value):o(t.value).then(r,s)}l((n=n.apply(t,i||[])).next())}))};var __generator=this&&this.__generator||function(t,i){var e={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,o,a,r;return r={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(i){return l([t,i])}}function l(s){if(n)throw new TypeError("Generator is already executing.");while(r&&(r=0,s[0]&&(e=0)),e)try{if(n=1,o&&(a=s[0]&2?o["return"]:s[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,s[1])).done)return a;if(o=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:e.label++;return{value:s[1],done:false};case 5:e.label++;o=s[1];s=[0];continue;case 7:s=e.ops.pop();e.trys.pop();continue;default:if(!(a=e.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){e=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){e.label=s[1];break}if(s[0]===6&&e.label<a[1]){e.label=a[1];a=s;break}if(a&&e.label<a[2]){e.label=a[2];e.ops.push(s);break}if(a[2])e.ops.pop();e.trys.pop();continue}s=i.call(t,e)}catch(t){s=[6,t];o=0}finally{n=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}; /*! * Crafted with ❤ by Salla */System.register(["./p-f422bbf9.system.js","./p-61858adc.system.js","./p-70434381.system.js"],(function(t){"use strict";var i,e,n,o,a,r,s;return{setters:[function(t){i=t.r;e=t.c;n=t.h;o=t.H;a=t.g},function(t){r=t.C},function(t){s=t.C}],execute:function(){var l;(function(t){t["COLOR"]="color";t["DATE"]="date";t["DATETIME"]="datetime";t["DONATION"]="donation";t["IMAGE"]="image";t["MULTIPLE_OPTIONS"]="multiple-options";t["NUMBER"]="number";t["SINGLE_OPTION"]="single-option";t["DIGITAL_CARD_VALUE"]="digital-code-value";t["COUNTRY"]="country";t["SPLITTER"]="splitter";t["TEXT"]="text";t["TEXTAREA"]="textarea";t["THUMBNAIL"]="thumbnail";t["TIME"]="time";t["RADIO"]="radio";t["CHECKBOX"]="checkbox";t["MAP"]="map";t["FILE"]="file";t["COLOR_PICKER"]="color_picker";t["BOOKING"]="booking"})(l||(l={}));var d;(function(t){t["Sar"]="SAR"})(d||(d={}));var u='\x3c!-- Generated by IcoMoon.io --\x3e\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n<title>file-upload</title>\n<path d="M21.333 24c0.341 0 0.683-0.131 0.943-0.391 0.521-0.521 0.521-1.364 0-1.885l-5.333-5.333c-0.123-0.123-0.271-0.22-0.433-0.288-0.327-0.135-0.693-0.135-1.019 0-0.163 0.068-0.311 0.165-0.433 0.288l-5.333 5.333c-0.521 0.521-0.521 1.364 0 1.885s1.364 0.521 1.885 0l3.057-3.057v10.115c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-10.115l3.057 3.057c0.26 0.26 0.601 0.391 0.943 0.391zM28.943 9.724l-9.333-9.333c-0.249-0.251-0.589-0.391-0.943-0.391h-12c-2.205 0-4 1.795-4 4v24c0 2.205 1.795 4 4 4h4c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-4c-0.735 0-1.333-0.599-1.333-1.333v-24c0-0.735 0.599-1.333 1.333-1.333h11.448l8.552 8.552v16.781c0 0.735-0.599 1.333-1.333 1.333h-4c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333h4c2.205 0 4-1.795 4-4v-17.333c0-0.353-0.14-0.693-0.391-0.943z"></path>\n</svg>\n';var c="";var p=t("salla_product_options",function(){function t(t){var o=this;i(this,t);this.changed=e(this,"changed",7);this.fileTypes={pdf:"application/pdf",png:"image/png",jpg:"image/jpeg",word:"application/doc,application/ms-doc,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",exl:"application/excel,application/vnd.ms-excel,application/x-excel,application/x-msexcel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",txt:"text/plain"};this.outSkus=[];this.ignoreDefaultCardValue=false;this.handleDonationOptions=function(t,i,e){if(i==="custom"&&e==="input"){salla.helpers.inputDigitsOnly(t.target);salla.event.emit("product-options::donation-changed",{id:o.productId,price:t.target.value});return}t.preventDefault();t.stopPropagation();o.isCustomDonation=t.target.value==="custom";if(o.donationInput){if(t.target.value==="custom"){o.donationInput.value="";o.donationInput.focus()}else{o.donationInput.value=t.target.value}if(i==="custom"){return}salla.event.emit("product-options::donation-changed",{id:o.productId,price:t.target.value})}};this.hideLabel=function(t){if(t.type===l.DONATION&&(t.donation&&!t.donation.can_donate)){return true}return false};this.getExpireDonationMessage=function(t){if(!t.donation){return}var i=t.donation.target_amount<=t.donation.collected_amount;return n("div",{class:{"s-product-options-donation-message":true,"s-product-options-donation-completed":i,"s-product-options-donation-expired":!i}},n("p",null,t.donation.target_message),n("span",{innerHTML:i?salla.money(t.donation.target_amount):""}))};this.optionsData=undefined;this.outOfStockText="";this.donationAmount=salla.lang.get("pages.products.donation_amount");this.selectDonationAmount=salla.lang.getWithDefault("pages.products.select_donation_amount","تحديد مبلغ التبرع");this.selectAmount=salla.lang.getWithDefault("pages.products.select_amount","اختر المبلغ");this.isCustomDonation=false;this.selectedOptions=[];this.canDisabled=undefined;this.selectedSkus=undefined;this.selectedOutSkus=undefined;this.disableCardValue=true;this.availableDigitalCardValues=[];this.productId=salla.config.get("page.id");this.options=undefined;this.hideOutLabel=undefined;this.uniqueKey=undefined;this.config=undefined;this.canDisabled=!salla.config.get("store.settings.product.notify_options_availability");salla.lang.onLoaded((function(){o.outOfStockText=salla.lang.get("pages.products.out_of_stock");o.donationAmount=salla.lang.get("pages.products.donation_amount");o.selectDonationAmount=salla.lang.getWithDefault("pages.products.select_donation_amount","تحديد مبلغ التبرع");o.selectAmount=salla.lang.getWithDefault("pages.products.select_amount","اختر المبلغ")}));if(this.options){try{this.setOptionsData(Array.isArray(this.options)?this.options:JSON.parse(this.options));return}catch(t){salla.log("Bad json passed via options prop")}}if(!Array.isArray(this.optionsData)){salla.log("Options is not an array[] ---\x3e ",this.optionsData);this.setOptionsData([])}if(this.productId&&!salla.url.is_page("cart")){salla.api.product.getDetails(this.productId,["options"]).then((function(t){return o.setOptionsData(t.data.options)}))}}t.prototype.setOptionsData=function(t){return __awaiter(this,void 0,void 0,(function(){var i,e,n;return __generator(this,(function(o){this.optionsData=t;n=this;(e=(i=this.optionsData[0])===null||i===void 0?void 0:i.details)===null||e===void 0?void 0:e.forEach((function(t){Object.entries(t.skus_availability||{}).filter((function(t){return!t[1]})).map((function(t){return n.outSkus.push(Number(t[0]))}))}));return[2]}))}))};t.prototype.getSelectedOptionsData=function(){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(e){t={};i=this.host.getElementSallaData();i.forEach((function(i,e){if(e.startsWith("options[")){t[e.replace("options[","").replace("]","")]=i}}));return[2,t]}))}))};t.prototype.reportValidity=function(){return __awaiter(this,void 0,void 0,(function(){var t,i,e;return __generator(this,(function(n){t=this.host.querySelectorAll("[required]");i=true;for(e=0;e<t.length;e++){if("reportValidity"in t[e]&&!t[e].reportValidity()){i=false}}return[2,i]}))}))};t.prototype.hasOutOfStockOption=function(){return __awaiter(this,void 0,void 0,(function(){var t,i;var e=this;return __generator(this,(function(n){return[2,this.selectedOptions.some((function(t){return t.is_out}))||((t=this.selectedSkus)===null||t===void 0?void 0:t.length)&&((i=this.selectedSkus)===null||i===void 0?void 0:i.every((function(t){return e.outSkus.includes(t)})))]}))}))};t.prototype.getSelectedOptions=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.selectedOptions]}))}))};t.prototype.getOption=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(i){return[2,this.optionsData.find((function(i){return i.id===t}))]}))}))};t.prototype.invalidHandler=function(t,i){var e=t.target.closest(".s-product-options-option");if(!e.classList.contains("s-product-options-option-error")){e.classList.add("s-product-options-option-error")}if(!salla.url.is_page("cart")){var n=this.host.querySelector(".s-product-options-option-error");if(n===e){this.scrollToElement(e)}}};t.prototype.scrollToElement=function(t){if(t){t.scrollIntoView({behavior:"smooth",block:"center"})}};t.prototype.changedHandler=function(t,i,e){var n=this;if(e===void 0){e=true}var o={event:t,option:i,detail:null,productId:this.productId};if(i.details){var a=i.details.find((function(i){return Number(i.id)===Number(t.target.value)}));o.detail=a}if(i.type==="country"){this.handleCountryOptionChange(t,o.detail)}var r=t.target.closest(".s-product-options-option");if(t.target.value||(i.type===l.FILE||i.type===l.IMAGE)&&t.type==="added"||i.type===l.MAP&&t.type==="selected"&&(t.target.lat&&t.target.lng)){setTimeout((function(){r.classList.remove("s-product-options-option-error")}),200)}if(i.type===l.DONATION){salla.event.emit("product-options::donation-changed",{id:this.productId,price:t.target.value})}this.setSelectedSkus();this.handleRequiredMultipleOptions(i);var s=this.selectedOptions.findIndex((function(t){return t.option_id===o.option.id}));if(o.option.type===l.MULTIPLE_OPTIONS){var d=this.selectedOptions.findIndex((function(t){var i;return t.option_id===o.option.id&&(t===null||t===void 0?void 0:t.id)===((i=o.detail)===null||i===void 0?void 0:i.id)}));if(d>-1){this.selectedOptions.splice(d,1)}else{this.selectedOptions.push(Object.assign(Object.assign({},o.detail),{option_id:o.option.id}))}}else{if(!o.detail||Object.keys(o.detail).length===0){if(s>-1){this.selectedOptions.splice(s,1)}}else{if(s>-1){this.selectedOptions[s]=Object.assign(Object.assign({},o.detail),{option_id:o.option.id})}else{this.selectedOptions.push(Object.assign(Object.assign({},o.detail),{option_id:o.option.id}))}}}this.optionsData=this.optionsData.map((function(t){if(t.id===o.option.id){return Object.assign(Object.assign({},t),{details:t.details.map((function(t){var i,e;return Object.assign(Object.assign({},t),{is_selected:o.option.type===l.MULTIPLE_OPTIONS?n.selectedOptions.some((function(i){return i.id===t.id})):Number(t.id)===Number((i=o.detail)===null||i===void 0?void 0:i.id),value:(e=o.detail)===null||e===void 0?void 0:e.value})}))})}return t}));if(e){this.changed.emit(o);salla.event.emit("product-options::change",o)}};t.prototype.setSelectedSkus=function(){this.selectedSkus=this.selectedOptions.map((function(t){return Object.keys(t.skus_availability||{})})).reduce((function(t,i){return t.filter((function(t){return i.includes(t)}))}),[]).map((function(t){return Number(t)}))};t.prototype.handleRequiredMultipleOptions=function(t){if(t.type!==l.MULTIPLE_OPTIONS||!t.required){return}var i=this.host.querySelector('[data-option-id="'.concat(t.id,'"]'));var e=i.querySelectorAll("input:checked").length;i.querySelectorAll("input").forEach((function(t){return t.toggleAttribute("required",!e)}))};t.prototype.getLatLng=function(t,i){return t?t.split(",")[i==="lat"?0:1]:""};t.prototype.getDisplayForType=function(t){var i=this;if(this["".concat(t.type,"Option")]){return this["".concat(t.type,"Option")](t)}if(t.type===l.COLOR_PICKER){return this.colorPickerOption(t)}if(t.type===l.MULTIPLE_OPTIONS){return this.multipleOptions(t)}if(t.type===l.SINGLE_OPTION){return this.singleOption(t)}if(t.type===l.DIGITAL_CARD_VALUE){return this.digitalCardValuesOption(t)}if(t.type===l.COUNTRY){return this.countryOption(t)}if(t.type===l.BOOKING&&salla.url.is_page("cart")){return n("salla-booking-field",{onInvalidInput:function(e){return i.invalidHandler(e,t)},option:t,productId:t.value})}salla.log("Couldn't find options type(".concat(t.type,")😢"));return""};t.prototype.getOptionShownWhen=function(t){return t.visibility_condition?{"data-show-when":"options[".concat(t.visibility_condition.option,"] ").concat(t.visibility_condition.operator," ").concat(t.visibility_condition.value)}:{}};t.prototype.getAvailableDigitalCardSKUs=function(t){var i=this.optionsData.find((function(t){var i=t.type;return i==="digital-code-value"}));if(!i)throw new Error("product-options:: No digital card options found");var e=Object.keys(t.skus_availability).filter((function(i){return t.skus_availability[i]===false}));this.availableDigitalCardValues=i.details.filter((function(t){return!Object.keys(t.skus_availability).filter((function(t){return e.includes(t)})).length}))};t.prototype.handleCountryOptionChange=function(t,i){t.stopImmediatePropagation();this.ignoreDefaultCardValue=true;var e=this.host.querySelector("input[data-code-value]:checked");if(e)e.checked=false;var n=this.optionsData.find((function(t){var i=t.type;return i==="digital-code-value"}));if(!n)throw new Error("product-options:: No digital card options found");this.getAvailableDigitalCardSKUs(i)};t.prototype.getSelectedDigitalCardOptions=function(t){var i=t.details.find((function(t){return t.is_selected}));var e=t.details.find((function(t){return!!t.is_default}))||t.details[0];if(!["digital-code-value","country"].includes(t.type))return;return i||e};t.prototype.componentWillLoad=function(){var t=this;if(salla.url.is_page("cart")){this.disableCardValue=false;this.fillSelectedOptions()}if(this.config){try{var i=JSON.parse(this.config);this.optionConfig=i}catch(t){console.error("Invalid JSON passed to config prop",t)}}var e=this.optionsData.filter((function(t){var i=t.type;return["country","digital-card-value"].includes(i)})).length>0&&salla.url.is_page("cart");if(e){var n=this.optionsData.find((function(t){return t.type==="country"}));var o=n&&this.getSelectedDigitalCardOptions(n);if(o){this.getAvailableDigitalCardSKUs(o)}}this.outOfStockText=salla.lang.get("pages.products.out_of_stock");return salla.onReady((function(){var i=!salla.storage.get("cart.id")&&t.optionsData.some((function(t){return["file","image"].includes(t.type)}));return i?salla.api.cart.getCurrentCartId(false,"salla-product-options"):null}))};t.prototype.hideDigitalCardsOptions=function(t){return this.disableCardValue&&t.type===l.DIGITAL_CARD_VALUE&&!salla.url.is_page("cart")};t.prototype.render=function(){var t=this;var i;if(((i=this.optionsData)===null||i===void 0?void 0:i.length)===0){return}return n(o,{class:"s-product-options-wrapper"},n("salla-conditional-fields",null,this.optionsData.map((function(i){return n("div",Object.assign({key:i.id,class:"s-product-options-option-container".concat(i.visibility_condition||t.hideDigitalCardsOptions(i)?" hidden":""),"data-option-id":i.id},t.getOptionShownWhen(i)),i.name==="splitter"?t.splitterOption():n("div",{class:{"s-product-options-option":true,"s-product-options-option-booking":i.type===l.BOOKING&&salla.url.is_page("cart")},"data-option-type":i.type,"data-option-required":"".concat(i.required)},n("label",{htmlFor:"options[".concat(i.id,"]"),class:"s-product-options-option-label ".concat(t.hideLabel(i)?"s-product-options-option-label-hidden":"")},n("b",null,i.name,i.required&&n("span",null," * ")," "),n("small",null,i.placeholder)),n("div",{class:"s-product-options-option-content ".concat(t.hideLabel(i)||i.type===l.BOOKING&&salla.url.is_page("cart")?"s-product-options-option-content-full-width":"")},t.getDisplayForType(i))))}))))};t.prototype.generateUniqueKey=function(t){return this.uniqueKey?"".concat(t,"-").concat(this.uniqueKey):t};t.prototype.fillSelectedOptions=function(){this.selectedOptions=this.optionsData.reduce((function(t,i){var e=i.details.filter((function(t){return t.is_selected}));var n=e.map((function(t){return Object.assign(Object.assign({},t),{option_id:i.id})}));return t.concat(n)}),[])};t.prototype.componentDidLoad=function(){var t=this;var i,e;if(((i=this.optionsData)===null||i===void 0?void 0:i.length)===0&&!this.optionsData.some((function(t){return t.type===l.DONATION}))){return}var n=(e=this.optionsData.find((function(t){return t.type===l.DONATION})))===null||e===void 0?void 0:e.details.find((function(t){return t.is_selected}));if(!n){return}setTimeout((function(){salla.event.emit("product-options::donation-changed",{id:t.productId,price:n.additional_price})}),1e3)};t.prototype.donationOption=function(t,i){var e=this;var o,a;return n("div",{class:"s-product-options-donation-wrapper"},((o=t.donation)===null||o===void 0?void 0:o.can_donate)?[t.donation?n("div",{key:t.id,class:"s-product-options-donation-progress"},n("salla-progress-bar",{donation:t.donation})):"",t.details.length?[n("h4",{key:t.id},this.selectAmount),n("div",{key:t.id,class:"s-product-options-donation-options"},t.details.map((function(i,o){return n("div",{key:t.id,class:"s-product-options-donation-options-item"},n("input",{id:e.generateUniqueKey("donation-option-".concat(o)),type:"radio",name:"donating_option",checked:i.is_selected,value:i.additional_price,onChange:function(t){return e.handleDonationOptions(t,i,"option")}}),n("label",{htmlFor:e.generateUniqueKey("donation-option-".concat(o))},n("span",{innerHTML:salla.money(i.name)})))})),((a=t.donation)===null||a===void 0?void 0:a.custom_amount_enabled)?n("div",{class:"s-product-options-donation-options-item"},n("input",{id:this.generateUniqueKey("donation-option-custom"),type:"radio",name:"donating_option",value:"custom",onChange:function(t){return e.handleDonationOptions(t,"custom","option")}}),n("label",{htmlFor:this.generateUniqueKey("donation-option-custom")},n("span",null," ",this.selectDonationAmount," "))):"")]:"",n("div",{key:t.id,class:{"s-product-options-donation-input-group":true,shown:!t.details.length||t.details.length&&this.isCustomDonation}},n("input",{type:"text",id:"donating-amount",name:"donation_amount",class:"s-form-control",ref:function(t){e.donationInput=t},value:t.details.length&&t.details.some((function(t){return t.is_selected}))?t.details.find((function(t){return t.is_selected})).additional_price:t.value,placeholder:t.placeholder,onInput:function(t){return e.handleDonationOptions(t,"custom","input")},onBlur:function(i){return e.changedHandler(i,t)},onInvalid:function(i){return e.invalidHandler(i,t)}}),n("span",{class:"s-product-options-donation-amount-currency"},salla.config.currency(salla.config.get("user.currency_code")).symbol))]:this.getExpireDonationMessage(t))};t.prototype.fileUploader=function(t,i){var e=this;if(i===void 0){i=null}var o;return n("salla-file-upload",Object.assign({},i||{},{"payload-name":"file",value:t.value,"instant-upload":true,name:"options[".concat(t.id,"]"),required:!t.visibility_condition&&t.required,height:"120px",onAdded:function(i){return e.changedHandler(i,t)},url:salla.cart.api.getUploadImageEndpoint(),"form-data":{cart_item_id:this.productId,product_id:this.productId},onInvalidInput:function(i){return e.invalidHandler(i,t)},class:{"s-product-options-image-input":true,required:t.required}}),n("div",{class:"s-product-options-filepond-placeholder"},n("span",{class:"s-product-options-filepond-placeholder-icon",innerHTML:((o=i.accept)===null||o===void 0?void 0:o.split(",").every((function(t){return t.includes("image")})))?s:u}),n("p",{class:"s-product-options-filepond-placeholder-text"},salla.lang.get("common.uploader.drag_and_drop")),n("span",{class:"filepond--label-action"},salla.lang.get("common.uploader.browse"))))};t.prototype.imageOption=function(t){return this.fileUploader(t,{accept:"image/png,image/jpeg,image/jpg,image/gif"})};t.prototype.fileOption=function(t){var i=this;var e=t.details.map((function(t){return i.fileTypes[t.name]})).filter(Boolean);return(e===null||e===void 0?void 0:e.length)?this.fileUploader(t,{accept:e.join(",")}):"File types not selected."};t.prototype.numberOption=function(t){var i=this;return n("input",{type:"text",value:t.value,class:"s-form-control",required:!t.visibility_condition&&t.required,name:"options[".concat(t.id,"]"),placeholder:t.placeholder,onBlur:function(e){return i.changedHandler(e,t)},onInvalid:function(e){return i.invalidHandler(e,t)},onInput:function(t){return salla.helpers.inputDigitsOnly(t.target)}})};t.prototype.splitterOption=function(){return n("div",{class:"s-product-options-splitter"})};t.prototype.textOption=function(t){var i=this;return n("div",{class:"s-product-options-text"},n("input",{type:"text",value:t.value,maxLength:t===null||t===void 0?void 0:t.length,class:"s-form-control",required:!t.visibility_condition&&t.required,name:"options[".concat(t.id,"]"),placeholder:t.placeholder,onInvalid:function(e){return i.invalidHandler(e,t)},onChange:function(e){return i.changedHandler(e,t)}}))};t.prototype.textareaOption=function(t){var i=this;return n("div",{class:"s-product-options-textarea"},n("div",{class:"mt-1"},n("textarea",{rows:4,value:t.value,maxLength:t===null||t===void 0?void 0:t.length,class:"s-form-control",required:!t.visibility_condition&&t.required,id:"options[".concat(t.id,"]"),name:"options[".concat(t.id,"]"),placeholder:t.placeholder,onInvalid:function(e){return i.invalidHandler(e,t)},onChange:function(e){return i.changedHandler(e,t)}})))};t.prototype.mapOption=function(t){var i=this;return n("salla-map",{zoom:15,lat:this.getLatLng(t.value,"lat"),lng:this.getLatLng(t.value,"lng"),name:"options[".concat(t.id,"]"),searchable:true,required:t.required,onInvalidInput:function(e){return i.invalidHandler(e,t)},onSelected:function(e){return i.changedHandler(e,t)}})};t.prototype.colorPickerOption=function(t){var i=this;return n("salla-color-picker",{onSubmitted:function(e){return i.changedHandler(e,t)},name:"options[".concat(t.id,"]"),required:!t.visibility_condition&&t.required,onInvalidInput:function(e){return i.invalidHandler(e,t)},color:t.value})};t.prototype.timeOption=function(t){var i=this;return n("salla-datetime-picker",{noCalendar:true,enableTime:true,dateFormat:"h:i K",value:t.value,placeholder:t.name,required:!t.visibility_condition&&t.required,name:"options[".concat(t.id,"]"),class:"s-product-options-time-element",onInvalidInput:function(e){return i.invalidHandler(e,t)},onPicked:function(e){return i.changedHandler(e,t)}})};t.prototype.dateOption=function(t){var i=this;return n("div",{class:"s-product-options-date-element"},n("salla-datetime-picker",{value:t.value,placeholder:t.name,required:!t.visibility_condition&&t.required,minDate:new Date,name:"options[".concat(t.id,"]"),onInvalidInput:function(e){return i.invalidHandler(e,t)},onPicked:function(e){return i.changedHandler(e,t)}}))};t.prototype.datetimeOption=function(t){var i=this;return n("div",{class:"s-product-options-datetime-element"},n("salla-datetime-picker",{enableTime:true,value:t.value,dateFormat:"Y-m-d G:i:K",placeholder:t.name,required:!t.visibility_condition&&t.required,name:"options[".concat(t.id,"]"),maxDate:t.to_date_time,minDate:t.from_date_time,onInvalidInput:function(e){return i.invalidHandler(e,t)},onPicked:function(e){return i.changedHandler(e,t)}}))};t.prototype.getOptionDetailName=function(t,i,e){if(i===void 0){i=true}var n;var o;if(e&&e===l.COLOR){o=t.name+(i&&this.isOptionDetailOut(t)&&!salla.url.is_page("cart")&&!this.hideOutLabel?" <br/> <p> ".concat(this.outOfStockText," </p>"):"")+(t.additional_price?" <p> (".concat(salla.money(t.additional_price,false),") </p>"):"")}if(!o){o=t.name+(i&&this.isOptionDetailOut(t)&&!salla.url.is_page("cart")&&!this.hideOutLabel?" - ".concat(this.outOfStockText):"")+(t.additional_price?" (".concat(salla.money(t.additional_price,false),")"):"")}return o.replace("<i class=sicon-sar></i>",((n=salla.config.currency())===null||n===void 0?void 0:n.symbol)||"ر.س")};t.prototype.isOptionDetailOut=function(t){var i=this;var e;if(t.is_out||!t.skus_availability||!((e=this.selectedSkus)===null||e===void 0?void 0:e.length)){return t.is_out}var n=this.selectedOptions.filter((function(i){return i.id===t.id})).length;if(n&&this.selectedOptions.length===1){return false}if(n){var o=this.selectedSkus.filter((function(t){return i.outSkus.includes(t)}));return Object.keys(t.skus_availability).some((function(t){return o.includes(Number(t))}))}return this.selectedOptions.some((function(i){return i.is_out&&i.option_id!==t.option_id}))};t.prototype.renderInput=function(t,i,e,o,a,r){var s=this;var l=this.generateUniqueKey("".concat(t,"-").concat(e.id,"-").concat(i.id));var d=this.isOptionDetailOut(i);return n("label",{class:{"s-product-options-disabled":d}},n("input",{id:l,type:t,name:a,value:i.id,disabled:d,required:o,checked:i.is_selected,onInvalid:function(t){return s.invalidHandler(t,e)},onChange:function(t){return s.changedHandler(t,e)}}),n("div",{class:{"s-product-options-grid-mode-span":r,"s-product-options-disabled":d}},this.getOptionDetailName(i)))};t.prototype.renderOptionDetails=function(t,i,e,n){var o=this;if(n===void 0){n=false}var a=t==="radio"?"options[".concat(i.id,"]"):"options[".concat(i.id,"][]");return i===null||i===void 0?void 0:i.details.map((function(r){return o.renderInput(t,r,i,e,a,n)}))};t.prototype.renderSelect=function(t){var i=this;return n("div",null,n("select",{name:"options[".concat(t.id,"]"),required:!t.visibility_condition&&t.required,class:"s-form-control",onInvalid:function(e){return i.invalidHandler(e,t)},onChange:function(e){return i.changedHandler(e,t)}},n("option",{value:""},t.placeholder),t===null||t===void 0?void 0:t.details.map((function(t){return n("option",{key:t.id,value:t.id,disabled:i.canDisabled&&i.isOptionDetailOut(t),selected:t.is_selected},i.getOptionDetailName(t))}))))};t.prototype.renderButtonStyle=function(t,i,e){return n("div",{class:"s-product-options-grid-mode"},this.renderOptionDetails(t,i,e,true))};t.prototype.singleOption=function(t){var i,e;var n=((e=(i=this.optionConfig)===null||i===void 0?void 0:i["single-option"])===null||e===void 0?void 0:e.type)==="button";var o=!t.visibility_condition&&t.required;return n?this.renderButtonStyle("radio",t,o):this.renderSelect(t)};t.prototype.multipleOptions=function(t){var i,e;var o=((e=(i=this.optionConfig)===null||i===void 0?void 0:i["multiple-option"])===null||e===void 0?void 0:e.type)==="button";var a=t.required&&!t.details.some((function(t){return t.is_selected}))&&!t.visibility_condition;return o?this.renderButtonStyle("checkbox",t,a):n("div",{class:{"s-product-options-multiple-options-wrapper":true,required:t.required}},this.renderOptionDetails("checkbox",t,a))};t.prototype.colorOption=function(t){var i=this;return n("fieldset",{class:"s-product-options-colors-wrapper"},t===null||t===void 0?void 0:t.details.map((function(e){return n("div",{class:"s-product-options-colors-item",key:e.id},n("input",{type:"radio",value:e.id,required:!t.visibility_condition&&t.required,checked:e.is_selected,name:"options[".concat(t.id,"]"),disabled:i.canDisabled&&i.isOptionDetailOut(e),id:i.generateUniqueKey("color-".concat(i.productId,"-").concat(t.id,"-").concat(e.id)),onInvalid:function(e){return i.invalidHandler(e,t)},onChange:function(e){return i.changedHandler(e,t)}}),n("label",{htmlFor:i.generateUniqueKey("color-".concat(i.productId,"-").concat(t.id,"-").concat(e.id))},n("span",{style:{backgroundColor:e.color}}),n("div",{innerHTML:i.getOptionDetailName(e,true,t.type)})))})))};t.prototype.thumbnailOption=function(t){var i=this;return n("div",{class:"s-product-options-thumbnails-wrapper"},t.details.map((function(e){return n("div",{key:e.id},n("input",{type:"radio",value:e.id,"data-itemid":e.id,required:!t.visibility_condition&&t.required,checked:e.is_selected,name:"options[".concat(t.id,"]"),"data-img-id":e.option_value,disabled:i.canDisabled&&i.isOptionDetailOut(e),id:i.generateUniqueKey("option_".concat(i.productId,"-").concat(t.id,"_").concat(e.id)),onInvalid:function(e){return i.invalidHandler(e,t)},onChange:function(e){return i.changedHandler(e,t)}}),n("label",{htmlFor:i.generateUniqueKey("option_".concat(i.productId,"-").concat(t.id,"_").concat(e.id)),"data-img-id":e.option_value,class:"go-to-slide"},n("img",{"data-src":e.image,src:e.image,title:e.name,alt:e.name}),n("span",{innerHTML:r,class:"s-product-options-thumbnails-icon"}),i.isOptionDetailOut(e)?[n("small",{key:e.id,class:"s-product-options-thumbnails-stock-badge"},i.outOfStockText),i.canDisabled?n("div",{key:e.id,class:"s-product-options-thumbnails-badge-overlay"}):""]:""),n("p",null,i.getOptionDetailName(e,false)," "))})))};t.prototype.digitalCardValuesOption=function(t){var i=this;return n("div",{class:"s-product-options-digital-card-wrapper"},this.availableDigitalCardValues.length>0?this.availableDigitalCardValues.map((function(e){var o,a,r;var s=String(e.id);return n("label",{htmlFor:i.generateUniqueKey(s.toString()),key:s,class:"s-product-options-digital-card-option"},n("input",Object.assign({type:"radio","data-code-value":true,class:"s-form-control s-product-options-digital-card-input",value:e.id,name:"options[".concat(t.id,"]"),id:i.generateUniqueKey(s.toString()),required:!t.visibility_condition&&t.required,onInvalid:function(e){return i.invalidHandler(e,t)}},!i.ignoreDefaultCardValue?{defaultChecked:((o=i.getSelectedDigitalCardOptions(t))===null||o===void 0?void 0:o.id)===e.id}:{})),n("span",null,e.name," ",(r=(a=salla.config)===null||a===void 0?void 0:a.currency())===null||r===void 0?void 0:r.symbol))})):n("div",{class:"s-product-options-digital-card-out-of-stock"}))};t.prototype.countryOption=function(t){var i=this;return n("div",{class:"s-product-options-digital-card-wrapper"},t.details.map((function(e){var o;return n("label",{htmlFor:i.generateUniqueKey(e.id.toString()),key:e.id,class:{"s-product-options-digital-card-option":true,"s-product-options-digital-card-option-stock-out":e.is_out}},n("input",Object.assign({id:i.generateUniqueKey(e.id.toString()),type:"radio",class:"s-form-control s-product-options-digital-card-input",value:e.id,name:"options[".concat(t.id,"]"),disabled:e.is_out,required:!t.visibility_condition&&t.required,onInvalid:function(e){return i.invalidHandler(e,t)},onChange:function(e){return i.changedHandler(e,t)},onClick:function(){i.disableCardValue=false}},salla.url.is_page("cart")?{defaultChecked:((o=i.getSelectedDigitalCardOptions(t))===null||o===void 0?void 0:o.id)===e.id}:{})),n("img",{loading:"lazy",alt:e.code,height:24,width:24,class:"s-product-options-country-flag",src:"https://cdn.assets.salla.network/prod/admin/cp/assets/flags/1x1/".concat(String(e.code).toLocaleLowerCase(),".svg")}),n("span",null,e.name))})))};Object.defineProperty(t.prototype,"host",{get:function(){return a(this)},enumerable:false,configurable:true});return t}());p.style=c}}})); //# sourceMappingURL=p-2d92baaf.system.entry.js.map