@salla.sa/twilight-components 2.13.93 → 2.13.94

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 (42) hide show
  1. package/dist/cjs/app-globals-c5340b59.js.map +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/salla-add-product-button_48.cjs.entry.js.map +1 -1
  4. package/dist/cjs/salla-metadata.cjs.entry.js +19 -5
  5. package/dist/cjs/salla-metadata.cjs.entry.js.map +1 -1
  6. package/dist/cjs/twilight.cjs.js +1 -1
  7. package/dist/collection/components/salla-metadata/salla-metadata.js +22 -8
  8. package/dist/collection/components/salla-metadata/salla-metadata.js.map +1 -1
  9. package/dist/components/index.js.map +1 -1
  10. package/dist/components/salla-metadata.js +20 -6
  11. package/dist/components/salla-metadata.js.map +1 -1
  12. package/dist/components/salla-quick-buy2.js.map +1 -1
  13. package/dist/esm/app-globals-0280e1d0.js.map +1 -1
  14. package/dist/esm/loader.js +1 -1
  15. package/dist/esm/salla-add-product-button_48.entry.js.map +1 -1
  16. package/dist/esm/salla-metadata.entry.js +19 -5
  17. package/dist/esm/salla-metadata.entry.js.map +1 -1
  18. package/dist/esm/twilight.js +1 -1
  19. package/dist/esm-es5/app-globals-0280e1d0.js.map +1 -1
  20. package/dist/esm-es5/loader.js +1 -1
  21. package/dist/esm-es5/salla-add-product-button_48.entry.js.map +1 -1
  22. package/dist/esm-es5/salla-metadata.entry.js +1 -1
  23. package/dist/esm-es5/salla-metadata.entry.js.map +1 -1
  24. package/dist/esm-es5/twilight.js +1 -1
  25. package/dist/twilight/p-4a9df09e.js.map +1 -1
  26. package/dist/twilight/p-4c2194e3.system.js.map +1 -1
  27. package/dist/twilight/p-54e1a882.system.js +1 -1
  28. package/dist/twilight/p-903962d6.system.entry.js.map +1 -1
  29. package/dist/twilight/p-c59441ec.entry.js +5 -0
  30. package/dist/twilight/p-c59441ec.entry.js.map +1 -0
  31. package/dist/twilight/p-c612fde8.entry.js.map +1 -1
  32. package/dist/twilight/p-eb2edde3.system.entry.js +5 -0
  33. package/dist/twilight/p-eb2edde3.system.entry.js.map +1 -0
  34. package/dist/twilight/twilight.esm.js +1 -1
  35. package/dist/types/components/salla-metadata/salla-metadata.d.ts +2 -1
  36. package/dist/types/components.d.ts +2 -2
  37. package/package.json +5 -5
  38. package/dist/twilight/p-81b169bc.system.entry.js +0 -5
  39. package/dist/twilight/p-81b169bc.system.entry.js.map +0 -1
  40. package/dist/twilight/p-d3b196a8.entry.js +0 -5
  41. package/dist/twilight/p-d3b196a8.entry.js.map +0 -1
  42. package/dist/types/global.d.ts +0 -20
@@ -13,6 +13,17 @@ const SallaMetadata$1 = /*@__PURE__*/ proxyCustomElement(class SallaMetadata ext
13
13
  this.entityId = undefined;
14
14
  this.specs = [];
15
15
  this.download = salla.lang.get('pages.thank_you.download');
16
+ if (this.entityId) {
17
+ try {
18
+ this.entityId = Array.isArray(this.entityId)
19
+ ? this.entityId
20
+ : JSON.parse(this.entityId);
21
+ return;
22
+ }
23
+ catch (e) {
24
+ salla.log('Bad json passed via entityId prop');
25
+ }
26
+ }
16
27
  }
17
28
  getValue(field) {
18
29
  if (field.type === 'file') {
@@ -29,7 +40,7 @@ const SallaMetadata$1 = /*@__PURE__*/ proxyCustomElement(class SallaMetadata ext
29
40
  return field.value;
30
41
  }
31
42
  componentWillLoad() {
32
- return (new Promise(resolve => salla.onReady(resolve)))
43
+ return new Promise(resolve => salla.onReady(resolve))
33
44
  .then(() => {
34
45
  if (!this.entityId && salla.url.is_page('product.single')) {
35
46
  this.entityId = salla.config.get('page.id');
@@ -37,11 +48,14 @@ const SallaMetadata$1 = /*@__PURE__*/ proxyCustomElement(class SallaMetadata ext
37
48
  if (!this.entityId) {
38
49
  throw new Error("can't render salla-metadata without enity-id prop!");
39
50
  }
40
- salla.lang.onLoaded(() => this.download = salla.lang.get('pages.thank_you.download'));
51
+ salla.lang.onLoaded(() => (this.download = salla.lang.get('pages.thank_you.download')));
41
52
  //todo:: check in graylog, if there is too many requests for same users, let's store it in the session storage for 15 minutes same as the offers
42
- return salla.api.request(`https://api.salla.dev/store/v1/metadata/${this.entity}/${this.entityId}`).then(response => response.data);
53
+ const entityIdsArray = Array.isArray(this.entityId) ? this.entityId : [this.entityId];
54
+ const entitiesParam = entityIdsArray.map(id => `entities[]=${id}`).join('&');
55
+ const url = `https://api.salla.dev/store/v1/metadata/values?type=${this.entity}&${entitiesParam}`;
56
+ return salla.api.request(url).then(response => { var _a; return (_a = response.data[0]) === null || _a === void 0 ? void 0 : _a.sections; });
43
57
  })
44
- .then(specs => this.specs = specs)
58
+ .then(specs => (this.specs = specs))
45
59
  .catch(error => salla.logger.error('Error loading more specs:', error));
46
60
  }
47
61
  render() {
@@ -50,7 +64,7 @@ const SallaMetadata$1 = /*@__PURE__*/ proxyCustomElement(class SallaMetadata ext
50
64
  }
51
65
  return (h(Host, { class: "s-metadata-wrapper" }, this.specs.map((item) => {
52
66
  return (h("div", { class: "s-metadata-box" }, h("div", { class: "s-metadata-box-header" }, h("i", { class: "sicon-list" }), item.name), item.fields.map((field) => {
53
- return h("div", { class: "s-metadata-row" }, h("p", { class: "s-metadata-row-name" }, field.name), h("p", { class: "s-metadata-row-value", innerHTML: this.getValue(field) }));
67
+ return (h("div", { class: "s-metadata-row" }, h("p", { class: "s-metadata-row-name" }, field.name), h("p", { class: "s-metadata-row-value", innerHTML: this.getValue(field) })));
54
68
  })));
55
69
  })));
56
70
  }
@@ -58,7 +72,7 @@ const SallaMetadata$1 = /*@__PURE__*/ proxyCustomElement(class SallaMetadata ext
58
72
  static get style() { return sallaMetadataCss; }
59
73
  }, [0, "salla-metadata", {
60
74
  "entity": [1],
61
- "entityId": [2, "entity-id"],
75
+ "entityId": [8, "entity-id"],
62
76
  "specs": [32],
63
77
  "download": [32]
64
78
  }]);
@@ -1 +1 @@
1
- {"file":"salla-metadata.js","mappings":";;;;;AAAA,MAAM,gBAAgB,GAAG,EAAE;;MCMdA,eAAa;;;;kBAMC,SAAS;;iBAOR,EAAE;oBACA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;;EAE9D,QAAQ,CAAC,KAAY;IAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;MACzB,OAAO,YAAY,KAAK,CAAC,KAAK,+EAA+E,IAAI,CAAC,QAAQ,MAAM,CAAC;KAClI;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;MACxB,OAAO,YAAY,KAAK,CAAC,KAAK,qDAAqD,KAAK,CAAC,KAAK,MAAM,CAAC;KACtG;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;MACzB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;MACnC,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;MACvF,OAAO,aAAa,CAAC;KACtB;IACD,OAAO,KAAK,CAAC,KAAK,CAAC;GACpB;EAGD,iBAAiB;IACf,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;OACnD,IAAI,CAAC;MACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACzD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;OAC7C;MACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;OACvE;MACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;;MAEtF,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,2CAA2C,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;KACpI,CAAC;OACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;OACjC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC,CAAC;GAC3E;EACD,MAAM;IACJ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;MACtB,OAAO;KACR;IACD,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,oBAAoB,IAE7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAW;MAC1B,QACE,WAAK,KAAK,EAAC,gBAAgB,IACzB,WAAK,KAAK,EAAC,uBAAuB,IAChC,SAAG,KAAK,EAAC,YAAY,GAAK,EACzB,IAAI,CAAC,IAAI,CACN,EAEL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAY;QAC5B,OAAO,WAAK,KAAK,EAAC,gBAAgB,IAChC,SAAG,KAAK,EAAC,qBAAqB,IAAE,KAAK,CAAC,IAAI,CAAK,EAC/C,SAAG,KAAK,EAAC,sBAAsB,EAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAQ,GAAM,CACxE,CAAA;OACP,CAAC,CACE,EACP;KACF,CAAC,CACG,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SallaMetadata"],"sources":["src/components/salla-metadata/salla-metadata.scss?tag=salla-metadata","src/components/salla-metadata/salla-metadata.tsx"],"sourcesContent":["","import { Component, Host, h, Element, Prop, State } from '@stencil/core';\nimport { Field, Specs } from './interfaces'\n@Component({\n tag: 'salla-metadata',\n styleUrl: 'salla-metadata.scss',\n})\nexport class SallaMetadata {\n @Element() host: HTMLElement;\n\n /**\n * The entity type.\n */\n @Prop() entity: string = 'product';\n\n /**\n * The id of the product/the endity to which the specs are going to be fetched for.\n */\n @Prop() entityId: number;\n\n @State() specs: Specs[] = [];\n @State() download: string = salla.lang.get('pages.thank_you.download');\n\n private getValue(field: Field) {\n if (field.type === 'file') {\n return `<a href=\"${field.value}\" class=\"text-primary\" target=\"_blank\"><span class=\"sicon-download\"></span> ${this.download}</a>`;\n }\n if (field.type === 'url') {\n return `<a href=\"${field.value}\" class=\"text-blue-700 underline\" target=\"_blank\">${field.value}</a>`; // classes will be moved to the utilities.json file\n }\n if (field.type === 'date') {\n const date = new Date(field.value);\n const formattedDate = `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;\n return formattedDate;\n }\n return field.value;\n }\n\n\n componentWillLoad() {\n return (new Promise(resolve => salla.onReady(resolve)))\n .then(() => {\n if (!this.entityId && salla.url.is_page('product.single')) {\n this.entityId = salla.config.get('page.id');\n }\n if (!this.entityId) {\n throw new Error(\"can't render salla-metadata without enity-id prop!\");\n }\n salla.lang.onLoaded(() => this.download = salla.lang.get('pages.thank_you.download'));\n //todo:: check in graylog, if there is too many requests for same users, let's store it in the session storage for 15 minutes same as the offers\n return salla.api.request(`https://api.salla.dev/store/v1/metadata/${this.entity}/${this.entityId}`).then(response => response.data)\n })\n .then(specs => this.specs = specs)\n .catch(error => salla.logger.error('Error loading more specs:', error));\n }\n render() {\n if (!this.specs.length) {\n return;\n }\n return (\n <Host class=\"s-metadata-wrapper\">\n\n {this.specs.map((item: Specs) => {\n return (\n <div class=\"s-metadata-box\">\n <div class=\"s-metadata-box-header\">\n <i class=\"sicon-list\"></i>\n {item.name}\n </div>\n\n {item.fields.map((field: Field) => {\n return <div class=\"s-metadata-row\">\n <p class=\"s-metadata-row-name\">{field.name}</p>\n <p class=\"s-metadata-row-value\" innerHTML={this.getValue(field) as any}></p>\n </div>\n })}\n </div>\n )\n })}\n </Host>\n );\n }\n\n}\n"],"version":3}
1
+ {"file":"salla-metadata.js","mappings":"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","names":["SallaMetadata"],"sources":["src/components/salla-metadata/salla-metadata.scss?tag=salla-metadata","src/components/salla-metadata/salla-metadata.tsx"],"sourcesContent":["","import { Component, Host, h, Element, Prop, State } from '@stencil/core';\nimport { Field, Specs } from './interfaces';\n\n@Component({\n tag: 'salla-metadata',\n styleUrl: 'salla-metadata.scss',\n})\nexport class SallaMetadata {\n constructor() {\n if (this.entityId) {\n try {\n this.entityId = Array.isArray(this.entityId)\n ? this.entityId\n : JSON.parse(this.entityId as string);\n return;\n } catch (e) {\n salla.log('Bad json passed via entityId prop');\n }\n }\n }\n\n @Element() host: HTMLElement;\n\n /**\n * The entity type.\n */\n @Prop() entity: string = 'product';\n\n /**\n * The id of the product/the endity to which the specs are going to be fetched for.\n */\n @Prop() entityId: number | number[] | string;\n\n @State() specs: Specs[] = [];\n @State() download: string = salla.lang.get('pages.thank_you.download');\n\n private getValue(field: Field) {\n if (field.type === 'file') {\n return `<a href=\"${field.value}\" class=\"text-primary\" target=\"_blank\"><span class=\"sicon-download\"></span> ${this.download}</a>`;\n }\n if (field.type === 'url') {\n return `<a href=\"${field.value}\" class=\"text-blue-700 underline\" target=\"_blank\">${field.value}</a>`; // classes will be moved to the utilities.json file\n }\n if (field.type === 'date') {\n const date = new Date(field.value);\n const formattedDate = `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;\n return formattedDate;\n }\n return field.value;\n }\n\n componentWillLoad() {\n return new Promise(resolve => salla.onReady(resolve))\n .then(() => {\n if (!this.entityId && salla.url.is_page('product.single')) {\n this.entityId = salla.config.get('page.id');\n }\n if (!this.entityId) {\n throw new Error(\"can't render salla-metadata without enity-id prop!\");\n }\n salla.lang.onLoaded(() => (this.download = salla.lang.get('pages.thank_you.download')));\n //todo:: check in graylog, if there is too many requests for same users, let's store it in the session storage for 15 minutes same as the offers\n const entityIdsArray = Array.isArray(this.entityId) ? this.entityId : [this.entityId];\n const entitiesParam = entityIdsArray.map(id => `entities[]=${id}`).join('&');\n const url = `https://api.salla.dev/store/v1/metadata/values?type=${this.entity}&${entitiesParam}`;\n return salla.api.request(url).then(response => response.data[0]?.sections);\n })\n .then(specs => (this.specs = specs))\n .catch(error => salla.logger.error('Error loading more specs:', error));\n }\n render() {\n if (!this.specs.length) {\n return;\n }\n return (\n <Host class=\"s-metadata-wrapper\">\n {this.specs.map((item: Specs) => {\n return (\n <div class=\"s-metadata-box\">\n <div class=\"s-metadata-box-header\">\n <i class=\"sicon-list\"></i>\n {item.name}\n </div>\n\n {item.fields.map((field: Field) => {\n return (\n <div class=\"s-metadata-row\">\n <p class=\"s-metadata-row-name\">{field.name}</p>\n <p class=\"s-metadata-row-value\" innerHTML={this.getValue(field) as any}></p>\n </div>\n );\n })}\n </div>\n );\n })}\n </Host>\n );\n }\n}\n"],"version":3}