@useinsider/guido 1.0.3-beta.6d7cd41 → 1.0.3-beta.70cf127

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 (240) hide show
  1. package/README.md +32 -0
  2. package/dist/components/Guido.vue.js +7 -7
  3. package/dist/components/Guido.vue2.js +36 -35
  4. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +28 -0
  5. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +38 -0
  6. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +17 -0
  7. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -0
  8. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +20 -0
  9. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +44 -0
  10. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +17 -0
  11. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +27 -0
  12. package/dist/composables/useStripo.js +39 -34
  13. package/dist/enums/extensions/recommendationBlock.js +80 -0
  14. package/dist/extensions/Blocks/Checkbox/block.js +5 -2
  15. package/dist/extensions/Blocks/Items/block.js +70 -0
  16. package/dist/extensions/Blocks/Items/controls/button/link.js +60 -0
  17. package/dist/extensions/Blocks/Items/controls/cardComposition.js +99 -0
  18. package/dist/extensions/Blocks/Items/controls/image/link.js +60 -0
  19. package/dist/extensions/Blocks/Items/controls/index.js +217 -0
  20. package/dist/extensions/Blocks/Items/controls/name/trimming.js +63 -0
  21. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +100 -0
  22. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +113 -0
  23. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +69 -0
  24. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +38 -0
  25. package/dist/extensions/Blocks/Items/controls/settingsControl.js +279 -0
  26. package/dist/extensions/Blocks/Items/enums/controlEnums.js +5 -0
  27. package/dist/extensions/Blocks/Items/enums/productEnums.js +181 -0
  28. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +63 -0
  29. package/dist/extensions/Blocks/Items/extension.js +19 -0
  30. package/dist/extensions/Blocks/Items/iconsRegistry.js +32 -0
  31. package/dist/extensions/Blocks/Items/items.css.js +23 -0
  32. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +64 -0
  33. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +66 -0
  34. package/dist/extensions/Blocks/Items/settingsPanel.js +106 -0
  35. package/dist/extensions/Blocks/Items/store/items-block.js +67 -0
  36. package/dist/extensions/Blocks/Items/template.js +108 -0
  37. package/dist/extensions/Blocks/RadioButton/block.js +5 -2
  38. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  39. package/dist/extensions/Blocks/Recommendation/block.js +27 -0
  40. package/dist/extensions/Blocks/Recommendation/control.js +277 -0
  41. package/dist/extensions/Blocks/Recommendation/extension.js +10 -0
  42. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +51 -0
  43. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +19 -0
  44. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +32 -0
  45. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +266 -0
  46. package/dist/extensions/Blocks/Recommendation/template.js +200 -0
  47. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +28 -0
  48. package/dist/extensions/Blocks/common-control.js +127 -0
  49. package/dist/extensions/Blocks/controlFactories.js +223 -0
  50. package/dist/guido.css +1 -1
  51. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +319 -95
  52. package/dist/package.json.js +7 -0
  53. package/dist/services/recommendationApi.js +37 -0
  54. package/dist/{@types → src/@types}/generic.d.ts +4 -0
  55. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +19 -0
  56. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +16 -0
  57. package/dist/src/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +2 -0
  58. package/dist/src/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +2 -0
  59. package/dist/src/enums/extensions/recommendationBlock.d.ts +16 -0
  60. package/dist/{extensions → src/extensions}/Blocks/Checkbox/block.d.ts +1 -0
  61. package/dist/src/extensions/Blocks/Items/block.d.ts +12 -0
  62. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +14 -0
  63. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +20 -0
  64. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +14 -0
  65. package/dist/src/extensions/Blocks/Items/controls/index.d.ts +501 -0
  66. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +14 -0
  67. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +19 -0
  68. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +20 -0
  69. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +14 -0
  70. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +9 -0
  71. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +42 -0
  72. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +61 -0
  73. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +143 -0
  74. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +35 -0
  75. package/dist/src/extensions/Blocks/Items/iconsRegistry.d.ts +4 -0
  76. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +39 -0
  77. package/dist/src/extensions/Blocks/Items/template.d.ts +16 -0
  78. package/dist/{extensions → src/extensions}/Blocks/RadioButton/block.d.ts +1 -0
  79. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +10 -0
  80. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +29 -0
  81. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +4 -0
  82. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +555 -0
  83. package/dist/src/extensions/Blocks/Recommendation/template.d.ts +6 -0
  84. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +7 -0
  85. package/dist/src/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +4 -0
  86. package/dist/src/extensions/Blocks/_Boilerplate/extension.d.ts +2 -0
  87. package/dist/src/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
  88. package/dist/src/extensions/Blocks/common-control.d.ts +80 -0
  89. package/dist/src/extensions/Blocks/controlFactories.d.ts +312 -0
  90. package/dist/src/extensions/DynamicContent/extension.d.ts +2 -0
  91. package/dist/src/mock/api/validator.d.ts +2 -0
  92. package/dist/src/services/recommendationApi.d.ts +6 -0
  93. package/dist/{stores → src/stores}/editor.d.ts +21 -0
  94. package/dist/{utils → src/utils}/genericUtil.d.ts +1 -0
  95. package/dist/static/styles/customEditorStyle.css.js +4 -0
  96. package/dist/stores/editor.js +2 -1
  97. package/package.json +16 -4
  98. /package/dist/{@types → src/@types}/events.d.ts +0 -0
  99. /package/dist/{@types → src/@types}/save-as-template.d.ts +0 -0
  100. /package/dist/{App.vue.d.ts → src/App.vue.d.ts} +0 -0
  101. /package/dist/{components → src/components}/Guido.vue.d.ts +0 -0
  102. /package/dist/{components → src/components}/organisms/LoadingWrapper.vue.d.ts +0 -0
  103. /package/dist/{components → src/components}/organisms/base/Toaster.vue.d.ts +0 -0
  104. /package/dist/{components → src/components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
  105. /package/dist/{components → src/components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
  106. /package/dist/{components → src/components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
  107. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
  108. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
  109. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
  110. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
  111. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
  112. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
  113. /package/dist/{components/organisms/header/LeftSlot.vue.d.ts → src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts} +0 -0
  114. /package/dist/{components/organisms/header/MiddleSlot.vue.d.ts → src/components/organisms/extensions/recommendation/Filters.vue.d.ts} +0 -0
  115. /package/dist/{components → src/components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
  116. /package/dist/{components/organisms/header/ViewOptions.vue.d.ts → src/components/organisms/header/LeftSlot.vue.d.ts} +0 -0
  117. /package/dist/{components/organisms/header/version-history/RestoreButton.vue.d.ts → src/components/organisms/header/MiddleSlot.vue.d.ts} +0 -0
  118. /package/dist/{components → src/components}/organisms/header/RightSlot.vue.d.ts +0 -0
  119. /package/dist/{components/organisms/header/version-history → src/components/organisms/header}/ViewOptions.vue.d.ts +0 -0
  120. /package/dist/{components/organisms/onboarding/AMPOnboarding.vue.d.ts → src/components/organisms/header/version-history/RestoreButton.vue.d.ts} +0 -0
  121. /package/dist/{components → src/components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
  122. /package/dist/{components → src/components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
  123. /package/dist/{components/organisms/onboarding/GenericOnboarding.vue.d.ts → src/components/organisms/header/version-history/ViewOptions.vue.d.ts} +0 -0
  124. /package/dist/{components/organisms/onboarding/NewVersionPopup.vue.d.ts → src/components/organisms/onboarding/AMPOnboarding.vue.d.ts} +0 -0
  125. /package/dist/{components/organisms/onboarding/OnboardingWrapper.vue.d.ts → src/components/organisms/onboarding/GenericOnboarding.vue.d.ts} +0 -0
  126. /package/dist/{components/organisms/onboarding/TextBlockOnboarding.vue.d.ts → src/components/organisms/onboarding/NewVersionPopup.vue.d.ts} +0 -0
  127. /package/dist/{components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts → src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts} +0 -0
  128. /package/dist/{components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts → src/components/organisms/onboarding/TextBlockOnboarding.vue.d.ts} +0 -0
  129. /package/dist/{components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts → src/components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts} +0 -0
  130. /package/dist/{components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts → src/components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts} +0 -0
  131. /package/dist/{components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts → src/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts} +0 -0
  132. /package/dist/{components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts → src/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts} +0 -0
  133. /package/dist/{components → src/components}/wrappers/WpDrawer.vue.d.ts +0 -0
  134. /package/dist/{components → src/components}/wrappers/WpModal.vue.d.ts +0 -0
  135. /package/dist/{composables → src/composables}/useActionsApi.d.ts +0 -0
  136. /package/dist/{composables → src/composables}/useApiExample.d.ts +0 -0
  137. /package/dist/{composables → src/composables}/useCodeEditorApi.d.ts +0 -0
  138. /package/dist/{composables → src/composables}/useConfig.d.ts +0 -0
  139. /package/dist/{composables → src/composables}/useCustomInterfaceAppearance.d.ts +0 -0
  140. /package/dist/{composables → src/composables}/useDebounce.d.ts +0 -0
  141. /package/dist/{composables → src/composables}/useExport.d.ts +0 -0
  142. /package/dist/{composables → src/composables}/useGuidoActions.d.ts +0 -0
  143. /package/dist/{composables → src/composables}/useHtmlCompiler.d.ts +0 -0
  144. /package/dist/{composables → src/composables}/useHtmlValidator.d.ts +0 -0
  145. /package/dist/{composables → src/composables}/useHttp.d.ts +0 -0
  146. /package/dist/{composables → src/composables}/usePartner.d.ts +0 -0
  147. /package/dist/{composables → src/composables}/usePreviewMode.d.ts +0 -0
  148. /package/dist/{composables → src/composables}/useProvideInject.d.ts +0 -0
  149. /package/dist/{composables → src/composables}/useRecommendation.d.ts +0 -0
  150. /package/dist/{composables → src/composables}/useResponsivePreview.d.ts +0 -0
  151. /package/dist/{composables → src/composables}/useSave.d.ts +0 -0
  152. /package/dist/{composables → src/composables}/useStripo.d.ts +0 -0
  153. /package/dist/{composables → src/composables}/useStripoEventHandler.d.ts +0 -0
  154. /package/dist/{composables → src/composables}/useToaster.d.ts +0 -0
  155. /package/dist/{composables → src/composables}/useTranslations.d.ts +0 -0
  156. /package/dist/{composables → src/composables}/useValidation.d.ts +0 -0
  157. /package/dist/{composables → src/composables}/useVersionHistoryApi.d.ts +0 -0
  158. /package/dist/{composables → src/composables}/validators/saveAsTemplate.d.ts +0 -0
  159. /package/dist/{config → src/config}/compiler/htmlCompilerRules.d.ts +0 -0
  160. /package/dist/{config → src/config}/compiler/outlookCompilerRules.d.ts +0 -0
  161. /package/dist/{config → src/config}/compiler/recommendationCompilerRules.d.ts +0 -0
  162. /package/dist/{config → src/config}/compiler/socialCompilerRules.d.ts +0 -0
  163. /package/dist/{config → src/config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
  164. /package/dist/{config → src/config}/migrator/checkboxMigrator.d.ts +0 -0
  165. /package/dist/{config → src/config}/migrator/couponBlockMigrator.d.ts +0 -0
  166. /package/dist/{config → src/config}/migrator/index.d.ts +0 -0
  167. /package/dist/{config → src/config}/migrator/radioButtonMigrator.d.ts +0 -0
  168. /package/dist/{config → src/config}/migrator/unsubscribeMigrator.d.ts +0 -0
  169. /package/dist/{enums → src/enums}/defaults.d.ts +0 -0
  170. /package/dist/{enums → src/enums}/displayConditions.d.ts +0 -0
  171. /package/dist/{enums → src/enums}/html-validator.d.ts +0 -0
  172. /package/dist/{enums → src/enums}/onboarding.d.ts +0 -0
  173. /package/dist/{enums → src/enums}/preview.d.ts +0 -0
  174. /package/dist/{enums → src/enums}/recommendation.d.ts +0 -0
  175. /package/dist/{enums → src/enums}/toaster.d.ts +0 -0
  176. /package/dist/{enums → src/enums}/unsubscribe.d.ts +0 -0
  177. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/control.d.ts +0 -0
  178. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/extension.d.ts +0 -0
  179. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/iconsRegistry.d.ts +0 -0
  180. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
  181. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/template.d.ts +0 -0
  182. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/block.d.ts +0 -0
  183. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
  184. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/iconsRegistry.d.ts +0 -0
  185. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
  186. /package/dist/{extensions → src/extensions}/Blocks/CouponBlock/template.d.ts +0 -0
  187. /package/dist/{extensions/Blocks/RadioButton → src/extensions/Blocks/Items}/extension.d.ts +0 -0
  188. /package/dist/{extensions/Blocks/Unsubscribe → src/extensions/Blocks/Items}/settingsPanel.d.ts +0 -0
  189. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/control.d.ts +0 -0
  190. /package/dist/{extensions/Blocks/Unsubscribe → src/extensions/Blocks/RadioButton}/extension.d.ts +0 -0
  191. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/iconsRegistry.d.ts +0 -0
  192. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
  193. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/template.d.ts +0 -0
  194. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Recommendation}/extension.d.ts +0 -0
  195. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Recommendation}/settingsPanel.d.ts +0 -0
  196. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/block.d.ts +0 -0
  197. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/control.d.ts +0 -0
  198. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/elements/preview.d.ts +0 -0
  199. /package/dist/{extensions/DynamicContent → src/extensions/Blocks/Unsubscribe}/extension.d.ts +0 -0
  200. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -0
  201. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/tagRegistry.d.ts +0 -0
  202. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/template.d.ts +0 -0
  203. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/constants.d.ts +0 -0
  204. /package/dist/{extensions → src/extensions}/Blocks/Unsubscribe/utils/utils.d.ts +0 -0
  205. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/block.d.ts +0 -0
  206. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
  207. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -0
  208. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
  209. /package/dist/{extensions → src/extensions}/DynamicContent/dynamic-content-modal.d.ts +0 -0
  210. /package/dist/{extensions → src/extensions}/DynamicContent/dynamic-content.d.ts +0 -0
  211. /package/dist/{library.d.ts → src/library.d.ts} +0 -0
  212. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  213. /package/dist/{mock → src/mock}/api/auth.d.ts +0 -0
  214. /package/dist/{mock → src/mock}/api/custom-fonts.d.ts +0 -0
  215. /package/dist/{mock → src/mock}/api/default-template.d.ts +0 -0
  216. /package/dist/{mock/api/template-library.d.ts → src/mock/api/recommendation.d.ts} +0 -0
  217. /package/dist/{mock/api/unsubscribe.d.ts → src/mock/api/template-library.d.ts} +0 -0
  218. /package/dist/{mock/api/user-modal-state.d.ts → src/mock/api/unsubscribe.d.ts} +0 -0
  219. /package/dist/{mock/api/validator.d.ts → src/mock/api/user-modal-state.d.ts} +0 -0
  220. /package/dist/{mock → src/mock}/browser.d.ts +0 -0
  221. /package/dist/{mock → src/mock}/handlers.d.ts +0 -0
  222. /package/dist/{services → src/services}/onboardingApi.d.ts +0 -0
  223. /package/dist/{services → src/services}/stripoApi.d.ts +0 -0
  224. /package/dist/{services → src/services}/templateLibraryApi.d.ts +0 -0
  225. /package/dist/{services → src/services}/unsubscribeApi.d.ts +0 -0
  226. /package/dist/{stores → src/stores}/config.d.ts +0 -0
  227. /package/dist/{stores → src/stores}/dynamic-content.d.ts +0 -0
  228. /package/dist/{stores → src/stores}/onboarding.d.ts +0 -0
  229. /package/dist/{stores → src/stores}/preview.d.ts +0 -0
  230. /package/dist/{stores → src/stores}/recommendation.d.ts +0 -0
  231. /package/dist/{stores → src/stores}/save-as-template.d.ts +0 -0
  232. /package/dist/{stores → src/stores}/toaster.d.ts +0 -0
  233. /package/dist/{stores → src/stores}/unsubscribe.d.ts +0 -0
  234. /package/dist/{stores → src/stores}/version-history.d.ts +0 -0
  235. /package/dist/{utils → src/utils}/arrayUtil.d.ts +0 -0
  236. /package/dist/{utils → src/utils}/base64.d.ts +0 -0
  237. /package/dist/{utils → src/utils}/dateUtil.d.ts +0 -0
  238. /package/dist/{utils → src/utils}/htmlCompiler.d.ts +0 -0
  239. /package/dist/{utils → src/utils}/templatePreparation.d.ts +0 -0
  240. /package/dist/{utils → src/utils}/tooltipUtils.d.ts +0 -0
@@ -0,0 +1,100 @@
1
+ var R = Object.defineProperty;
2
+ var y = (s, o, e) => o in s ? R(s, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[o] = e;
3
+ var p = (s, o, e) => y(s, typeof o != "symbol" ? o + "" : o, e);
4
+ import { currencyLocationMaps as m } from "../../../../../enums/extensions/recommendationBlock.js";
5
+ import { UEAttr as I, ModificationDescription as N } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
6
+ import { CommonControl as T } from "../../../common-control.js";
7
+ import { ItemsBlockControlId as h } from "../../enums/controlEnums.js";
8
+ import { useItemsBlockStore as E } from "../../store/items-block.js";
9
+ const O = h.PRICE_CURRENCY_LOCATION, a = {
10
+ CURRENCY_LOCATION: "currencyLocation"
11
+ };
12
+ class S extends T {
13
+ constructor() {
14
+ super(...arguments);
15
+ p(this, "store", E());
16
+ }
17
+ getId() {
18
+ return O;
19
+ }
20
+ getTemplate() {
21
+ return `
22
+ <div class="${h.PRICE_CURRENCY_LOCATION}">
23
+ ${this._getCurrencyLocation()}
24
+ </div>
25
+ `;
26
+ }
27
+ onRender() {
28
+ this.api.setUIEAttribute(a.CURRENCY_LOCATION, I.SELECTPICKER.items, m), this.api.updateValues({ [a.CURRENCY_LOCATION]: this.store.currencyLocation }), this.api.onValueChanged(a.CURRENCY_LOCATION, (e) => {
29
+ this._onCurrencyLocationChange(e);
30
+ });
31
+ }
32
+ onTemplateNodeUpdated(e) {
33
+ this.currentNode = e, this.api.updateValues({ [a.CURRENCY_LOCATION]: this.store.currencyLocation });
34
+ }
35
+ _onCurrencyLocationChange(e) {
36
+ if (console.debug("Currency location changed to: ", e), this.store.setCurrencyLocation(e), !this.currentNode)
37
+ return;
38
+ const t = this._getPriceBlocks();
39
+ if (!t || t.length === 0)
40
+ return;
41
+ const r = e || "0", { currencySymbol: n } = this.store;
42
+ t.forEach((c) => {
43
+ const i = this._getParagraph(c);
44
+ if (!i)
45
+ return;
46
+ const C = i.getInnerHTML() || "", l = i.getInnerText() || "", u = (n == null ? void 0 : n.trim()) || "", d = this._removeCurrencySymbol(l, u), _ = this._detectSymbolInText(l) || u, g = this._buildPriceContent(d, _, r), L = C.replace(l, g);
47
+ this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(L).apply(new N(
48
+ `Updated currency location to ${r === "1" ? "after" : "before"}`
49
+ ));
50
+ });
51
+ }
52
+ _getPriceBlocks() {
53
+ var e, t;
54
+ return ((t = (e = this.currentNode) == null ? void 0 : e.closest(".items-block")) == null ? void 0 : t.querySelectorAll(".items-block-price")) || [];
55
+ }
56
+ _getParagraph(e) {
57
+ return e.querySelector("p");
58
+ }
59
+ _escapeRegex(e) {
60
+ return e.replace(/[-\\^$*+?().|[\]{}]/g, "\\$&");
61
+ }
62
+ _removeCurrencySymbol(e, t) {
63
+ const r = e || "";
64
+ let n = r;
65
+ if (t) {
66
+ const c = new RegExp(`\\s*${this._escapeRegex(t)}\\s*`);
67
+ n = r.replace(c, "").trim();
68
+ } else {
69
+ const c = r.match(/([^0-9.,\s]+)/);
70
+ if (c && c[1]) {
71
+ const i = c[1].trim(), C = new RegExp(`\\s*${this._escapeRegex(i)}\\s*`);
72
+ n = r.replace(C, "").trim();
73
+ }
74
+ }
75
+ return n;
76
+ }
77
+ _detectSymbolInText(e) {
78
+ const t = e.match(/([^0-9.,\s]+)/);
79
+ return t && t[1] ? t[1].trim() : "";
80
+ }
81
+ _buildPriceContent(e, t, r) {
82
+ return t ? r === "1" ? `${e}&nbsp;${t}` : `${t}&nbsp;${e}` : e;
83
+ }
84
+ _getCurrencyLocation() {
85
+ return `
86
+ ${this._GuTwoColumns([
87
+ this._GuLabel({ text: "Currency Location" }),
88
+ this._GuSelect({
89
+ name: a.CURRENCY_LOCATION,
90
+ placeholder: "",
91
+ options: m
92
+ })
93
+ ])}
94
+ `;
95
+ }
96
+ }
97
+ export {
98
+ O as CONTROL_BLOCK_ID,
99
+ S as PriceCurrencyLocationControl
100
+ };
@@ -0,0 +1,113 @@
1
+ var S = Object.defineProperty;
2
+ var _ = (c, s, e) => s in c ? S(c, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[s] = e;
3
+ var u = (c, s, e) => _(c, typeof s != "symbol" ? s + "" : s, e);
4
+ import { ModificationDescription as b } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as R } from "../../../common-control.js";
6
+ import { ItemsBlockControlId as p } from "../../enums/controlEnums.js";
7
+ import { useItemsBlockStore as f } from "../../store/items-block.js";
8
+ const E = p.PRICE_CURRENCY_SYMBOL, m = {
9
+ CURRENCY_SYMBOL: "currencySymbol"
10
+ };
11
+ class M extends R {
12
+ constructor() {
13
+ super(...arguments);
14
+ u(this, "store", f());
15
+ u(this, "originalPriceContents", /* @__PURE__ */ new Map());
16
+ }
17
+ getId() {
18
+ return E;
19
+ }
20
+ getTemplate() {
21
+ return `
22
+ <div class="${p.PRICE_CURRENCY_SYMBOL}">
23
+ ${this._getCurrencySymbol()}
24
+ </div>
25
+ `;
26
+ }
27
+ onRender() {
28
+ this.api.updateValues({ [m.CURRENCY_SYMBOL]: this.store.currencySymbol }), this._storeOriginalContents(), this.api.onValueChanged(m.CURRENCY_SYMBOL, (e) => {
29
+ this._onCurrencySymbolChange(e);
30
+ });
31
+ }
32
+ onTemplateNodeUpdated(e) {
33
+ this.currentNode = e, this.api.updateValues({ [m.CURRENCY_SYMBOL]: this.store.currencySymbol }), this._storeOriginalContents();
34
+ }
35
+ _onCurrencySymbolChange(e) {
36
+ var i;
37
+ console.debug("Currency symbol changed to: ", e);
38
+ const r = ((i = this.store.currencySymbol) == null ? void 0 : i.trim()) || "";
39
+ if (this.store.setCurrencySymbol(e), !this.currentNode)
40
+ return;
41
+ const t = this._getPriceBlocks();
42
+ if (!t || t.length === 0)
43
+ return;
44
+ const o = (e == null ? void 0 : e.trim()) || "", { currencyLocation: n } = this.store;
45
+ t.forEach((l) => {
46
+ const a = this._getParagraph(l);
47
+ if (!a)
48
+ return;
49
+ const C = a.getInnerHTML() || "", h = a.getInnerText() || "", y = this._removeCurrencySymbol(h, r), g = this._buildPriceContent(y, o, n), d = C.replace(h, g);
50
+ this.api.getDocumentModifier().modifyHtml(a).setInnerHtml(d).apply(new b(
51
+ `Updated currency symbol to ${o || "removed"}`
52
+ ));
53
+ });
54
+ }
55
+ _storeOriginalContents() {
56
+ if (!this.currentNode)
57
+ return;
58
+ this.currentNode.querySelectorAll(
59
+ ".items-block-price"
60
+ ).forEach((r) => {
61
+ var o;
62
+ const t = r.querySelector("p");
63
+ if (t && !this.originalPriceContents.has(t)) {
64
+ const n = t.getInnerText() || "", i = ((o = this.store.currencySymbol) == null ? void 0 : o.trim()) || "", l = this._removeCurrencySymbol(n, i);
65
+ this.originalPriceContents.set(t, l);
66
+ }
67
+ });
68
+ }
69
+ _getPriceBlocks() {
70
+ var e, r;
71
+ return ((r = (e = this.currentNode) == null ? void 0 : e.closest(".items-block")) == null ? void 0 : r.querySelectorAll(".items-block-price")) || [];
72
+ }
73
+ _getParagraph(e) {
74
+ return e.querySelector("p");
75
+ }
76
+ _escapeRegex(e) {
77
+ return e.replace(/[-\\^$*+?().|[\]{}]/g, "\\$&");
78
+ }
79
+ _removeCurrencySymbol(e, r) {
80
+ const t = e || "";
81
+ let o = t;
82
+ if (r) {
83
+ const n = new RegExp(`\\s*${this._escapeRegex(r)}\\s*`);
84
+ o = t.replace(n, "").trim();
85
+ } else {
86
+ const n = t.match(/([^0-9.,\s]+)/);
87
+ if (n && n[1]) {
88
+ const i = n[1].trim(), l = new RegExp(`\\s*${this._escapeRegex(i)}\\s*`);
89
+ o = t.replace(l, "").trim();
90
+ }
91
+ }
92
+ return o;
93
+ }
94
+ _buildPriceContent(e, r, t) {
95
+ return r ? t === "1" ? `${e}&nbsp;${r}` : `${r}&nbsp;${e}` : e;
96
+ }
97
+ _getCurrencySymbol() {
98
+ return `
99
+ ${this._GuTwoColumns([
100
+ this._GuLabel({ text: "Currency Symbol" }),
101
+ this._GuTextInput({
102
+ name: m.CURRENCY_SYMBOL,
103
+ placeholder: "Enter Currency Symbol",
104
+ className: "es-180w"
105
+ })
106
+ ])}
107
+ `;
108
+ }
109
+ }
110
+ export {
111
+ E as CONTROL_BLOCK_ID,
112
+ M as PriceCurrencySymbolControl
113
+ };
@@ -0,0 +1,69 @@
1
+ var I = Object.defineProperty;
2
+ var p = (r, t, e) => t in r ? I(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var P = (r, t, e) => p(r, typeof t != "symbol" ? t + "" : t, e);
4
+ import { ModificationDescription as F, UIElementType as T, UEAttr as C } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as A } from "../../../common-control.js";
6
+ import { ItemsBlockControlId as l, ItemsBlockId as g } from "../../enums/controlEnums.js";
7
+ import { productPairs as m } from "../../enums/productEnums.js";
8
+ import { useItemsBlockStore as h } from "../../store/items-block.js";
9
+ const D = l.PRICE_FORMATTED_PRICE, a = {
10
+ FORMATTED_PRICE: "formattedPrice"
11
+ };
12
+ class U extends A {
13
+ constructor() {
14
+ super(...arguments);
15
+ P(this, "store", h());
16
+ }
17
+ getId() {
18
+ return D;
19
+ }
20
+ getTemplate() {
21
+ return `
22
+ <div class="${l.PRICE_FORMATTED_PRICE}">
23
+ ${this._getFormattedPrice()}
24
+ </div>
25
+ `;
26
+ }
27
+ onRender() {
28
+ this.api.updateValues({ [a.FORMATTED_PRICE]: this.store.formattedPrice }), this.api.onValueChanged(a.FORMATTED_PRICE, (e) => {
29
+ this._onFormattedPriceChange(e);
30
+ });
31
+ }
32
+ onTemplateNodeUpdated(e) {
33
+ this.currentNode = e;
34
+ }
35
+ _onFormattedPriceChange(e) {
36
+ if (console.debug("Formatted price changed to: ", e), this.store.setFormattedPrice(e), !this.currentNode)
37
+ return;
38
+ const { itemsType: n } = this.store, i = m.PAIRS_FOR_EXTENSION.price[n], o = m.PAIRS_FOR_EXTENSION.originalPrice[n], [c, s] = e ? [i.DEFAULT_PRICE, i.DEFAULT_PRICE_FORMATTED] : [i.DEFAULT_PRICE_FORMATTED, i.DEFAULT_PRICE], [_, R] = e ? [o.DEFAULT_PRICE, o.DEFAULT_PRICE_FORMATTED] : [o.DEFAULT_PRICE_FORMATTED, o.DEFAULT_PRICE];
39
+ this._updatePriceBlock(
40
+ this.currentNode,
41
+ c,
42
+ s,
43
+ "price"
44
+ );
45
+ const d = this.currentNode.closest(".items-block"), E = d == null ? void 0 : d.querySelector(`[esd-extension-block-id="${g.ORIGINAL_PRICE}"]`);
46
+ E && this._updatePriceBlock(E, _, R, "original price");
47
+ }
48
+ _updatePriceBlock(e, n, i, o) {
49
+ const c = e.getInnerHTML().replace(n, i), s = `Updated ${o} to ${this.store.formattedPrice ? "formatted" : "unformatted"}`;
50
+ this.api.getDocumentModifier().modifyHtml(e).setInnerHtml(c).apply(new F(s));
51
+ }
52
+ _getFormattedPrice() {
53
+ return `
54
+ <div class="container">
55
+ <div class="display-flex align-items-center justify-content-between">
56
+ <${T.LABEL}
57
+ ${C.LABEL.text}="${this.api.translate("Formatted Price (e.g. $9.90)")}"
58
+ >
59
+ </${T.LABEL}>
60
+ ${this._GuToggle(a.FORMATTED_PRICE)}
61
+ </div>
62
+ </div>
63
+ `;
64
+ }
65
+ }
66
+ export {
67
+ D as CONTROL_BLOCK_ID,
68
+ U as PriceFormattedPriceControl
69
+ };
@@ -0,0 +1,38 @@
1
+ import { UIElementType as e, UEAttr as i } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as o } from "../../../common-control.js";
3
+ import { ItemsBlockControlId as t } from "../../enums/controlEnums.js";
4
+ const s = t.PRICE_HIDE_DISCOUNT, n = {
5
+ HIDE_DISCOUNT: "hideDiscount"
6
+ };
7
+ class I extends o {
8
+ getId() {
9
+ return s;
10
+ }
11
+ getTemplate() {
12
+ return `
13
+ <div class="${t.PRICE_HIDE_DISCOUNT}">
14
+ ${this._getHideDiscount()}
15
+ </div>
16
+ `;
17
+ }
18
+ onRender() {
19
+ return Promise.resolve();
20
+ }
21
+ _getHideDiscount() {
22
+ return `
23
+ <div class="container">
24
+ <div class="display-flex align-items-center justify-content-between">
25
+ <${e.LABEL}
26
+ ${i.LABEL.text}="${this.api.translate("Hide if same as discounted ")}"
27
+ >
28
+ </${e.LABEL}>
29
+ ${this._GuToggle(n.HIDE_DISCOUNT)}
30
+ </div>
31
+ </div>
32
+ `;
33
+ }
34
+ }
35
+ export {
36
+ s as CONTROL_BLOCK_ID,
37
+ I as PriceHideDiscountControl
38
+ };
@@ -0,0 +1,279 @@
1
+ var P = Object.defineProperty;
2
+ var f = (I, p, e) => p in I ? P(I, p, { enumerable: !0, configurable: !0, writable: !0, value: e }) : I[p] = e;
3
+ var O = (I, p, e) => f(I, typeof p != "symbol" ? p + "" : p, e);
4
+ import { UEAttr as C, ModificationDescription as m } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as M } from "../../common-control.js";
6
+ import { ItemsBlockId as a } from "../enums/controlEnums.js";
7
+ import { productPairs as d } from "../enums/productEnums.js";
8
+ import { ItemTypeOptions as R, OrientationOptions as A, ItemInCartOptions as S, SETTINGS_ENUMS as N } from "../enums/settingsEnums.js";
9
+ import x from "../layouts/horizontal.html.js";
10
+ import b from "../layouts/vertical.html.js";
11
+ import { useItemsBlockStore as D } from "../store/items-block.js";
12
+ import { getDefaultTemplate as L } from "../template.js";
13
+ const H = "ui-elements-items-block", o = {
14
+ ITEMS_TYPE: "itemsType",
15
+ ORIENTATION: "orientation",
16
+ ITEM_IDS: "itemIds"
17
+ };
18
+ class v extends M {
19
+ constructor() {
20
+ super(...arguments);
21
+ O(this, "store", D());
22
+ }
23
+ getId() {
24
+ return H;
25
+ }
26
+ getTemplate() {
27
+ return `
28
+ <div class="items-controls-container">
29
+ ${this._getItemsType()}
30
+ ${this._getItemInCart()}
31
+ ${this._getOrientation()}
32
+ </div>
33
+ `;
34
+ }
35
+ onRender() {
36
+ this.api.updateValues({
37
+ [o.ORIENTATION]: this.store.orientation,
38
+ [o.ITEMS_TYPE]: this.store.itemsType,
39
+ [o.ITEM_IDS]: this.store.itemIds
40
+ }), this._listenToFormUpdates();
41
+ }
42
+ onTemplateNodeUpdated(e) {
43
+ this.currentNode = e, this.api.updateValues({
44
+ [o.ORIENTATION]: this.store.orientation,
45
+ [o.ITEMS_TYPE]: this.store.itemsType,
46
+ [o.ITEM_IDS]: this.store.itemIds
47
+ }), this._initializeSelectItems();
48
+ }
49
+ onDestroy() {
50
+ const e = this._getTemplateData();
51
+ this.store.setTemplateData(e);
52
+ }
53
+ _getItemsType() {
54
+ return `
55
+ ${this._GuOneColumn([
56
+ this._GuLabel({ text: "Item Type" }),
57
+ this._GuSelect({
58
+ name: o.ITEMS_TYPE,
59
+ className: "es-100",
60
+ placeholder: "Select Item Type",
61
+ options: R
62
+ })
63
+ ])}
64
+ `;
65
+ }
66
+ _getOrientation() {
67
+ return `
68
+ ${this._GuTwoColumns([
69
+ this._GuLabel({ text: "Orientation" }),
70
+ this._GuRadioButton({
71
+ name: o.ORIENTATION,
72
+ buttons: A
73
+ })
74
+ ])}
75
+ `;
76
+ }
77
+ _getItemInCart() {
78
+ return `
79
+ ${this._GuTwoColumns([
80
+ this._GuLabel({ text: "Item in Cart" }),
81
+ this._GuSelect({
82
+ name: o.ITEM_IDS,
83
+ className: "es-100",
84
+ placeholder: "Select Item In Cart",
85
+ options: []
86
+ })
87
+ ])}
88
+ `;
89
+ }
90
+ _onOrientationChange(e) {
91
+ console.debug("Orientation changed to: ", e), this.store.setOrientation(e), this.api.updateValues({ [o.ORIENTATION]: e }), this._reOrderTemplate(), this._recalculateTrimming();
92
+ }
93
+ _onItemsTypeChange(e, t) {
94
+ const { itemIds: i } = this.store, r = N.ITEMS_TYPE[e], n = S[t].findIndex((c) => c.value === i), s = S[e][n];
95
+ r && (this.store.setItemsType(r), this.store.setItemIds(s.value), this._initializeSelectItems(), this._reFillTemplate());
96
+ }
97
+ _onItemIdsChange(e) {
98
+ console.debug("Item ids changed to: ", e), this.store.setItemIds(e), this.api.updateValues({ [o.ITEM_IDS]: e }), this._reFillTemplate();
99
+ }
100
+ _initializeSelectItems() {
101
+ this.api.setUIEAttribute(
102
+ o.ITEMS_TYPE,
103
+ C.SELECTPICKER.items,
104
+ R
105
+ );
106
+ const { itemsType: e, itemIds: t } = this.store;
107
+ this.api.updateValues({
108
+ [o.ITEMS_TYPE]: e
109
+ });
110
+ const i = S[e];
111
+ this.api.setUIEAttribute(
112
+ o.ITEM_IDS,
113
+ C.SELECTPICKER.items,
114
+ i
115
+ ), this.api.updateValues({
116
+ [o.ITEM_IDS]: t
117
+ });
118
+ }
119
+ _listenToFormUpdates() {
120
+ this.api.onValueChanged(
121
+ o.ITEMS_TYPE,
122
+ (e, t) => this._onItemsTypeChange(e, t)
123
+ ), this.api.onValueChanged(
124
+ o.ORIENTATION,
125
+ (e) => this._onOrientationChange(e)
126
+ ), this.api.onValueChanged(
127
+ o.ITEM_IDS,
128
+ (e) => this._onItemIdsChange(e)
129
+ );
130
+ }
131
+ _renderTemplate() {
132
+ const {
133
+ orientation: e,
134
+ itemsType: t,
135
+ itemIds: i,
136
+ currencySymbol: r,
137
+ currencyLocation: n,
138
+ formattedPrice: s
139
+ } = this.store;
140
+ this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(L({
141
+ orientation: e,
142
+ itemsType: t,
143
+ itemId: i,
144
+ currencySymbol: r,
145
+ currencyLocation: n,
146
+ formattedPrice: s
147
+ })).apply(new m("Updated template"));
148
+ }
149
+ _getTemplateData() {
150
+ const { itemsType: e, itemIds: t, formattedPrice: i } = this.store, r = S[e].findIndex((s) => s.value === t), n = r > -1 ? r : 0;
151
+ return {
152
+ imageSrc: d.PAIRS_FOR_EXTENSION.imageSrc[e].DEFAULT[n],
153
+ name: d.PAIRS_FOR_EXTENSION.name[e].DEFAULT[n],
154
+ price: i ? d.PAIRS_FOR_EXTENSION.price[e].DEFAULT_PRICE_FORMATTED : d.PAIRS_FOR_EXTENSION.price[e].DEFAULT_PRICE,
155
+ originalPrice: i ? d.PAIRS_FOR_EXTENSION.originalPrice[e].DEFAULT_PRICE_FORMATTED : d.PAIRS_FOR_EXTENSION.originalPrice[e].DEFAULT_PRICE,
156
+ quantity: d.PAIRS_FOR_EXTENSION.quantity[e].DEFAULT,
157
+ button: d.PAIRS_FOR_EXTENSION.button[e].DEFAULT_LABEL
158
+ };
159
+ }
160
+ _updateImageSrc(e) {
161
+ var i;
162
+ const t = (i = this.currentNode) == null ? void 0 : i.querySelector(`[esd-extension-block-id="${a.IMAGE}"] img`);
163
+ t && this.api.getDocumentModifier().modifyHtml(t).setAttribute("src", e).apply(new m("Updated image src"));
164
+ }
165
+ _updateName(e) {
166
+ var n;
167
+ const t = (n = this.currentNode) == null ? void 0 : n.querySelector(`[esd-extension-block-id="${a.NAME}"]`);
168
+ if (!t)
169
+ return;
170
+ const i = t.getInnerText().trim();
171
+ let r = t.getInnerHTML();
172
+ r = r.replace(i, e), this.api.getDocumentModifier().modifyHtml(t).setInnerHtml(r).apply(new m("Updated name"));
173
+ }
174
+ _updatePrice(e) {
175
+ var g;
176
+ const t = (g = this.currentNode) == null ? void 0 : g.querySelector(`[esd-extension-block-id="${a.PRICE}"]`);
177
+ if (!t)
178
+ return;
179
+ const i = this._getParagraphFromBlock(t);
180
+ if (!i)
181
+ return;
182
+ const r = i.getInnerHTML() || "", n = i.getInnerText() || "", { currencySymbol: s, currencyLocation: c } = this.store, l = (s == null ? void 0 : s.trim()) || "", u = this._removeCurrencySymbol(n, l), T = this._replacePriceNumber(u, e), h = this._buildPriceContent(T, l, c), _ = r.replace(n, h);
183
+ this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(_).apply(new m("Updated price"));
184
+ }
185
+ _updateOriginalPrice(e) {
186
+ var y;
187
+ const t = (y = this.currentNode) == null ? void 0 : y.querySelector(
188
+ `[esd-extension-block-id="${a.ORIGINAL_PRICE}"]`
189
+ );
190
+ if (!t)
191
+ return;
192
+ const i = this._getParagraphFromBlock(t);
193
+ if (!i)
194
+ return;
195
+ const r = i.querySelector("s");
196
+ if (!r)
197
+ return;
198
+ const n = r.getInnerHTML() || "", s = r.getInnerText() || "", { currencySymbol: c, currencyLocation: l } = this.store, u = (c == null ? void 0 : c.trim()) || "", T = this._removeCurrencySymbol(s, u), h = this._replacePriceNumber(T, e), _ = this._buildPriceContent(h, u, l), E = `<s>${n.replace(s, _)}</s>`;
199
+ this.api.getDocumentModifier().modifyHtml(i).setInnerHtml(E).apply(new m("Updated original price"));
200
+ }
201
+ _updateQuantity(e) {
202
+ var n;
203
+ const t = (n = this.currentNode) == null ? void 0 : n.querySelector(`[esd-extension-block-id="${a.QUANTITY}"]`);
204
+ if (!t)
205
+ return;
206
+ const i = t.getInnerText().trim();
207
+ let r = t.getInnerHTML();
208
+ r = r.replace(i, e), this.api.getDocumentModifier().modifyHtml(t).setInnerHtml(r).apply(new m("Updated quantity"));
209
+ }
210
+ _updateButton(e) {
211
+ var n;
212
+ const t = (n = this.currentNode) == null ? void 0 : n.querySelector(`[esd-extension-block-id="${a.BUTTON}"]`);
213
+ if (!t)
214
+ return;
215
+ const i = t.getInnerText().trim();
216
+ let r = t.getInnerHTML();
217
+ r = r.replace(i, e), this.api.getDocumentModifier().modifyHtml(t).setInnerHtml(r).apply(new m("Updated button"));
218
+ }
219
+ _reOrderTemplate() {
220
+ var u, T, h, _, g, E;
221
+ const e = (u = this.currentNode) == null ? void 0 : u.querySelector(`[esd-extension-block-id="${a.IMAGE}"]`), t = (T = this.currentNode) == null ? void 0 : T.querySelector(`[esd-extension-block-id="${a.NAME}"]`), i = (h = this.currentNode) == null ? void 0 : h.querySelector(`[esd-extension-block-id="${a.PRICE}"]`), r = (_ = this.currentNode) == null ? void 0 : _.querySelector(
222
+ `[esd-extension-block-id="${a.ORIGINAL_PRICE}"]`
223
+ ), n = (g = this.currentNode) == null ? void 0 : g.querySelector(`[esd-extension-block-id="${a.QUANTITY}"]`), s = (E = this.currentNode) == null ? void 0 : E.querySelector(`[esd-extension-block-id="${a.BUTTON}"]`);
224
+ if (!e || !t || !i || !r || !n || !s)
225
+ return;
226
+ const { orientation: c } = this.store;
227
+ let l = c === N.ORIENTATION.VERTICAL ? b : x;
228
+ l = l.replace("{-{-PRODUCT_IMAGE-}-}", e.getOuterHTML()).replace("{-{-PRODUCT_NAME-}-}", t.getOuterHTML()).replace("{-{-PRODUCT_PRICE-}-}", i.getOuterHTML()).replace("{-{-PRODUCT_ORIGINAL_PRICE-}-}", r.getOuterHTML()).replace("{-{-PRODUCT_QUANTITY-}-}", n.getOuterHTML()).replace("{-{-PRODUCT_BUTTON-}-}", s.getOuterHTML()), l = l.trim().replace('<td align="center" class="ins-product-td items-block">', "").slice(0, -5), this.api.getDocumentModifier().modifyHtml(this.currentNode).setInnerHtml(l).apply(new m("Reordered template"));
229
+ }
230
+ _reFillTemplate() {
231
+ const e = this._getTemplateData();
232
+ this._updateImageSrc(e.imageSrc), this._updateName(e.name), this._updatePrice(e.price), this._updateOriginalPrice(e.originalPrice), this._updateQuantity(e.quantity), this._updateButton(e.button);
233
+ }
234
+ _recalculateTrimming() {
235
+ var r;
236
+ if (!this.store.nameTrimming || !this.currentNode)
237
+ return;
238
+ const e = (r = this.currentNode) == null ? void 0 : r.querySelector(`[esd-extension-block-id="${a.NAME}"]`);
239
+ if (!e)
240
+ return;
241
+ const t = e.querySelector("p");
242
+ if (!t)
243
+ return;
244
+ const i = this.store.orientation === N.ORIENTATION.VERTICAL;
245
+ this.api.getDocumentModifier().modifyHtml(t).setStyle("white-space", "nowrap").setStyle("overflow", "hidden").setStyle("text-overflow", "ellipsis").setStyle("max-width", i ? "130px" : "100%").apply(new m("Recalculated trimming after orientation change"));
246
+ }
247
+ _getParagraphFromBlock(e) {
248
+ return e.querySelector("p");
249
+ }
250
+ _escapeRegex(e) {
251
+ return e.replace(/[-\\^$*+?().|[\]{}]/g, "\\$&");
252
+ }
253
+ _removeCurrencySymbol(e, t) {
254
+ const i = e || "";
255
+ let r = i;
256
+ if (t) {
257
+ const n = new RegExp(`\\s*${this._escapeRegex(t)}\\s*`);
258
+ r = i.replace(n, "").trim();
259
+ } else {
260
+ const n = i.match(/([^0-9.,\s]+)/);
261
+ if (n && n[1]) {
262
+ const s = n[1].trim(), c = new RegExp(`\\s*${this._escapeRegex(s)}\\s*`);
263
+ r = i.replace(c, "").trim();
264
+ }
265
+ }
266
+ return r;
267
+ }
268
+ _replacePriceNumber(e, t) {
269
+ const i = /([0-9][0-9,.]*)/;
270
+ return e.replace(i, t).trim();
271
+ }
272
+ _buildPriceContent(e, t, i) {
273
+ return t ? i === "1" ? `${e}&nbsp;${t}&nbsp;` : `${t}&nbsp;${e}` : e;
274
+ }
275
+ }
276
+ export {
277
+ H as CONTROL_BLOCK_ID,
278
+ v as ItemsBlockControl
279
+ };
@@ -0,0 +1,5 @@
1
+ var c = /* @__PURE__ */ ((i) => (i.BUTTON = "items-block-button", i.IMAGE = "items-block-image", i.ORIGINAL_PRICE = "items-block-original-price", i.PRICE = "items-block-price", i.QUANTITY = "items-block-quantity", i.NAME = "items-block-name", i))(c || {}), b = /* @__PURE__ */ ((i) => (i.BUTTON_ALIGN = "items-block-button-align-control", i.BUTTON_BORDER = "items-block-button-border-control", i.BUTTON_BORDER_RADIUS = "items-block-button-border-radius-control", i.BUTTON_COLOR = "items-block-button-color-control", i.BUTTON_FIT_TO_CONTENT = "items-block-button-fit-to-content-control", i.BUTTON_FONT_FAMILY = "items-block-button-font-family-control", i.BUTTON_MARGINS = "items-block-button-margins-control", i.BUTTON_PADDINGS = "items-block-button-paddings-control", i.BUTTON_TEXT = "items-block-button-text-control", i.BUTTON_TEXT_SIZE = "items-block-button-text-size-control", i.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "items-block-button-text-style-and-font-color-control", i.BUTTON_LINK = "items-block-button-link-control", i.IMAGE_SIZE = "items-block-image-size-control", i.IMAGE_MARGINS = "items-block-image-margins-control", i.IMAGE_LINK = "items-block-image-link-control", i.ORIGINAL_PRICE_ALIGN = "items-block-original-price-align-control", i.ORIGINAL_PRICE_COLOR = "items-block-original-price-color-control", i.ORIGINAL_PRICE_SIZE = "items-block-original-price-size-control", i.ORIGINAL_PRICE_STYLE = "items-block-original-price-style-control", i.ORIGINAL_PRICE_FONT_FAMILY = "items-block-original-price-font-family-control", i.ORIGINAL_PRICE_BACKGROUND = "items-block-original-price-background-control", i.ORIGINAL_PRICE_PADDINGS = "items-block-original-price-paddings-control", i.PRICE_ALIGN = "items-block-price-align-control", i.PRICE_COLOR = "items-block-price-color-control", i.PRICE_SIZE = "items-block-price-size-control", i.PRICE_STYLE = "items-block-price-style-control", i.PRICE_FONT_FAMILY = "items-block-price-font-family-control", i.PRICE_BACKGROUND = "items-block-price-background-control", i.PRICE_PADDINGS = "items-block-price-paddings-control", i.PRICE_HIDE_DISCOUNT = "items-block-price-hide-discount-control", i.PRICE_FORMATTED_PRICE = "items-block-price-formatted-price-control", i.PRICE_CURRENCY_SYMBOL = "items-block-price-currency-symbol-control", i.PRICE_CURRENCY_LOCATION = "items-block-price-currency-location-control", i.NAME_ALIGN = "items-block-name-align-control", i.NAME_COLOR = "items-block-name-color-control", i.NAME_SIZE = "items-block-name-size-control", i.NAME_STYLE = "items-block-name-style-control", i.NAME_FONT_FAMILY = "items-block-name-font-family-control", i.NAME_BACKGROUND = "items-block-name-background-control", i.NAME_TRIMMING = "items-block-name-trimming-control", i.NAME_PADDINGS = "items-block-name-paddings-control", i.QUANTITY_ALIGN = "items-block-quantity-align-control", i.QUANTITY_COLOR = "items-block-quantity-color-control", i.QUANTITY_FONT_FAMILY = "items-block-quantity-font-family-control", i.QUANTITY_PADDINGS = "items-block-quantity-paddings-control", i.QUANTITY_SIZE = "items-block-quantity-size-control", i.QUANTITY_STYLE = "items-block-quantity-style-control", i))(b || {});
2
+ export {
3
+ b as ItemsBlockControlId,
4
+ c as ItemsBlockId
5
+ };