@salla.sa/twilight-components 2.11.76 → 2.11.78

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 (28) hide show
  1. package/dist/cjs/salla-button_37.cjs.entry.js +43 -26
  2. package/dist/cjs/salla-product-options.cjs.entry.js +7 -3
  3. package/dist/collection/components/salla-count-down/salla-count-down.js +1 -1
  4. package/dist/collection/components/salla-file-upload/salla-file-upload.js +2 -1
  5. package/dist/collection/components/salla-map/salla-map.js +7 -2
  6. package/dist/collection/components/salla-product-options/salla-product-options.js +7 -3
  7. package/dist/collection/components/salla-quick-order/salla-quick-order.js +33 -22
  8. package/dist/components/salla-count-down.js +1 -1
  9. package/dist/components/salla-file-upload2.js +2 -1
  10. package/dist/components/salla-map2.js +7 -2
  11. package/dist/components/salla-product-options.js +7 -3
  12. package/dist/components/salla-quick-order.js +33 -22
  13. package/dist/esm/salla-button_37.entry.js +43 -26
  14. package/dist/esm/salla-product-options.entry.js +7 -3
  15. package/dist/esm-es5/salla-button_37.entry.js +2 -2
  16. package/dist/esm-es5/salla-product-options.entry.js +1 -1
  17. package/dist/twilight/p-43149637.system.js +1 -1
  18. package/dist/twilight/p-4dd8ab94.system.entry.js +4 -0
  19. package/dist/twilight/p-7ac5f373.entry.js +36 -0
  20. package/dist/twilight/p-d6b621c9.entry.js +4 -0
  21. package/dist/twilight/p-ebe2e8d7.system.entry.js +53 -0
  22. package/dist/twilight/twilight.esm.js +1 -1
  23. package/dist/types/components/salla-quick-order/salla-quick-order.d.ts +2 -1
  24. package/package.json +5 -5
  25. package/dist/twilight/p-12b12fd9.entry.js +0 -36
  26. package/dist/twilight/p-6c9b05ef.entry.js +0 -4
  27. package/dist/twilight/p-8da31ccb.system.entry.js +0 -4
  28. package/dist/twilight/p-e3b59bf5.system.entry.js +0 -53
@@ -1,4 +0,0 @@
1
- /*!
2
- * Crafted with ❤ by Salla
3
- */
4
- import{r as t,c as i,h as o,H as e,g as s}from"./p-7dc66c07.js";import{C as n}from"./p-ccd78636.js";var a,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.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"}(a||(a={})),function(t){t.Sar="SAR"}(l||(l={}));const r=class{constructor(o){if(t(this,o),this.changed=i(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.outOfStockText="",this.donationAmount=salla.lang.get("pages.products.donation_amount"),this.selectedOptions=[],this.outSkus=[],this.productId=salla.config.get("page.id"),this.canDisabled=!salla.config.get("store.settings.products.notify_options_availability"),salla.lang.onLoaded((()=>{this.outOfStockText=salla.lang.get("pages.products.out_of_stock"),this.donationAmount=salla.lang.get("pages.products.donation_amount")})),this.options)try{return void this.setOptionsData(JSON.parse(this.options))}catch(t){salla.log("Bad json passed via options prop")}Array.isArray(this.optionsData)||(salla.log("Options is not an array[] ---\x3e ",this.optionsData),this.setOptionsData([])),this.productId&&!salla.url.is_page("cart")&&salla.api.product.getDetails(this.productId,["options"]).then((t=>this.setOptionsData(t.data.options)))}setOptionsData(t){var i,o;this.optionsData=t;let e=this;null===(o=null===(i=this.optionsData[0])||void 0===i?void 0:i.details)||void 0===o||o.forEach((function(t){Object.entries(t.skus_availability||{}).filter((t=>!t[1])).map((t=>e.outSkus.push(Number(t[0]))))}))}async getSelectedOptionsData(){let t={};return this.host.getElementSallaData().forEach((function(i,o){o.startsWith("options[")&&(t[o.replace("options[","").replace("]","")]=i)})),t}async reportValidity(){let t=this.host.querySelectorAll("[required]"),i=!0;for(let o=0;o<t.length;o++)"reportValidity"in t[o]&&!t[o].reportValidity()&&(i=!1);return i}async hasOutOfStockOption(){return this.selectedOptions.some((t=>t.is_out))||this.selectedSkus.length&&this.selectedSkus.every((t=>this.outSkus.includes(t)))}async getSelectedOptions(){return this.selectedOptions}async getOption(t){return this.optionsData.find((i=>i.id===t))}invalidHandler(t,i){const o=t.target.closest(".s-product-options-option");o.scrollIntoView({behavior:"smooth",block:"center"}),o.classList.add("s-product-options-option-error")}changedHandler(t,i){let o={event:t,option:i,detail:null};if(i.details){let e=i.details.find((i=>Number(i.id)===Number(t.target.value)));o.detail=e}let e=t.target.closest(".s-product-options-option");(t.target.value||"added"==t.type)&&e.classList.remove("s-product-options-option-error");const s=this.selectedOptions.findIndex((t=>t.option_id===o.option.id));s>-1?this.selectedOptions[s]=Object.assign(Object.assign({},o.detail),{option_id:o.option.id}):this.selectedOptions.push(Object.assign(Object.assign({},o.detail),{option_id:o.option.id})),this.setSelectedSkus(),this.handleRequiredMultipleOptions(i),this.changed.emit(o),salla.event.emit("product-options::change",o)}setSelectedSkus(){this.selectedSkus=this.selectedOptions.map((t=>Object.keys(t.skus_availability||{}))).reduce(((t,i)=>t.filter((t=>i.includes(t))))).map((t=>Number(t)))}handleRequiredMultipleOptions(t){if(t.type!==a.MULTIPLE_OPTIONS||!t.required)return;const i=this.host.querySelector(`[data-option-id="${t.id}"]`),o=i.querySelectorAll("input:checked").length;i.querySelectorAll("input").forEach((t=>t.toggleAttribute("required",!o)))}getLatLng(t,i){return t?t.split(",")["lat"==i?0:1]:""}getDisplayForType(t){return this[`${t.type}Option`]?this[`${t.type}Option`](t):t.type===a.COLOR_PICKER?this.colorPickerOption(t):t.type===a.MULTIPLE_OPTIONS?this.multipleOptions(t):t.type===a.SINGLE_OPTION?this.singleOption(t):(salla.log(`Couldn't find options type(${t.type})😢`),"")}getOptionShownWhen(t){return t.visibility_condition?{"data-show-when":`options[${t.visibility_condition.option}] ${t.visibility_condition.operator} ${t.visibility_condition.value}`}:{}}componentWillLoad(){return salla.api.cart.getCurrentCartId()}render(){var t;if(0!=(null===(t=this.optionsData)||void 0===t?void 0:t.length))return o(e,{class:"s-product-options-wrapper"},o("salla-conditional-fields",null,this.optionsData.map((t=>o("div",Object.assign({class:"s-product-options-option-container"+(t.visibility_condition?" hidden":""),"data-option-id":t.id},this.getOptionShownWhen(t)),"splitter"==t.name?this.splitterOption():o("div",{class:"s-product-options-option","data-option-type":t.type,"data-option-required":`${t.required}`},o("label",{htmlFor:"options["+t.id+"]",class:"s-product-options-option-label"},o("b",null,t.name,t.required&&o("span",null," * ")," "),o("small",null,t.placeholder)),o("div",{class:"s-product-options-option-content"},this.getDisplayForType(t))))))))}donationOption(t,i){return o("div",{class:"s-product-options-donation-wrapper"},t.donation?o("div",{class:"s-product-options-donation-progress"},o("salla-progress-bar",{donation:t.donation})):"",o("div",{class:"s-product-options-donation-input-group"},o("input",{type:"text",id:"donating-amount",name:"donating_amount",class:"s-form-control",value:t.value,required:!0,placeholder:t.placeholder,onInput:t=>salla.helpers.inputDigitsOnly(t.target),onBlur:i=>this.changedHandler(i,t),onInvalid:i=>this.invalidHandler(i,t)}),o("span",{class:"s-product-options-donation-amount-currency"},salla.config.currency(salla.config.get("user.currency_code")).symbol)))}fileUploader(t,i=null){return o("salla-file-upload",Object.assign({},i||{},{"payload-name":"file",value:t.value,"instant-upload":!0,name:`options[${t.id}]`,required:t.required,height:"120px",onAdded:i=>this.changedHandler(i,t),url:salla.cart.api.getUploadImageEndpoint(),"form-data":{cart_item_id:this.productId,product_id:this.productId},onInvalidInput:i=>this.invalidHandler(i,t),class:{"s-product-options-image-input":!0,required:t.required}}),o("div",{class:"s-product-options-filepond-placeholder"},o("span",{class:"s-product-options-filepond-placeholder-icon",innerHTML:i.accept&&i.accept.split(",").every((t=>t.includes("image")))?n:'\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'}),o("p",{class:"s-product-options-filepond-placeholder-text"},salla.lang.get("common.uploader.drag_and_drop")),o("span",{class:"filepond--label-action"},salla.lang.get("common.uploader.browse"))))}imageOption(t){return this.fileUploader(t,{accept:"image/png,image/jpeg,image/jpg,image/gif"})}fileOption(t){let i=t.details.map((t=>this.fileTypes[t.name])).filter(Boolean);return(null==i?void 0:i.length)?this.fileUploader(t,{accept:i.join(",")}):"File types not selected."}numberOption(t){return o("input",{type:"text",value:t.value,class:"s-form-control",required:t.required,name:`options[${t.id}]`,placeholder:t.placeholder,onBlur:i=>this.changedHandler(i,t),onInvalid:i=>this.invalidHandler(i,t),onInput:t=>salla.helpers.inputDigitsOnly(t.target)})}splitterOption(){return o("div",{class:"s-product-options-splitter"})}textOption(t){return o("div",{class:"s-product-options-text"},o("input",{type:"text",value:t.value,class:"s-form-control",required:t.required,name:`options[${t.id}]`,placeholder:t.placeholder,onInvalid:i=>this.invalidHandler(i,t),onInput:i=>this.changedHandler(i,t)}))}textareaOption(t){return o("div",{class:"s-product-options-textarea"},o("div",{class:"mt-1"},o("textarea",{rows:4,value:t.value,class:"s-form-control",required:t.required,id:`options[${t.id}]`,name:`options[${t.id}]`,placeholder:t.placeholder,onInvalid:i=>this.invalidHandler(i,t),onInput:i=>this.changedHandler(i,t)})))}mapOption(t){return o("salla-map",{zoom:15,lat:this.getLatLng(t.value,"lat"),lng:this.getLatLng(t.value,"lng"),name:`options[${t.id}]`,searchable:!0,required:t.required,onInvalidInput:i=>this.invalidHandler(i,t),onSelected:i=>this.changedHandler(i,t)})}colorPickerOption(t){return o("salla-color-picker",{onSubmitted:i=>this.changedHandler(i,t),name:`options[${t.id}]`,required:t.required,onInvalidInput:i=>this.invalidHandler(i,t),color:t.value||"#5dd5c4"})}timeOption(t){return o("salla-datetime-picker",{noCalendar:!0,enableTime:!0,dateFormat:"h:i K",value:t.value,placeholder:t.name,required:t.required,name:`options[${t.id}]`,class:"s-product-options-time-element",onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)})}dateOption(t){return o("div",{class:"s-product-options-date-element"},o("salla-datetime-picker",{value:t.value,placeholder:t.name,required:t.required,minDate:new Date,name:`options[${t.id}]`,onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)}))}datetimeOption(t){return o("div",{class:"s-product-options-datetime-element"},o("salla-datetime-picker",{enableTime:!0,value:t.value,dateFormat:"Y-m-d G:i:K",placeholder:t.name,required:t.required,name:`options[${t.id}]`,maxDate:t.to_date_time,minDate:t.from_date_time,onInvalidInput:i=>this.invalidHandler(i,t),onPicked:i=>this.changedHandler(i,t)}))}getOptionDetailName(t,i=!0,o){return o&&o==a.COLOR?t.name+(i&&this.isOptionDetailOut(t)?` <br/> <p> ${salla.lang.get("pages.products.out_of_stock")} </p>`:"")+(t.additional_price?` <p> (${salla.money(t.additional_price)}) </p>`:""):t.name+(i&&this.isOptionDetailOut(t)?` - ${this.outOfStockText}`:"")+(t.additional_price?` (${salla.money(t.additional_price)})`:"")}isOptionDetailOut(t){var i;if(t.is_out||!t.skus_availability||!(null===(i=this.selectedSkus)||void 0===i?void 0:i.length))return t.is_out;let o=this.selectedOptions.filter((i=>i.id==t.id)).length;if(o&&1==this.selectedOptions.length)return!1;if(o){let i=this.selectedSkus.filter((t=>this.outSkus.includes(t)));return Object.keys(t.skus_availability).some((t=>i.includes(Number(t))))}return this.selectedOptions.some((i=>i.is_out&&i.option_id!==t.option_id))}singleOption(t){return o("div",null,o("select",{name:`options[${t.id}]`,required:t.required,class:"s-form-control",onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)},o("option",{value:""},t.placeholder),null==t?void 0:t.details.map((t=>o("option",{value:t.id,disabled:this.canDisabled&&this.isOptionDetailOut(t),selected:t.is_selected},this.getOptionDetailName(t))))))}multipleOptions(t){return o("div",{class:{"s-product-options-multiple-options-wrapper":!0,required:t.required}},null==t?void 0:t.details.map((i=>o("div",null,o("input",{type:"checkbox",value:i.id,disabled:this.isOptionDetailOut(i),checked:i.is_selected,required:t.required,name:`options[${t.id}][]`,id:`field-${t.id}-${i.id}`,onChange:i=>this.changedHandler(i,t),onInvalid:i=>this.invalidHandler(i,t),"aria-describedby":`options[${t.id}]-description`}),o("label",{htmlFor:`field-${t.id}-${i.id}`},this.getOptionDetailName(i))))))}colorOption(t){return o("fieldset",{class:"s-product-options-colors-wrapper"},null==t?void 0:t.details.map((i=>o("div",{class:"s-product-options-colors-item"},o("input",{type:"radio",value:i.id,required:t.required,checked:i.is_selected,name:`options[${t.id}]`,disabled:this.canDisabled&&this.isOptionDetailOut(i),id:`color-${this.productId}-${t.id}-${i.id}`,onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)}),o("label",{htmlFor:`color-${this.productId}-${t.id}-${i.id}`},o("span",{style:{"background-color":i.color}}),o("div",{innerHTML:this.getOptionDetailName(i,!0,t.type)}))))))}thumbnailOption(t){return o("div",{class:"s-product-options-thumbnails-wrapper"},t.details.map((i=>o("div",null,o("input",{type:"radio",value:i.id,"data-itemid":i.id,required:t.required,checked:i.is_selected,name:`options[${t.id}]`,"data-img-id":i.option_value,disabled:this.canDisabled&&this.isOptionDetailOut(i),id:`option_${this.productId}-${t.id}_${i.id}`,onInvalid:i=>this.invalidHandler(i,t),onChange:i=>this.changedHandler(i,t)}),o("label",{htmlFor:`option_${this.productId}-${t.id}_${i.id}`,"data-img-id":i.option_value,class:"go-to-slide"},o("img",{"data-src":i.image,src:i.image,title:i.name,alt:i.name}),o("span",{innerHTML:'\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>check</title>\n<path d="M27.521 6.976c-0.569-0.472-1.407-0.393-1.879 0.171l-12.567 15.080-7.003-4.668c-0.615-0.411-1.441-0.244-1.849 0.369-0.409 0.612-0.244 1.441 0.369 1.849l8 5.333c0.227 0.149 0.484 0.223 0.739 0.223 0.384 0 0.763-0.165 1.027-0.48l13.333-16c0.471-0.565 0.393-1.407-0.171-1.877z"></path>\n</svg>\n',class:"s-product-options-thumbnails-icon"}),this.isOptionDetailOut(i)?[o("small",{class:"s-product-options-thumbnails-stock-badge"},this.outOfStockText),this.canDisabled?o("div",{class:"s-product-options-thumbnails-badge-overlay"}):""]:""),o("p",null,this.getOptionDetailName(i,!1)," ")))))}get host(){return s(this)}};r.style="";export{r as salla_product_options}
@@ -1,4 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(t,e,n,i){function o(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,a){function r(t){try{s(i.next(t))}catch(t){a(t)}}function l(t){try{s(i["throw"](t))}catch(t){a(t)}}function s(t){t.done?n(t.value):o(t.value).then(r,l)}s((i=i.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,o,a,r;return r={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function l(t){return function(e){return s([t,e])}}function s(r){if(i)throw new TypeError("Generator is already executing.");while(n)try{if(i=1,o&&(a=r[0]&2?o["return"]:r[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,r[1])).done)return a;if(o=0,a)r=[r[0]&2,a.value];switch(r[0]){case 0:case 1:a=r;break;case 4:n.label++;return{value:r[1],done:false};case 5:n.label++;o=r[1];r=[0];continue;case 7:r=n.ops.pop();n.trys.pop();continue;default:if(!(a=n.trys,a=a.length>0&&a[a.length-1])&&(r[0]===6||r[0]===2)){n=0;continue}if(r[0]===3&&(!a||r[1]>a[0]&&r[1]<a[3])){n.label=r[1];break}if(r[0]===6&&n.label<a[1]){n.label=a[1];a=r;break}if(a&&n.label<a[2]){n.label=a[2];n.ops.push(r);break}if(a[2])n.ops.pop();n.trys.pop();continue}r=e.call(t,n)}catch(t){r=[6,t];o=0}finally{i=a=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};
2
- /*!
3
- * Crafted with ❤ by Salla
4
- */System.register(["./p-d9130020.system.js","./p-c328c14e.system.js"],(function(t){"use strict";var e,n,i,o,a,r;return{setters:[function(t){e=t.r;n=t.c;i=t.h;o=t.H;a=t.g},function(t){r=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["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"})(l||(l={}));var s;(function(t){t["Sar"]="SAR"})(s||(s={}));var c='\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>check</title>\n<path d="M27.521 6.976c-0.569-0.472-1.407-0.393-1.879 0.171l-12.567 15.080-7.003-4.668c-0.615-0.411-1.441-0.244-1.849 0.369-0.409 0.612-0.244 1.441 0.369 1.849l8 5.333c0.227 0.149 0.484 0.223 0.739 0.223 0.384 0 0.763-0.165 1.027-0.48l13.333-16c0.471-0.565 0.393-1.407-0.171-1.877z"></path>\n</svg>\n';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 d="";var p=t("salla_product_options",function(){function t(t){var i=this;e(this,t);this.changed=n(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.outOfStockText="";this.donationAmount=salla.lang.get("pages.products.donation_amount");this.selectedOptions=[];this.outSkus=[];this.productId=salla.config.get("page.id");this.canDisabled=!salla.config.get("store.settings.products.notify_options_availability");salla.lang.onLoaded((function(){i.outOfStockText=salla.lang.get("pages.products.out_of_stock");i.donationAmount=salla.lang.get("pages.products.donation_amount")}));if(this.options){try{this.setOptionsData(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 i.setOptionsData(t.data.options)}))}}t.prototype.setOptionsData=function(t){var e,n;this.optionsData=t;var i=this;(n=(e=this.optionsData[0])===null||e===void 0?void 0:e.details)===null||n===void 0?void 0:n.forEach((function(t){Object.entries(t.skus_availability||{}).filter((function(t){return!t[1]})).map((function(t){return i.outSkus.push(Number(t[0]))}))}))};t.prototype.getSelectedOptionsData=function(){return __awaiter(this,void 0,void 0,(function(){var t,e;return __generator(this,(function(n){t={};e=this.host.getElementSallaData();e.forEach((function(e,n){n.startsWith("options[")&&(t[n.replace("options[","").replace("]","")]=e)}));return[2,t]}))}))};t.prototype.reportValidity=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,n;return __generator(this,(function(i){t=this.host.querySelectorAll("[required]");e=true;for(n=0;n<t.length;n++){if("reportValidity"in t[n]&&!t[n].reportValidity()){e=false}}return[2,e]}))}))};t.prototype.hasOutOfStockOption=function(){return __awaiter(this,void 0,void 0,(function(){var t=this;return __generator(this,(function(e){return[2,this.selectedOptions.some((function(t){return t.is_out}))||this.selectedSkus.length&&this.selectedSkus.every((function(e){return t.outSkus.includes(e)}))]}))}))};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(e){return[2,this.optionsData.find((function(e){return e.id===t}))]}))}))};t.prototype.invalidHandler=function(t,e){var n=t.target.closest(".s-product-options-option");n.scrollIntoView({behavior:"smooth",block:"center"});n.classList.add("s-product-options-option-error")};t.prototype.changedHandler=function(t,e){var n={event:t,option:e,detail:null};if(e.details){var i=e.details.find((function(e){return Number(e.id)===Number(t.target.value)}));n.detail=i}var o=t.target.closest(".s-product-options-option");if(t.target.value||t.type=="added"){o.classList.remove("s-product-options-option-error")}var a=this.selectedOptions.findIndex((function(t){return t.option_id===n.option.id}));a>-1?this.selectedOptions[a]=Object.assign(Object.assign({},n.detail),{option_id:n.option.id}):this.selectedOptions.push(Object.assign(Object.assign({},n.detail),{option_id:n.option.id}));this.setSelectedSkus();this.handleRequiredMultipleOptions(e);this.changed.emit(n);salla.event.emit("product-options::change",n)};t.prototype.setSelectedSkus=function(){this.selectedSkus=this.selectedOptions.map((function(t){return Object.keys(t.skus_availability||{})})).reduce((function(t,e){return t.filter((function(t){return e.includes(t)}))})).map((function(t){return Number(t)}))};t.prototype.handleRequiredMultipleOptions=function(t){if(t.type!==l.MULTIPLE_OPTIONS||!t.required){return}var e=this.host.querySelector('[data-option-id="'.concat(t.id,'"]'));var n=e.querySelectorAll("input:checked").length;e.querySelectorAll("input").forEach((function(t){return t.toggleAttribute("required",!n)}))};t.prototype.getLatLng=function(t,e){return t?t.split(",")[e=="lat"?0:1]:""};t.prototype.getDisplayForType=function(t){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)}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.componentWillLoad=function(){return salla.api.cart.getCurrentCartId()};t.prototype.render=function(){var t=this;var e;if(((e=this.optionsData)===null||e===void 0?void 0:e.length)==0){return}return i(o,{class:"s-product-options-wrapper"},i("salla-conditional-fields",null,this.optionsData.map((function(e){return i("div",Object.assign({class:"s-product-options-option-container".concat(e.visibility_condition?" hidden":""),"data-option-id":e.id},t.getOptionShownWhen(e)),e.name=="splitter"?t.splitterOption():i("div",{class:"s-product-options-option","data-option-type":e.type,"data-option-required":"".concat(e.required)},i("label",{htmlFor:"options["+e.id+"]",class:"s-product-options-option-label"},i("b",null,e.name,e.required&&i("span",null," * ")," "),i("small",null,e.placeholder)),i("div",{class:"s-product-options-option-content"},t.getDisplayForType(e))))}))))};t.prototype.donationOption=function(t,e){var n=this;return i("div",{class:"s-product-options-donation-wrapper"},t.donation?i("div",{class:"s-product-options-donation-progress"},i("salla-progress-bar",{donation:t.donation})):"",i("div",{class:"s-product-options-donation-input-group"},i("input",{type:"text",id:"donating-amount",name:"donating_amount",class:"s-form-control",value:t.value,required:true,placeholder:t.placeholder,onInput:function(t){return salla.helpers.inputDigitsOnly(t.target)},onBlur:function(e){return n.changedHandler(e,t)},onInvalid:function(e){return n.invalidHandler(e,t)}}),i("span",{class:"s-product-options-donation-amount-currency"},salla.config.currency(salla.config.get("user.currency_code")).symbol)))};t.prototype.fileUploader=function(t,e){var n=this;if(e===void 0){e=null}return i("salla-file-upload",Object.assign({},e||{},{"payload-name":"file",value:t.value,"instant-upload":true,name:"options[".concat(t.id,"]"),required:t.required,height:"120px",onAdded:function(e){return n.changedHandler(e,t)},url:salla.cart.api.getUploadImageEndpoint(),"form-data":{cart_item_id:this.productId,product_id:this.productId},onInvalidInput:function(e){return n.invalidHandler(e,t)},class:{"s-product-options-image-input":true,required:t.required}}),i("div",{class:"s-product-options-filepond-placeholder"},i("span",{class:"s-product-options-filepond-placeholder-icon",innerHTML:e.accept&&e.accept.split(",").every((function(t){return t.includes("image")}))?r:u}),i("p",{class:"s-product-options-filepond-placeholder-text"},salla.lang.get("common.uploader.drag_and_drop")),i("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 e=this;var n=t.details.map((function(t){return e.fileTypes[t.name]})).filter(Boolean);return(n===null||n===void 0?void 0:n.length)?this.fileUploader(t,{accept:n.join(",")}):"File types not selected."};t.prototype.numberOption=function(t){var e=this;return i("input",{type:"text",value:t.value,class:"s-form-control",required:t.required,name:"options[".concat(t.id,"]"),placeholder:t.placeholder,onBlur:function(n){return e.changedHandler(n,t)},onInvalid:function(n){return e.invalidHandler(n,t)},onInput:function(t){return salla.helpers.inputDigitsOnly(t.target)}})};t.prototype.splitterOption=function(){return i("div",{class:"s-product-options-splitter"})};t.prototype.textOption=function(t){var e=this;return i("div",{class:"s-product-options-text"},i("input",{type:"text",value:t.value,class:"s-form-control",required:t.required,name:"options[".concat(t.id,"]"),placeholder:t.placeholder,onInvalid:function(n){return e.invalidHandler(n,t)},onInput:function(n){return e.changedHandler(n,t)}}))};t.prototype.textareaOption=function(t){var e=this;return i("div",{class:"s-product-options-textarea"},i("div",{class:"mt-1"},i("textarea",{rows:4,value:t.value,class:"s-form-control",required:t.required,id:"options[".concat(t.id,"]"),name:"options[".concat(t.id,"]"),placeholder:t.placeholder,onInvalid:function(n){return e.invalidHandler(n,t)},onInput:function(n){return e.changedHandler(n,t)}})))};t.prototype.mapOption=function(t){var e=this;return i("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(n){return e.invalidHandler(n,t)},onSelected:function(n){return e.changedHandler(n,t)}})};t.prototype.colorPickerOption=function(t){var e=this;return i("salla-color-picker",{onSubmitted:function(n){return e.changedHandler(n,t)},name:"options[".concat(t.id,"]"),required:t.required,onInvalidInput:function(n){return e.invalidHandler(n,t)},color:t.value||"#5dd5c4"})};t.prototype.timeOption=function(t){var e=this;return i("salla-datetime-picker",{noCalendar:true,enableTime:true,dateFormat:"h:i K",value:t.value,placeholder:t.name,required:t.required,name:"options[".concat(t.id,"]"),class:"s-product-options-time-element",onInvalidInput:function(n){return e.invalidHandler(n,t)},onPicked:function(n){return e.changedHandler(n,t)}})};t.prototype.dateOption=function(t){var e=this;return i("div",{class:"s-product-options-date-element"},i("salla-datetime-picker",{value:t.value,placeholder:t.name,required:t.required,minDate:new Date,name:"options[".concat(t.id,"]"),onInvalidInput:function(n){return e.invalidHandler(n,t)},onPicked:function(n){return e.changedHandler(n,t)}}))};t.prototype.datetimeOption=function(t){var e=this;return i("div",{class:"s-product-options-datetime-element"},i("salla-datetime-picker",{enableTime:true,value:t.value,dateFormat:"Y-m-d G:i:K",placeholder:t.name,required:t.required,name:"options[".concat(t.id,"]"),maxDate:t.to_date_time,minDate:t.from_date_time,onInvalidInput:function(n){return e.invalidHandler(n,t)},onPicked:function(n){return e.changedHandler(n,t)}}))};t.prototype.getOptionDetailName=function(t,e,n){if(e===void 0){e=true}if(n&&n==l.COLOR){return t.name+(e&&this.isOptionDetailOut(t)?" <br/> <p> ".concat(salla.lang.get("pages.products.out_of_stock")," </p>"):"")+(t.additional_price?" <p> (".concat(salla.money(t.additional_price),") </p>"):"")}return t.name+(e&&this.isOptionDetailOut(t)?" - ".concat(this.outOfStockText):"")+(t.additional_price?" (".concat(salla.money(t.additional_price),")"):"")};t.prototype.isOptionDetailOut=function(t){var e=this;var n;if(t.is_out||!t.skus_availability||!((n=this.selectedSkus)===null||n===void 0?void 0:n.length)){return t.is_out}var i=this.selectedOptions.filter((function(e){return e.id==t.id})).length;if(i&&this.selectedOptions.length==1){return false}if(i){var o=this.selectedSkus.filter((function(t){return e.outSkus.includes(t)}));return Object.keys(t.skus_availability).some((function(t){return o.includes(Number(t))}))}return this.selectedOptions.some((function(e){return e.is_out&&e.option_id!==t.option_id}))};t.prototype.singleOption=function(t){var e=this;return i("div",null,i("select",{name:"options[".concat(t.id,"]"),required:t.required,class:"s-form-control",onInvalid:function(n){return e.invalidHandler(n,t)},onChange:function(n){return e.changedHandler(n,t)}},i("option",{value:""},t.placeholder),t===null||t===void 0?void 0:t.details.map((function(t){return i("option",{value:t.id,disabled:e.canDisabled&&e.isOptionDetailOut(t),selected:t.is_selected},e.getOptionDetailName(t))}))))};t.prototype.multipleOptions=function(t){var e=this;return i("div",{class:{"s-product-options-multiple-options-wrapper":true,required:t.required}},t===null||t===void 0?void 0:t.details.map((function(n){return i("div",null,i("input",{type:"checkbox",value:n.id,disabled:e.isOptionDetailOut(n),checked:n.is_selected,required:t.required,name:"options[".concat(t.id,"][]"),id:"field-".concat(t.id,"-").concat(n.id),onChange:function(n){return e.changedHandler(n,t)},onInvalid:function(n){return e.invalidHandler(n,t)},"aria-describedby":"options[".concat(t.id,"]-description")}),i("label",{htmlFor:"field-".concat(t.id,"-").concat(n.id)},e.getOptionDetailName(n)))})))};t.prototype.colorOption=function(t){var e=this;return i("fieldset",{class:"s-product-options-colors-wrapper"},t===null||t===void 0?void 0:t.details.map((function(n){return i("div",{class:"s-product-options-colors-item"},i("input",{type:"radio",value:n.id,required:t.required,checked:n.is_selected,name:"options[".concat(t.id,"]"),disabled:e.canDisabled&&e.isOptionDetailOut(n),id:"color-".concat(e.productId,"-").concat(t.id,"-").concat(n.id),onInvalid:function(n){return e.invalidHandler(n,t)},onChange:function(n){return e.changedHandler(n,t)}}),i("label",{htmlFor:"color-".concat(e.productId,"-").concat(t.id,"-").concat(n.id)},i("span",{style:{"background-color":n.color}}),i("div",{innerHTML:e.getOptionDetailName(n,true,t.type)})))})))};t.prototype.thumbnailOption=function(t){var e=this;return i("div",{class:"s-product-options-thumbnails-wrapper"},t.details.map((function(n){return i("div",null,i("input",{type:"radio",value:n.id,"data-itemid":n.id,required:t.required,checked:n.is_selected,name:"options[".concat(t.id,"]"),"data-img-id":n.option_value,disabled:e.canDisabled&&e.isOptionDetailOut(n),id:"option_".concat(e.productId,"-").concat(t.id,"_").concat(n.id),onInvalid:function(n){return e.invalidHandler(n,t)},onChange:function(n){return e.changedHandler(n,t)}}),i("label",{htmlFor:"option_".concat(e.productId,"-").concat(t.id,"_").concat(n.id),"data-img-id":n.option_value,class:"go-to-slide"},i("img",{"data-src":n.image,src:n.image,title:n.name,alt:n.name}),i("span",{innerHTML:c,class:"s-product-options-thumbnails-icon"}),e.isOptionDetailOut(n)?[i("small",{class:"s-product-options-thumbnails-stock-badge"},e.outOfStockText),e.canDisabled?i("div",{class:"s-product-options-thumbnails-badge-overlay"}):""]:""),i("p",null,e.getOptionDetailName(n,false)," "))})))};Object.defineProperty(t.prototype,"host",{get:function(){return a(this)},enumerable:false,configurable:true});return t}());p.style=d}}}));