@useinsider/guido 1.0.3-beta.3cb36f8 → 1.0.3-beta.3e280d4

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 (342) hide show
  1. package/dist/components/Guido.vue.js +7 -7
  2. package/dist/components/Guido.vue2.js +74 -68
  3. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +28 -0
  4. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +38 -0
  5. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +17 -0
  6. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -0
  7. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +20 -0
  8. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +44 -0
  9. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +17 -0
  10. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +27 -0
  11. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +18 -0
  12. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +16 -0
  13. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +24 -0
  14. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +64 -0
  15. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +18 -0
  16. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +107 -0
  17. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +18 -0
  18. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue2.js +12 -0
  19. package/dist/components/wrappers/WpDrawer.vue.js +6 -4
  20. package/dist/composables/useStripo.js +59 -48
  21. package/dist/config/compiler/unsubscribeCompilerRules.js +42 -29
  22. package/dist/config/migrator/couponBlockMigrator.js +67 -0
  23. package/dist/config/migrator/index.js +9 -6
  24. package/dist/config/migrator/recommendationMigrator.js +203 -0
  25. package/dist/config/migrator/unsubscribeMigrator.js +124 -0
  26. package/dist/enums/defaults.js +6 -3
  27. package/dist/enums/extensions/recommendationBlock.js +80 -0
  28. package/dist/enums/unsubscribe.js +43 -6
  29. package/dist/extensions/Blocks/Checkbox/block.js +15 -24
  30. package/dist/extensions/Blocks/Checkbox/control.js +55 -67
  31. package/dist/extensions/Blocks/Checkbox/extension.js +5 -16
  32. package/dist/extensions/Blocks/Checkbox/iconsRegistry.js +18 -0
  33. package/dist/extensions/Blocks/Checkbox/settingsPanel.js +12 -25
  34. package/dist/extensions/Blocks/Checkbox/template.js +5 -16
  35. package/dist/extensions/Blocks/CouponBlock/block.js +33 -0
  36. package/dist/extensions/Blocks/CouponBlock/extension.js +8 -0
  37. package/dist/extensions/Blocks/CouponBlock/iconsRegistry.js +33 -0
  38. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +24 -0
  39. package/dist/extensions/Blocks/CouponBlock/template.js +18 -0
  40. package/dist/extensions/Blocks/RadioButton/block.js +13 -22
  41. package/dist/extensions/Blocks/RadioButton/control.js +40 -52
  42. package/dist/extensions/Blocks/RadioButton/extension.js +4 -15
  43. package/dist/extensions/Blocks/RadioButton/iconsRegistry.js +14 -0
  44. package/dist/extensions/Blocks/RadioButton/settingsPanel.js +13 -26
  45. package/dist/extensions/Blocks/RadioButton/template.js +13 -24
  46. package/dist/extensions/Blocks/Recommendation/block.js +30 -0
  47. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +335 -0
  48. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  49. package/dist/extensions/Blocks/Recommendation/control.js +305 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  66. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  69. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  70. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  71. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  72. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  73. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  74. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  75. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  76. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  77. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  78. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  79. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  80. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  81. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  82. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  83. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  84. package/dist/extensions/Blocks/Recommendation/extension.js +45 -0
  85. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +51 -0
  86. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +19 -0
  87. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -0
  88. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +266 -0
  89. package/dist/extensions/Blocks/Recommendation/template.js +365 -0
  90. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +28 -0
  91. package/dist/extensions/Blocks/Unsubscribe/block.js +131 -0
  92. package/dist/extensions/Blocks/Unsubscribe/control.js +167 -0
  93. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +42 -0
  94. package/dist/extensions/Blocks/Unsubscribe/extension.js +21 -0
  95. package/dist/extensions/Blocks/Unsubscribe/iconsRegistry.js +21 -0
  96. package/dist/extensions/Blocks/Unsubscribe/settingsPanel.js +35 -0
  97. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +42 -0
  98. package/dist/extensions/Blocks/Unsubscribe/tagRegistry.js +10 -0
  99. package/dist/extensions/Blocks/Unsubscribe/template.js +22 -0
  100. package/dist/extensions/Blocks/Unsubscribe/utils/constants.js +11 -0
  101. package/dist/extensions/Blocks/Unsubscribe/utils/utils.js +6 -0
  102. package/dist/extensions/Blocks/common-control.js +184 -0
  103. package/dist/extensions/DynamicContent/dynamic-content.js +31 -45
  104. package/dist/extensions/DynamicContent/extension.js +6 -18
  105. package/dist/guido.css +1 -1
  106. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +866 -0
  107. package/dist/package.json.js +7 -0
  108. package/dist/services/recommendationApi.js +43 -0
  109. package/dist/services/unsubscribeApi.js +16 -0
  110. package/dist/{@types → src/@types}/generic.d.ts +13 -0
  111. package/dist/{components → src/components}/Guido.vue.d.ts +2 -2
  112. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +19 -0
  113. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +16 -0
  114. package/dist/src/components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +2 -0
  115. package/dist/src/components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts +2 -0
  116. package/dist/src/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +2 -0
  117. package/dist/src/components/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +2 -0
  118. package/dist/src/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +2 -0
  119. package/dist/src/components/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +2 -0
  120. package/dist/{components → src/components}/wrappers/WpDrawer.vue.d.ts +6 -4
  121. package/dist/src/config/migrator/couponBlockMigrator.d.ts +1 -0
  122. package/dist/src/config/migrator/index.d.ts +1 -0
  123. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  124. package/dist/src/config/migrator/unsubscribeMigrator.d.ts +1 -0
  125. package/dist/src/enums/extensions/recommendationBlock.d.ts +16 -0
  126. package/dist/src/enums/unsubscribe.d.ts +38 -0
  127. package/dist/{extensions → src/extensions}/Blocks/Checkbox/block.d.ts +1 -0
  128. package/dist/src/extensions/Blocks/Checkbox/iconsRegistry.d.ts +4 -0
  129. package/dist/src/extensions/Blocks/CouponBlock/block.d.ts +12 -0
  130. package/dist/src/extensions/Blocks/CouponBlock/iconsRegistry.d.ts +4 -0
  131. package/dist/src/extensions/Blocks/CouponBlock/settingsPanel.d.ts +4 -0
  132. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +3 -0
  133. package/dist/{extensions → src/extensions}/Blocks/RadioButton/block.d.ts +1 -0
  134. package/dist/src/extensions/Blocks/RadioButton/iconsRegistry.d.ts +4 -0
  135. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +11 -0
  136. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +65 -0
  137. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  138. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +35 -0
  139. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  140. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  141. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  142. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  143. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  144. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  145. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  146. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  147. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  148. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  149. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  150. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  151. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  152. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  153. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  154. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  155. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  156. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  157. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  158. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  159. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  160. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  161. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  162. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  163. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  164. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  165. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  166. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  167. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  168. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  169. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  170. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  171. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  172. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  173. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +4 -0
  174. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +555 -0
  175. package/dist/src/extensions/Blocks/Recommendation/template.d.ts +43 -0
  176. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +7 -0
  177. package/dist/src/extensions/Blocks/Unsubscribe/block.d.ts +32 -0
  178. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +29 -0
  179. package/dist/src/extensions/Blocks/Unsubscribe/elements/preview.d.ts +11 -0
  180. package/dist/src/extensions/Blocks/Unsubscribe/extension.d.ts +2 -0
  181. package/dist/src/extensions/Blocks/Unsubscribe/iconsRegistry.d.ts +4 -0
  182. package/dist/src/extensions/Blocks/Unsubscribe/settingsPanel.d.ts +4 -0
  183. package/dist/src/extensions/Blocks/Unsubscribe/tagRegistry.d.ts +4 -0
  184. package/dist/src/extensions/Blocks/Unsubscribe/template.d.ts +12 -0
  185. package/dist/src/extensions/Blocks/Unsubscribe/utils/constants.d.ts +9 -0
  186. package/dist/src/extensions/Blocks/Unsubscribe/utils/utils.d.ts +7 -0
  187. package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/block.d.ts +1 -0
  188. package/dist/src/extensions/Blocks/_Boilerplate/extension.d.ts +2 -0
  189. package/dist/src/extensions/Blocks/_Boilerplate/iconsRegistry.d.ts +4 -0
  190. package/dist/src/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
  191. package/dist/src/extensions/Blocks/common-control.d.ts +87 -0
  192. package/dist/src/extensions/DynamicContent/extension.d.ts +2 -0
  193. package/dist/src/mock/api/validator.d.ts +2 -0
  194. package/dist/src/services/recommendationApi.d.ts +6 -0
  195. package/dist/src/services/unsubscribeApi.d.ts +4 -0
  196. package/dist/src/stores/config.d.ts +96 -0
  197. package/dist/{stores → src/stores}/editor.d.ts +21 -0
  198. package/dist/src/stores/unsubscribe.d.ts +256 -0
  199. package/dist/{utils → src/utils}/genericUtil.d.ts +1 -0
  200. package/dist/static/styles/customEditorStyle.css.js +5 -0
  201. package/dist/stores/config.js +17 -0
  202. package/dist/stores/editor.js +2 -1
  203. package/dist/stores/unsubscribe.js +126 -6
  204. package/dist/utils/genericUtil.js +8 -7
  205. package/dist/utils/templatePreparation.js +17 -16
  206. package/package.json +8 -3
  207. package/dist/config/migrator/index.d.ts +0 -1
  208. package/dist/enums/unsubscribe.d.ts +0 -15
  209. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +0 -75
  210. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +0 -77
  211. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +0 -123
  212. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +0 -7
  213. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +0 -7
  214. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +0 -12
  215. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +0 -7
  216. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +0 -119
  217. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +0 -7
  218. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +0 -7
  219. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +0 -7
  220. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +0 -12
  221. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +0 -7
  222. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +0 -7
  223. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +0 -7
  224. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +0 -24
  225. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +0 -24
  226. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +0 -11
  227. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +0 -33
  228. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +0 -22
  229. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +0 -40
  230. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +0 -5
  231. package/dist/stores/unsubscribe.d.ts +0 -8
  232. /package/dist/{@types → src/@types}/events.d.ts +0 -0
  233. /package/dist/{@types → src/@types}/save-as-template.d.ts +0 -0
  234. /package/dist/{App.vue.d.ts → src/App.vue.d.ts} +0 -0
  235. /package/dist/{components → src/components}/organisms/LoadingWrapper.vue.d.ts +0 -0
  236. /package/dist/{components → src/components}/organisms/base/Toaster.vue.d.ts +0 -0
  237. /package/dist/{components → src/components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
  238. /package/dist/{components → src/components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
  239. /package/dist/{components → src/components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
  240. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
  241. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
  242. /package/dist/{components → src/components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
  243. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
  244. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
  245. /package/dist/{components → src/components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
  246. /package/dist/{components/organisms/header/LeftSlot.vue.d.ts → src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts} +0 -0
  247. /package/dist/{components/organisms/header/MiddleSlot.vue.d.ts → src/components/organisms/extensions/recommendation/Filters.vue.d.ts} +0 -0
  248. /package/dist/{components → src/components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
  249. /package/dist/{components/organisms/header/ViewOptions.vue.d.ts → src/components/organisms/header/LeftSlot.vue.d.ts} +0 -0
  250. /package/dist/{components/organisms/header/version-history/RestoreButton.vue.d.ts → src/components/organisms/header/MiddleSlot.vue.d.ts} +0 -0
  251. /package/dist/{components → src/components}/organisms/header/RightSlot.vue.d.ts +0 -0
  252. /package/dist/{components/organisms/header/version-history → src/components/organisms/header}/ViewOptions.vue.d.ts +0 -0
  253. /package/dist/{components/organisms/onboarding/AMPOnboarding.vue.d.ts → src/components/organisms/header/version-history/RestoreButton.vue.d.ts} +0 -0
  254. /package/dist/{components → src/components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
  255. /package/dist/{components → src/components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
  256. /package/dist/{components/organisms/onboarding/GenericOnboarding.vue.d.ts → src/components/organisms/header/version-history/ViewOptions.vue.d.ts} +0 -0
  257. /package/dist/{components/organisms/onboarding/NewVersionPopup.vue.d.ts → src/components/organisms/onboarding/AMPOnboarding.vue.d.ts} +0 -0
  258. /package/dist/{components/organisms/onboarding/OnboardingWrapper.vue.d.ts → src/components/organisms/onboarding/GenericOnboarding.vue.d.ts} +0 -0
  259. /package/dist/{components/organisms/onboarding/TextBlockOnboarding.vue.d.ts → src/components/organisms/onboarding/NewVersionPopup.vue.d.ts} +0 -0
  260. /package/dist/{components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts → src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts} +0 -0
  261. /package/dist/{components/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts → src/components/organisms/onboarding/TextBlockOnboarding.vue.d.ts} +0 -0
  262. /package/dist/{components → src/components}/wrappers/WpModal.vue.d.ts +0 -0
  263. /package/dist/{composables → src/composables}/useActionsApi.d.ts +0 -0
  264. /package/dist/{composables → src/composables}/useApiExample.d.ts +0 -0
  265. /package/dist/{composables → src/composables}/useCodeEditorApi.d.ts +0 -0
  266. /package/dist/{composables → src/composables}/useConfig.d.ts +0 -0
  267. /package/dist/{composables → src/composables}/useCustomInterfaceAppearance.d.ts +0 -0
  268. /package/dist/{composables → src/composables}/useDebounce.d.ts +0 -0
  269. /package/dist/{composables → src/composables}/useExport.d.ts +0 -0
  270. /package/dist/{composables → src/composables}/useGuidoActions.d.ts +0 -0
  271. /package/dist/{composables → src/composables}/useHtmlCompiler.d.ts +0 -0
  272. /package/dist/{composables → src/composables}/useHtmlValidator.d.ts +0 -0
  273. /package/dist/{composables → src/composables}/useHttp.d.ts +0 -0
  274. /package/dist/{composables → src/composables}/usePartner.d.ts +0 -0
  275. /package/dist/{composables → src/composables}/usePreviewMode.d.ts +0 -0
  276. /package/dist/{composables → src/composables}/useProvideInject.d.ts +0 -0
  277. /package/dist/{composables → src/composables}/useRecommendation.d.ts +0 -0
  278. /package/dist/{composables → src/composables}/useResponsivePreview.d.ts +0 -0
  279. /package/dist/{composables → src/composables}/useSave.d.ts +0 -0
  280. /package/dist/{composables → src/composables}/useStripo.d.ts +0 -0
  281. /package/dist/{composables → src/composables}/useStripoEventHandler.d.ts +0 -0
  282. /package/dist/{composables → src/composables}/useToaster.d.ts +0 -0
  283. /package/dist/{composables → src/composables}/useTranslations.d.ts +0 -0
  284. /package/dist/{composables → src/composables}/useValidation.d.ts +0 -0
  285. /package/dist/{composables → src/composables}/useVersionHistoryApi.d.ts +0 -0
  286. /package/dist/{composables → src/composables}/validators/saveAsTemplate.d.ts +0 -0
  287. /package/dist/{config → src/config}/compiler/htmlCompilerRules.d.ts +0 -0
  288. /package/dist/{config → src/config}/compiler/outlookCompilerRules.d.ts +0 -0
  289. /package/dist/{config → src/config}/compiler/recommendationCompilerRules.d.ts +0 -0
  290. /package/dist/{config → src/config}/compiler/socialCompilerRules.d.ts +0 -0
  291. /package/dist/{config → src/config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
  292. /package/dist/{config → src/config}/migrator/checkboxMigrator.d.ts +0 -0
  293. /package/dist/{config → src/config}/migrator/radioButtonMigrator.d.ts +0 -0
  294. /package/dist/{enums → src/enums}/defaults.d.ts +0 -0
  295. /package/dist/{enums → src/enums}/displayConditions.d.ts +0 -0
  296. /package/dist/{enums → src/enums}/html-validator.d.ts +0 -0
  297. /package/dist/{enums → src/enums}/onboarding.d.ts +0 -0
  298. /package/dist/{enums → src/enums}/preview.d.ts +0 -0
  299. /package/dist/{enums → src/enums}/recommendation.d.ts +0 -0
  300. /package/dist/{enums → src/enums}/toaster.d.ts +0 -0
  301. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/control.d.ts +0 -0
  302. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/extension.d.ts +0 -0
  303. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
  304. /package/dist/{extensions → src/extensions}/Blocks/Checkbox/template.d.ts +0 -0
  305. /package/dist/{extensions/Blocks/RadioButton → src/extensions/Blocks/CouponBlock}/extension.d.ts +0 -0
  306. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/control.d.ts +0 -0
  307. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/RadioButton}/extension.d.ts +0 -0
  308. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
  309. /package/dist/{extensions → src/extensions}/Blocks/RadioButton/template.d.ts +0 -0
  310. /package/dist/{extensions/DynamicContent → src/extensions/Blocks/Recommendation}/extension.d.ts +0 -0
  311. /package/dist/{extensions/Blocks/_Boilerplate → src/extensions/Blocks/Recommendation}/settingsPanel.d.ts +0 -0
  312. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
  313. /package/dist/{extensions → src/extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
  314. /package/dist/{extensions → src/extensions}/DynamicContent/dynamic-content-modal.d.ts +0 -0
  315. /package/dist/{extensions → src/extensions}/DynamicContent/dynamic-content.d.ts +0 -0
  316. /package/dist/{library.d.ts → src/library.d.ts} +0 -0
  317. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  318. /package/dist/{mock → src/mock}/api/auth.d.ts +0 -0
  319. /package/dist/{mock → src/mock}/api/custom-fonts.d.ts +0 -0
  320. /package/dist/{mock → src/mock}/api/default-template.d.ts +0 -0
  321. /package/dist/{mock/api/template-library.d.ts → src/mock/api/recommendation.d.ts} +0 -0
  322. /package/dist/{mock/api/unsubscribe.d.ts → src/mock/api/template-library.d.ts} +0 -0
  323. /package/dist/{mock/api/user-modal-state.d.ts → src/mock/api/unsubscribe.d.ts} +0 -0
  324. /package/dist/{mock/api/validator.d.ts → src/mock/api/user-modal-state.d.ts} +0 -0
  325. /package/dist/{mock → src/mock}/browser.d.ts +0 -0
  326. /package/dist/{mock → src/mock}/handlers.d.ts +0 -0
  327. /package/dist/{services → src/services}/onboardingApi.d.ts +0 -0
  328. /package/dist/{services → src/services}/stripoApi.d.ts +0 -0
  329. /package/dist/{services → src/services}/templateLibraryApi.d.ts +0 -0
  330. /package/dist/{stores → src/stores}/dynamic-content.d.ts +0 -0
  331. /package/dist/{stores → src/stores}/onboarding.d.ts +0 -0
  332. /package/dist/{stores → src/stores}/preview.d.ts +0 -0
  333. /package/dist/{stores → src/stores}/recommendation.d.ts +0 -0
  334. /package/dist/{stores → src/stores}/save-as-template.d.ts +0 -0
  335. /package/dist/{stores → src/stores}/toaster.d.ts +0 -0
  336. /package/dist/{stores → src/stores}/version-history.d.ts +0 -0
  337. /package/dist/{utils → src/utils}/arrayUtil.d.ts +0 -0
  338. /package/dist/{utils → src/utils}/base64.d.ts +0 -0
  339. /package/dist/{utils → src/utils}/dateUtil.d.ts +0 -0
  340. /package/dist/{utils → src/utils}/htmlCompiler.d.ts +0 -0
  341. /package/dist/{utils → src/utils}/templatePreparation.d.ts +0 -0
  342. /package/dist/{utils → src/utils}/tooltipUtils.d.ts +0 -0
@@ -1,20 +1,9 @@
1
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
2
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
3
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
4
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
5
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
6
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
13
- import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js";
1
+ import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
14
2
  import { RadioButtonCustomBlock as t } from "./block.js";
15
3
  import { RadioButtonControl as i } from "./control.js";
4
+ import { RadioButtonIconsRegistry as n } from "./iconsRegistry.js";
16
5
  import { RadioButtonBlockSettingsPanel as r } from "./settingsPanel.js";
17
- const C = new o().addBlock(t).withSettingsPanelRegistry(r).addControl(i).build();
6
+ const l = new o().addBlock(t).withSettingsPanelRegistry(r).addControl(i).withIconsRegistry(n).build();
18
7
  export {
19
- C as default
8
+ l as default
20
9
  };
@@ -0,0 +1,14 @@
1
+ import { IconsRegistry as i } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ class s extends i {
3
+ registerIconsSvg(t) {
4
+ t["radio-button-icon"] = `
5
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6
+ <circle cx="10" cy="10" r="9" stroke="#666666" fill="#FFFFFF" stroke-width="2"/>
7
+ <circle cx="10" cy="10" r="3" fill="#666666"/>
8
+ </svg>
9
+ `;
10
+ }
11
+ }
12
+ export {
13
+ s as RadioButtonIconsRegistry
14
+ };
@@ -1,39 +1,26 @@
1
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
2
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
3
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
4
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
5
- import { ContainerControls as t, TextControls as m } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
6
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
- import { SettingsTab as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
13
- import { SettingsPanelRegistry as e } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js";
14
- import { SettingsPanelTab as r } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js";
15
- import { BLOCK_ID as p } from "./block.js";
16
- import { CONTROL_BLOCK_ID as n } from "./control.js";
17
- class K extends e {
18
- registerBlockControls(i) {
19
- i[p] = [
20
- new r(
1
+ import { SettingsPanelRegistry as r, SettingsPanelTab as t, SettingsTab as o, ContainerControls as e, TextControls as s } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { BLOCK_ID as T } from "./block.js";
3
+ import { CONTROL_BLOCK_ID as i } from "./control.js";
4
+ class a extends r {
5
+ registerBlockControls(n) {
6
+ n[T] = [
7
+ new t(
21
8
  o.SETTINGS,
22
9
  [
23
- n,
24
- t.EXTERNAL_INDENTS,
25
- t.DISPLAY_CONDITIONS
10
+ i,
11
+ e.EXTERNAL_INDENTS,
12
+ e.DISPLAY_CONDITIONS
26
13
  ]
27
14
  ),
28
- new r(
15
+ new t(
29
16
  o.STYLES,
30
17
  [
31
- m.TEXT_BLOCK_BACKGROUND_COLOR
18
+ s.TEXT_BLOCK_BACKGROUND_COLOR
32
19
  ]
33
20
  )
34
21
  ];
35
22
  }
36
23
  }
37
24
  export {
38
- K as RadioButtonBlockSettingsPanel
25
+ a as RadioButtonBlockSettingsPanel
39
26
  };
@@ -1,21 +1,10 @@
1
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js";
2
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js";
3
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js";
4
- import { BlockType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js";
5
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js";
6
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js";
7
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js";
8
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js";
9
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js";
10
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js";
11
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js";
12
- import "../../../node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js";
1
+ import { BlockType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
13
2
  const e = {
14
3
  TITLE: "This is a title text",
15
4
  DESCRIPTION: "This is a description text",
16
5
  YES: "Yes",
17
6
  NO: "No"
18
- }, i = `
7
+ }, d = `
19
8
  <td align="left" class="radio-button-v2 esd-block-radio es-p10t es-p10b es-p30r es-p30l">
20
9
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
21
10
  <tbody>
@@ -23,12 +12,12 @@ const e = {
23
12
  <td align="left" width="70%" style="vertical-align: top;">
24
13
  <table cellpadding="0" cellspacing="0" role="presentation" width="100%">
25
14
  <tbody>
26
- <${t.BLOCK_TEXT}>
27
- {-{-TITLE-}-}
28
- </${t.BLOCK_TEXT}>
29
- <${t.BLOCK_TEXT}>
30
- {-{-DESCRIPTION-}-}
31
- </${t.BLOCK_TEXT}>
15
+ <${t.BLOCK_TEXT}>
16
+ {-{-TITLE-}-}
17
+ </${t.BLOCK_TEXT}>
18
+ <${t.BLOCK_TEXT}>
19
+ {-{-DESCRIPTION-}-}
20
+ </${t.BLOCK_TEXT}>
32
21
  </tbody>
33
22
  </table>
34
23
  </td>
@@ -86,7 +75,7 @@ const e = {
86
75
  </tbody>
87
76
  </table>
88
77
  </td>
89
- `, h = `
78
+ `, l = `
90
79
  <td
91
80
  align="left"
92
81
  esd-extension-block-id="radio-button-block"
@@ -151,10 +140,10 @@ const e = {
151
140
  </table>
152
141
  </td>
153
142
  `;
154
- function m() {
155
- return i.replace("{-{-TITLE-}-}", `<p path="1">${e.TITLE}</p>`).replace("{-{-DESCRIPTION-}-}", `<p path="1">${e.DESCRIPTION}</p>`).replace("{-{-YES-}-}", `<p path="1">${e.YES}</p>`).replace("{-{-NO-}-}", `<p path="1">${e.NO}</p>`);
143
+ function a() {
144
+ return d.replace("{-{-TITLE-}-}", `<p path="1">${e.TITLE}</p>`).replace("{-{-DESCRIPTION-}-}", `<p path="1">${e.DESCRIPTION}</p>`).replace("{-{-YES-}-}", `<p path="1">${e.YES}</p>`).replace("{-{-NO-}-}", `<p path="1">${e.NO}</p>`);
156
145
  }
157
146
  export {
158
- h as default,
159
- m as getDefaultTemplate
147
+ l as default,
148
+ a as getDefaultTemplate
160
149
  };
@@ -0,0 +1,30 @@
1
+ import { Block as e, BlockCompositionType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { getDefaultTemplate as o } from "./template.js";
3
+ const n = "recommendation-block";
4
+ class m extends e {
5
+ constructor() {
6
+ super();
7
+ }
8
+ getId() {
9
+ return n;
10
+ }
11
+ getIcon() {
12
+ return "recommendation-icon";
13
+ }
14
+ getBlockCompositionType() {
15
+ return t.CONTAINER;
16
+ }
17
+ getName() {
18
+ return this.api.translate("Recommendation Block");
19
+ }
20
+ getDescription() {
21
+ return this.api.translate("Recommendation Block Title Description");
22
+ }
23
+ getTemplate() {
24
+ return o();
25
+ }
26
+ }
27
+ export {
28
+ n as BLOCK_ID,
29
+ m as RecommendationBlock
30
+ };
@@ -0,0 +1,335 @@
1
+ var h = Object.defineProperty;
2
+ var f = (c, l, t) => l in c ? h(c, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[l] = t;
3
+ var u = (c, l, t) => f(c, typeof l != "symbol" ? l + "" : l, t);
4
+ import { ModificationDescription as p } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as y } from "../common-control.js";
6
+ const m = "ui-elements-recommendation-card-composition", d = [
7
+ { key: "productImage", label: "Product Image" },
8
+ { key: "productName", label: "Product Name" },
9
+ { key: "productPrice", label: "Product Price" },
10
+ { key: "productOriginalPrice", label: "Product Original Price" },
11
+ { key: "productButton", label: "Product Button" }
12
+ ];
13
+ class b extends y {
14
+ constructor() {
15
+ super(...arguments);
16
+ u(this, "currentComposition", []);
17
+ u(this, "currentStyling", {});
18
+ }
19
+ getId() {
20
+ return m;
21
+ }
22
+ getTemplate() {
23
+ const t = d.map((e) => {
24
+ let i = "";
25
+ return e.key === "productName" ? i = this._getProductNameStylingControls() : e.key === "productPrice" ? i = this._getProductPriceStylingControls() : e.key === "productOriginalPrice" ? i = this._getProductOriginalPriceStylingControls() : e.key === "productButton" && (i = this._getProductButtonStylingControls()), {
26
+ key: e.key,
27
+ label: e.label,
28
+ content: i ? this._GuExpandable(e.label, i) : ""
29
+ };
30
+ });
31
+ return console.debug("orderable", this._GuOrderable("cardComposition", t)), `
32
+ <div class="container">
33
+ ${this._GuLabel({ text: "Card Element Order" })}
34
+ ${this._GuOrderable("cardComposition", t)}
35
+ </div>
36
+ `;
37
+ }
38
+ _getTextColor(t, e) {
39
+ return `
40
+ ${this._GuTwoColumns([
41
+ this._GuLabel({ text: t }),
42
+ this._GuColorPicker(e)
43
+ ])}
44
+ `;
45
+ }
46
+ _getFontFamily(t, e) {
47
+ return `
48
+ ${this._GuTwoColumns([
49
+ this._GuLabel({ text: t }),
50
+ this._GuFontFamily(e, "Select Font")
51
+ ])}
52
+ `;
53
+ }
54
+ /**
55
+ * Generate styling controls for Product Name element
56
+ */
57
+ _getProductNameStylingControls() {
58
+ return `
59
+ ${this._getTextColor("Text Color", "productName.color")}
60
+
61
+ <div class="control-group" style="padding: 10px 0;">
62
+ ${this._GuLabel({ text: "Text Alignment" })}
63
+ ${this._GuRadioButtons("productName.textAlign", [
64
+ { text: "Left", value: "left" },
65
+ { text: "Center", value: "center" },
66
+ { text: "Right", value: "right" },
67
+ { text: "Justify", value: "justify" }
68
+ ])}
69
+ </div>
70
+
71
+ ${this._getFontFamily("Font Family", "productName.fontFamily")}
72
+
73
+ <div class="control-group" style="padding: 10px 0;">
74
+ ${this._GuLabel({ text: "Font Size (px)" })}
75
+ ${this._GuCounter({ name: "productName.fontSize", minValue: 8, maxValue: 72, step: 1 })}
76
+ </div>
77
+
78
+ <div class="control-group" style="padding: 10px 0;">
79
+ ${this._GuLabel({ text: "Text Style" })}
80
+ <div style="display: flex; flex-direction: column; gap: 8px; margin-top: 8px;">
81
+ ${this._GuCheckbox("productName.fontWeight", "Bold")}
82
+ ${this._GuCheckbox("productName.fontStyle", "Italic")}
83
+ ${this._GuCheckbox("productName.textDecoration", "Underline")}
84
+ </div>
85
+ </div>
86
+ `;
87
+ }
88
+ /**
89
+ * Generate styling controls for Product Price element
90
+ */
91
+ _getProductPriceStylingControls() {
92
+ return `
93
+ <div class="control-group" style="padding: 10px 0;">
94
+ ${this._GuLabel({ text: "Text Color" })}
95
+ ${this._GuColorPicker("productPrice.color")}
96
+ </div>
97
+
98
+ <div class="control-group" style="padding: 10px 0;">
99
+ ${this._GuLabel({ text: "Text Alignment" })}
100
+ ${this._GuRadioButtons("productPrice.textAlign", [
101
+ { text: "Left", value: "left" },
102
+ { text: "Center", value: "center" },
103
+ { text: "Right", value: "right" }
104
+ ])}
105
+ </div>
106
+
107
+ <div class="control-group" style="padding: 10px 0;">
108
+ ${this._GuLabel({ text: "Font Size (px)" })}
109
+ ${this._GuCounter({ name: "productPrice.fontSize", minValue: 8, maxValue: 48, step: 1 })}
110
+ </div>
111
+
112
+ <div class="control-group" style="padding: 10px 0;">
113
+ ${this._GuCheckbox("productPrice.fontWeight", "Bold")}
114
+ </div>
115
+ `;
116
+ }
117
+ /**
118
+ * Generate styling controls for Product Original Price element
119
+ */
120
+ _getProductOriginalPriceStylingControls() {
121
+ return `
122
+ <div class="control-group" style="padding: 10px 0;">
123
+ ${this._GuLabel({ text: "Text Color" })}
124
+ ${this._GuColorPicker("productOriginalPrice.color")}
125
+ </div>
126
+
127
+ <div class="control-group" style="padding: 10px 0;">
128
+ ${this._GuLabel({ text: "Font Size (px)" })}
129
+ ${this._GuCounter({ name: "productOriginalPrice.fontSize", minValue: 8, maxValue: 48, step: 1 })}
130
+ </div>
131
+ `;
132
+ }
133
+ /**
134
+ * Generate styling controls for Product Button element
135
+ */
136
+ _getProductButtonStylingControls() {
137
+ return `
138
+ <div class="control-group" style="padding: 10px 0;">
139
+ ${this._GuLabel({ text: "Button Text Color" })}
140
+ ${this._GuColorPicker("productButton.color")}
141
+ </div>
142
+
143
+ <div class="control-group" style="padding: 10px 0;">
144
+ ${this._GuLabel({ text: "Font Size (px)" })}
145
+ ${this._GuCounter({ name: "productButton.fontSize", minValue: 10, maxValue: 32, step: 1 })}
146
+ </div>
147
+
148
+ <div class="control-group" style="padding: 10px 0;">
149
+ ${this._GuCheckbox("productButton.fontWeight", "Bold")}
150
+ </div>
151
+ `;
152
+ }
153
+ onRender() {
154
+ this._initializeComposition(), this._initializeStyling(), this.api.onValueChanged("cardComposition", (t) => {
155
+ this.currentComposition = t, console.debug("Card composition reordered:", t), this._applyCompositionToBlock(t);
156
+ }), this.api.onValueChanged("productName.color", (t) => {
157
+ this._updateElementStyling("productName", "color", t), this._applyStylingToElement("productName");
158
+ }), this.api.onValueChanged("productName.textAlign", (t) => {
159
+ this._updateElementStyling("productName", "textAlign", t), this._applyStylingToElement("productName");
160
+ }), this.api.onValueChanged("productName.fontFamily", (t) => {
161
+ this._updateElementStyling("productName", "fontFamily", t), this._applyStylingToElement("productName");
162
+ }), this.api.onValueChanged("productName.fontSize", (t) => {
163
+ this._updateElementStyling("productName", "fontSize", t), this._applyStylingToElement("productName");
164
+ }), this.api.onValueChanged("productName.fontWeight", (t) => {
165
+ this._updateElementStyling("productName", "fontWeight", t), this._applyStylingToElement("productName");
166
+ }), this.api.onValueChanged("productName.fontStyle", (t) => {
167
+ this._updateElementStyling("productName", "fontStyle", t), this._applyStylingToElement("productName");
168
+ }), this.api.onValueChanged("productName.textDecoration", (t) => {
169
+ this._updateElementStyling("productName", "textDecoration", t), this._applyStylingToElement("productName");
170
+ }), this.api.onValueChanged("productPrice.color", (t) => {
171
+ this._updateElementStyling("productPrice", "color", t), this._applyStylingToElement("productPrice");
172
+ }), this.api.onValueChanged("productPrice.textAlign", (t) => {
173
+ this._updateElementStyling("productPrice", "textAlign", t), this._applyStylingToElement("productPrice");
174
+ }), this.api.onValueChanged("productPrice.fontSize", (t) => {
175
+ this._updateElementStyling("productPrice", "fontSize", t), this._applyStylingToElement("productPrice");
176
+ }), this.api.onValueChanged("productPrice.fontWeight", (t) => {
177
+ this._updateElementStyling("productPrice", "fontWeight", t), this._applyStylingToElement("productPrice");
178
+ }), this.api.onValueChanged("productOriginalPrice.color", (t) => {
179
+ this._updateElementStyling("productOriginalPrice", "color", t), this._applyStylingToElement("productOriginalPrice");
180
+ }), this.api.onValueChanged("productOriginalPrice.fontSize", (t) => {
181
+ this._updateElementStyling("productOriginalPrice", "fontSize", t), this._applyStylingToElement("productOriginalPrice");
182
+ }), this.api.onValueChanged("productButton.color", (t) => {
183
+ this._updateElementStyling("productButton", "color", t), this._applyStylingToElement("productButton");
184
+ }), this.api.onValueChanged("productButton.fontSize", (t) => {
185
+ this._updateElementStyling("productButton", "fontSize", t), this._applyStylingToElement("productButton");
186
+ }), this.api.onValueChanged("productButton.fontWeight", (t) => {
187
+ this._updateElementStyling("productButton", "fontWeight", t), this._applyStylingToElement("productButton");
188
+ });
189
+ }
190
+ onTemplateNodeUpdated(t) {
191
+ super.onTemplateNodeUpdated(t), this._initializeComposition();
192
+ }
193
+ /**
194
+ * Initialize the composition order from the block or use defaults
195
+ */
196
+ _initializeComposition() {
197
+ var i;
198
+ const t = (i = this.currentNode) == null ? void 0 : i.querySelector(".ins-recommendation-v3-block-v2");
199
+ let e = null;
200
+ if (t && "getAttribute" in t && (e = t.getAttribute("data-card-composition")), e) {
201
+ const o = e.split(",").filter(Boolean), s = d.map((n) => n.key);
202
+ o.every((n) => s.includes(n)) && o.length > 0 ? this.currentComposition = o : this.currentComposition = s;
203
+ } else
204
+ this.currentComposition = d.map((o) => o.key);
205
+ this.api.updateValues({
206
+ cardComposition: this.currentComposition
207
+ });
208
+ }
209
+ /**
210
+ * Apply the reordered composition to the block's HTML structure
211
+ */
212
+ _applyCompositionToBlock(t) {
213
+ if (!this.currentNode)
214
+ return;
215
+ const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
216
+ e && this.api.getDocumentModifier().modifyHtml(e).setAttribute("data-card-composition", t.join(",")).apply(new p("Stored card composition order")), console.debug("Card composition updated:", t);
217
+ }
218
+ /**
219
+ * Initialize styling from stored block attributes
220
+ */
221
+ _initializeStyling() {
222
+ var i;
223
+ const t = (i = this.currentNode) == null ? void 0 : i.querySelector(".ins-recommendation-v3-block-v2");
224
+ if (!t || !("getAttribute" in t)) {
225
+ this._loadDefaultStyling();
226
+ return;
227
+ }
228
+ const e = t.getAttribute("data-card-styling");
229
+ if (e)
230
+ try {
231
+ this.currentStyling = JSON.parse(e), this._populateControlsWithStyling();
232
+ } catch (o) {
233
+ console.error("Failed to parse stored styling:", o), this._loadDefaultStyling();
234
+ }
235
+ else
236
+ this._loadDefaultStyling();
237
+ }
238
+ /**
239
+ * Load default styling values and populate controls
240
+ */
241
+ _loadDefaultStyling() {
242
+ this.currentStyling = {
243
+ productName: {
244
+ color: "#333333",
245
+ textAlign: "center",
246
+ fontSize: 16,
247
+ fontWeight: !0
248
+ },
249
+ productPrice: {
250
+ color: "#333333",
251
+ textAlign: "center",
252
+ fontSize: 16,
253
+ fontWeight: !0
254
+ },
255
+ productOriginalPrice: {
256
+ color: "#999999",
257
+ fontSize: 14
258
+ },
259
+ productButton: {
260
+ color: "#333333",
261
+ fontSize: 16
262
+ }
263
+ }, this._populateControlsWithStyling();
264
+ }
265
+ /**
266
+ * Populate control values with current styling
267
+ */
268
+ _populateControlsWithStyling() {
269
+ const t = {};
270
+ if (this.currentStyling.productName) {
271
+ const e = this.currentStyling.productName;
272
+ e.color && (t["productName.color"] = e.color), e.textAlign && (t["productName.textAlign"] = e.textAlign), e.fontFamily && (t["productName.fontFamily"] = e.fontFamily), e.fontSize && (t["productName.fontSize"] = e.fontSize), e.fontWeight !== void 0 && (t["productName.fontWeight"] = e.fontWeight), e.fontStyle !== void 0 && (t["productName.fontStyle"] = e.fontStyle), e.textDecoration !== void 0 && (t["productName.textDecoration"] = e.textDecoration);
273
+ }
274
+ if (this.currentStyling.productPrice) {
275
+ const e = this.currentStyling.productPrice;
276
+ e.color && (t["productPrice.color"] = e.color), e.textAlign && (t["productPrice.textAlign"] = e.textAlign), e.fontSize && (t["productPrice.fontSize"] = e.fontSize), e.fontWeight !== void 0 && (t["productPrice.fontWeight"] = e.fontWeight);
277
+ }
278
+ if (this.currentStyling.productOriginalPrice) {
279
+ const e = this.currentStyling.productOriginalPrice;
280
+ e.color && (t["productOriginalPrice.color"] = e.color), e.fontSize && (t["productOriginalPrice.fontSize"] = e.fontSize);
281
+ }
282
+ if (this.currentStyling.productButton) {
283
+ const e = this.currentStyling.productButton;
284
+ e.color && (t["productButton.color"] = e.color), e.fontSize && (t["productButton.fontSize"] = e.fontSize), e.fontWeight !== void 0 && (t["productButton.fontWeight"] = e.fontWeight);
285
+ }
286
+ this.api.updateValues(t);
287
+ }
288
+ /**
289
+ * Update styling object for a specific element and property
290
+ */
291
+ _updateElementStyling(t, e, i) {
292
+ this.currentStyling[t] || (this.currentStyling[t] = {});
293
+ const o = this.currentStyling[t];
294
+ o && (e === "color" && typeof i == "string" ? o.color = i : e === "textAlign" && typeof i == "string" ? o.textAlign = i : e === "fontFamily" && typeof i == "string" ? o.fontFamily = i : e === "fontSize" && typeof i == "number" ? o.fontSize = i : e === "fontWeight" && typeof i == "boolean" ? o.fontWeight = i : e === "fontStyle" && typeof i == "boolean" ? o.fontStyle = i : e === "textDecoration" && typeof i == "boolean" && (o.textDecoration = i)), this._persistStyling();
295
+ }
296
+ /**
297
+ * Persist current styling to block attributes
298
+ */
299
+ _persistStyling() {
300
+ if (!this.currentNode)
301
+ return;
302
+ const t = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
303
+ t && this.api.getDocumentModifier().modifyHtml(t).setAttribute("data-card-styling", JSON.stringify(this.currentStyling)).apply(new p("Updated card element styling"));
304
+ }
305
+ /**
306
+ * Apply styling to a specific element in the DOM
307
+ */
308
+ _applyStylingToElement(t) {
309
+ if (!this.currentNode)
310
+ return;
311
+ const e = this.currentStyling[t];
312
+ if (!e)
313
+ return;
314
+ const o = {
315
+ productName: ".product-name-cell",
316
+ productPrice: ".price-cell .current-price",
317
+ productOriginalPrice: ".price-cell .old-price",
318
+ productButton: ".buy-button"
319
+ }[t];
320
+ if (!o)
321
+ return;
322
+ this.currentNode.querySelectorAll(o).forEach((a) => {
323
+ if (!a || !("style" in a))
324
+ return;
325
+ const n = [];
326
+ e.color && n.push(`color: ${e.color}`), e.textAlign && n.push(`text-align: ${e.textAlign}`), e.fontFamily && n.push(`font-family: ${e.fontFamily}`), e.fontSize && n.push(`font-size: ${e.fontSize}px`), e.fontWeight ? n.push("font-weight: bold") : e.fontWeight === !1 && n.push("font-weight: normal"), e.fontStyle ? n.push("font-style: italic") : e.fontStyle === !1 && n.push("font-style: normal"), e.textDecoration ? n.push("text-decoration: underline") : e.textDecoration === !1 && n.push("text-decoration: none");
327
+ const g = [...(("getAttribute" in a ? a.getAttribute("style") : null) || "").split(";").map((r) => r.trim()).filter((r) => r && !r.startsWith("color:") && !r.startsWith("text-align:") && !r.startsWith("font-family:") && !r.startsWith("font-size:") && !r.startsWith("font-weight:") && !r.startsWith("font-style:") && !r.startsWith("text-decoration:")), ...n].join("; ");
328
+ this.api.getDocumentModifier().modifyHtml(a).setAttribute("style", g).apply(new p(`Applied ${t} styling`));
329
+ });
330
+ }
331
+ }
332
+ export {
333
+ m as COMPOSITION_CONTROL_BLOCK_ID,
334
+ b as RecommendationCardCompositionControl
335
+ };
@@ -0,0 +1,5 @@
1
+ var o = /* @__PURE__ */ ((c) => (c.BUTTON = "recommendation-block-button", c.NAME = "recommendation-block-name", c.PRICE = "recommendation-block-price", c.OLD_PRICE = "recommendation-block-old-price", c.IMAGE = "recommendation-block-image", c))(o || {}), r = /* @__PURE__ */ ((c) => (c.BUTTON_ALIGN = "recommendation-block-button-align-control", c.BUTTON_BORDER = "recommendation-block-button-border-control", c.BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control", c.BUTTON_COLOR = "recommendation-block-button-color-control", c.BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control", c.BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control", c.BUTTON_MARGINS = "recommendation-block-button-margins-control", c.BUTTON_PADDINGS = "recommendation-block-button-paddings-control", c.BUTTON_TEXT = "recommendation-block-button-text-control", c.BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control", c.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control", c.NAME_ALIGN = "recommendation-block-name-align-control", c.NAME_BACKGROUND = "recommendation-block-name-background-control", c.NAME_COLOR = "recommendation-block-name-color-control", c.NAME_FONT_FAMILY = "recommendation-block-name-font-family-control", c.NAME_PADDINGS = "recommendation-block-name-paddings-control", c.NAME_SIZE = "recommendation-block-name-size-control", c.NAME_STYLE = "recommendation-block-name-style-control", c.PRICE_ALIGN = "recommendation-block-price-align-control", c.PRICE_BACKGROUND = "recommendation-block-price-background-control", c.PRICE_COLOR = "recommendation-block-price-color-control", c.PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control", c.PRICE_PADDINGS = "recommendation-block-price-paddings-control", c.PRICE_SIZE = "recommendation-block-price-size-control", c.PRICE_STYLE = "recommendation-block-price-style-control", c.OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control", c.OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control", c.OLD_PRICE_COLOR = "recommendation-block-old-price-color-control", c.OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control", c.OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control", c.OLD_PRICE_SIZE = "recommendation-block-old-price-size-control", c.OLD_PRICE_STYLE = "recommendation-block-old-price-style-control", c.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c))(r || {});
2
+ export {
3
+ o as RecommendationBlockId,
4
+ r as RecommendationControlId
5
+ };