@useinsider/guido 1.4.4-beta.eb9b460 → 2.0.0-beta.061e9c9

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 (206) hide show
  1. package/README.md +297 -664
  2. package/dist/@types/config/defaults.js +44 -0
  3. package/dist/@types/config/schemas.js +233 -0
  4. package/dist/@types/config/validator.js +56 -0
  5. package/dist/components/Guido.vue.js +3 -3
  6. package/dist/components/Guido.vue2.js +68 -94
  7. package/dist/components/organisms/base/Toaster.vue.js +6 -6
  8. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +13 -13
  9. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +6 -6
  10. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue2.js +2 -2
  11. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +5 -5
  12. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue2.js +13 -13
  13. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  14. package/dist/components/organisms/header/LeftSlot.vue2.js +18 -15
  15. package/dist/components/organisms/header/RightSlot.vue.js +10 -10
  16. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +22 -19
  17. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.js +4 -4
  18. package/dist/components/organisms/unsubscribe/UnsubscribeBreadcrumb.vue2.js +8 -8
  19. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +3 -3
  20. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +17 -17
  21. package/dist/components/organisms/unsubscribe/UnsubscribeWrapper.vue.js +10 -10
  22. package/dist/composables/useActionsApi.js +42 -25
  23. package/dist/composables/useBlocksConfig.js +23 -20
  24. package/dist/composables/useConfig.js +51 -5
  25. package/dist/composables/useHtmlCompiler.js +20 -19
  26. package/dist/composables/useHtmlValidator.js +41 -41
  27. package/dist/composables/usePartner.js +19 -9
  28. package/dist/composables/useStripo.js +58 -57
  29. package/dist/composables/useTimerClone.js +53 -0
  30. package/dist/composables/useTranslations.js +3 -2
  31. package/dist/config/compiler/unsubscribeCompilerRules.js +1 -1
  32. package/dist/enums/defaults.js +4 -67
  33. package/dist/enums/unsubscribe.js +23 -20
  34. package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
  35. package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
  36. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
  37. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
  38. package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
  39. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +158 -68
  40. package/dist/extensions/Blocks/Recommendation/constants.js +10 -1
  41. package/dist/extensions/Blocks/Recommendation/control.js +74 -59
  42. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/index.js +272 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/priceHideControl.js +60 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.js +160 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  52. package/dist/extensions/Blocks/Recommendation/extension.js +16 -40
  53. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +124 -71
  54. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +12 -11
  55. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +89 -65
  56. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +56 -19
  57. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  58. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  59. package/dist/extensions/Blocks/controlFactories.js +124 -113
  60. package/dist/guido.css +1 -1
  61. package/dist/library.js +12 -2
  62. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +14 -14
  63. package/dist/node_modules/lodash-es/_arrayLikeKeys.js +10 -10
  64. package/dist/node_modules/valibot/dist/index.js +476 -103
  65. package/dist/services/stripoApi.js +11 -16
  66. package/dist/services/templateLibraryApi.js +18 -18
  67. package/dist/src/@types/config/defaults.d.ts +68 -0
  68. package/dist/src/@types/config/index.d.ts +14 -0
  69. package/dist/src/@types/config/schemas.d.ts +513 -0
  70. package/dist/src/@types/config/types.d.ts +142 -0
  71. package/dist/src/@types/config/validator.d.ts +119 -0
  72. package/dist/src/@types/generic.d.ts +4 -45
  73. package/dist/src/components/Guido.vue.d.ts +13 -12
  74. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  75. package/dist/src/composables/useActionsApi.d.ts +2 -0
  76. package/dist/src/composables/useConfig.d.ts +188 -2
  77. package/dist/src/composables/usePartner.d.ts +8 -0
  78. package/dist/src/composables/useTimerClone.d.ts +6 -0
  79. package/dist/src/enums/defaults.d.ts +5 -6
  80. package/dist/src/enums/unsubscribe.d.ts +5 -1
  81. package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
  82. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
  83. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  84. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +54 -3
  85. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +41 -1
  86. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  87. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  88. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +654 -0
  89. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  90. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  93. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  94. package/dist/src/extensions/Blocks/Recommendation/controls/priceHideControl.d.ts +16 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.d.ts +50 -0
  96. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  97. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  98. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +1 -1
  99. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  100. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  101. package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
  102. package/dist/src/library.d.ts +3 -1
  103. package/dist/src/stores/config.d.ts +1581 -102
  104. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  105. package/dist/static/styles/components/wide-panel.css.js +0 -4
  106. package/dist/static/styles/customEditorStyle.css.js +13 -0
  107. package/dist/stores/config.js +141 -9
  108. package/package.json +1 -1
  109. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  110. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  111. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  112. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  113. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  114. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  115. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  116. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  117. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  118. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  119. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  120. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  121. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  122. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  123. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  124. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  125. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  126. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  127. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  128. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  129. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  130. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  131. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  132. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  133. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  134. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  135. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  136. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  137. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  138. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  139. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  140. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  141. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  142. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  143. package/dist/node_modules/lodash-es/_apply.js +0 -16
  144. package/dist/node_modules/lodash-es/_assignMergeValue.js +0 -8
  145. package/dist/node_modules/lodash-es/_assignValue.js +0 -10
  146. package/dist/node_modules/lodash-es/_baseAssignValue.js +0 -12
  147. package/dist/node_modules/lodash-es/_baseCreate.js +0 -17
  148. package/dist/node_modules/lodash-es/_baseKeysIn.js +0 -15
  149. package/dist/node_modules/lodash-es/_baseMerge.js +0 -20
  150. package/dist/node_modules/lodash-es/_baseMergeDeep.js +0 -31
  151. package/dist/node_modules/lodash-es/_baseRest.js +0 -9
  152. package/dist/node_modules/lodash-es/_baseSetToString.js +0 -14
  153. package/dist/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
  154. package/dist/node_modules/lodash-es/_cloneBuffer.js +0 -9
  155. package/dist/node_modules/lodash-es/_cloneTypedArray.js +0 -8
  156. package/dist/node_modules/lodash-es/_copyArray.js +0 -9
  157. package/dist/node_modules/lodash-es/_copyObject.js +0 -14
  158. package/dist/node_modules/lodash-es/_createAssigner.js +0 -15
  159. package/dist/node_modules/lodash-es/_defineProperty.js +0 -11
  160. package/dist/node_modules/lodash-es/_getPrototype.js +0 -5
  161. package/dist/node_modules/lodash-es/_initCloneObject.js +0 -9
  162. package/dist/node_modules/lodash-es/_nativeKeysIn.js +0 -10
  163. package/dist/node_modules/lodash-es/_overRest.js +0 -15
  164. package/dist/node_modules/lodash-es/_safeGet.js +0 -7
  165. package/dist/node_modules/lodash-es/_setToString.js +0 -6
  166. package/dist/node_modules/lodash-es/_shortOut.js +0 -16
  167. package/dist/node_modules/lodash-es/constant.js +0 -8
  168. package/dist/node_modules/lodash-es/isArrayLikeObject.js +0 -8
  169. package/dist/node_modules/lodash-es/isPlainObject.js +0 -16
  170. package/dist/node_modules/lodash-es/keysIn.js +0 -9
  171. package/dist/node_modules/lodash-es/merge.js +0 -8
  172. package/dist/node_modules/lodash-es/toPlainObject.js +0 -8
  173. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  174. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  175. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  176. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  177. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  178. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  179. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  180. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  181. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  182. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  183. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  184. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  185. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  186. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  187. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  188. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  189. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  190. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  191. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  192. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  193. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  194. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  195. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  196. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  197. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  198. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  199. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  200. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  201. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  202. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  203. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  204. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  205. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  206. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -1,26 +1,26 @@
1
1
  import { useTranslations as n } from "../composables/useTranslations.js";
2
2
  import { getEnvironmentPrefix as R } from "../utils/environmentUtil.js";
3
- const e = n(), I = {
3
+ const N = {
4
4
  UNSUBSCRIBE_LINK_TYPE: 1,
5
5
  PREFERENCES_LINK_TYPE: 3
6
- }, r = {
6
+ }, I = {
7
7
  UNSUBSCRIBE_LINK_REGEX: /{{ins-unsubscribe-link}}/g,
8
8
  DATA_OGSB_BUTTON_CSS_REGEX: "\\[data-ogsb\\]\\s*\\.es-button\\.es-button-[0-9]+\\s*\\{(?:[^\\}]*)\\}",
9
9
  GLOBAL_UNSUBSCRIBE_LINK_REGEX: /{{ins-global-unsubscribe-link}}/g,
10
10
  PREFERENCES_UNSUBSCRIBE_LINK_REGEX: /{{ins-preferences-unsubscribe-link}}/g
11
- }, s = R(), _ = {
11
+ }, s = R(), i = {
12
12
  UNSUBSCRIBE_URL: `https://mail.${s}.com/user/v1/unsub`,
13
13
  PREFERENCES_URL: `https://mail.${s}.com/user/v1/prefs`
14
- }, i = "iid", B = {
14
+ }, _ = "iid", B = {
15
15
  name: "Global Unsubscribe",
16
16
  sendGridId: "G"
17
- }, C = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", c = "/email/unsubscribe-pages", E = {
17
+ }, t = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", C = "/email/unsubscribe-pages", E = {
18
18
  GLOBAL_UNSUBSCRIBE: 1,
19
19
  GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: 2,
20
20
  SUBSCRIPTION_PREFERENCE_CENTER: 3,
21
21
  SUBSCRIPTION_PREFERENCE_CONFIRMATION: 4,
22
22
  RESUBSCRIBE: 5
23
- }, t = {
23
+ }, c = {
24
24
  [E.GLOBAL_UNSUBSCRIBE]: [
25
25
  E.GLOBAL_UNSUBSCRIBE,
26
26
  E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE,
@@ -30,27 +30,30 @@ const e = n(), I = {
30
30
  E.SUBSCRIPTION_PREFERENCE_CENTER,
31
31
  E.SUBSCRIPTION_PREFERENCE_CONFIRMATION
32
32
  ]
33
- }, U = {
34
- [E.GLOBAL_UNSUBSCRIBE]: e("unsubscription-preference.type-global-unsubscribe"),
35
- [E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: e("unsubscription-preference.type-global-unsubscription-confirmation"),
36
- [E.RESUBSCRIBE]: e("unsubscription-preference.type-resubscribe"),
37
- [E.SUBSCRIPTION_PREFERENCE_CENTER]: e("unsubscription-preference.type-subscription-preferences-center"),
38
- [E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: e("unsubscription-preference.type-subscription-preferences-confirmation")
33
+ }, U = () => {
34
+ const e = n();
35
+ return {
36
+ [E.GLOBAL_UNSUBSCRIBE]: e("unsubscription-preference.type-global-unsubscribe"),
37
+ [E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: e("unsubscription-preference.type-global-unsubscription-confirmation"),
38
+ [E.RESUBSCRIBE]: e("unsubscription-preference.type-resubscribe"),
39
+ [E.SUBSCRIPTION_PREFERENCE_CENTER]: e("unsubscription-preference.type-subscription-preferences-center"),
40
+ [E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: e("unsubscription-preference.type-subscription-preferences-confirmation")
41
+ };
39
42
  }, o = {
40
43
  default: "{{ins-unsubscribe-link}}",
41
44
  [E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
42
45
  [E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
43
46
  };
44
47
  export {
45
- C as ACADEMY_LINK,
48
+ t as ACADEMY_LINK,
46
49
  B as DEFAULT_UNSUBSCRIBE_GROUP,
47
- i as INSIDER_ID,
48
- r as LINK_REGEXES,
49
- I as LINK_TYPES,
50
+ _ as INSIDER_ID,
51
+ I as LINK_REGEXES,
52
+ N as LINK_TYPES,
50
53
  o as MERGE_TAGS,
51
54
  E as PAGE_TYPES,
52
- t as TYPE_COLLECTIONS,
53
- U as TYPE_TRANSLATIONS,
54
- c as UNSUBSCRIBE_PAGES_LINK,
55
- _ as URLS
55
+ c as TYPE_COLLECTIONS,
56
+ C as UNSUBSCRIBE_PAGES_LINK,
57
+ i as URLS,
58
+ U as getTypeTranslations
56
59
  };
@@ -0,0 +1,4 @@
1
+ var t = /* @__PURE__ */ ((c) => (c.TEXT_ALIGN = "coupon-block-text-align-control", c.TEXT_COLOR = "coupon-block-text-color-control", c.TEXT_SIZE = "coupon-block-text-size-control", c.TEXT_STYLE = "coupon-block-text-style-control", c.TEXT_FONT_FAMILY = "coupon-block-text-font-family-control", c.TEXT_BACKGROUND = "coupon-block-text-background-control", c.TEXT_PADDINGS = "coupon-block-text-paddings-control", c.TEXT_LINE_SPACING = "coupon-block-text-line-spacing-control", c))(t || {});
2
+ export {
3
+ t as CouponControlId
4
+ };
@@ -0,0 +1,29 @@
1
+ import { createTextAlignControl as t, createTextColorControl as e, createTextSizeControl as n, createTextStyleControl as r, createTextFontFamilyControl as T, createTextBackgroundColorControl as l, createPaddingsControl as C, createTextLineSpacingControl as c } from "../../controlFactories.js";
2
+ import { CouponControlId as o } from "../constants.js";
3
+ const i = t(
4
+ o.TEXT_ALIGN
5
+ ), E = e(
6
+ o.TEXT_COLOR
7
+ ), s = n(
8
+ o.TEXT_SIZE
9
+ ), S = r(
10
+ o.TEXT_STYLE
11
+ ), _ = T(
12
+ o.TEXT_FONT_FAMILY
13
+ ), g = l(
14
+ o.TEXT_BACKGROUND
15
+ ), X = C(
16
+ o.TEXT_PADDINGS
17
+ ), d = c(
18
+ o.TEXT_LINE_SPACING
19
+ );
20
+ export {
21
+ i as TextAlignControl,
22
+ g as TextBackgroundControl,
23
+ E as TextColorControl,
24
+ _ as TextFontFamilyControl,
25
+ d as TextLineSpacingControl,
26
+ X as TextPaddingsControl,
27
+ s as TextSizeControl,
28
+ S as TextStyleControl
29
+ };
@@ -1,8 +1,9 @@
1
1
  import { ExtensionBuilder as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
2
  import { CouponBlock as t } from "./block.js";
3
- import { CouponIconsRegistry as i } from "./iconsRegistry.js";
4
- import { CouponBlockSettings as n } from "./settingsPanel.js";
5
- const p = new o().addBlock(t).withSettingsPanelRegistry(n).withIconsRegistry(i).build();
3
+ import { TextAlignControl as n, TextColorControl as r, TextSizeControl as l, TextStyleControl as d, TextFontFamilyControl as e, TextBackgroundControl as i, TextPaddingsControl as C, TextLineSpacingControl as a } from "./controls/index.js";
4
+ import { CouponIconsRegistry as s } from "./iconsRegistry.js";
5
+ import { CouponBlockSettings as m } from "./settingsPanel.js";
6
+ const u = new o().addBlock(t).withSettingsPanelRegistry(m).addControl(n).addControl(r).addControl(l).addControl(d).addControl(e).addControl(i).addControl(C).addControl(a).withIconsRegistry(s).build();
6
7
  export {
7
- p as default
8
+ u as default
8
9
  };
@@ -1,24 +1,30 @@
1
- import { SettingsPanelRegistry as T, SettingsPanelTab as o, SettingsTab as O, TextControls as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { COUPON_BLOCK_ID as N } from "./block.js";
3
- class _ extends T {
1
+ import { SettingsPanelRegistry as n, SettingsPanelTab as o, SettingsTab as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { COUPON_BLOCK_ID as E } from "./block.js";
3
+ import { CouponControlId as T } from "./constants.js";
4
+ class i extends n {
4
5
  registerBlockControls(e) {
5
- e[N] = [
6
+ e[E] = [
6
7
  new o(
7
- O.SETTINGS,
8
+ t.SETTINGS,
8
9
  [
9
- t.FONT_FAMILY,
10
- t.FONT_SIZE,
11
- t.FORMAT,
12
- t.FONT_COLOR,
13
- t.TEXT_BLOCK_BACKGROUND_COLOR,
14
- t.ALIGN,
15
- t.LINE_HEIGHT,
16
- t.INTERNAL_INDENTS
10
+ T.TEXT_STYLE,
11
+ T.TEXT_ALIGN,
12
+ T.TEXT_PADDINGS
13
+ ]
14
+ ),
15
+ new o(
16
+ t.STYLES,
17
+ [
18
+ T.TEXT_BACKGROUND,
19
+ T.TEXT_FONT_FAMILY,
20
+ T.TEXT_LINE_SPACING,
21
+ T.TEXT_SIZE,
22
+ T.TEXT_COLOR
17
23
  ]
18
24
  )
19
25
  ];
20
26
  }
21
27
  }
22
28
  export {
23
- _ as CouponBlockSettings
29
+ i as CouponBlockSettings
24
30
  };
@@ -1,18 +1,29 @@
1
- const o = `
2
- <td class="coupon-block ins-coupon-code esd-block-text coupon-block-v2">
3
- <p class="ins-title" contenteditable="false">{@COUPON_CODE}</p>
4
- </td>`, e = `
5
- <td
6
- class="coupon-block coupon-block-v2 ins-coupon-code esd-block-text esd-extension-block"
7
- esd-extension-block-id="coupon-block"
1
+ import { BlockType as o } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { COUPON_BLOCK_ID as e } from "./block.js";
3
+ const t = `
4
+ <${o.BLOCK_TEXT}
5
+ class="coupon-block ins-coupon-code coupon-block-v2 es-p10"
6
+ align="center"
7
+ esd-extension-block-id="${e}">
8
+ <p
9
+ path="1"
10
+ contenteditable="false"
11
+ style="font-size: 16px; color: #333333;">
12
+ <strong path="1,0">{@COUPON_CODE}</strong>
13
+ </p>
14
+ </${o.BLOCK_TEXT}>
15
+ `, l = `
16
+ <td
17
+ class="coupon-block coupon-block-v2 ins-coupon-code esd-block-text esd-extension-block"
18
+ esd-extension-block-id="${e}"
8
19
  >
9
20
  <p class="ins-title" contenteditable="false">{@COUPON_CODE}</p>
10
21
  </td>
11
22
  `;
12
- function t() {
13
- return o;
23
+ function s() {
24
+ return t;
14
25
  }
15
26
  export {
16
- e as default,
17
- t as getDefaultTemplate
27
+ l as default,
28
+ s as getDefaultTemplate
18
29
  };
@@ -1,103 +1,193 @@
1
- var m = Object.defineProperty;
2
- var y = (n, o, i) => o in n ? m(n, o, { enumerable: !0, configurable: !0, writable: !0, value: i }) : n[o] = i;
3
- var a = (n, o, i) => y(n, typeof o != "symbol" ? o + "" : o, i);
4
- import { ModificationDescription as u } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
1
+ import { ModificationDescription as n } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
2
  import { CommonControl as b } from "../common-control.js";
6
- const h = "ui-elements-recommendation-card-composition", s = [
7
- { key: "productImage", label: "Product Image", visible: !0 },
8
- { key: "productName", label: "Product Name", visible: !0 },
9
- { key: "productPrice", label: "Product Price", visible: !0 },
10
- { key: "productOriginalPrice", label: "Product Original Price", visible: !0 },
11
- { key: "productButton", label: "Product Button", visible: !0 }
3
+ import { ATTR_PRODUCT_IMAGE as m, ATTR_PRODUCT_NAME as y, ATTR_PRODUCT_PRICE as T, ATTR_PRODUCT_OLD_PRICE as h, ATTR_PRODUCT_OMNIBUS_PRICE as C, ATTR_PRODUCT_OMNIBUS_DISCOUNT as f, ATTR_PRODUCT_BUTTON as g } from "./constants.js";
4
+ const R = "ui-elements-recommendation-card-composition", l = ".recommendation-attribute-row", A = "tr.recommendation-product-row", c = "data-card-composition", a = "data-attribute-type", d = "data-visibility", s = [
5
+ { key: m, label: "Product Image", visible: !0 },
6
+ { key: y, label: "Product Name", visible: !0 },
7
+ { key: T, label: "Product Price", visible: !0 },
8
+ { key: h, label: "Product Original Price", visible: !0 },
9
+ { key: C, label: "Omnibus Price", visible: !1 },
10
+ { key: f, label: "Omnibus Discount", visible: !1 },
11
+ { key: g, label: "Product Button", visible: !0 }
12
12
  ];
13
- class g extends b {
14
- constructor() {
15
- super(...arguments);
16
- a(this, "currentComposition", []);
17
- a(this, "currentVisibility", {});
18
- }
13
+ class N extends b {
19
14
  getId() {
20
- return h;
15
+ return R;
21
16
  }
22
17
  getTemplate() {
23
- const i = s.map((e) => ({
24
- key: e.key,
25
- label: e.label,
26
- content: `
27
- <div style="display: flex; align-items: center; justify-content: space-between;
28
- padding: 8px; gap: 8px;">
29
- <span style="flex: 1;">${e.label}</span>
30
- ${this._GuToggle(`visibility_${e.key}`)}
31
- </div>
32
- `
18
+ const t = s.map((i) => ({
19
+ key: i.key,
20
+ label: i.label,
21
+ content: this._createItemContent(i.label, i.key)
33
22
  }));
34
23
  return `
35
24
  <div class="container">
36
25
  ${this._GuLabel({ text: "Card Element Order & Visibility" })}
37
- ${this._GuOrderable("cardComposition", i)}
26
+ ${this._GuOrderable("cardComposition", t)}
38
27
  </div>
39
28
  `;
40
29
  }
41
30
  onRender() {
42
- this._initializeComposition(), this.api.onValueChanged("cardComposition", (i) => {
43
- this.currentComposition = i, this._applyCompositionToBlock(i);
44
- }), s.forEach((i) => {
45
- this.api.onValueChanged(`visibility_${i.key}`, (e) => {
46
- this.currentVisibility[i.key] = e, this._applyVisibilityToBlock();
31
+ this._initializeComposition(), this._registerValueChangeListeners();
32
+ }
33
+ onTemplateNodeUpdated(t) {
34
+ super.onTemplateNodeUpdated(t), this._initializeComposition();
35
+ }
36
+ /**
37
+ * Creates the HTML content for an orderable item with label and toggle
38
+ */
39
+ _createItemContent(t, i) {
40
+ return `
41
+ <div style="display: flex; align-items: center; justify-content: space-between;
42
+ padding: 8px; gap: 8px;">
43
+ <span style="flex: 1;">${t}</span>
44
+ ${this._GuToggle(`visibility_${i}`)}
45
+ </div>
46
+ `;
47
+ }
48
+ /**
49
+ * Registers event listeners for composition and visibility changes
50
+ */
51
+ _registerValueChangeListeners() {
52
+ this.api.onValueChanged("cardComposition", (t) => {
53
+ this._applyCompositionToBlock(t);
54
+ }), s.forEach((t) => {
55
+ this.api.onValueChanged(`visibility_${t.key}`, (i) => {
56
+ this._applyVisibilityToBlock(t.key, i);
47
57
  });
48
58
  });
49
59
  }
50
- onTemplateNodeUpdated(i) {
51
- super.onTemplateNodeUpdated(i), this._initializeComposition();
52
- }
53
60
  /**
54
- * Initialize the composition order and visibility from the block or use defaults
61
+ * Initializes composition order and visibility state from the current node
55
62
  */
56
63
  _initializeComposition() {
57
- var p;
58
- const i = (p = this.currentNode) == null ? void 0 : p.querySelector(".ins-recommendation-v3-block-v2");
59
- let e = null, l = null;
60
- if (i && "getAttribute" in i && (e = i.getAttribute("data-card-composition"), l = i.getAttribute("data-card-visibility")), e) {
61
- const t = e.split(",").filter(Boolean), r = s.map((c) => c.key);
62
- t.every((c) => r.includes(c)) && t.length > 0 ? this.currentComposition = t : this.currentComposition = r;
63
- } else
64
- this.currentComposition = s.map((t) => t.key);
65
- if (l)
66
- try {
67
- const t = JSON.parse(l);
68
- this.currentVisibility = t;
69
- } catch {
70
- this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
71
- }
72
- else
73
- this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
74
- const d = {
75
- cardComposition: this.currentComposition
64
+ const t = this._readCompositionFromNode(), i = this._readVisibilityFromRows(), e = {
65
+ cardComposition: t,
66
+ ...this._buildVisibilityValues(i)
76
67
  };
77
- s.forEach((t) => {
78
- d[`visibility_${t.key}`] = this.currentVisibility[t.key] ?? !0;
79
- }), this.api.updateValues(d);
68
+ this.api.updateValues(e);
69
+ }
70
+ /**
71
+ * Reads composition order from node's data-card-composition attribute
72
+ * Falls back to default order if attribute is not present
73
+ */
74
+ _readCompositionFromNode() {
75
+ if (!this.currentNode || !("getAttribute" in this.currentNode))
76
+ return this._getDefaultComposition();
77
+ const t = this.currentNode.getAttribute(c);
78
+ return t ? t.split(",").filter(Boolean) : this._getDefaultComposition();
79
+ }
80
+ /**
81
+ * Gets default composition order
82
+ */
83
+ _getDefaultComposition() {
84
+ return s.map((t) => t.key);
85
+ }
86
+ /**
87
+ * Builds visibility values object from the visibility map
88
+ */
89
+ _buildVisibilityValues(t) {
90
+ return s.reduce((i, e) => (i[`visibility_${e.key}`] = t[e.key] ?? !0, i), {});
91
+ }
92
+ /**
93
+ * Read visibility state from individual row elements' data-visibility attributes
94
+ * This ensures toggles reflect the actual DOM state
95
+ */
96
+ _readVisibilityFromRows() {
97
+ if (!this.currentNode)
98
+ return this._getDefaultVisibilities();
99
+ const t = Array.from(this.currentNode.querySelectorAll(l));
100
+ console.debug("_readVisibilityFromRows - found attribute rows:", t.length);
101
+ const i = this._extractVisibilityFromRows(t);
102
+ return this._mergeWithDefaults(i);
103
+ }
104
+ /**
105
+ * Returns default visibility values for all items
106
+ */
107
+ _getDefaultVisibilities() {
108
+ return s.reduce((t, i) => (t[i.key] = i.visible, t), {});
109
+ }
110
+ /**
111
+ * Extracts visibility values from DOM nodes
112
+ */
113
+ _extractVisibilityFromRows(t) {
114
+ const i = {};
115
+ return t.forEach((e) => {
116
+ if (!("getAttribute" in e))
117
+ return;
118
+ const o = e.getAttribute(a), r = e.getAttribute(d);
119
+ o && r !== null && (i[o] = this._parseVisibilityValue(r), console.debug(
120
+ `_readVisibilityFromRows - ${o}: ${i[o]} (raw: ${r})`
121
+ ));
122
+ }), i;
123
+ }
124
+ /**
125
+ * Parses visibility value from string to boolean
126
+ * Accepts "1", "true" as true, everything else as false
127
+ */
128
+ _parseVisibilityValue(t) {
129
+ return t === "1" || t === "true";
130
+ }
131
+ /**
132
+ * Merges extracted visibilities with default values for missing keys
133
+ */
134
+ _mergeWithDefaults(t) {
135
+ return s.forEach((i) => {
136
+ i.key in t || (t[i.key] = i.visible, console.debug(`_readVisibilityFromRows - ${i.key}: using default ${i.visible}`));
137
+ }), t;
80
138
  }
81
139
  /**
82
140
  * Apply the reordered composition to the block's HTML structure
141
+ * Updates the data-card-composition attribute and reorders product attributes
142
+ */
143
+ _applyCompositionToBlock(t) {
144
+ if (console.debug("_applyCompositionToBlock - composition:", t), !this.currentNode) {
145
+ console.debug("_applyCompositionToBlock - no current node");
146
+ return;
147
+ }
148
+ this.api.getDocumentModifier().modifyHtml(this.currentNode).setAttribute(c, t.join(",")).apply(new n("Update card composition")), this._reorderProductAttributes(t);
149
+ }
150
+ /**
151
+ * Reorders attribute rows within each product row based on composition order
83
152
  */
84
- _applyCompositionToBlock(i) {
153
+ _reorderProductAttributes(t) {
85
154
  if (!this.currentNode)
86
155
  return;
87
- const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
88
- e && this.api.getDocumentModifier().modifyHtml(e).setAttribute("data-card-composition", i.join(",")).apply(new u("Stored card composition order"));
156
+ const i = this.currentNode.querySelectorAll(A);
157
+ if (!(i != null && i.length))
158
+ return;
159
+ const e = this.api.getDocumentModifier();
160
+ i.forEach((o) => {
161
+ const r = this._buildCompositionHtml(o, t);
162
+ e.modifyHtml(o).setInnerHtml(r);
163
+ }), e.apply(new n("Reorder product attributes"));
164
+ }
165
+ /**
166
+ * Builds HTML string with attributes ordered according to composition
167
+ */
168
+ _buildCompositionHtml(t, i) {
169
+ return i.reduce((e, o) => {
170
+ const r = t.querySelector(`${l}[${a}="${o}"]`);
171
+ return r && "getOuterHTML" in r ? e + r.getOuterHTML() : e;
172
+ }, "");
89
173
  }
90
174
  /**
91
175
  * Apply visibility changes to the block's HTML structure
176
+ * Updates display style and data-visibility attribute for all matching rows
92
177
  */
93
- _applyVisibilityToBlock() {
94
- if (!this.currentNode)
178
+ _applyVisibilityToBlock(t, i) {
179
+ if (console.debug("_applyVisibilityToBlock", t, i), !this.currentNode)
180
+ return;
181
+ const e = this.currentNode.querySelectorAll(`${l}[${a}="${t}"]`);
182
+ if (!(e != null && e.length))
95
183
  return;
96
- const i = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
97
- i && this.api.getDocumentModifier().modifyHtml(i).setAttribute("data-card-visibility", JSON.stringify(this.currentVisibility)).apply(new u("Stored card visibility settings"));
184
+ const o = i ? "table-row" : "none", r = i ? "1" : "0", p = `Set ${t} visibility to ${i ? "visible" : "hidden"}`, u = this.api.getDocumentModifier();
185
+ e.forEach((_) => {
186
+ u.modifyHtml(_).setStyle("display", o).setAttribute(d, r);
187
+ }), u.apply(new n(p));
98
188
  }
99
189
  }
100
190
  export {
101
- h as COMPOSITION_CONTROL_BLOCK_ID,
102
- g as RecommendationCardCompositionControl
191
+ R as COMPOSITION_CONTROL_BLOCK_ID,
192
+ N as RecommendationCardCompositionControl
103
193
  };
@@ -1,5 +1,14 @@
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 || {});
1
+ const _ = "productImage", i = "productName", n = "productPrice", b = "productOldPrice", l = "productOmnibusPrice", N = "productOmnibusDiscount", O = "productButton", T = "data-price-inline";
2
+ 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.OMNIBUS_PRICE = "recommendation-block-omnibus-price", c.OMNIBUS_DISCOUNT = "recommendation-block-omnibus-discount", 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_LINE_SPACING = "recommendation-block-name-line-spacing-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.NAME_TEXT_TRIM = "recommendation-block-name-text-trim-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_HIDE_IF_SAME = "recommendation-block-price-hide-if-same-control", c.PRICE_LINE_SPACING = "recommendation-block-price-line-spacing-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_LINE_SPACING = "recommendation-block-old-price-line-spacing-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.OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control", c.OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control", c.OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control", c.OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control", c.OMNIBUS_PRICE_LINE_SPACING = "recommendation-block-omnibus-price-line-spacing-control", c.OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control", c.OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control", c.OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control", c.OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control", c.OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control", c.OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control", c.OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control", c.OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control", c.OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control", c.OMNIBUS_DISCOUNT_LINE_SPACING = "recommendation-block-omnibus-discount-line-spacing-control", c.OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control", c.OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control", c.OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control", c.OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control", c.OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control", c.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c.PRICE_INLINE_LAYOUT = "recommendation-block-price-inline-layout-control", c))(r || {});
2
3
  export {
4
+ T as ATTR_DATA_PRICE_INLINE,
5
+ O as ATTR_PRODUCT_BUTTON,
6
+ _ as ATTR_PRODUCT_IMAGE,
7
+ i as ATTR_PRODUCT_NAME,
8
+ b as ATTR_PRODUCT_OLD_PRICE,
9
+ N as ATTR_PRODUCT_OMNIBUS_DISCOUNT,
10
+ l as ATTR_PRODUCT_OMNIBUS_PRICE,
11
+ n as ATTR_PRODUCT_PRICE,
3
12
  o as RecommendationBlockId,
4
13
  r as RecommendationControlId
5
14
  };