@salla.sa/twilight-components 2.12.12 → 2.12.13

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 (102) hide show
  1. package/dist/cjs/{Helper-9f7c98a8.js → Helper-47ef09c2.js} +4 -1
  2. package/dist/cjs/Helper-47ef09c2.js.map +1 -0
  3. package/dist/cjs/{app-globals-4f8bbf37.js → app-globals-dc46fd1a.js} +3 -3
  4. package/dist/cjs/app-globals-dc46fd1a.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/salla-add-product-button_40.cjs.entry.js +1 -1
  7. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  8. package/dist/cjs/salla-product-options.cjs.entry.js +30 -14
  9. package/dist/cjs/salla-product-options.cjs.entry.js.map +1 -1
  10. package/dist/cjs/salla-products-list.cjs.entry.js +1 -1
  11. package/dist/cjs/salla-products-slider.cjs.entry.js +2 -2
  12. package/dist/cjs/salla-products-slider.cjs.entry.js.map +1 -1
  13. package/dist/cjs/twilight.cjs.js +1 -1
  14. package/dist/collection/Helpers/Helper.js +3 -0
  15. package/dist/collection/Helpers/Helper.js.map +1 -1
  16. package/dist/collection/components/salla-product-options/salla-product-options.js +30 -14
  17. package/dist/collection/components/salla-product-options/salla-product-options.js.map +1 -1
  18. package/dist/collection/components/salla-products-slider/salla-products-slider.js +1 -1
  19. package/dist/collection/components/salla-products-slider/salla-products-slider.js.map +1 -1
  20. package/dist/components/Helper.js +3 -0
  21. package/dist/components/Helper.js.map +1 -1
  22. package/dist/components/index.js +2 -2
  23. package/dist/components/index.js.map +1 -1
  24. package/dist/components/salla-product-options.js +30 -14
  25. package/dist/components/salla-product-options.js.map +1 -1
  26. package/dist/components/salla-products-slider.js +1 -1
  27. package/dist/components/salla-products-slider.js.map +1 -1
  28. package/dist/esm/{Helper-e4611a7c.js → Helper-c2739d13.js} +4 -1
  29. package/dist/esm/Helper-c2739d13.js.map +1 -0
  30. package/dist/esm/{app-globals-9b658056.js → app-globals-dc96d1ae.js} +3 -3
  31. package/dist/esm/app-globals-dc96d1ae.js.map +1 -0
  32. package/dist/esm/loader.js +1 -1
  33. package/dist/esm/salla-add-product-button_40.entry.js +1 -1
  34. package/dist/esm/salla-filters-widget.entry.js +1 -1
  35. package/dist/esm/salla-product-options.entry.js +30 -14
  36. package/dist/esm/salla-product-options.entry.js.map +1 -1
  37. package/dist/esm/salla-products-list.entry.js +1 -1
  38. package/dist/esm/salla-products-slider.entry.js +2 -2
  39. package/dist/esm/salla-products-slider.entry.js.map +1 -1
  40. package/dist/esm/twilight.js +1 -1
  41. package/dist/esm-es5/{Helper-e4611a7c.js → Helper-c2739d13.js} +2 -2
  42. package/dist/esm-es5/{Helper-e4611a7c.js.map → Helper-c2739d13.js.map} +1 -1
  43. package/dist/esm-es5/{app-globals-9b658056.js → app-globals-dc96d1ae.js} +3 -3
  44. package/dist/esm-es5/app-globals-dc96d1ae.js.map +1 -0
  45. package/dist/esm-es5/loader.js +1 -1
  46. package/dist/esm-es5/salla-add-product-button_40.entry.js +1 -1
  47. package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
  48. package/dist/esm-es5/salla-product-options.entry.js +2 -2
  49. package/dist/esm-es5/salla-product-options.entry.js.map +1 -1
  50. package/dist/esm-es5/salla-products-list.entry.js +1 -1
  51. package/dist/esm-es5/salla-products-slider.entry.js +1 -1
  52. package/dist/esm-es5/salla-products-slider.entry.js.map +1 -1
  53. package/dist/esm-es5/twilight.js +1 -1
  54. package/dist/twilight/{p-21935458.system.js → p-041a5c92.system.js} +2 -2
  55. package/dist/twilight/p-041a5c92.system.js.map +1 -0
  56. package/dist/twilight/{p-36937f5d.entry.js → p-06a3f92d.entry.js} +2 -2
  57. package/dist/twilight/{p-03cfdef7.system.js → p-21e06374.system.js} +2 -2
  58. package/dist/twilight/p-32bf6476.entry.js +5 -0
  59. package/dist/twilight/p-32bf6476.entry.js.map +1 -0
  60. package/dist/twilight/{p-e0cb00aa.entry.js → p-380b0945.entry.js} +2 -2
  61. package/dist/twilight/p-6051104d.system.entry.js +5 -0
  62. package/dist/twilight/p-6051104d.system.entry.js.map +1 -0
  63. package/dist/twilight/p-68d3a0d2.system.js +5 -0
  64. package/dist/twilight/{p-2d334c27.system.js.map → p-68d3a0d2.system.js.map} +1 -1
  65. package/dist/twilight/{p-431fcc73.js → p-69321383.js} +2 -2
  66. package/dist/twilight/{p-431fcc73.js.map → p-69321383.js.map} +1 -1
  67. package/dist/twilight/{p-6bfa8251.entry.js → p-6cedeaea.entry.js} +2 -2
  68. package/dist/twilight/{p-e57562e7.system.entry.js → p-816b6e64.system.entry.js} +2 -2
  69. package/dist/twilight/{p-17d95443.js → p-860f1ed3.js} +4 -4
  70. package/dist/twilight/{p-17d95443.js.map → p-860f1ed3.js.map} +1 -1
  71. package/dist/twilight/p-9d400283.entry.js +5 -0
  72. package/dist/twilight/p-9d400283.entry.js.map +1 -0
  73. package/dist/twilight/{p-7101b078.system.entry.js → p-adaca5f1.system.entry.js} +2 -2
  74. package/dist/twilight/{p-c0a87009.system.entry.js → p-e61ef2fb.system.entry.js} +2 -2
  75. package/dist/twilight/p-fae92ea3.system.entry.js +5 -0
  76. package/dist/twilight/p-fae92ea3.system.entry.js.map +1 -0
  77. package/dist/twilight/twilight.esm.js +1 -1
  78. package/dist/twilight/twilight.js +1 -1
  79. package/dist/types/components/salla-product-options/salla-product-options.d.ts +2 -0
  80. package/package.json +4 -4
  81. package/dist/cjs/Helper-9f7c98a8.js.map +0 -1
  82. package/dist/cjs/app-globals-4f8bbf37.js.map +0 -1
  83. package/dist/esm/Helper-e4611a7c.js.map +0 -1
  84. package/dist/esm/app-globals-9b658056.js.map +0 -1
  85. package/dist/esm-es5/app-globals-9b658056.js.map +0 -1
  86. package/dist/twilight/p-21935458.system.js.map +0 -1
  87. package/dist/twilight/p-285c9f29.system.entry.js +0 -5
  88. package/dist/twilight/p-285c9f29.system.entry.js.map +0 -1
  89. package/dist/twilight/p-2d334c27.system.js +0 -5
  90. package/dist/twilight/p-3671b683.system.entry.js +0 -5
  91. package/dist/twilight/p-3671b683.system.entry.js.map +0 -1
  92. package/dist/twilight/p-a60b73b6.entry.js +0 -5
  93. package/dist/twilight/p-a60b73b6.entry.js.map +0 -1
  94. package/dist/twilight/p-ea65d3c9.entry.js +0 -5
  95. package/dist/twilight/p-ea65d3c9.entry.js.map +0 -1
  96. /package/dist/twilight/{p-36937f5d.entry.js.map → p-06a3f92d.entry.js.map} +0 -0
  97. /package/dist/twilight/{p-03cfdef7.system.js.map → p-21e06374.system.js.map} +0 -0
  98. /package/dist/twilight/{p-e0cb00aa.entry.js.map → p-380b0945.entry.js.map} +0 -0
  99. /package/dist/twilight/{p-6bfa8251.entry.js.map → p-6cedeaea.entry.js.map} +0 -0
  100. /package/dist/twilight/{p-e57562e7.system.entry.js.map → p-816b6e64.system.entry.js.map} +0 -0
  101. /package/dist/twilight/{p-7101b078.system.entry.js.map → p-adaca5f1.system.entry.js.map} +0 -0
  102. /package/dist/twilight/{p-c0a87009.system.entry.js.map → p-e61ef2fb.system.entry.js.map} +0 -0
@@ -0,0 +1,5 @@
1
+ var __spreadArray=this&&this.__spreadArray||function(e,r,u){if(u||arguments.length===2)for(var t=0,a=r.length,s;t<a;t++){if(s||!(t in r)){if(!s)s=Array.prototype.slice.call(r,0,t);s[t]=r[t]}}return e.concat(s||Array.prototype.slice.call(r))};
2
+ /*!
3
+ * Crafted with ❤ by Salla
4
+ */System.register([],(function(e){"use strict";return{execute:function(){salla.event.setMaxListeners(100);var r=function(){function e(){}e.prototype.toggleElementClassIf=function(e,r,u,t){var a,s;r=Array.isArray(r)?r:r.split(" ");u=Array.isArray(u)?u:u.split(" ");var n=t(e);e===null||e===void 0?void 0:(a=e.classList).remove.apply(a,n?u:r);e===null||e===void 0?void 0:(s=e.classList).add.apply(s,n?r:u);return this};e.prototype.toggleClassIf=function(e,r,u,t){var a=this;document.querySelectorAll(e).forEach((function(e){return a.toggleElementClassIf(e,r,u,t)}));return this};e.prototype.isValidEmail=function(e){var r=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return r.test(String(e).toLowerCase())};e.prototype.filterEmojies=function(e){var r=/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;return e.replace(r,"")};e.prototype.debounce=function(e){var r=[];for(var u=1;u<arguments.length;u++){r[u-1]=arguments[u]}if(!this.debounce_){this.debounce_=salla.helpers.debounce((function(e){var r=[];for(var u=1;u<arguments.length;u++){r[u-1]=arguments[u]}return e.apply(void 0,r)}),500)}return this.debounce_.apply(this,__spreadArray([e],r,false))};e.prototype.getProductsSource=function(e){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","product.index.sales":"sales","components.most_sales_products":"sales"}[e||salla.config.get("page.slug")]||e||"latest"};e.prototype.getPageTitleForSource=function(e){e={brands:"common.titles.brands",latest:"blocks.home.latest_products",offers:"common.titles.discounts",sales:"common.titles.most_sales"}[e];return e?salla.lang.get(e):""};e.prototype.getProductsSourceValue=function(e,r){var u=this.getProductsSource(e);var t=null;if(r){try{t=JSON.parse(r)}catch(e){console.error("Invalid JSON string in sourceValue:",e)}}if(!["search","json","offers","latest","sales","related"].includes(u)){if(Array.isArray(t)&&t.length){return t}if(Array.isArray(t)&&!t.length){return""}if(typeof t==="number"){return[t]}if(!r&&["categories","tags","brands"].includes(e)){return[salla.config.get("page.id")]}}if(t||r){return t||r}if(u==="search"){return new URLSearchParams(window.location.search).get("q")||""}return salla.config.get("page.id")};return e}();var u=e("H",new r)}}}));
5
+ //# sourceMappingURL=p-68d3a0d2.system.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["salla","event","setMaxListeners","Helper","prototype","toggleElementClassIf","element","classes1","classes2","callback","Array","isArray","split","isClasses1","_a","classList","remove","apply","_b","add","this","toggleClassIf","selector","_this","document","querySelectorAll","forEach","isValidEmail","email","re","test","String","toLowerCase","filterEmojies","text","characterFilter","replace","debounce","fn","data","_i","arguments","length","debounce_","helpers","innerData","__spreadArray","getProductsSource","source","config","get","getPageTitleForSource","brands","latest","offers","sales","lang","getProductsSourceValue","sourceValue","parsedSource","parsedSourceValue","JSON","parse","error","console","includes","URLSearchParams","window","location","search","Helper$1","exports"],"sources":["src/Helpers/Helper.ts"],"sourcesContent":["//TODO::reduce it to 10\nsalla.event.setMaxListeners(100);\n\nclass Helper {\n private debounce_: any;\n\n toggleElementClassIf(element, classes1, classes2, callback) {\n classes1 = Array.isArray(classes1) ? classes1 : classes1.split(' ');\n classes2 = Array.isArray(classes2) ? classes2 : classes2.split(' ');\n let isClasses1 = callback(element);\n element?.classList.remove(...(isClasses1 ? classes2 : classes1));\n element?.classList.add(...(isClasses1 ? classes1 : classes2));\n return this;\n }\n\n toggleClassIf(selector, classes1, classes2, callback) {\n document.querySelectorAll(selector).forEach(element => this.toggleElementClassIf(element, classes1, classes2, callback));\n return this;\n }\n\n isValidEmail(email) {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n filterEmojies(text) {\n var characterFilter = /(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|\\ud83c[\\udd70-\\udd71]|\\ud83c[\\udd7e-\\udd7f]|\\ud83c\\udd8e|\\ud83c[\\udd91-\\udd9a]|\\ud83c[\\udde6-\\uddff]|\\ud83c[\\ude01-\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|\\ud83c[\\ude32-\\ude3a]|\\ud83c[\\ude50-\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff])/g;\n return text.replace(characterFilter, \"\");\n }\n\n debounce(fn, ...data) {\n if (!this.debounce_) {\n this.debounce_ = salla.helpers.debounce((callback, ...innerData) => callback(...innerData), 500);\n }\n //@ts-ignore\n return this.debounce_(fn, ...data);\n }\n\n getProductsSource(source) {\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 'product.index.sales': 'sales',\n 'components.most_sales_products': 'sales',//temporary, delete it after two days from now\n }[source || salla.config.get('page.slug')] || source || 'latest';\n }\n\n getPageTitleForSource(source){\n \n source= {\n 'brands':'common.titles.brands',\n // 'categories':'',\n 'latest':'blocks.home.latest_products',\n 'offers':'common.titles.discounts',\n // 'search':'',\n // 'landing-page':'',\n // 'tags':'',\n 'sales':'common.titles.most_sales',\n }[source];\n\n return source ? salla.lang.get(source):'';\n }\n\n getProductsSourceValue(source, sourceValue) {\n const parsedSource = this.getProductsSource(source);\n\n // Validate if the source value is a valid JSON string\n let parsedSourceValue: any = null;\n if (sourceValue) {\n try {\n parsedSourceValue = JSON.parse(sourceValue);\n } catch (error) {\n console.error('Invalid JSON string in sourceValue:', error);\n }\n }\n\n // Handle different source types\n if (!['search', 'json', 'offers', 'latest', 'sales', 'related'].includes(parsedSource)) {\n\n if (Array.isArray(parsedSourceValue) && parsedSourceValue.length) {\n return parsedSourceValue;\n }\n\n if (typeof parsedSourceValue === 'number') {\n return [parsedSourceValue];\n }\n\n if (!sourceValue && ['categories', 'tags', 'brands'].includes(source)) {\n return [salla.config.get('page.id')];\n }\n }\n\n // Return sourceValue if it exists and is a valid JSON object/array\n if (parsedSourceValue || sourceValue) {\n return parsedSourceValue || sourceValue;\n }\n\n if (parsedSource === 'search') {\n return new URLSearchParams(window.location.search).get('q') || '';\n }\n\n // Return page id as default value\n return salla.config.get('page.id');\n }\n}\n\nexport default new Helper;\n"],"mappings":"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"}
1
+ {"version":3,"names":["salla","event","setMaxListeners","Helper","prototype","toggleElementClassIf","element","classes1","classes2","callback","Array","isArray","split","isClasses1","_a","classList","remove","apply","_b","add","this","toggleClassIf","selector","_this","document","querySelectorAll","forEach","isValidEmail","email","re","test","String","toLowerCase","filterEmojies","text","characterFilter","replace","debounce","fn","data","_i","arguments","length","debounce_","helpers","innerData","__spreadArray","getProductsSource","source","config","get","getPageTitleForSource","brands","latest","offers","sales","lang","getProductsSourceValue","sourceValue","parsedSource","parsedSourceValue","JSON","parse","error","console","includes","URLSearchParams","window","location","search","Helper$1","exports"],"sources":["src/Helpers/Helper.ts"],"sourcesContent":["//TODO::reduce it to 10\nsalla.event.setMaxListeners(100);\n\nclass Helper {\n private debounce_: any;\n\n toggleElementClassIf(element, classes1, classes2, callback) {\n classes1 = Array.isArray(classes1) ? classes1 : classes1.split(' ');\n classes2 = Array.isArray(classes2) ? classes2 : classes2.split(' ');\n let isClasses1 = callback(element);\n element?.classList.remove(...(isClasses1 ? classes2 : classes1));\n element?.classList.add(...(isClasses1 ? classes1 : classes2));\n return this;\n }\n\n toggleClassIf(selector, classes1, classes2, callback) {\n document.querySelectorAll(selector).forEach(element => this.toggleElementClassIf(element, classes1, classes2, callback));\n return this;\n }\n\n isValidEmail(email) {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n filterEmojies(text) {\n var characterFilter = /(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|\\ud83c[\\udd70-\\udd71]|\\ud83c[\\udd7e-\\udd7f]|\\ud83c\\udd8e|\\ud83c[\\udd91-\\udd9a]|\\ud83c[\\udde6-\\uddff]|\\ud83c[\\ude01-\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|\\ud83c[\\ude32-\\ude3a]|\\ud83c[\\ude50-\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff])/g;\n return text.replace(characterFilter, \"\");\n }\n\n debounce(fn, ...data) {\n if (!this.debounce_) {\n this.debounce_ = salla.helpers.debounce((callback, ...innerData) => callback(...innerData), 500);\n }\n //@ts-ignore\n return this.debounce_(fn, ...data);\n }\n\n getProductsSource(source) {\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 'product.index.sales': 'sales',\n 'components.most_sales_products': 'sales',//temporary, delete it after two days from now\n }[source || salla.config.get('page.slug')] || source || 'latest';\n }\n\n getPageTitleForSource(source){\n \n source= {\n 'brands':'common.titles.brands',\n // 'categories':'',\n 'latest':'blocks.home.latest_products',\n 'offers':'common.titles.discounts',\n // 'search':'',\n // 'landing-page':'',\n // 'tags':'',\n 'sales':'common.titles.most_sales',\n }[source];\n\n return source ? salla.lang.get(source):'';\n }\n\n getProductsSourceValue(source, sourceValue) {\n const parsedSource = this.getProductsSource(source);\n\n // Validate if the source value is a valid JSON string\n let parsedSourceValue: any = null;\n if (sourceValue) {\n try {\n parsedSourceValue = JSON.parse(sourceValue);\n } catch (error) {\n console.error('Invalid JSON string in sourceValue:', error);\n }\n }\n\n // Handle different source types\n if (!['search', 'json', 'offers', 'latest', 'sales', 'related'].includes(parsedSource)) {\n\n if (Array.isArray(parsedSourceValue) && parsedSourceValue.length) {\n return parsedSourceValue;\n }\n \n if (Array.isArray(parsedSourceValue) && !parsedSourceValue.length){\n return '';\n }\n\n if (typeof parsedSourceValue === 'number') {\n return [parsedSourceValue];\n }\n\n if (!sourceValue && ['categories', 'tags', 'brands'].includes(source)) {\n return [salla.config.get('page.id')];\n }\n }\n\n // Return sourceValue if it exists and is a valid JSON object/array\n if (parsedSourceValue || sourceValue) {\n return parsedSourceValue || sourceValue;\n }\n\n if (parsedSource === 'search') {\n return new URLSearchParams(window.location.search).get('q') || '';\n }\n\n // Return page id as default value\n return salla.config.get('page.id');\n }\n}\n\nexport default new Helper;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- salla.event.setMaxListeners(100);class u{toggleElementClassIf(u,e,d,s){e=Array.isArray(e)?e:e.split(" ");d=Array.isArray(d)?d:d.split(" ");let t=s(u);u===null||u===void 0?void 0:u.classList.remove(...t?d:e);u===null||u===void 0?void 0:u.classList.add(...t?e:d);return this}toggleClassIf(u,e,d,s){document.querySelectorAll(u).forEach((u=>this.toggleElementClassIf(u,e,d,s)));return this}isValidEmail(u){const e=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return e.test(String(u).toLowerCase())}filterEmojies(u){var e=/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;return u.replace(e,"")}debounce(u,...e){if(!this.debounce_){this.debounce_=salla.helpers.debounce(((u,...e)=>u(...e)),500)}return this.debounce_(u,...e)}getProductsSource(u){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","product.index.sales":"sales","components.most_sales_products":"sales"}[u||salla.config.get("page.slug")]||u||"latest"}getPageTitleForSource(u){u={brands:"common.titles.brands",latest:"blocks.home.latest_products",offers:"common.titles.discounts",sales:"common.titles.most_sales"}[u];return u?salla.lang.get(u):""}getProductsSourceValue(u,e){const d=this.getProductsSource(u);let s=null;if(e){try{s=JSON.parse(e)}catch(u){console.error("Invalid JSON string in sourceValue:",u)}}if(!["search","json","offers","latest","sales","related"].includes(d)){if(Array.isArray(s)&&s.length){return s}if(typeof s==="number"){return[s]}if(!e&&["categories","tags","brands"].includes(u)){return[salla.config.get("page.id")]}}if(s||e){return s||e}if(d==="search"){return new URLSearchParams(window.location.search).get("q")||""}return salla.config.get("page.id")}}const e=new u;export{e as H};
5
- //# sourceMappingURL=p-431fcc73.js.map
4
+ salla.event.setMaxListeners(100);class u{toggleElementClassIf(u,e,d,s){e=Array.isArray(e)?e:e.split(" ");d=Array.isArray(d)?d:d.split(" ");let t=s(u);u===null||u===void 0?void 0:u.classList.remove(...t?d:e);u===null||u===void 0?void 0:u.classList.add(...t?e:d);return this}toggleClassIf(u,e,d,s){document.querySelectorAll(u).forEach((u=>this.toggleElementClassIf(u,e,d,s)));return this}isValidEmail(u){const e=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return e.test(String(u).toLowerCase())}filterEmojies(u){var e=/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g;return u.replace(e,"")}debounce(u,...e){if(!this.debounce_){this.debounce_=salla.helpers.debounce(((u,...e)=>u(...e)),500)}return this.debounce_(u,...e)}getProductsSource(u){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","product.index.sales":"sales","components.most_sales_products":"sales"}[u||salla.config.get("page.slug")]||u||"latest"}getPageTitleForSource(u){u={brands:"common.titles.brands",latest:"blocks.home.latest_products",offers:"common.titles.discounts",sales:"common.titles.most_sales"}[u];return u?salla.lang.get(u):""}getProductsSourceValue(u,e){const d=this.getProductsSource(u);let s=null;if(e){try{s=JSON.parse(e)}catch(u){console.error("Invalid JSON string in sourceValue:",u)}}if(!["search","json","offers","latest","sales","related"].includes(d)){if(Array.isArray(s)&&s.length){return s}if(Array.isArray(s)&&!s.length){return""}if(typeof s==="number"){return[s]}if(!e&&["categories","tags","brands"].includes(u)){return[salla.config.get("page.id")]}}if(s||e){return s||e}if(d==="search"){return new URLSearchParams(window.location.search).get("q")||""}return salla.config.get("page.id")}}const e=new u;export{e as H};
5
+ //# sourceMappingURL=p-69321383.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["salla","event","setMaxListeners","Helper","toggleElementClassIf","element","classes1","classes2","callback","Array","isArray","split","isClasses1","classList","remove","add","this","toggleClassIf","selector","document","querySelectorAll","forEach","isValidEmail","email","re","test","String","toLowerCase","filterEmojies","text","characterFilter","replace","debounce","fn","data","debounce_","helpers","innerData","getProductsSource","source","config","get","getPageTitleForSource","brands","latest","offers","sales","lang","getProductsSourceValue","sourceValue","parsedSource","parsedSourceValue","JSON","parse","error","console","includes","length","URLSearchParams","window","location","search","Helper$1"],"sources":["./src/Helpers/Helper.ts"],"sourcesContent":["//TODO::reduce it to 10\nsalla.event.setMaxListeners(100);\n\nclass Helper {\n private debounce_: any;\n\n toggleElementClassIf(element, classes1, classes2, callback) {\n classes1 = Array.isArray(classes1) ? classes1 : classes1.split(' ');\n classes2 = Array.isArray(classes2) ? classes2 : classes2.split(' ');\n let isClasses1 = callback(element);\n element?.classList.remove(...(isClasses1 ? classes2 : classes1));\n element?.classList.add(...(isClasses1 ? classes1 : classes2));\n return this;\n }\n\n toggleClassIf(selector, classes1, classes2, callback) {\n document.querySelectorAll(selector).forEach(element => this.toggleElementClassIf(element, classes1, classes2, callback));\n return this;\n }\n\n isValidEmail(email) {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n filterEmojies(text) {\n var characterFilter = /(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|\\ud83c[\\udd70-\\udd71]|\\ud83c[\\udd7e-\\udd7f]|\\ud83c\\udd8e|\\ud83c[\\udd91-\\udd9a]|\\ud83c[\\udde6-\\uddff]|\\ud83c[\\ude01-\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|\\ud83c[\\ude32-\\ude3a]|\\ud83c[\\ude50-\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff])/g;\n return text.replace(characterFilter, \"\");\n }\n\n debounce(fn, ...data) {\n if (!this.debounce_) {\n this.debounce_ = salla.helpers.debounce((callback, ...innerData) => callback(...innerData), 500);\n }\n //@ts-ignore\n return this.debounce_(fn, ...data);\n }\n\n getProductsSource(source) {\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 'product.index.sales': 'sales',\n 'components.most_sales_products': 'sales',//temporary, delete it after two days from now\n }[source || salla.config.get('page.slug')] || source || 'latest';\n }\n\n getPageTitleForSource(source){\n \n source= {\n 'brands':'common.titles.brands',\n // 'categories':'',\n 'latest':'blocks.home.latest_products',\n 'offers':'common.titles.discounts',\n // 'search':'',\n // 'landing-page':'',\n // 'tags':'',\n 'sales':'common.titles.most_sales',\n }[source];\n\n return source ? salla.lang.get(source):'';\n }\n\n getProductsSourceValue(source, sourceValue) {\n const parsedSource = this.getProductsSource(source);\n\n // Validate if the source value is a valid JSON string\n let parsedSourceValue: any = null;\n if (sourceValue) {\n try {\n parsedSourceValue = JSON.parse(sourceValue);\n } catch (error) {\n console.error('Invalid JSON string in sourceValue:', error);\n }\n }\n\n // Handle different source types\n if (!['search', 'json', 'offers', 'latest', 'sales', 'related'].includes(parsedSource)) {\n\n if (Array.isArray(parsedSourceValue) && parsedSourceValue.length) {\n return parsedSourceValue;\n }\n\n if (typeof parsedSourceValue === 'number') {\n return [parsedSourceValue];\n }\n\n if (!sourceValue && ['categories', 'tags', 'brands'].includes(source)) {\n return [salla.config.get('page.id')];\n }\n }\n\n // Return sourceValue if it exists and is a valid JSON object/array\n if (parsedSourceValue || sourceValue) {\n return parsedSourceValue || sourceValue;\n }\n\n if (parsedSource === 'search') {\n return new URLSearchParams(window.location.search).get('q') || '';\n }\n\n // Return page id as default value\n return salla.config.get('page.id');\n }\n}\n\nexport default new Helper;\n"],"mappings":";;;AACAA,MAAMC,MAAMC,gBAAgB,KAE5B,MAAMC,EAGJC,qBAAqBC,EAASC,EAAUC,EAAUC,GAChDF,EAAWG,MAAMC,QAAQJ,GAAYA,EAAWA,EAASK,MAAM,KAC/DJ,EAAWE,MAAMC,QAAQH,GAAYA,EAAWA,EAASI,MAAM,KAC/D,IAAIC,EAAaJ,EAASH,GAC1BA,IAAO,MAAPA,SAAO,SAAPA,EAASQ,UAAUC,UAAWF,EAAaL,EAAWD,GACtDD,IAAO,MAAPA,SAAO,SAAPA,EAASQ,UAAUE,OAAQH,EAAaN,EAAWC,GACnD,OAAOS,I,CAGTC,cAAcC,EAAUZ,EAAUC,EAAUC,GAC1CW,SAASC,iBAAiBF,GAAUG,SAAQhB,GAAWW,KAAKZ,qBAAqBC,EAASC,EAAUC,EAAUC,KAC9G,OAAOQ,I,CAGTM,aAAaC,GACX,MAAMC,EAAK,wJACX,OAAOA,EAAGC,KAAKC,OAAOH,GAAOI,c,CAG/BC,cAAcC,GACZ,IAAIC,EAAkB,imBACtB,OAAOD,EAAKE,QAAQD,EAAiB,G,CAGvCE,SAASC,KAAOC,GACd,IAAKlB,KAAKmB,UAAW,CACnBnB,KAAKmB,UAAYnC,MAAMoC,QAAQJ,UAAS,CAACxB,KAAa6B,IAAc7B,KAAY6B,IAAY,I,CAG9F,OAAOrB,KAAKmB,UAAUF,KAAOC,E,CAG/BI,kBAAkBC,GAChB,MAAO,CACL,gBAAiB,SACjB,gBAAiB,aACjB,uBAAwB,SACxB,uBAAwB,SACxB,uBAAwB,SACxB,eAAgB,eAChB,oBAAqB,OACrB,sBAAuB,QACvB,iCAAkC,SAClCA,GAAUvC,MAAMwC,OAAOC,IAAI,eAAiBF,GAAU,Q,CAG1DG,sBAAsBH,GAEpBA,EAAQ,CACNI,OAAS,uBAETC,OAAS,8BACTC,OAAS,0BAITC,MAAQ,4BACRP,GAEF,OAAOA,EAASvC,MAAM+C,KAAKN,IAAIF,GAAQ,E,CAGzCS,uBAAuBT,EAAQU,GAC7B,MAAMC,EAAelC,KAAKsB,kBAAkBC,GAG1C,IAAIY,EAAyB,KAC7B,GAAIF,EAAa,CACf,IACEE,EAAoBC,KAAKC,MAAMJ,E,CAC/B,MAAOK,GACPC,QAAQD,MAAM,sCAAuCA,E,EAK3D,IAAK,CAAC,SAAU,OAAQ,SAAU,SAAU,QAAS,WAAWE,SAASN,GAAe,CAEtF,GAAIzC,MAAMC,QAAQyC,IAAsBA,EAAkBM,OAAQ,CAChE,OAAON,C,CAGT,UAAWA,IAAsB,SAAU,CACzC,MAAO,CAACA,E,CAGV,IAAKF,GAAe,CAAC,aAAc,OAAQ,UAAUO,SAASjB,GAAS,CACrE,MAAO,CAACvC,MAAMwC,OAAOC,IAAI,W,EAK7B,GAAIU,GAAqBF,EAAa,CACpC,OAAOE,GAAqBF,C,CAG9B,GAAIC,IAAiB,SAAU,CAC7B,OAAO,IAAIQ,gBAAgBC,OAAOC,SAASC,QAAQpB,IAAI,MAAQ,E,CAIjE,OAAOzC,MAAMwC,OAAOC,IAAI,U,EAI5B,MAAAqB,EAAe,IAAI3D,S"}
1
+ {"version":3,"names":["salla","event","setMaxListeners","Helper","toggleElementClassIf","element","classes1","classes2","callback","Array","isArray","split","isClasses1","classList","remove","add","this","toggleClassIf","selector","document","querySelectorAll","forEach","isValidEmail","email","re","test","String","toLowerCase","filterEmojies","text","characterFilter","replace","debounce","fn","data","debounce_","helpers","innerData","getProductsSource","source","config","get","getPageTitleForSource","brands","latest","offers","sales","lang","getProductsSourceValue","sourceValue","parsedSource","parsedSourceValue","JSON","parse","error","console","includes","length","URLSearchParams","window","location","search","Helper$1"],"sources":["./src/Helpers/Helper.ts"],"sourcesContent":["//TODO::reduce it to 10\nsalla.event.setMaxListeners(100);\n\nclass Helper {\n private debounce_: any;\n\n toggleElementClassIf(element, classes1, classes2, callback) {\n classes1 = Array.isArray(classes1) ? classes1 : classes1.split(' ');\n classes2 = Array.isArray(classes2) ? classes2 : classes2.split(' ');\n let isClasses1 = callback(element);\n element?.classList.remove(...(isClasses1 ? classes2 : classes1));\n element?.classList.add(...(isClasses1 ? classes1 : classes2));\n return this;\n }\n\n toggleClassIf(selector, classes1, classes2, callback) {\n document.querySelectorAll(selector).forEach(element => this.toggleElementClassIf(element, classes1, classes2, callback));\n return this;\n }\n\n isValidEmail(email) {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n filterEmojies(text) {\n var characterFilter = /(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\u0023-\\u0039]\\ufe0f?\\u20e3|\\u3299|\\u3297|\\u303d|\\u3030|\\u24c2|\\ud83c[\\udd70-\\udd71]|\\ud83c[\\udd7e-\\udd7f]|\\ud83c\\udd8e|\\ud83c[\\udd91-\\udd9a]|\\ud83c[\\udde6-\\uddff]|\\ud83c[\\ude01-\\ude02]|\\ud83c\\ude1a|\\ud83c\\ude2f|\\ud83c[\\ude32-\\ude3a]|\\ud83c[\\ude50-\\ude51]|\\u203c|\\u2049|[\\u25aa-\\u25ab]|\\u25b6|\\u25c0|[\\u25fb-\\u25fe]|\\u00a9|\\u00ae|\\u2122|\\u2139|\\ud83c\\udc04|[\\u2600-\\u26FF]|\\u2b05|\\u2b06|\\u2b07|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u231a|\\u231b|\\u2328|\\u23cf|[\\u23e9-\\u23f3]|[\\u23f8-\\u23fa]|\\ud83c\\udccf|\\u2934|\\u2935|[\\u2190-\\u21ff])/g;\n return text.replace(characterFilter, \"\");\n }\n\n debounce(fn, ...data) {\n if (!this.debounce_) {\n this.debounce_ = salla.helpers.debounce((callback, ...innerData) => callback(...innerData), 500);\n }\n //@ts-ignore\n return this.debounce_(fn, ...data);\n }\n\n getProductsSource(source) {\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 'product.index.sales': 'sales',\n 'components.most_sales_products': 'sales',//temporary, delete it after two days from now\n }[source || salla.config.get('page.slug')] || source || 'latest';\n }\n\n getPageTitleForSource(source){\n \n source= {\n 'brands':'common.titles.brands',\n // 'categories':'',\n 'latest':'blocks.home.latest_products',\n 'offers':'common.titles.discounts',\n // 'search':'',\n // 'landing-page':'',\n // 'tags':'',\n 'sales':'common.titles.most_sales',\n }[source];\n\n return source ? salla.lang.get(source):'';\n }\n\n getProductsSourceValue(source, sourceValue) {\n const parsedSource = this.getProductsSource(source);\n\n // Validate if the source value is a valid JSON string\n let parsedSourceValue: any = null;\n if (sourceValue) {\n try {\n parsedSourceValue = JSON.parse(sourceValue);\n } catch (error) {\n console.error('Invalid JSON string in sourceValue:', error);\n }\n }\n\n // Handle different source types\n if (!['search', 'json', 'offers', 'latest', 'sales', 'related'].includes(parsedSource)) {\n\n if (Array.isArray(parsedSourceValue) && parsedSourceValue.length) {\n return parsedSourceValue;\n }\n \n if (Array.isArray(parsedSourceValue) && !parsedSourceValue.length){\n return '';\n }\n\n if (typeof parsedSourceValue === 'number') {\n return [parsedSourceValue];\n }\n\n if (!sourceValue && ['categories', 'tags', 'brands'].includes(source)) {\n return [salla.config.get('page.id')];\n }\n }\n\n // Return sourceValue if it exists and is a valid JSON object/array\n if (parsedSourceValue || sourceValue) {\n return parsedSourceValue || sourceValue;\n }\n\n if (parsedSource === 'search') {\n return new URLSearchParams(window.location.search).get('q') || '';\n }\n\n // Return page id as default value\n return salla.config.get('page.id');\n }\n}\n\nexport default new Helper;\n"],"mappings":";;;AACAA,MAAMC,MAAMC,gBAAgB,KAE5B,MAAMC,EAGJC,qBAAqBC,EAASC,EAAUC,EAAUC,GAChDF,EAAWG,MAAMC,QAAQJ,GAAYA,EAAWA,EAASK,MAAM,KAC/DJ,EAAWE,MAAMC,QAAQH,GAAYA,EAAWA,EAASI,MAAM,KAC/D,IAAIC,EAAaJ,EAASH,GAC1BA,IAAO,MAAPA,SAAO,SAAPA,EAASQ,UAAUC,UAAWF,EAAaL,EAAWD,GACtDD,IAAO,MAAPA,SAAO,SAAPA,EAASQ,UAAUE,OAAQH,EAAaN,EAAWC,GACnD,OAAOS,I,CAGTC,cAAcC,EAAUZ,EAAUC,EAAUC,GAC1CW,SAASC,iBAAiBF,GAAUG,SAAQhB,GAAWW,KAAKZ,qBAAqBC,EAASC,EAAUC,EAAUC,KAC9G,OAAOQ,I,CAGTM,aAAaC,GACX,MAAMC,EAAK,wJACX,OAAOA,EAAGC,KAAKC,OAAOH,GAAOI,c,CAG/BC,cAAcC,GACZ,IAAIC,EAAkB,imBACtB,OAAOD,EAAKE,QAAQD,EAAiB,G,CAGvCE,SAASC,KAAOC,GACd,IAAKlB,KAAKmB,UAAW,CACnBnB,KAAKmB,UAAYnC,MAAMoC,QAAQJ,UAAS,CAACxB,KAAa6B,IAAc7B,KAAY6B,IAAY,I,CAG9F,OAAOrB,KAAKmB,UAAUF,KAAOC,E,CAG/BI,kBAAkBC,GAChB,MAAO,CACL,gBAAiB,SACjB,gBAAiB,aACjB,uBAAwB,SACxB,uBAAwB,SACxB,uBAAwB,SACxB,eAAgB,eAChB,oBAAqB,OACrB,sBAAuB,QACvB,iCAAkC,SAClCA,GAAUvC,MAAMwC,OAAOC,IAAI,eAAiBF,GAAU,Q,CAG1DG,sBAAsBH,GAEpBA,EAAQ,CACNI,OAAS,uBAETC,OAAS,8BACTC,OAAS,0BAITC,MAAQ,4BACRP,GAEF,OAAOA,EAASvC,MAAM+C,KAAKN,IAAIF,GAAQ,E,CAGzCS,uBAAuBT,EAAQU,GAC7B,MAAMC,EAAelC,KAAKsB,kBAAkBC,GAG1C,IAAIY,EAAyB,KAC7B,GAAIF,EAAa,CACf,IACEE,EAAoBC,KAAKC,MAAMJ,E,CAC/B,MAAOK,GACPC,QAAQD,MAAM,sCAAuCA,E,EAK3D,IAAK,CAAC,SAAU,OAAQ,SAAU,SAAU,QAAS,WAAWE,SAASN,GAAe,CAEtF,GAAIzC,MAAMC,QAAQyC,IAAsBA,EAAkBM,OAAQ,CAChE,OAAON,C,CAGT,GAAI1C,MAAMC,QAAQyC,KAAuBA,EAAkBM,OAAO,CAChE,MAAO,E,CAGT,UAAWN,IAAsB,SAAU,CACzC,MAAO,CAACA,E,CAGV,IAAKF,GAAe,CAAC,aAAc,OAAQ,UAAUO,SAASjB,GAAS,CACrE,MAAO,CAACvC,MAAMwC,OAAOC,IAAI,W,EAK7B,GAAIU,GAAqBF,EAAa,CACpC,OAAOE,GAAqBF,C,CAG9B,GAAIC,IAAiB,SAAU,CAC7B,OAAO,IAAIQ,gBAAgBC,OAAOC,SAASC,QAAQpB,IAAI,MAAQ,E,CAIjE,OAAOzC,MAAMwC,OAAOC,IAAI,U,EAI5B,MAAAqB,EAAe,IAAI3D,S"}