@salla.sa/twilight-components 2.14.24 → 2.14.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{Helper-8b706e72.js → Helper-56efb09e.js} +4 -2
- package/dist/cjs/Helper-56efb09e.js.map +1 -0
- package/dist/cjs/app-globals-9596263d.js.map +1 -1
- package/dist/cjs/salla-add-product-button_48.cjs.entry.js +1 -1
- package/dist/cjs/salla-add-product-button_48.cjs.entry.js.map +1 -1
- package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
- package/dist/cjs/salla-filters.cjs.entry.js +1 -1
- package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
- package/dist/cjs/salla-orders.cjs.entry.js +1 -1
- package/dist/cjs/salla-products-slider.cjs.entry.js +1 -1
- package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
- package/dist/collection/Helpers/Helper.js +3 -1
- package/dist/collection/Helpers/Helper.js.map +1 -1
- package/dist/components/Helper.js +3 -1
- package/dist/components/Helper.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/salla-quick-buy2.js.map +1 -1
- package/dist/esm/{Helper-c5b72361.js → Helper-3025592f.js} +4 -2
- package/dist/esm/Helper-3025592f.js.map +1 -0
- package/dist/esm/app-globals-15e3c645.js.map +1 -1
- package/dist/esm/salla-add-product-button_48.entry.js +1 -1
- package/dist/esm/salla-add-product-button_48.entry.js.map +1 -1
- package/dist/esm/salla-filters-widget.entry.js +1 -1
- package/dist/esm/salla-filters.entry.js +1 -1
- package/dist/esm/salla-notifications.entry.js +1 -1
- package/dist/esm/salla-orders.entry.js +1 -1
- package/dist/esm/salla-products-slider.entry.js +1 -1
- package/dist/esm/salla-reviews.entry.js +1 -1
- package/dist/esm-es5/Helper-3025592f.js +5 -0
- package/dist/esm-es5/Helper-3025592f.js.map +1 -0
- package/dist/esm-es5/app-globals-15e3c645.js.map +1 -1
- package/dist/esm-es5/salla-add-product-button_48.entry.js +1 -1
- package/dist/esm-es5/salla-add-product-button_48.entry.js.map +1 -1
- package/dist/esm-es5/salla-filters-widget.entry.js +1 -1
- package/dist/esm-es5/salla-filters.entry.js +1 -1
- package/dist/esm-es5/salla-notifications.entry.js +1 -1
- package/dist/esm-es5/salla-orders.entry.js +1 -1
- package/dist/esm-es5/salla-products-slider.entry.js +1 -1
- package/dist/esm-es5/salla-reviews.entry.js +1 -1
- package/dist/twilight/{p-572be994.system.entry.js → p-00fea9e4.system.entry.js} +2 -2
- package/dist/twilight/p-05c5b251.js.map +1 -1
- package/dist/twilight/p-12acd128.js +5 -0
- package/dist/twilight/p-12acd128.js.map +1 -0
- package/dist/twilight/{p-900b41fb.entry.js → p-22c5fed4.entry.js} +2 -2
- package/dist/twilight/{p-900b41fb.entry.js.map → p-22c5fed4.entry.js.map} +1 -1
- package/dist/twilight/{p-6e0a235a.entry.js → p-29bb96eb.entry.js} +2 -2
- package/dist/twilight/{p-c8f14d8f.system.entry.js → p-2a65790e.system.entry.js} +2 -2
- package/dist/twilight/{p-012877f7.system.entry.js → p-31f62211.system.entry.js} +2 -2
- package/dist/twilight/p-3e698672.system.js.map +1 -1
- package/dist/twilight/{p-346b1d3f.system.entry.js → p-672e2d86.system.entry.js} +2 -2
- package/dist/twilight/p-7c8ac4aa.system.js +5 -0
- package/dist/twilight/p-7c8ac4aa.system.js.map +1 -0
- package/dist/twilight/{p-5f689d13.entry.js → p-8a1d8623.entry.js} +2 -2
- package/dist/twilight/{p-f07ec02a.entry.js → p-a0138c35.entry.js} +2 -2
- package/dist/twilight/{p-4bc35b2b.system.entry.js → p-a24650b3.system.entry.js} +2 -2
- package/dist/twilight/{p-f0bfbb14.system.entry.js → p-acdf56d4.system.entry.js} +2 -2
- package/dist/twilight/{p-f0bfbb14.system.entry.js.map → p-acdf56d4.system.entry.js.map} +1 -1
- package/dist/twilight/{p-1dcd7c3b.entry.js → p-b5c29a36.entry.js} +2 -2
- package/dist/twilight/{p-dc21b7de.entry.js → p-c3d862f6.entry.js} +2 -2
- package/dist/twilight/p-d2b0dbcd.system.js +1 -1
- package/dist/twilight/{p-24062fa1.system.entry.js → p-de44d734.system.entry.js} +2 -2
- package/dist/twilight/{p-e0b02e94.entry.js → p-f803b45f.entry.js} +2 -2
- package/dist/twilight/twilight.esm.js +1 -1
- package/package.json +5 -5
- package/dist/cjs/Helper-8b706e72.js.map +0 -1
- package/dist/esm/Helper-c5b72361.js.map +0 -1
- package/dist/esm-es5/Helper-c5b72361.js +0 -5
- package/dist/esm-es5/Helper-c5b72361.js.map +0 -1
- package/dist/twilight/p-9776f50d.system.js +0 -5
- package/dist/twilight/p-9776f50d.system.js.map +0 -1
- package/dist/twilight/p-b9c0ec80.js +0 -5
- package/dist/twilight/p-b9c0ec80.js.map +0 -1
- /package/dist/twilight/{p-572be994.system.entry.js.map → p-00fea9e4.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-6e0a235a.entry.js.map → p-29bb96eb.entry.js.map} +0 -0
- /package/dist/twilight/{p-c8f14d8f.system.entry.js.map → p-2a65790e.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-012877f7.system.entry.js.map → p-31f62211.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-346b1d3f.system.entry.js.map → p-672e2d86.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-5f689d13.entry.js.map → p-8a1d8623.entry.js.map} +0 -0
- /package/dist/twilight/{p-f07ec02a.entry.js.map → p-a0138c35.entry.js.map} +0 -0
- /package/dist/twilight/{p-4bc35b2b.system.entry.js.map → p-a24650b3.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-1dcd7c3b.entry.js.map → p-b5c29a36.entry.js.map} +0 -0
- /package/dist/twilight/{p-dc21b7de.entry.js.map → p-c3d862f6.entry.js.map} +0 -0
- /package/dist/twilight/{p-24062fa1.system.entry.js.map → p-de44d734.system.entry.js.map} +0 -0
- /package/dist/twilight/{p-e0b02e94.entry.js.map → p-f803b45f.entry.js.map} +0 -0
|
@@ -142,8 +142,10 @@ class Helper {
|
|
|
142
142
|
return response;
|
|
143
143
|
}
|
|
144
144
|
return salla.api.metadata.fetchValues('product', productIds)
|
|
145
|
+
.then(({ data }) => response.data.map(product => {
|
|
145
146
|
//@ts-ignore
|
|
146
|
-
|
|
147
|
+
product['metadata'] = data.find(meta => parseInt(meta.entity_id) === parseInt(product.id));
|
|
148
|
+
}))
|
|
147
149
|
.then(() => response);
|
|
148
150
|
});
|
|
149
151
|
}
|
|
@@ -364,4 +366,4 @@ const Helper$1 = new Helper;
|
|
|
364
366
|
|
|
365
367
|
exports.Helper = Helper$1;
|
|
366
368
|
|
|
367
|
-
//# sourceMappingURL=Helper-
|
|
369
|
+
//# sourceMappingURL=Helper-56efb09e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"Helper-56efb09e.js","mappings":"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","names":["anime"],"sources":["src/Helpers/Helper.ts"],"sourcesContent":["import { ProductDetail } from \"@salla.sa/twilight/types/api/product\";\nimport { Review } from \"../../src/components/salla-reviews/interfaces\";\nimport { Product as SallaProduct } from \"@salla.sa/twilight/types/common\";\nimport { ListItem, ItemList, Product as SchemaProduct, WithContext } from 'schema-dts';\nimport { Product } from '@salla.sa/twilight/types/common';\nimport anime from 'animejs';\n\n//TODO::reduce it to 10\nsalla.event.setMaxListeners(100);\n\nclass Helper {\n private debounce_: any;\n private includes;\n\n setIncludes(includes:string[]){\n this.includes = includes;\n return this;\n }\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 'customer.wishlist': 'wishlist',\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\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 extractFiltersFromUrl(searchParams) {\n let filters = {};\n searchParams.forEach((value, key) => {\n // Handle filters[xxx] format\n const matchesNested = key.match(/^filters\\[(.*?)\\](\\[(.*?)\\])?$/u);\n\n if (matchesNested) {\n const filterName = matchesNested[1];\n const nestedKey = matchesNested[3];\n\n if (nestedKey) {\n // Handle nested object\n filters[filterName] = filters[filterName] || {};\n filters[filterName][nestedKey] = value;\n } else {\n // Handle regular key\n filters[filterName] = value;\n }\n } else {\n // Handle simple key-value pairs\n const matchesSimple = key.match(/^(.*?)$/u);\n\n if (matchesSimple) {\n filters[matchesSimple[1]] = value;\n }\n }\n });\n return filters;\n }\n\n injectExtraFieldsToResponse( response: {data:Product[]}) {\n if (!response || !this.includes) return response;\n\n const productIds = response.data.map(product => product.id);\n\n return this.fetchImagesAndOptions(productIds)\n .then(({ data: product }) => this.injectOptionsAndImages(response.data, product))\n .then(() => {\n if(!this.includes.includes('metadata')){\n return response;\n }\n\n return salla.api.metadata.fetchValues('product', productIds)\n .then(({data}) => response.data.map(product => {\n //@ts-ignore\n product['metadata'] = data.find(meta => parseInt(meta.entity_id) === parseInt(product.id));\n }))\n .then(() => response);\n });\n }\n\n /**\n * This to make sure we will not request the options endpoint unless we have to.\n */\n fetchImagesAndOptions(productIds){\n return this.productsIncludes().length\n ? salla.api.product.fetchOptions(productIds, { with: this.productsIncludes() })\n : Promise.resolve({data:[]}); //fake the endpoint, to reduce unwanted query if developer wants metadata only\n }\n\n\n injectOptionsAndImages( productList: Product[], newData: Product[] ): Product[] {\n return newData.length\n ? productList.map(product => {\n this.includes\n .filter(field => field !== 'metadata')\n .forEach(field => {\n //@ts-ignore\n const foundProduct = newData.find((prod: Product) => parseInt(prod.id) === parseInt(product.id));\n product[field] = foundProduct ? foundProduct[field] : null; // Assign null or a default value if not found\n });\n return product;\n })\n :null;\n }\n\n productsIncludes(){\n return this.includes?.filter(field => field != 'metadata');\n }\n\n parseJson(includes: string | string[]): null | string[] {\n if (typeof includes !== 'string') {\n return includes;\n }\n try {\n return JSON.parse(includes);\n } catch (e) {\n salla.logger.error('Failed to parse includes as JSON:', e);\n }\n\n return null;\n }\n\n getProductSchemaMarkupScript(product: any): HTMLScriptElement {\n const scriptElement = document.createElement('script');\n scriptElement.type = 'application/ld+json';\n // TODO: This json object MIGHT need mode data or properties.\n const jsonData = {\n \"@context\": \"http://schema.org\",\n \"@type\": \"Product\",\n \"name\": product?.name,\n \"image\": product?.image?.url || product?.thumbnail,\n \"description\": product?.description,\n \"brand\": {\n \"@type\": \"Brand\",\n \"logo\": product?.brand?.logo\n },\n \"offers\": {\n \"@type\": \"Offer\",\n \"price\": product?.price\n }\n };\n scriptElement.text = JSON.stringify(jsonData);\n return scriptElement\n }\n\n createProductSchema(product: SallaProduct | ProductDetail, position: number): ListItem {\n let ProductSchema: SchemaProduct = {\n \"productID\": `${product.id}`,\n \"@type\": 'Product',\n \"name\": product.name,\n \"url\": product.url,\n \"image\": product.image.url || (product.image as string),\n \"description\": product.description || product.subtitle || product.name,\n \"offers\": {\n \"@type\": \"Offer\",\n \"url\": product.url,\n \"priceCurrency\": product.currency,\n \"price\": product.price,\n \"itemCondition\": \"NewCondition\",\n \"availability\": product.is_available ? \"InStock\" : \"OutOfStock\",\n //if there is no product.discount_ends, will set it to be valid until the end of this week\n \"priceValidUntil\": product.discount_ends || (new Date(new Date().setDate(new Date().getDate() + 7)).toISOString().split('T')[0]),\n \"priceSpecification\": {\n \"@type\": \"PriceSpecification\",\n \"price\": product.regular_price,\n \"priceCurrency\": product.currency,\n \"valueAddedTaxIncluded\": product.is_taxable,\n },\n \"seller\": {\n \"@type\": \"Organization\",\n \"name\": salla.config.get('store.name'),\n },\n }\n };\n //@ts-ignore\n if (product.rating?.stars) {\n ProductSchema.aggregateRating = {\n \"@type\": \"AggregateRating\",\n //@ts-ignore\n \"ratingValue\": product.rating.stars,\n \"reviewCount\": product.rating.count,\n };\n }\n\n\n return {\n \"@type\": \"ListItem\",\n \"position\": position,\n \"item\": ProductSchema,\n\n };\n }\n \n generateProductSchema(productList: Array<SallaProduct | ProductDetail>) {\n const schemaId = 'salla-product-schema-script';\n if (document.getElementById(schemaId)) {\n salla.logger.warn(`already added schema-script with id (${schemaId})!`)\n return;\n }\n\n const script = document.createElement('script');\n script.type = 'application/ld+json';\n script.id = schemaId;\n\n\n const schema: WithContext<ItemList> = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"ItemList\",\n \"name\": salla.config.get('page.title'),\n \"itemListElement\": productList.map((product, indxe) => this.createProductSchema(product, indxe + 1)),\n };\n\n script.textContent = JSON.stringify(schema);\n document.head.appendChild(script);\n }\n\n /**\n * Format date in the form of `Monday 13 November 2023`\n */\n formatDateFromString(dateString: string, numberCb: Function, lang: string = 'en'): string {\n const dateObject = new Date(dateString);\n\n const errors = {\n en: \"Invalid Date\",\n ar: \"تاريخ غير صالح\"\n }\n\n if (isNaN(dateObject.getTime())) {\n return errors[lang];\n }\n\n const daysOfWeek = {\n en: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n ar: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت']\n };\n const months = {\n en: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n ar: ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']\n };\n\n const dayOfWeek = daysOfWeek[lang][dateObject.getDay()];\n const dayOfMonth = numberCb(dateObject.getDate(), lang === 'en');\n const month = months[lang][dateObject.getMonth()];\n const year = numberCb(dateObject.getFullYear(), lang === 'en');\n\n return `${dayOfWeek} ${dayOfMonth} ${month} ${year}`;\n }\n\n /**\n * Copy text into clipboard.\n * @param event \n */\n copyToClipboard(event) {\n // Get the text content from the clicked div\n var textToCopy = event.target.innerText;\n\n // Use the Clipboard API to copy text to the clipboard\n navigator.clipboard.writeText(textToCopy)\n .then(() => {\n console.log('Text copied to clipboard: ' + textToCopy);\n })\n .catch(err => {\n console.error('Unable to copy text to clipboard', err);\n });\n\n }\n\n animateItems(items: NodeListOf<Element>) {\n if (!items) return;\n anime({\n targets: items,\n opacity: [0, 1],\n duration: 1200,\n translateY: [20, 0],\n delay: function (_el, i) {\n return i * 100;\n },\n easing: 'easeOutExpo',\n complete: function (_anim) {\n items.forEach((item: Element) => {\n item.classList.add('animated');\n })\n }\n\n })\n }\n\n createReviewObject(reviewData: Review) {\n return {\n \"@type\": \"Review\",\n \"author\": reviewData.name,\n \"datePublished\": reviewData.date * 1000,\n \"description\": reviewData.content,\n \"reviewRating\": {\n \"@type\": \"Rating\",\n \"bestRating\": \"5\",\n \"ratingValue\": \"5\",\n \"worstRating\": \"1\"\n }\n };\n }\n\n generateReviewSchema(reviews: Array<Review>){\n const script = document.createElement('script');\n script.type = 'application/ld+json';\n\n\n const schema = {\n \"@context\": \"http://schema.org/\",\n \"@type\": \"CollectionPage\",\n \"name\": \"Category Name\", // TODO: check for the correct value here\n \"description\": \"Description of the category\", // TODO: here too\n \"review\": reviews.map((review) => this.createReviewObject(review))\n }\n\n script.textContent = JSON.stringify(schema);\n document.head.appendChild(script);\n }\n}\n\nexport default new Helper;\n"],"version":3}
|