@athoscommerce/snap-preact 1.2.3-beta.4 → 1.2.3-beta.5

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 (214) hide show
  1. package/README.md +16 -0
  2. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +3 -3
  3. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
  4. package/dist/cjs/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +7 -8
  5. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +1 -1
  6. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -1
  7. package/dist/cjs/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +3 -3
  8. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +2 -0
  9. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +1 -1
  10. package/dist/cjs/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +24 -25
  11. package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts +1 -1
  12. package/dist/cjs/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
  13. package/dist/cjs/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  14. package/dist/cjs/components/src/components/Molecules/Result/Result.js +11 -6
  15. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts +4 -1
  16. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  17. package/dist/cjs/components/src/components/Molecules/SearchInput/SearchInput.js +3 -3
  18. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/AbstractedControls.js +5 -5
  19. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/Control.d.ts.map +1 -1
  20. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/Components/Control.js +31 -31
  21. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.d.ts.map +1 -1
  22. package/dist/cjs/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +22 -36
  23. package/dist/cjs/components/src/components/Organisms/Chat/Chat.d.ts +7 -0
  24. package/dist/cjs/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -1
  25. package/dist/cjs/components/src/components/Organisms/Chat/Chat.js +638 -431
  26. package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.d.ts.map +1 -1
  27. package/dist/cjs/components/src/components/Organisms/Chat/ChatResult.js +4 -3
  28. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.d.ts +3 -1
  29. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.d.ts.map +1 -1
  30. package/dist/cjs/components/src/components/Organisms/Chat/MessageText.js +22 -19
  31. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.d.ts +3 -1
  32. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.d.ts.map +1 -1
  33. package/dist/cjs/components/src/components/Organisms/Chat/MessageUser.js +39 -21
  34. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.d.ts +1 -1
  35. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.d.ts.map +1 -1
  36. package/dist/cjs/components/src/components/Organisms/Chat/ResultsDisplay.js +7 -11
  37. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -2
  38. package/dist/cjs/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
  39. package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts +11 -0
  40. package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts.map +1 -0
  41. package/dist/cjs/components/src/components/Organisms/ProductQuickView/ProductQuickView.js +461 -0
  42. package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.d.ts +2 -0
  43. package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.d.ts.map +1 -0
  44. package/dist/cjs/components/src/components/Organisms/ProductQuickView/index.js +17 -0
  45. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  46. package/dist/cjs/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -2
  47. package/dist/cjs/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
  48. package/dist/cjs/components/src/hooks/useAcRenderedInput.js +65 -15
  49. package/dist/cjs/components/src/hooks/useMediaQuery.d.ts.map +1 -1
  50. package/dist/cjs/components/src/hooks/useMediaQuery.js +3 -1
  51. package/dist/cjs/components/src/index.d.ts +1 -0
  52. package/dist/cjs/components/src/index.d.ts.map +1 -1
  53. package/dist/cjs/components/src/index.js +1 -0
  54. package/dist/cjs/components/src/providers/theme.d.ts +1 -1
  55. package/dist/cjs/components/src/providers/theme.d.ts.map +1 -1
  56. package/dist/cjs/components/src/themes/base/base.js +3 -3
  57. package/dist/cjs/components/src/utilities/Colour/Colour.d.ts +11 -0
  58. package/dist/cjs/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  59. package/dist/cjs/components/src/utilities/Colour/Colour.js +32 -0
  60. package/dist/cjs/src/Instantiators/RecommendationInstantiator.d.ts +1 -0
  61. package/dist/cjs/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  62. package/dist/cjs/src/Instantiators/RecommendationInstantiator.js +161 -123
  63. package/dist/cjs/src/Snap.d.ts +1 -1
  64. package/dist/cjs/src/Snap.d.ts.map +1 -1
  65. package/dist/cjs/src/Snap.js +18 -6
  66. package/dist/cjs/src/SnapHybrid.d.ts.map +1 -1
  67. package/dist/cjs/src/Templates/SnapTemplates.d.ts +13 -72
  68. package/dist/cjs/src/Templates/SnapTemplates.d.ts.map +1 -1
  69. package/dist/cjs/src/Templates/SnapTemplates.js +123 -72
  70. package/dist/cjs/src/Templates/Stores/TargetStore.d.ts +7 -6
  71. package/dist/cjs/src/Templates/Stores/TargetStore.d.ts.map +1 -1
  72. package/dist/cjs/src/Templates/Stores/TargetStore.js +14 -8
  73. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts +58 -8
  74. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
  75. package/dist/cjs/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +467 -96
  76. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts +1 -0
  77. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts.map +1 -1
  78. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.js +123 -70
  79. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
  80. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +9 -3
  81. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts +1 -0
  82. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts.map +1 -1
  83. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.js +86 -1
  84. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.d.ts.map +1 -1
  85. package/dist/cjs/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.js +33 -14
  86. package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts +93 -30
  87. package/dist/cjs/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  88. package/dist/cjs/src/Templates/Stores/TemplateStore.js +33 -41
  89. package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts +2 -8
  90. package/dist/cjs/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  91. package/dist/cjs/src/Templates/Stores/ThemeStore.js +3 -28
  92. package/dist/cjs/src/Templates/index.d.ts +1 -1
  93. package/dist/cjs/src/Templates/index.d.ts.map +1 -1
  94. package/dist/cjs/src/create/createChatController.js +1 -1
  95. package/dist/cjs/src/index.d.ts +1 -0
  96. package/dist/cjs/src/index.d.ts.map +1 -1
  97. package/dist/cjs/src/setupEvents.d.ts +13 -0
  98. package/dist/cjs/src/setupEvents.d.ts.map +1 -1
  99. package/dist/cjs/src/setupEvents.js +56 -8
  100. package/dist/cjs/src/types.d.ts +3 -1
  101. package/dist/cjs/src/types.d.ts.map +1 -1
  102. package/dist/cjs/src/utils/combineMerge.d.ts +2 -0
  103. package/dist/cjs/src/utils/combineMerge.d.ts.map +1 -0
  104. package/dist/cjs/src/utils/combineMerge.js +22 -0
  105. package/dist/cjs/src/utils/index.d.ts +1 -0
  106. package/dist/cjs/src/utils/index.d.ts.map +1 -1
  107. package/dist/cjs/src/utils/index.js +3 -1
  108. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts +3 -3
  109. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.d.ts.map +1 -1
  110. package/dist/esm/components/src/components/Atoms/TemplateSelect/TemplateSelect.js +7 -8
  111. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts +1 -1
  112. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.d.ts.map +1 -1
  113. package/dist/esm/components/src/components/Molecules/ChatInspirationResultMessage/ChatInspirationResultMessage.js +3 -3
  114. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts +2 -0
  115. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.d.ts.map +1 -1
  116. package/dist/esm/components/src/components/Molecules/ChatProductQueryMessage/ChatProductQueryMessage.js +24 -26
  117. package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts +1 -1
  118. package/dist/esm/components/src/components/Molecules/Filter/Filter.d.ts.map +1 -1
  119. package/dist/esm/components/src/components/Molecules/Result/Result.d.ts.map +1 -1
  120. package/dist/esm/components/src/components/Molecules/Result/Result.js +9 -4
  121. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts +4 -1
  122. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.d.ts.map +1 -1
  123. package/dist/esm/components/src/components/Molecules/SearchInput/SearchInput.js +3 -3
  124. package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/AbstractedControls.js +5 -5
  125. package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/Control.d.ts.map +1 -1
  126. package/dist/esm/components/src/components/Molecules/TemplatesEditor/Components/Control.js +29 -29
  127. package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.d.ts.map +1 -1
  128. package/dist/esm/components/src/components/Molecules/TemplatesEditor/TemplatesEditor.js +22 -35
  129. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts +7 -0
  130. package/dist/esm/components/src/components/Organisms/Chat/Chat.d.ts.map +1 -1
  131. package/dist/esm/components/src/components/Organisms/Chat/Chat.js +557 -359
  132. package/dist/esm/components/src/components/Organisms/Chat/ChatResult.d.ts.map +1 -1
  133. package/dist/esm/components/src/components/Organisms/Chat/ChatResult.js +4 -3
  134. package/dist/esm/components/src/components/Organisms/Chat/MessageText.d.ts +3 -1
  135. package/dist/esm/components/src/components/Organisms/Chat/MessageText.d.ts.map +1 -1
  136. package/dist/esm/components/src/components/Organisms/Chat/MessageText.js +21 -19
  137. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.d.ts +3 -1
  138. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.d.ts.map +1 -1
  139. package/dist/esm/components/src/components/Organisms/Chat/MessageUser.js +36 -21
  140. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.d.ts +1 -1
  141. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.d.ts.map +1 -1
  142. package/dist/esm/components/src/components/Organisms/Chat/ResultsDisplay.js +7 -11
  143. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts +2 -2
  144. package/dist/esm/components/src/components/Organisms/FilterSummary/FilterSummary.d.ts.map +1 -1
  145. package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts +11 -0
  146. package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.d.ts.map +1 -0
  147. package/dist/esm/components/src/components/Organisms/ProductQuickView/ProductQuickView.js +436 -0
  148. package/dist/esm/components/src/components/Organisms/ProductQuickView/index.d.ts +2 -0
  149. package/dist/esm/components/src/components/Organisms/ProductQuickView/index.d.ts.map +1 -0
  150. package/dist/esm/components/src/components/Organisms/ProductQuickView/index.js +1 -0
  151. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.d.ts.map +1 -1
  152. package/dist/esm/components/src/components/Templates/AutocompleteModal/AutocompleteModal.js +0 -2
  153. package/dist/esm/components/src/hooks/useAcRenderedInput.d.ts.map +1 -1
  154. package/dist/esm/components/src/hooks/useAcRenderedInput.js +61 -11
  155. package/dist/esm/components/src/hooks/useMediaQuery.d.ts.map +1 -1
  156. package/dist/esm/components/src/hooks/useMediaQuery.js +3 -1
  157. package/dist/esm/components/src/index.d.ts +1 -0
  158. package/dist/esm/components/src/index.d.ts.map +1 -1
  159. package/dist/esm/components/src/index.js +1 -0
  160. package/dist/esm/components/src/providers/theme.d.ts +1 -1
  161. package/dist/esm/components/src/providers/theme.d.ts.map +1 -1
  162. package/dist/esm/components/src/themes/base/base.js +3 -3
  163. package/dist/esm/components/src/utilities/Colour/Colour.d.ts +11 -0
  164. package/dist/esm/components/src/utilities/Colour/Colour.d.ts.map +1 -1
  165. package/dist/esm/components/src/utilities/Colour/Colour.js +30 -0
  166. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts +1 -0
  167. package/dist/esm/src/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  168. package/dist/esm/src/Instantiators/RecommendationInstantiator.js +130 -84
  169. package/dist/esm/src/Snap.d.ts +1 -1
  170. package/dist/esm/src/Snap.d.ts.map +1 -1
  171. package/dist/esm/src/Snap.js +21 -6
  172. package/dist/esm/src/SnapHybrid.d.ts.map +1 -1
  173. package/dist/esm/src/Templates/SnapTemplates.d.ts +13 -72
  174. package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
  175. package/dist/esm/src/Templates/SnapTemplates.js +137 -78
  176. package/dist/esm/src/Templates/Stores/TargetStore.d.ts +7 -6
  177. package/dist/esm/src/Templates/Stores/TargetStore.d.ts.map +1 -1
  178. package/dist/esm/src/Templates/Stores/TargetStore.js +14 -8
  179. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts +58 -8
  180. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.d.ts.map +1 -1
  181. package/dist/esm/src/Templates/Stores/TemplateEditor/TemplateEditorStore.js +447 -89
  182. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts +1 -0
  183. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.d.ts.map +1 -1
  184. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/autocompleteControllerUI.js +118 -66
  185. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.d.ts.map +1 -1
  186. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/configUI.js +9 -3
  187. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts +1 -0
  188. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.d.ts.map +1 -1
  189. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/searchControllerUI.js +82 -1
  190. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.d.ts.map +1 -1
  191. package/dist/esm/src/Templates/Stores/TemplateEditor/uiAbstractions/themeUI.js +27 -8
  192. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +93 -30
  193. package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
  194. package/dist/esm/src/Templates/Stores/TemplateStore.js +29 -38
  195. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +2 -8
  196. package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
  197. package/dist/esm/src/Templates/Stores/ThemeStore.js +3 -26
  198. package/dist/esm/src/Templates/index.d.ts +1 -1
  199. package/dist/esm/src/Templates/index.d.ts.map +1 -1
  200. package/dist/esm/src/create/createChatController.js +1 -1
  201. package/dist/esm/src/index.d.ts +1 -0
  202. package/dist/esm/src/index.d.ts.map +1 -1
  203. package/dist/esm/src/setupEvents.d.ts +13 -0
  204. package/dist/esm/src/setupEvents.d.ts.map +1 -1
  205. package/dist/esm/src/setupEvents.js +25 -8
  206. package/dist/esm/src/types.d.ts +3 -1
  207. package/dist/esm/src/types.d.ts.map +1 -1
  208. package/dist/esm/src/utils/combineMerge.d.ts +2 -0
  209. package/dist/esm/src/utils/combineMerge.d.ts.map +1 -0
  210. package/dist/esm/src/utils/combineMerge.js +16 -0
  211. package/dist/esm/src/utils/index.d.ts +1 -0
  212. package/dist/esm/src/utils/index.d.ts.map +1 -1
  213. package/dist/esm/src/utils/index.js +1 -0
  214. package/package.json +20 -14
@@ -9,7 +9,7 @@ import type { Controllers, AbstractController, SearchControllerConfig, ChatContr
9
9
  import type { TrackerConfig, TrackerGlobals } from '@athoscommerce/snap-tracker';
10
10
  import type { Target, OnTarget } from '@athoscommerce/snap-toolbox';
11
11
  import type { UrlTranslatorConfig } from '@athoscommerce/snap-url-manager';
12
- import { RecommendationInstantiator, RecommendationInstantiatorConfig } from './Instantiators/RecommendationInstantiator';
12
+ import type { RecommendationInstantiator, RecommendationInstantiatorConfig } from './Instantiators/RecommendationInstantiator';
13
13
  import type { SnapControllerServices, InitialUrlConfig, SnapFeatures } from './types';
14
14
  import type { TemplatesStore } from './Templates/Stores/TemplateStore';
15
15
  export declare const BRANCH_COOKIE = "athosBranch";
@@ -1 +1 @@
1
- {"version":3,"file":"Snap.d.ts","sourceRoot":"","sources":["../../../src/Snap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Snap.d.ts","sourceRoot":"","sources":["../../../src/Snap.tsx"],"names":[],"mappings":"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"}
@@ -225,12 +225,14 @@ var Snap = /** @class */ (function () {
225
225
  var elem = null;
226
226
  elem = event && event.target;
227
227
  while (Object.keys(attributes).length == 0 && elem !== null && levels <= MAX_PARENT_LEVELS) {
228
- Object.values(elem.attributes).forEach(function (attr) {
229
- var attrName = attr.nodeName;
230
- if (attributeList.indexOf(attrName) != -1) {
231
- attributes[attrName] = elem && elem.getAttribute(attrName);
232
- }
233
- });
228
+ if (elem.attributes) {
229
+ Object.values(elem.attributes).forEach(function (attr) {
230
+ var attrName = attr.nodeName;
231
+ if (attributeList.indexOf(attrName) != -1) {
232
+ attributes[attrName] = elem && elem.getAttribute(attrName);
233
+ }
234
+ });
235
+ }
234
236
  elem = elem.parentElement;
235
237
  levels++;
236
238
  }
@@ -750,6 +752,16 @@ var Snap = /** @class */ (function () {
750
752
  if (!target.component) {
751
753
  throw new Error("Targets at index ".concat(target_index, " missing component value (Component)."));
752
754
  }
755
+ // Chat mounts at the document level — if the consumer aimed at <body>
756
+ // directly, give DomTargeter a child to render into instead of stomping on body.
757
+ if (target.selector === 'body' && !target.inject) {
758
+ target = __assign(__assign({}, target), { inject: {
759
+ action: 'append',
760
+ element: function () {
761
+ return document.createElement('div');
762
+ },
763
+ } });
764
+ }
753
765
  var targeter = new snap_toolbox_1.DomTargeter([__assign({}, target)], function (target, elem, originalElem) { return __awaiter(_this, void 0, void 0, function () {
754
766
  var cntrlr;
755
767
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"SnapHybrid.d.ts","sourceRoot":"","sources":["../../../src/SnapHybrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAoB,MAAM,2BAA2B,CAAC;AAKrH,KAAK,uBAAuB,GAAG;IAC9B,eAAe,EAAE,yBAAyB,GAAG,2BAA2B,CAAC;IACzE,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,qBAAa,UAAW,SAAQ,IAAI;gBACvB,MAAM,EAAE,uBAAuB;CAqB3C"}
1
+ {"version":3,"file":"SnapHybrid.d.ts","sourceRoot":"","sources":["../../../src/SnapHybrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAoB,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAKrH,KAAK,uBAAuB,GAAG;IAC9B,eAAe,EAAE,yBAAyB,GAAG,2BAA2B,CAAC;IACzE,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,qBAAa,UAAW,SAAQ,IAAI;gBACvB,MAAM,EAAE,uBAAuB;CAqB3C"}
@@ -1,82 +1,23 @@
1
1
  import { Snap } from '../Snap';
2
2
  import { TemplatesStore } from './Stores/TemplateStore';
3
- import { type SearchStoreConfigSettings, type AutocompleteStoreConfigSettings, ChatStoreConfigSettings } from '@athoscommerce/snap-store-mobx';
3
+ import { type AutocompleteStoreConfigSettings } from '@athoscommerce/snap-store-mobx';
4
4
  import type { UrlTranslatorConfig } from '@athoscommerce/snap-url-manager';
5
5
  import type { PluginGrouping } from '@athoscommerce/snap-controller';
6
- import type { RecommendationInstantiatorConfigSettings, RecommendationComponentObject } from '../Instantiators/RecommendationInstantiator';
6
+ import type { RecommendationComponentObject } from '../Instantiators/RecommendationInstantiator';
7
7
  import type { SnapFeatures } from '../types';
8
8
  import type { SnapConfig, ExtendedTarget } from '../Snap';
9
- import type { PluginsConfigs, PluginsConfigsUnlocked, TemplateStoreConfigConfig, TemplateStoreConfigConfigUnlocked } from './Stores/TemplateStore';
10
- import { LibraryImports } from './Stores/LibraryStore';
11
- export declare const TEMPLATE_EDIT_COOKIE = "athosEditor";
12
- export declare const TEMPLATE_EDITOR_PARAM = "athos-editor";
13
- export type SearchTargetConfig = {
14
- selector: string;
15
- component: keyof LibraryImports['component']['search'];
16
- };
17
- export type AutocompleteTargetConfig = {
18
- selector: string;
19
- inputSelector?: string;
20
- component: keyof LibraryImports['component']['autocomplete'];
21
- };
22
- export type RecommendationDefaultTargetConfig = {
23
- component: keyof LibraryImports['component']['recommendation']['default'];
24
- };
25
- export type RecommendationEmailTargetConfig = {
26
- component: keyof LibraryImports['component']['recommendation']['email'];
27
- };
28
- export type RecommendationBundleTargetConfig = {
29
- component: keyof LibraryImports['component']['recommendation']['bundle'];
30
- };
31
- export type ChatTargetConfig = {
32
- selector: string;
33
- component: keyof LibraryImports['component']['chat'];
34
- };
9
+ import type { TemplatesStoreConfigLocked, TemplatesStoreConfigUnlocked } from './Stores/TemplateStore';
10
+ export declare const TEMPLATE_EDITOR_COOKIE = "athosEditor";
11
+ export declare const TEMPLATE_EDITOR_UI_PARAM = "athos-editor";
35
12
  export type SnapTemplatesConfig = SnapTemplatesConfigLocked;
36
- export type SnapTemplatesConfigLocked = TemplateStoreConfigConfig & {
37
- unlocked?: false;
13
+ export type SnapTemplatesConfigUnlocked = TemplatesStoreConfigUnlocked & {
14
+ unlocked: true;
38
15
  url?: UrlTranslatorConfig;
39
16
  features?: SnapFeatures;
40
- search?: {
41
- targets: SearchTargetConfig[];
42
- settings?: SearchStoreConfigSettings;
43
- plugins?: PluginsConfigs;
44
- };
45
- autocomplete?: {
46
- targets: AutocompleteTargetConfig[];
47
- settings?: AutocompleteStoreConfigSettings;
48
- plugins?: PluginsConfigs;
49
- };
50
- recommendation?: {
51
- email?: {
52
- [profileComponentName: string]: RecommendationEmailTargetConfig;
53
- };
54
- default?: {
55
- [profileComponentName: string]: RecommendationDefaultTargetConfig;
56
- };
57
- bundle?: {
58
- [profileComponentName: string]: RecommendationBundleTargetConfig;
59
- };
60
- settings?: RecommendationInstantiatorConfigSettings;
61
- plugins?: PluginsConfigs;
62
- };
63
- chat?: {
64
- targets: ChatTargetConfig[];
65
- settings?: ChatStoreConfigSettings;
66
- plugins?: PluginsConfigs;
67
- };
68
17
  };
69
- export type SnapTemplatesConfigUnlocked = Omit<SnapTemplatesConfigLocked, 'unlocked' | 'plugins' | 'search' | 'autocomplete' | 'recommendation'> & TemplateStoreConfigConfigUnlocked & {
70
- unlocked: true;
71
- search?: Omit<NonNullable<SnapTemplatesConfigLocked['search']>, 'plugins'> & {
72
- plugins?: PluginsConfigsUnlocked;
73
- };
74
- autocomplete?: Omit<NonNullable<SnapTemplatesConfigLocked['autocomplete']>, 'plugins'> & {
75
- plugins?: PluginsConfigsUnlocked;
76
- };
77
- recommendation?: Omit<NonNullable<SnapTemplatesConfigLocked['recommendation']>, 'plugins'> & {
78
- plugins?: PluginsConfigsUnlocked;
79
- };
18
+ export type SnapTemplatesConfigLocked = TemplatesStoreConfigLocked & {
19
+ url?: UrlTranslatorConfig;
20
+ features?: SnapFeatures;
80
21
  };
81
22
  export declare const DEFAULT_FEATURES: SnapFeatures;
82
23
  export declare const DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS: AutocompleteStoreConfigSettings;
@@ -87,9 +28,9 @@ export declare class SnapTemplates extends Snap {
87
28
  export declare function mapBreakpoints<ControllerConfigSettings>(breakpointsKeys: number[], breakpointSettings: ControllerConfigSettings[]): {
88
29
  [key: string]: ControllerConfigSettings | Record<string, never>;
89
30
  };
90
- export declare const createSearchTargeters: (templateConfig: SnapTemplatesConfig | SnapTemplatesConfigUnlocked, templatesStore: TemplatesStore) => ExtendedTarget[];
91
- export declare const createChatTargeters: (templateConfig: SnapTemplatesConfig | SnapTemplatesConfigUnlocked, templatesStore: TemplatesStore) => ExtendedTarget[];
92
- export declare function createAutocompleteTargeters(templateConfig: SnapTemplatesConfig | SnapTemplatesConfigUnlocked, templatesStore: TemplatesStore): ExtendedTarget[];
31
+ export declare const createSearchTargeters: (templateConfig: SnapTemplatesConfig, templatesStore: TemplatesStore) => ExtendedTarget[];
32
+ export declare const createChatTargeters: (templateConfig: SnapTemplatesConfig, templatesStore: TemplatesStore) => ExtendedTarget[];
33
+ export declare function createAutocompleteTargeters(templateConfig: SnapTemplatesConfig, templatesStore: TemplatesStore): ExtendedTarget[];
93
34
  export declare function createRecommendationComponentMapping(templateConfig: SnapTemplatesConfig | SnapTemplatesConfigUnlocked, templatesStore: TemplatesStore): {
94
35
  [name: string]: RecommendationComponentObject;
95
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SnapTemplates.d.ts","sourceRoot":"","sources":["../../../../src/Templates/SnapTemplates.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SnapTemplates.d.ts","sourceRoot":"","sources":["../../../../src/Templates/SnapTemplates.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI/B,OAAO,EAAkB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAA0C,cAAc,EAAoB,MAAM,gCAAgC,CAAC;AAC/H,OAAO,KAAK,EAAE,6BAA6B,EAAoC,MAAM,6CAA6C,CAAC;AACnI,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAOX,0BAA0B,EAC1B,4BAA4B,EAE5B,MAAM,wBAAwB,CAAC;AAoChC,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AACpD,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAC5D,MAAM,MAAM,2BAA2B,GAAG,4BAA4B,GAAG;IACxE,QAAQ,EAAE,IAAI,CAAC;IACf,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,0BAA0B,GAAG;IACpE,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACxB,CAAC;AAwBF,eAAO,MAAM,gBAAgB,EAAE,YAAiB,CAAC;AAEjD,eAAO,MAAM,wCAAwC,EAAE,+BAItD,CAAC;AAEF,qBAAa,aAAc,SAAQ,IAAI;IACtC,SAAS,EAAE,cAAc,CAAC;gBACd,MAAM,EAAE,mBAAmB,GAAG,2BAA2B;CAoGrE;AAED,wBAAgB,cAAc,CAAC,wBAAwB,EACtD,eAAe,EAAE,MAAM,EAAE,EACzB,kBAAkB,EAAE,wBAAwB,EAAE,GAC5C;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,CAKrE;AAED,eAAO,MAAM,qBAAqB,mBAAoB,mBAAmB,kBAAkB,cAAc,KAAG,cAAc,EAoCzH,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBAAoB,mBAAmB,kBAAkB,cAAc,KAAG,cAAc,EA2CvH,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,GAAG,cAAc,EAAE,CAqCjI;AAED,wBAAgB,oCAAoC,CACnD,cAAc,EAAE,mBAAmB,GAAG,2BAA2B,EACjE,cAAc,EAAE,cAAc,GAC5B;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,6BAA6B,CAAA;CAAE,CAiDnD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,GAAG,2BAA2B,EAAE,cAAc,EAAE,cAAc,GAAG,UAAU,CA0J9I;AAED,wBAAgB,aAAa,CAC5B,cAAc,EAAE,mBAAmB,GAAG,2BAA2B,EACjE,cAAc,EAAE,cAAc,EAC9B,cAAc,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,gBAAgB,GAAG,MAAM,GACpE,cAAc,EAAE,CAmFlB"}
@@ -97,7 +97,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
97
97
  return (mod && mod.__esModule) ? mod : { "default": mod };
98
98
  };
99
99
  Object.defineProperty(exports, "__esModule", { value: true });
100
- exports.createChatTargeters = exports.createSearchTargeters = exports.SnapTemplates = exports.DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = exports.DEFAULT_FEATURES = exports.TEMPLATE_EDITOR_PARAM = exports.TEMPLATE_EDIT_COOKIE = void 0;
100
+ exports.createChatTargeters = exports.createSearchTargeters = exports.SnapTemplates = exports.DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = exports.DEFAULT_FEATURES = exports.TEMPLATE_EDITOR_UI_PARAM = exports.TEMPLATE_EDITOR_COOKIE = void 0;
101
101
  exports.mapBreakpoints = mapBreakpoints;
102
102
  exports.createAutocompleteTargeters = createAutocompleteTargeters;
103
103
  exports.createRecommendationComponentMapping = createRecommendationComponentMapping;
@@ -110,8 +110,9 @@ var Snap_1 = require("../Snap");
110
110
  var TemplateSelect_1 = require("../../components/src/components/Atoms/TemplateSelect");
111
111
  var snap_toolbox_1 = require("@athoscommerce/snap-toolbox");
112
112
  var TemplateStore_1 = require("./Stores/TemplateStore");
113
- exports.TEMPLATE_EDIT_COOKIE = 'athosEditor';
114
- exports.TEMPLATE_EDITOR_PARAM = 'athos-editor';
113
+ var utils_1 = require("../utils");
114
+ exports.TEMPLATE_EDITOR_COOKIE = 'athosEditor';
115
+ exports.TEMPLATE_EDITOR_UI_PARAM = 'athos-editor';
115
116
  exports.DEFAULT_FEATURES = {};
116
117
  exports.DEFAULT_AUTOCOMPLETE_CONTROLLER_SETTINGS = {
117
118
  trending: {
@@ -123,24 +124,54 @@ var SnapTemplates = /** @class */ (function (_super) {
123
124
  function SnapTemplates(config) {
124
125
  var _this = this;
125
126
  var _a;
127
+ var context = {};
128
+ try {
129
+ context = (0, snap_toolbox_1.getContext)(['editor']);
130
+ }
131
+ catch (_b) {
132
+ context = {};
133
+ }
134
+ var editor = context.editor;
126
135
  var urlParams = (0, snap_toolbox_1.url)(window.location.href);
127
- var editMode = Boolean((((_a = urlParams === null || urlParams === void 0 ? void 0 : urlParams.params) === null || _a === void 0 ? void 0 : _a.query) && exports.TEMPLATE_EDITOR_PARAM in urlParams.params.query) || snap_toolbox_1.cookies.get(exports.TEMPLATE_EDIT_COOKIE));
136
+ var editorCookieValue = snap_toolbox_1.cookies.get(exports.TEMPLATE_EDITOR_COOKIE);
137
+ var editUIMode = Boolean((((_a = urlParams === null || urlParams === void 0 ? void 0 : urlParams.params) === null || _a === void 0 ? void 0 : _a.query) && exports.TEMPLATE_EDITOR_UI_PARAM in urlParams.params.query) || editorCookieValue === 'ui' || (editor === null || editor === void 0 ? void 0 : editor.mode) === 'ui');
138
+ var editMode = Boolean(editorCookieValue) || editUIMode || Boolean((editor === null || editor === void 0 ? void 0 : editor.mode) === 'headless');
128
139
  var templatesStore = new TemplateStore_1.TemplatesStore({ config: config, settings: { editMode: editMode } });
129
140
  var snapConfig = createSnapConfig(config, templatesStore);
130
141
  _this = _super.call(this, snapConfig, { templatesStore: templatesStore }) || this;
131
142
  _this.templates = templatesStore;
132
- if (editMode) {
133
- snap_toolbox_1.cookies.set(exports.TEMPLATE_EDIT_COOKIE, 'true');
134
- setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
135
- var _this = this;
136
- return __generator(this, function (_a) {
137
- switch (_a.label) {
138
- case 0:
143
+ setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
144
+ var TemplateEditorStore, templateEditorStore_1, searchController, autocompleteController;
145
+ var _this = this;
146
+ return __generator(this, function (_a) {
147
+ switch (_a.label) {
148
+ case 0:
149
+ if (!editMode) return [3 /*break*/, 3];
150
+ // create templateditor store
139
151
  // preload the library
140
152
  return [4 /*yield*/, templatesStore.preLoad()];
141
- case 1:
142
- // preload the library
143
- _a.sent();
153
+ case 1:
154
+ // create templateditor store
155
+ // preload the library
156
+ _a.sent();
157
+ return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./Stores/TemplateEditor/TemplateEditorStore')); })];
158
+ case 2:
159
+ TemplateEditorStore = (_a.sent()).TemplateEditorStore;
160
+ templateEditorStore_1 = new TemplateEditorStore({ templatesStore: templatesStore });
161
+ // attach to the window object
162
+ window.athos = window.athos || {};
163
+ window.athos.editor = templateEditorStore_1;
164
+ searchController = this.controllers['search'];
165
+ autocompleteController = this.controllers['autocomplete'];
166
+ if (searchController) {
167
+ templateEditorStore_1.registerController(searchController);
168
+ }
169
+ if (autocompleteController) {
170
+ templateEditorStore_1.registerController(autocompleteController);
171
+ }
172
+ // render ui editor
173
+ if (editUIMode) {
174
+ snap_toolbox_1.cookies.set(exports.TEMPLATE_EDITOR_COOKIE, 'ui');
144
175
  new snap_toolbox_1.DomTargeter([
145
176
  {
146
177
  selector: 'body',
@@ -154,30 +185,18 @@ var SnapTemplates = /** @class */ (function (_super) {
154
185
  },
155
186
  },
156
187
  ], function (target, elem) { return __awaiter(_this, void 0, void 0, function () {
157
- var TemplateEditor, TemplateEditorStore, templateEditorStore, searchController, autocompleteController, error_1;
188
+ var TemplateEditor, error_1;
158
189
  return __generator(this, function (_a) {
159
190
  switch (_a.label) {
160
191
  case 0:
161
- _a.trys.push([0, 3, , 4]);
192
+ _a.trys.push([0, 2, , 3]);
162
193
  return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../../components/src')); })];
163
194
  case 1:
164
195
  TemplateEditor = (_a.sent()).TemplatesEditor;
165
- return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./Stores/TemplateEditor/TemplateEditorStore')); })];
166
- case 2:
167
- TemplateEditorStore = (_a.sent()).TemplateEditorStore;
168
- templateEditorStore = new TemplateEditorStore({ templatesStore: templatesStore });
169
- searchController = this.controllers['search'];
170
- autocompleteController = this.controllers['autocomplete'];
171
- if (searchController) {
172
- templateEditorStore.registerController(searchController);
173
- }
174
- if (autocompleteController) {
175
- templateEditorStore.registerController(autocompleteController);
176
- }
177
- (0, preact_1.render)((0, jsx_runtime_1.jsx)(TemplateEditor, { templatesStore: templatesStore, editorStore: templateEditorStore, snap: this, onRemoveClick: function () {
178
- snap_toolbox_1.cookies.unset(exports.TEMPLATE_EDIT_COOKIE);
196
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(TemplateEditor, { templatesStore: templatesStore, editorStore: templateEditorStore_1, snap: this, onRemoveClick: function () {
197
+ snap_toolbox_1.cookies.unset(exports.TEMPLATE_EDITOR_COOKIE);
179
198
  var urlState = (0, snap_toolbox_1.url)(window.location.href);
180
- urlState === null || urlState === void 0 ? true : delete urlState.params.query[exports.TEMPLATE_EDITOR_PARAM];
199
+ urlState === null || urlState === void 0 ? true : delete urlState.params.query[exports.TEMPLATE_EDITOR_UI_PARAM];
181
200
  var newUrl = urlState === null || urlState === void 0 ? void 0 : urlState.url();
182
201
  if (newUrl && newUrl != window.location.href) {
183
202
  window.location.href = newUrl;
@@ -186,20 +205,21 @@ var SnapTemplates = /** @class */ (function (_super) {
186
205
  window.location.reload();
187
206
  }
188
207
  } }), elem);
189
- return [3 /*break*/, 4];
190
- case 3:
208
+ return [3 /*break*/, 3];
209
+ case 2:
191
210
  error_1 = _a.sent();
192
211
  console.error('Error rendering TemplateEditor:', error_1);
193
- return [3 /*break*/, 4];
194
- case 4: return [2 /*return*/];
212
+ return [3 /*break*/, 3];
213
+ case 3: return [2 /*return*/];
195
214
  }
196
215
  });
197
216
  }); });
198
- return [2 /*return*/];
199
- }
200
- });
201
- }); });
202
- }
217
+ }
218
+ _a.label = 3;
219
+ case 3: return [2 /*return*/];
220
+ }
221
+ });
222
+ }); });
203
223
  return _this;
204
224
  }
205
225
  return SnapTemplates;
@@ -213,11 +233,25 @@ function mapBreakpoints(breakpointsKeys, breakpointSettings) {
213
233
  }
214
234
  var createSearchTargeters = function (templateConfig, templatesStore) {
215
235
  var _a;
216
- var targets = ((_a = templateConfig.search) === null || _a === void 0 ? void 0 : _a.targets) || [];
217
- return targets.map(function (target) {
218
- var targetId = templatesStore.addTarget('search', target);
236
+ // initial target configs
237
+ var targetConfigs = ((_a = templateConfig.search) === null || _a === void 0 ? void 0 : _a.targets) || [];
238
+ var mergedConfigs;
239
+ if (templatesStore.settings.editMode) {
240
+ var overrideConfigs = (templatesStore.storage.get('overrides.targets.search') || []);
241
+ mergedConfigs = (0, deepmerge_1.default)(targetConfigs, overrideConfigs, { arrayMerge: utils_1.combineMerge });
242
+ }
243
+ else {
244
+ mergedConfigs = targetConfigs;
245
+ }
246
+ // loop through mergedConfigs ---
247
+ return mergedConfigs.map(function (targetConfig) {
248
+ var target = templatesStore.addTarget(__assign(__assign({}, targetConfig), { type: 'search' }));
249
+ // const overrideTemplateStoreTarget = templatesStore.getTarget('search', target.index);
250
+ // console.log("templatesStore", templatesStore)
251
+ // console.log('selector', targetConfig.selector);
252
+ // console.log('overrideTemplateStoreTarget', overrideTemplateStoreTarget);
219
253
  var targeter = {
220
- selector: target.selector,
254
+ selector: targetConfig.selector,
221
255
  hideTarget: true,
222
256
  component: function () { return __awaiter(void 0, void 0, void 0, function () {
223
257
  var componentImportPromises;
@@ -225,7 +259,7 @@ var createSearchTargeters = function (templateConfig, templatesStore) {
225
259
  switch (_a.label) {
226
260
  case 0:
227
261
  componentImportPromises = [];
228
- componentImportPromises.push(templatesStore.library.import.component.search[target.component]());
262
+ componentImportPromises.push(templatesStore.library.import.component.search[targetConfig.component]());
229
263
  return [4 /*yield*/, Promise.all(componentImportPromises)];
230
264
  case 1:
231
265
  _a.sent();
@@ -233,7 +267,7 @@ var createSearchTargeters = function (templateConfig, templatesStore) {
233
267
  }
234
268
  });
235
269
  }); },
236
- props: { type: 'search', templatesStore: templatesStore, targetId: targetId },
270
+ props: { target: target, templatesStore: templatesStore },
237
271
  };
238
272
  return targeter;
239
273
  });
@@ -241,11 +275,20 @@ var createSearchTargeters = function (templateConfig, templatesStore) {
241
275
  exports.createSearchTargeters = createSearchTargeters;
242
276
  var createChatTargeters = function (templateConfig, templatesStore) {
243
277
  var _a;
244
- var targets = ((_a = templateConfig.chat) === null || _a === void 0 ? void 0 : _a.targets) || [];
245
- return targets.map(function (target) {
246
- var targetId = templatesStore.addTarget('chat', target);
278
+ // initial target configs
279
+ var targetConfigs = ((_a = templateConfig.chat) === null || _a === void 0 ? void 0 : _a.targets) || [];
280
+ var mergedConfigs;
281
+ if (templatesStore.settings.editMode) {
282
+ var overrideConfigs = (templatesStore.storage.get('overrides.targets.chat') || []);
283
+ mergedConfigs = (0, deepmerge_1.default)(targetConfigs, overrideConfigs, { arrayMerge: utils_1.combineMerge });
284
+ }
285
+ else {
286
+ mergedConfigs = targetConfigs;
287
+ }
288
+ return mergedConfigs.map(function (targetConfig) {
289
+ var target = templatesStore.addTarget(__assign(__assign({}, targetConfig), { type: 'chat' }));
247
290
  var targeter = {
248
- selector: target.selector,
291
+ selector: targetConfig.selector,
249
292
  hideTarget: true,
250
293
  component: function () { return __awaiter(void 0, void 0, void 0, function () {
251
294
  var componentImportPromises;
@@ -253,7 +296,7 @@ var createChatTargeters = function (templateConfig, templatesStore) {
253
296
  switch (_a.label) {
254
297
  case 0:
255
298
  componentImportPromises = [];
256
- componentImportPromises.push(templatesStore.library.import.component.chat[target.component]());
299
+ componentImportPromises.push(templatesStore.library.import.component.chat[targetConfig.component]());
257
300
  return [4 /*yield*/, Promise.all(componentImportPromises)];
258
301
  case 1:
259
302
  _a.sent();
@@ -261,10 +304,10 @@ var createChatTargeters = function (templateConfig, templatesStore) {
261
304
  }
262
305
  });
263
306
  }); },
264
- props: { type: 'chat', templatesStore: templatesStore, targetId: targetId },
307
+ props: { target: target, templatesStore: templatesStore },
265
308
  };
266
309
  // temporary change to allow injecting into body to append target
267
- if (target.selector == 'body') {
310
+ if (targetConfig.selector == 'body') {
268
311
  targeter.hideTarget = false;
269
312
  targeter.inject = {
270
313
  action: 'append',
@@ -282,18 +325,28 @@ exports.createChatTargeters = createChatTargeters;
282
325
  function createAutocompleteTargeters(templateConfig, templatesStore) {
283
326
  var _this = this;
284
327
  var _a;
285
- var targets = ((_a = templateConfig.autocomplete) === null || _a === void 0 ? void 0 : _a.targets) || [];
286
- return targets.map(function (target) {
287
- var targetId = templatesStore.addTarget('autocomplete', target);
328
+ // initial target configs
329
+ var targetConfigs = ((_a = templateConfig.autocomplete) === null || _a === void 0 ? void 0 : _a.targets) || [];
330
+ var mergedConfigs;
331
+ if (templatesStore.settings.editMode) {
332
+ var overrideConfigs = (templatesStore.storage.get('overrides.targets.autocomplete') || []);
333
+ mergedConfigs = (0, deepmerge_1.default)(targetConfigs, overrideConfigs, { arrayMerge: utils_1.combineMerge });
334
+ }
335
+ else {
336
+ mergedConfigs = targetConfigs;
337
+ }
338
+ // load target override from localstorage OR from the editorStore (would be better);
339
+ return mergedConfigs.map(function (targetConfig) {
340
+ var target = templatesStore.addTarget(__assign(__assign({}, targetConfig), { type: 'autocomplete', selector: targetConfig.selector || targetConfig.inputSelector }));
288
341
  var targeter = {
289
- selector: target.selector,
342
+ selector: targetConfig.selector || targetConfig.inputSelector,
290
343
  component: function () { return __awaiter(_this, void 0, void 0, function () {
291
344
  var componentImportPromises;
292
345
  return __generator(this, function (_a) {
293
346
  switch (_a.label) {
294
347
  case 0:
295
348
  componentImportPromises = [];
296
- componentImportPromises.push(templatesStore.library.import.component.autocomplete[target.component]());
349
+ componentImportPromises.push(templatesStore.library.import.component.autocomplete[targetConfig.component]());
297
350
  return [4 /*yield*/, Promise.all(componentImportPromises)];
298
351
  case 1:
299
352
  _a.sent();
@@ -301,24 +354,23 @@ function createAutocompleteTargeters(templateConfig, templatesStore) {
301
354
  }
302
355
  });
303
356
  }); },
304
- props: { type: 'autocomplete', templatesStore: templatesStore, targetId: targetId },
357
+ props: __assign({ target: target, templatesStore: templatesStore }, (targetConfig.selector && targetConfig.selector !== targetConfig.inputSelector ? { input: targetConfig.inputSelector } : {})),
305
358
  hideTarget: true,
359
+ createControllerBeforeTargeting: templatesStore.settings.editMode,
306
360
  };
307
- if (target.inputSelector)
308
- targeter.props.input = target.inputSelector;
309
361
  return targeter;
310
362
  });
311
363
  }
312
364
  function createRecommendationComponentMapping(templateConfig, templatesStore) {
313
- // TODO: throw a warning if keys match inside each recommendation type
314
365
  var _this = this;
366
+ // TODO: throw a warning if keys match inside each recommendation type
315
367
  return Object.keys(templateConfig.recommendation || {})
316
368
  .filter(function (key) { return ['default', 'email', 'bundle'].includes(key); })
317
369
  .reduce(function (mapping, type) {
318
370
  var recsType = type;
319
- Object.keys(templateConfig.recommendation[recsType] || {}).forEach(function (targetName) {
371
+ Object.keys(templateConfig.recommendation[recsType] || {}).forEach(function (targetName, index) {
320
372
  var type = "recommendation/".concat(recsType);
321
- var target = templateConfig.recommendation[recsType][targetName];
373
+ var targetConfig = __assign(__assign({}, templateConfig.recommendation[recsType][targetName]), { index: index, type: type });
322
374
  var mappedConfig = {
323
375
  component: function () { return __awaiter(_this, void 0, void 0, function () {
324
376
  var componentImportPromises, importLocation, importLocation, importLocation;
@@ -329,17 +381,17 @@ function createRecommendationComponentMapping(templateConfig, templatesStore) {
329
381
  switch (recsType) {
330
382
  case 'default': {
331
383
  importLocation = templatesStore.library.import.component.recommendation.default;
332
- componentImportPromises.push(importLocation[target.component]());
384
+ componentImportPromises.push(importLocation[targetConfig.component]());
333
385
  break;
334
386
  }
335
387
  case 'bundle': {
336
388
  importLocation = templatesStore.library.import.component.recommendation.bundle;
337
- componentImportPromises.push(importLocation[target.component]());
389
+ componentImportPromises.push(importLocation[targetConfig.component]());
338
390
  break;
339
391
  }
340
392
  case 'email': {
341
393
  importLocation = templatesStore.library.import.component.recommendation.email;
342
- componentImportPromises.push(importLocation[target.component]());
394
+ componentImportPromises.push(importLocation[targetConfig.component]());
343
395
  break;
344
396
  }
345
397
  }
@@ -350,12 +402,11 @@ function createRecommendationComponentMapping(templateConfig, templatesStore) {
350
402
  }
351
403
  });
352
404
  }); },
353
- props: { type: type, templatesStore: templatesStore },
405
+ props: { templatesStore: templatesStore },
354
406
  onTarget: function (domTarget, elem, injectedElem, controller) {
355
- target.selector = "#".concat(controller.id);
356
- var targetId = templatesStore.addTarget(type, target);
407
+ targetConfig.selector = "#".concat(controller.id);
357
408
  this.props = this.props || {};
358
- this.props.targetId = targetId;
409
+ this.props.target = templatesStore.addTarget(targetConfig);
359
410
  },
360
411
  };
361
412
  mapping[targetName] = mappedConfig;
@@ -413,7 +464,7 @@ function createSnapConfig(templateConfig, templatesStore) {
413
464
  config: {
414
465
  id: 'autocomplete',
415
466
  plugins: createPlugins(templateConfig, templatesStore, 'autocomplete'),
416
- selector: templateConfig.autocomplete.targets.map(function (target) { return target.inputSelector || target.selector; }).join(', '),
467
+ selector: templateConfig.autocomplete.targets.map(function (target) { return target.inputSelector; }).join(', '),
417
468
  settings: autocompleteControllerSettings,
418
469
  },
419
470
  targeters: createAutocompleteTargeters(templateConfig, templatesStore),
@@ -1,20 +1,21 @@
1
- import { TemplateTarget, type TemplatesStoreConfigSettings, type TemplatesStoreDependencies, type TemplateThemeTypes } from './TemplateStore';
1
+ import { TemplateTarget, type TemplateTypes, type TemplateThemeTypes } from './TemplateStore';
2
2
  export declare const GLOBAL_THEME_NAME = "global";
3
3
  type TargetStoreConfig = {
4
- target: TemplateTarget;
5
- dependencies: TemplatesStoreDependencies;
6
- settings: TemplatesStoreConfigSettings;
4
+ target: TemplateTarget & {
5
+ index: number;
6
+ };
7
7
  };
8
8
  export declare class TargetStore {
9
+ index: number;
10
+ type: TemplateTypes;
9
11
  selector: string;
10
12
  component: string;
11
13
  theme: {
12
14
  location: TemplateThemeTypes;
13
15
  name: string;
14
16
  };
15
- private dependencies;
16
17
  constructor(params: TargetStoreConfig);
17
- setComponent(componentName: string): void;
18
+ setValue(name: string, value: string): void;
18
19
  setTheme(themeName: string, location: TemplateThemeTypes): void;
19
20
  }
20
21
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TargetStore.d.ts","sourceRoot":"","sources":["../../../../../src/Templates/Stores/TargetStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,4BAA4B,EAAE,KAAK,0BAA0B,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE9I,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,KAAK,iBAAiB,GAAG;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,0BAA0B,CAAC;IACzC,QAAQ,EAAE,4BAA4B,CAAC;CACvC,CAAC;AACF,qBAAa,WAAW;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACb,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,EAAE,iBAAiB;IAiB9B,YAAY,CAAC,aAAa,EAAE,MAAM;IAKlC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB;CAO/D"}
1
+ {"version":3,"file":"TargetStore.d.ts","sourceRoot":"","sources":["../../../../../src/Templates/Stores/TargetStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE9F,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C,KAAK,iBAAiB,GAAG;IACxB,MAAM,EAAE,cAAc,GAAG;QACxB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CACF,CAAC;AACF,qBAAa,WAAW;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACb,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;gBAEU,MAAM,EAAE,iBAAiB;IAmB9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAWpC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB;CAM/D"}