@salla.sa/twilight-components 2.14.297 → 2.14.298

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 (144) hide show
  1. package/dist/cjs/{filepond-B40UxVrp.js → filepond-Dn-jnnWy.js} +1 -1
  2. package/dist/cjs/{filepond-plugin-file-poster-BJ2is-CR.js → filepond-plugin-file-poster-4K4RC5sx.js} +1 -1
  3. package/dist/cjs/{filepond-plugin-file-validate-size-jaoaOCNL.js → filepond-plugin-file-validate-size-B85pytvJ.js} +1 -1
  4. package/dist/cjs/{filepond-plugin-file-validate-type-CjxCZWaY.js → filepond-plugin-file-validate-type-vWh-hrFq.js} +1 -1
  5. package/dist/cjs/{filepond-plugin-image-edit-JEKYuBL0.js → filepond-plugin-image-edit-B3-_-hIs.js} +1 -1
  6. package/dist/cjs/{filepond-plugin-image-exif-orientation-DmK-aAfe.js → filepond-plugin-image-exif-orientation-Cbkb7_k1.js} +1 -1
  7. package/dist/cjs/{filepond-plugin-image-preview-BZxhd7ci.js → filepond-plugin-image-preview-CqcNMHtt.js} +1 -1
  8. package/dist/cjs/{index-Bc1Blm9E.js → index-DENUwtYT.js} +2 -2
  9. package/dist/cjs/{index-CYgngxgk.js → index-Z2nWod3c.js} +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/salla-accordion_62.cjs.entry.js +25 -22
  12. package/dist/cjs/salla-advertisement.cjs.entry.js +28 -6
  13. package/dist/cjs/salla-app-install-alert.cjs.entry.js +1 -1
  14. package/dist/cjs/salla-apps-icons.cjs.entry.js +1 -1
  15. package/dist/cjs/salla-cart-item-offers.cjs.entry.js +1 -1
  16. package/dist/cjs/salla-conditional-offer.cjs.entry.js +1 -1
  17. package/dist/cjs/salla-contacts.cjs.entry.js +1 -1
  18. package/dist/cjs/salla-custom-fields.cjs.entry.js +1 -1
  19. package/dist/cjs/salla-filters-widget.cjs.entry.js +1 -1
  20. package/dist/cjs/salla-filters.cjs.entry.js +1 -1
  21. package/dist/cjs/salla-installment.cjs.entry.js +1 -1
  22. package/dist/cjs/salla-loyalty-prize-item.cjs.entry.js +1 -1
  23. package/dist/cjs/salla-loyalty-program.cjs.entry.js +1 -1
  24. package/dist/cjs/salla-metadata.cjs.entry.js +1 -1
  25. package/dist/cjs/salla-notification-item.cjs.entry.js +1 -1
  26. package/dist/cjs/salla-notifications.cjs.entry.js +1 -1
  27. package/dist/cjs/salla-offer.cjs.entry.js +1 -1
  28. package/dist/cjs/salla-order-details-multiple-bundle-product.cjs.entry.js +1 -1
  29. package/dist/cjs/salla-order-details-options.cjs.entry.js +1 -1
  30. package/dist/cjs/salla-order-details.cjs.entry.js +1 -1
  31. package/dist/cjs/salla-order-summary.cjs.entry.js +1 -1
  32. package/dist/cjs/salla-order-totals-card.cjs.entry.js +1 -1
  33. package/dist/cjs/salla-orders.cjs.entry.js +1 -1
  34. package/dist/cjs/salla-payments.cjs.entry.js +1 -1
  35. package/dist/cjs/salla-price-range.cjs.entry.js +1 -1
  36. package/dist/cjs/salla-review-card.cjs.entry.js +1 -1
  37. package/dist/cjs/salla-reviews-page.cjs.entry.js +1 -1
  38. package/dist/cjs/salla-reviews.cjs.entry.js +1 -1
  39. package/dist/cjs/salla-social.cjs.entry.js +1 -1
  40. package/dist/cjs/salla-tiered-offer.cjs.entry.js +1 -1
  41. package/dist/cjs/salla-tooltip.cjs.entry.js +1 -1
  42. package/dist/cjs/salla-trust-badges.cjs.entry.js +1 -1
  43. package/dist/cjs/salla-verify.cjs.entry.js +1 -1
  44. package/dist/cjs/salla-wallet.cjs.entry.js +1 -1
  45. package/dist/cjs/twilight.cjs.js +1 -1
  46. package/dist/collection/components/salla-advertisement/salla-advertisement.js +27 -5
  47. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-details.js +4 -4
  48. package/dist/collection/components/salla-multiple-bundle-product/components/salla-multiple-bundle-product-slider.js +12 -9
  49. package/dist/components/index.js +2 -2
  50. package/dist/components/salla-advertisement.js +27 -5
  51. package/dist/components/salla-multiple-bundle-product-details2.js +4 -4
  52. package/dist/components/salla-multiple-bundle-product-slider2.js +12 -9
  53. package/dist/esm/{filepond-plugin-file-poster-CYvspSki.js → filepond-plugin-file-poster-CAkqJrqM.js} +1 -1
  54. package/dist/esm/{filepond-plugin-file-validate-size-Cf09KKtA.js → filepond-plugin-file-validate-size-lHUJVKW0.js} +1 -1
  55. package/dist/esm/{filepond-plugin-file-validate-type-ByZikBAG.js → filepond-plugin-file-validate-type-FHDAVW2X.js} +1 -1
  56. package/dist/esm/{filepond-plugin-image-edit-DbT6_H2k.js → filepond-plugin-image-edit-drdbdxxE.js} +1 -1
  57. package/dist/esm/{filepond-plugin-image-exif-orientation-BhEk_QOu.js → filepond-plugin-image-exif-orientation-Kqs0PJBo.js} +1 -1
  58. package/dist/esm/{filepond-plugin-image-preview-Bsa9hzKo.js → filepond-plugin-image-preview-BZGs88rC.js} +1 -1
  59. package/dist/esm/{filepond-DjIxwPi0.js → filepond-q8kfR-qI.js} +1 -1
  60. package/dist/esm/{index-D8Ikl-5X.js → index-Bh2SK07N.js} +2 -2
  61. package/dist/esm/{index-CYhDRQ7q.js → index-CPlWMNOm.js} +1 -1
  62. package/dist/esm/loader.js +2 -2
  63. package/dist/esm/salla-accordion_62.entry.js +25 -22
  64. package/dist/esm/salla-advertisement.entry.js +28 -6
  65. package/dist/esm/salla-app-install-alert.entry.js +1 -1
  66. package/dist/esm/salla-apps-icons.entry.js +1 -1
  67. package/dist/esm/salla-cart-item-offers.entry.js +1 -1
  68. package/dist/esm/salla-conditional-offer.entry.js +1 -1
  69. package/dist/esm/salla-contacts.entry.js +1 -1
  70. package/dist/esm/salla-custom-fields.entry.js +1 -1
  71. package/dist/esm/salla-filters-widget.entry.js +1 -1
  72. package/dist/esm/salla-filters.entry.js +1 -1
  73. package/dist/esm/salla-installment.entry.js +1 -1
  74. package/dist/esm/salla-loyalty-prize-item.entry.js +1 -1
  75. package/dist/esm/salla-loyalty-program.entry.js +1 -1
  76. package/dist/esm/salla-metadata.entry.js +1 -1
  77. package/dist/esm/salla-notification-item.entry.js +1 -1
  78. package/dist/esm/salla-notifications.entry.js +1 -1
  79. package/dist/esm/salla-offer.entry.js +1 -1
  80. package/dist/esm/salla-order-details-multiple-bundle-product.entry.js +1 -1
  81. package/dist/esm/salla-order-details-options.entry.js +1 -1
  82. package/dist/esm/salla-order-details.entry.js +1 -1
  83. package/dist/esm/salla-order-summary.entry.js +1 -1
  84. package/dist/esm/salla-order-totals-card.entry.js +1 -1
  85. package/dist/esm/salla-orders.entry.js +1 -1
  86. package/dist/esm/salla-payments.entry.js +1 -1
  87. package/dist/esm/salla-price-range.entry.js +1 -1
  88. package/dist/esm/salla-review-card.entry.js +1 -1
  89. package/dist/esm/salla-reviews-page.entry.js +1 -1
  90. package/dist/esm/salla-reviews.entry.js +1 -1
  91. package/dist/esm/salla-social.entry.js +1 -1
  92. package/dist/esm/salla-tiered-offer.entry.js +1 -1
  93. package/dist/esm/salla-tooltip.entry.js +1 -1
  94. package/dist/esm/salla-trust-badges.entry.js +1 -1
  95. package/dist/esm/salla-verify.entry.js +1 -1
  96. package/dist/esm/salla-wallet.entry.js +1 -1
  97. package/dist/esm/twilight.js +2 -2
  98. package/dist/twilight/{p-f0267809.entry.js → p-0d04ca56.entry.js} +1 -1
  99. package/dist/twilight/{p-407a5e84.entry.js → p-11d325ba.entry.js} +1 -1
  100. package/dist/twilight/{p-87c26055.entry.js → p-1863db37.entry.js} +1 -1
  101. package/dist/twilight/{p-60a1cceb.entry.js → p-3f62e05b.entry.js} +1 -1
  102. package/dist/twilight/{p-ade5c1b4.entry.js → p-4c74e526.entry.js} +1 -1
  103. package/dist/twilight/{p-c0804853.entry.js → p-4df42ff8.entry.js} +1 -1
  104. package/dist/twilight/{p-e7b610b8.entry.js → p-5460b611.entry.js} +2 -2
  105. package/dist/twilight/{p-f8beff97.entry.js → p-5789243f.entry.js} +1 -1
  106. package/dist/twilight/{p-067eafaf.entry.js → p-5981c13b.entry.js} +1 -1
  107. package/dist/twilight/{p-199025a7.entry.js → p-5f46651c.entry.js} +1 -1
  108. package/dist/twilight/{p-9bb74d00.entry.js → p-5f815dc4.entry.js} +1 -1
  109. package/dist/twilight/{p-03907a0b.entry.js → p-62fd72e0.entry.js} +1 -1
  110. package/dist/twilight/{p-8713ed50.entry.js → p-6891ae55.entry.js} +1 -1
  111. package/dist/twilight/{p-e82e0803.entry.js → p-7d3b2c8d.entry.js} +1 -1
  112. package/dist/twilight/{p-3fe694f7.entry.js → p-842debd3.entry.js} +1 -1
  113. package/dist/twilight/{p-747b3306.entry.js → p-85d168c9.entry.js} +1 -1
  114. package/dist/twilight/{p-62b33ee4.entry.js → p-8d246fcd.entry.js} +1 -1
  115. package/dist/twilight/{p-37249106.entry.js → p-8f481f80.entry.js} +1 -1
  116. package/dist/twilight/{p-243e9c31.entry.js → p-99b49b76.entry.js} +1 -1
  117. package/dist/twilight/{p-ecdb32fb.entry.js → p-9d46ba91.entry.js} +1 -1
  118. package/dist/twilight/{p-DQJu53PU.js → p-B0jU8m7y.js} +1 -1
  119. package/dist/twilight/{p-CYIyfWLw.js → p-BLPRGu3L.js} +1 -1
  120. package/dist/twilight/{p-CFX5Won9.js → p-BcA-Dpxf.js} +1 -1
  121. package/dist/twilight/{p-D8Ikl-5X.js → p-Bh2SK07N.js} +1 -1
  122. package/dist/twilight/{p-BdPzpmIq.js → p-CtJEHiDh.js} +1 -1
  123. package/dist/twilight/{p-BENXSP8S.js → p-DFYs0E0K.js} +1 -1
  124. package/dist/twilight/{p-D7xuopBR.js → p-DykGR1vx.js} +1 -1
  125. package/dist/twilight/{p-CdhBe5Fz.js → p-HMoEZhqa.js} +1 -1
  126. package/dist/twilight/{p-60aa330e.entry.js → p-af92eed9.entry.js} +1 -1
  127. package/dist/twilight/{p-5fe10b3f.entry.js → p-b2548a59.entry.js} +1 -1
  128. package/dist/twilight/{p-66ccff79.entry.js → p-b2ab5fcc.entry.js} +1 -1
  129. package/dist/twilight/{p-26c2b559.entry.js → p-b4127acc.entry.js} +1 -1
  130. package/dist/twilight/{p-6781caef.entry.js → p-c31e0731.entry.js} +1 -1
  131. package/dist/twilight/{p-28eae4bb.entry.js → p-c69d87e4.entry.js} +1 -1
  132. package/dist/twilight/{p-3f2a0489.entry.js → p-ccfd9c1e.entry.js} +1 -1
  133. package/dist/twilight/{p-a608994f.entry.js → p-cef92263.entry.js} +1 -1
  134. package/dist/twilight/p-d6c99665.entry.js +4 -0
  135. package/dist/twilight/{p-f30f7e03.entry.js → p-dbce8093.entry.js} +1 -1
  136. package/dist/twilight/{p-00042305.entry.js → p-de903389.entry.js} +1 -1
  137. package/dist/twilight/{p-3d7b61c6.entry.js → p-e23f38dc.entry.js} +1 -1
  138. package/dist/twilight/{p-dded0945.entry.js → p-e584c46f.entry.js} +1 -1
  139. package/dist/twilight/{p-4713b2c5.entry.js → p-ecddf6ff.entry.js} +1 -1
  140. package/dist/twilight/{p-fl5mSXGV.js → p-sK70mswA.js} +1 -1
  141. package/dist/twilight/twilight.esm.js +1 -1
  142. package/dist/types/components/salla-advertisement/salla-advertisement.d.ts +1 -1
  143. package/package.json +5 -5
  144. package/dist/twilight/p-2a59b701.entry.js +0 -4
@@ -26,6 +26,10 @@ const SallaAdvertisement$1 = /*@__PURE__*/ proxyCustomElement(class SallaAdverti
26
26
  * @returns True if the advertisement is not visible, false otherwise.
27
27
  */
28
28
  isNotVisible(advert) {
29
+ const isPreview = salla.config.isDebug() || salla.helpers.isPreview();
30
+ // ? Show advertisement in preview mode
31
+ if (isPreview)
32
+ return false;
29
33
  return !!salla.storage.get(`statusAd-${advert.id}`);
30
34
  }
31
35
  /**
@@ -74,11 +78,29 @@ const SallaAdvertisement$1 = /*@__PURE__*/ proxyCustomElement(class SallaAdverti
74
78
  * Lifecycle method that fetches advertisements before the component is loaded.
75
79
  */
76
80
  componentWillLoad() {
77
- // Fetch advertisements based on the current page
78
- return (new Promise(resolve => salla.onReady(resolve)))
79
- .then(() => salla.api.advertisement.fetch(this.currentSlug))
80
- .then(resp => Array.isArray(resp.data) ? resp.data.find(ad => !salla.storage.get(`statusAd-${ad.id}`)) : null)
81
- .then(ad => this.advertisements = ad ? [ad] : []);
81
+ const getData = async () => {
82
+ const isPreview = salla.config.isDebug() || salla.helpers.isPreview();
83
+ // Wait for salla to be ready
84
+ await new Promise(resolve => salla.onReady(resolve));
85
+ // Fetch advertisements based on the current page
86
+ const pageSlug = !isPreview ? this.currentSlug : null;
87
+ const response = await salla.api.advertisement.fetch(pageSlug);
88
+ if (Array.isArray(response.data)) {
89
+ const advertisements = response.data;
90
+ // Show all active advertisements in preview mode
91
+ if (isPreview) {
92
+ this.advertisements = advertisements;
93
+ }
94
+ else {
95
+ this.advertisements = advertisements.filter(ad => !salla.storage.get(`statusAd-${ad.id}`));
96
+ }
97
+ }
98
+ else {
99
+ this.advertisements = [];
100
+ }
101
+ return this.advertisements;
102
+ };
103
+ return getData();
82
104
  }
83
105
  componentDidRender() {
84
106
  if ((Array.isArray(this.advertisements) && !this.advertisements.length) || !this.advertisements) {
@@ -146,9 +146,9 @@ const SallaMultipleBundleProductDetails = /*@__PURE__*/ proxyCustomElement(class
146
146
  });
147
147
  }
148
148
  renderAccordionHeader(section, selectedCount) {
149
- return (h(Fragment, null, h("h2", { slot: "title" }, section?.name), section?.obligatory_products && (h("span", { slot: "note" }, salla.lang.get('pages.products.obligatory_products', {
149
+ return (h(Fragment, null, h("h2", { slot: "title" }, section?.name), section?.obligatory_products ? (h("span", { slot: "note" }, salla.lang.get('pages.products.obligatory_products', {
150
150
  count: section?.obligatory_products || 0,
151
- }))), h("span", { slot: "progress" }, selectedCount, "/", section?.products?.length || 0)));
151
+ }))) : '', h("span", { slot: "progress" }, selectedCount, "/", section?.products?.length || 0)));
152
152
  }
153
153
  componentDidLoad() {
154
154
  // Listen for product selected event from modal
@@ -179,10 +179,10 @@ const SallaMultipleBundleProductDetails = /*@__PURE__*/ proxyCustomElement(class
179
179
  }
180
180
  }
181
181
  render() {
182
- return (h(Host, { key: '118e5c2badcec4329da881ba87ce6c6771175c14', class: "s-multiple-bundle-product-wrapper" }, h("div", { key: '6c2033af8d144c39cfa4f6b67ffd91d38fcd7bdf', class: "s-multiple-bundle-product-wrapper-sections" }, this.sections.map((section, index) => {
182
+ return (h(Host, { key: 'faef370736cdde4ad6b8d1bfce7a5ae80a807f3c', class: "s-multiple-bundle-product-wrapper" }, h("div", { key: '66bfb5f5f5736cd7ea37b9e620079c0ec3399685', class: "s-multiple-bundle-product-wrapper-sections" }, this.sections.map((section, index) => {
183
183
  const selectedCount = this.selectedProducts[section.id]?.size || 0;
184
184
  return (h("salla-accordion", { key: section.id, collapsed: index === 0 ? false : true }, h("salla-accordion-head", null, this.renderAccordionHeader(section, selectedCount)), h("salla-accordion-body", null, h("salla-multiple-bundle-product-slider", { section: section, sectionIndex: index, selectedProducts: this.selectedProducts, onProductSelected: this.handleBundleSliderProductSelected, onProductOptionsSelected: this.handleBundleSliderProductOptionsSelected }))));
185
- })), h("salla-multiple-bundle-product-options-modal", { key: 'a5d0c1fb53d38015eebbcb3a203aefb6b9b540af' })));
185
+ })), h("salla-multiple-bundle-product-options-modal", { key: 'ea258265b6cf53de022afcaeddf5f7c407706156' })));
186
186
  }
187
187
  get host() { return this; }
188
188
  static get style() { return sallaMultipleBundleProductDetailsCss; }
@@ -22,15 +22,18 @@ const SallaMultipleBundleProductSlider = /*@__PURE__*/ proxyCustomElement(class
22
22
  if (!checkbox)
23
23
  return;
24
24
  if (checkbox) {
25
- // Toggle the checkbox state
26
- checkbox.checked = !checkbox.checked;
27
- // Dispatch a change event to trigger form validation/submission
28
- const changeEvent = new window.Event('change', { bubbles: true });
29
- checkbox.dispatchEvent(changeEvent);
30
- if (!checkbox.checked) {
31
- this.clearSavedOptionsState(this.section.id, productIndex);
25
+ const willBeChecked = !checkbox.checked;
26
+ if (!willBeChecked) {
32
27
  this.dispatchClearOptionsEvent(product, productIndex);
28
+ this.clearSavedOptionsState(this.section.id, productIndex);
33
29
  }
30
+ // Toggle the checkbox state
31
+ checkbox.checked = willBeChecked;
32
+ // Dispatch a change event to trigger form validation/submission
33
+ requestAnimationFrame(() => {
34
+ const changeEvent = new window.Event('change', { bubbles: true });
35
+ checkbox.dispatchEvent(changeEvent);
36
+ });
34
37
  }
35
38
  this.productSelected.emit({
36
39
  product,
@@ -90,9 +93,9 @@ const SallaMultipleBundleProductSlider = /*@__PURE__*/ proxyCustomElement(class
90
93
  return `bundle[${sectionId}][${productIndex}][id]`;
91
94
  }
92
95
  render() {
93
- return (h(Host, { key: '234e93258c3d7ca5d7dc08efb68743d042646706' }, h("salla-slider", { key: '451184823378e4ad0c9034d3af1b87373bcb7d20', type: "carousel", controlsOuter: false, showControls: false, id: "accordion-multiple-bundle-product", pagination: true, class: "s-multiple-bundle-product-wrapper-slider", sliderConfig: {
96
+ return (h(Host, { key: '0aeceebde05ad98ab11016dda3bd65f118b656dc' }, h("salla-slider", { key: '7def91aaa69d09caf6c5876b5d3221cc1db386f5', type: "carousel", controlsOuter: false, showControls: false, id: "accordion-multiple-bundle-product", pagination: true, class: "s-multiple-bundle-product-wrapper-slider", sliderConfig: {
94
97
  spaceBetween: 0,
95
- } }, h("div", { key: '28c1acfd37a77059d4c177b787dca9deea47d123', slot: "items" }, this?.section?.products?.map((product, productIndex) => {
98
+ } }, h("div", { key: 'b9983965c9ba86120540d6df6bedaaca22ea0cd1', slot: "items" }, this?.section?.products?.map((product, productIndex) => {
96
99
  const isChecked = this.selectedProducts[this.section.id]?.has(product.id) || false;
97
100
  const hasSavedOptions = this.savedOptionsByInstance[this.getProductInstanceKey(this.section.id, productIndex)];
98
101
  const optionsButtonLabel = hasSavedOptions
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-D8Ikl-5X.js';
4
+ import { d as getDefaultExportFromCjs } from './index-Bh2SK07N.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-D8Ikl-5X.js';
4
+ import { d as getDefaultExportFromCjs } from './index-Bh2SK07N.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-D8Ikl-5X.js';
4
+ import { d as getDefaultExportFromCjs } from './index-Bh2SK07N.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-D8Ikl-5X.js';
4
+ import { d as getDefaultExportFromCjs } from './index-Bh2SK07N.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-D8Ikl-5X.js';
4
+ import { d as getDefaultExportFromCjs } from './index-Bh2SK07N.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-D8Ikl-5X.js';
4
+ import { d as getDefaultExportFromCjs } from './index-Bh2SK07N.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Crafted with ❤ by Salla
3
3
  */
4
- import { d as getDefaultExportFromCjs } from './index-D8Ikl-5X.js';
4
+ import { d as getDefaultExportFromCjs } from './index-Bh2SK07N.js';
5
5
 
6
6
  function _mergeNamespaces(n, m) {
7
7
  m.forEach(function (e) {