@designcrowd/library.brand-page 6.1.1-json-prereq-3 → 6.1.1

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 (216) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-hj_ievMc.js → CreatedOnBrandCrowd-de-de-B5B5ThJ6.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-jAOSpfCw.js → CreatedOnBrandCrowd-en-us-a48CaORy.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-DZMVc-y3.js → CreatedOnBrandCrowd-es-es-xpuZ317-.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-DvB54H38.js → CreatedOnBrandCrowd-fr-ca-V-iUMArW.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-DvB54H38.js → CreatedOnBrandCrowd-fr-fr-V-iUMArW.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-bf-x1xhi.js → CreatedOnBrandCrowd-pt-br-DZ0NKSAy.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-bf-x1xhi.js → CreatedOnBrandCrowd-pt-pt-DZ0NKSAy.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-B-NY1B44.js → CreatedOnDcom-de-de-_950cgGp.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Cd4C6KQf.js → CreatedOnDcom-en-us-DogKzH-g.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-DONlsQsm.js → CreatedOnDcom-es-es-CmGM3IPX.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-Dsv3FRpZ.js → CreatedOnDcom-fr-ca-BonEDkWZ.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-DOgyvY5C.js → CreatedOnDcom-fr-fr-DQHtKrd_.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-DX66MhJS.js → CreatedOnDcom-pt-br-CtYJSBjs.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-COe2G0bU.js → CreatedOnDcom-pt-pt-DoO9r4lA.js} +1 -1
  15. package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +7 -8
  16. package/lib/src/brand-page/components/mailing-list/MailingList.mixin.js +6 -4
  17. package/lib/src/brand-page/components/page-footer/PageFooter.mixin.d.ts +1 -0
  18. package/lib/src/brand-page/components/page-footer/PageFooter.mixin.js +4 -1
  19. package/lib/src/brand-page/components/payment/Payment.mixin.js +4 -3
  20. package/lib/src/brand-page/components/payment/__fixtures__/request-payment.d.ts +1 -0
  21. package/lib/src/brand-page/components/payment/__fixtures__/support-me.d.ts +1 -0
  22. package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.d.ts +1 -0
  23. package/lib/src/brand-page/components/payment/request-payment/RequestPayment.mixin.js +4 -1
  24. package/lib/src/brand-page/composables/consent.composable.d.ts +2 -0
  25. package/lib/src/brand-page/composables/consent.composable.js +9 -3
  26. package/lib/src/brand-page/models/brand-page-context.model.d.ts +7 -0
  27. package/lib/src/brand-page/models/index.d.ts +26 -34
  28. package/lib/src/brand-page/utils/context.util.d.ts +8 -0
  29. package/lib/src/brand-page/utils/context.util.js +8 -0
  30. package/lib/src/brand-page/utils/migration.util.js +0 -11
  31. package/lib/src/brand-page/utils/text.util.d.ts +1 -13
  32. package/lib/src/brand-page/utils/text.util.js +0 -64
  33. package/lib/src/brand-page/utils/vcard.util.js +4 -4
  34. package/lib/src/brand-page/utils/view-model.util.d.ts +0 -1
  35. package/lib/src/brand-page/utils/view-model.util.js +20 -68
  36. package/lib/src/brand-page/view-models.d.ts +3 -3
  37. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +1 -1
  38. package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +51 -18
  39. package/lib/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.d.ts +1 -0
  40. package/lib/src/brand-page-maker/composables/rich-text-editor/bubbleMenu.d.ts +9 -2
  41. package/lib/src/brand-page-maker/composables/rich-text-editor/bubbleMenu.js +10 -6
  42. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/FontSize.d.ts +20 -0
  43. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/FontSize.js +44 -0
  44. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/LineHeight.d.ts +27 -0
  45. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/LineHeight.js +44 -0
  46. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.d.ts +1 -1
  47. package/lib/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.js +103 -24
  48. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +8 -0
  49. package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +9 -3
  50. package/lib/src/brand-page-maker/stores/ui/ui-store.d.ts +1 -1
  51. package/lib/src/brand-page-maker/utils/index.d.ts +0 -2
  52. package/lib/src/brand-page-maker/utils/index.js +0 -2
  53. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +5 -28
  54. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +5 -48
  55. package/lib/src/brand-page-maker/validators/field.validator.js +2 -10
  56. package/lib/src/clients/models.d.ts +2 -0
  57. package/lib/src/css/library.brand-page-brandCrowd.min.css +99 -102
  58. package/lib/src/css/library.brand-page-brandPage.min.css +99 -102
  59. package/lib/src/css/library.brand-page-designCom.min.css +99 -102
  60. package/lib/src/css/library.brand-page-preview.min.css +99 -102
  61. package/lib/src/index.d.ts +1 -1
  62. package/lib/src/index.mjs +219 -221
  63. package/lib/src/{lib-scDtk-Pi.js → lib-DtalJKI3.js} +72445 -75920
  64. package/lib/src/lib.js +1 -2
  65. package/lib/src/metadata-builder/ai-metadata-executor.d.ts +1 -0
  66. package/lib/src/metadata-builder/ai-metadata-executor.js +19 -0
  67. package/lib/src/metadata-builder/builders/section-builders/about-section-builder.js +3 -2
  68. package/lib/src/metadata-builder/builders/section-builders/banner-section-builder.js +3 -2
  69. package/lib/src/metadata-builder/builders/section-builders/booking-section-builder.js +3 -2
  70. package/lib/src/metadata-builder/builders/section-builders/contact-form-builder.js +4 -3
  71. package/lib/src/metadata-builder/builders/section-builders/images-section-builder.js +3 -2
  72. package/lib/src/metadata-builder/builders/section-builders/mailing-list-builder.js +2 -1
  73. package/lib/src/metadata-builder/builders/section-builders/mailing-list-section-builder.js +2 -1
  74. package/lib/src/metadata-builder/builders/section-builders/profile-section-builder.js +4 -3
  75. package/lib/src/metadata-builder/builders/section-builders/shapes-section-builder.js +3 -2
  76. package/lib/src/metadata-builder/builders/section-builders/testimonial-section-builder.js +2 -1
  77. package/lib/src/metadata-builder/builders/section-builders/text-section-builder.js +11 -15
  78. package/lib/src/metadata-builder/builders/update-content-text-builder.d.ts +17 -0
  79. package/lib/src/metadata-builder/builders/update-content-text-builder.js +103 -0
  80. package/lib/src/metadata-builder/builders/update-content-text-style-builder.d.ts +16 -0
  81. package/lib/src/metadata-builder/builders/update-content-text-style-builder.js +216 -0
  82. package/lib/src/metadata-builder/helpers/rte.helpers.d.ts +13 -11
  83. package/lib/src/metadata-builder/helpers/rte.helpers.js +73 -14
  84. package/lib/src/metadata-builder/metadata-executor.js +4 -0
  85. package/lib/src/metadata-builder/models.d.ts +2 -0
  86. package/lib/src/metadata-builder/models.js +2 -0
  87. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.d.ts +19 -0
  88. package/lib/src/metadata-builder/parsers/ai-toolcall-parser.js +4 -0
  89. package/lib/src/metadata-builder/sanitizers/rte-schema-check.d.ts +8 -7
  90. package/lib/src/metadata-builder/sanitizers/rte-schema-check.js +52 -21
  91. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.d.ts +1 -1
  92. package/lib/src/shared/content-settings/components/GenericTextInput.mixin.js +10 -35
  93. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +1 -1
  94. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +3 -12
  95. package/lib/src/shared/content-settings/components/email-field/EmailField.mixin.d.ts +1 -1
  96. package/lib/src/shared/content-settings/components/tel-field/TelField.mixin.d.ts +1 -1
  97. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +2 -3
  98. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.js +3 -10
  99. package/lib/src/shared/content-settings/components/text-field/TextField.mixin.d.ts +1 -1
  100. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +1 -2
  101. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +1 -4
  102. package/lib/src/shared/content-settings/components/textarea-field/TextareaField.mixin.d.ts +1 -1
  103. package/lib/src/shared/content-settings/components/url-field/UrlField.mixin.d.ts +1 -1
  104. package/lib/src/shared/content-settings/components/youtube-video-field/YoutubeVideoField.mixin.d.ts +1 -1
  105. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +1 -1
  106. package/lib/src/shared/logo-versions/LogoVersions.mixin.d.ts +1 -1
  107. package/lib/src/shared/my-designs/MyDesigns.mixin.d.ts +1 -1
  108. package/lib/src/shared/my-uploads/MyMedia.mixin.d.ts +1 -1
  109. package/lib/src/shared/my-uploads/MyUploads.mixin.d.ts +1 -1
  110. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +1 -1
  111. package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +1 -1
  112. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +1 -1
  113. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +1 -1
  114. package/lib/src/shared/template-settings/store/template-settings-store.d.ts +2 -0
  115. package/lib/src/shared/template-settings/store/template-settings-store.js +72 -24
  116. package/lib/src/shared/unsplash-library/UnsplashLibrary.mixin.d.ts +1 -1
  117. package/lib/src/utils/minify-brand-page-metadata.js +1 -4
  118. package/package.json +15 -17
  119. package/src/brand-page/components/contact-form/ContactForm.mixin.ts +9 -7
  120. package/src/brand-page/components/cookie-consent/CookieConsent.vue +1 -0
  121. package/src/brand-page/components/mailing-list/MailingList.mixin.ts +8 -3
  122. package/src/brand-page/components/navigation/navigation-carousel/NavigationCarousel.vue +5 -1
  123. package/src/brand-page/components/page-footer/PageFooter.mixin.ts +4 -1
  124. package/src/brand-page/components/page-footer/PageFooter.vue +1 -1
  125. package/src/brand-page/components/payment/Payment.mixin.ts +4 -3
  126. package/src/brand-page/components/payment/request-payment/RequestPayment.mixin.ts +8 -1
  127. package/src/brand-page/components/payment/request-payment/RequestPayment.vue +1 -1
  128. package/src/brand-page/components/save-contact/SaveContactWidget.vue +2 -1
  129. package/src/brand-page/components/shop/Shop.vue +6 -3
  130. package/src/brand-page/components/social-links/SocialLinks.vue +5 -2
  131. package/src/brand-page/components/text-wrapper/TextWrapper.vue +6 -17
  132. package/src/brand-page/composables/consent.composable.ts +18 -4
  133. package/src/brand-page/models/brand-page-context.model.ts +7 -0
  134. package/src/brand-page/models/index.ts +26 -35
  135. package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +3 -3
  136. package/src/brand-page/utils/context.util.test.ts +43 -0
  137. package/src/brand-page/utils/context.util.ts +10 -0
  138. package/src/brand-page/utils/migration.util.ts +0 -12
  139. package/src/brand-page/utils/style.util.test.ts +0 -51
  140. package/src/brand-page/utils/text.util.ts +4 -83
  141. package/src/brand-page/utils/vcard.util.ts +4 -6
  142. package/src/brand-page/utils/view-model.util.ts +26 -94
  143. package/src/brand-page/view-models.ts +2 -3
  144. package/src/brand-page-maker/components/rich-text-editor/RichTextEditor.vue +4 -5
  145. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.test.ts +135 -0
  146. package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +62 -21
  147. package/src/brand-page-maker/composables/ai-chat/useAiMetadataBuilder.ts +1 -0
  148. package/src/brand-page-maker/composables/rich-text-editor/bubbleMenu.ts +10 -6
  149. package/src/brand-page-maker/composables/rich-text-editor/extensions/FontSize.ts +73 -0
  150. package/src/brand-page-maker/composables/rich-text-editor/extensions/LineHeight.ts +85 -0
  151. package/src/brand-page-maker/composables/rich-text-editor/useRichTextEditor.ts +111 -27
  152. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +9 -0
  153. package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +11 -3
  154. package/src/brand-page-maker/stores/ui/ui-store.ts +1 -1
  155. package/src/brand-page-maker/utils/index.ts +0 -2
  156. package/src/brand-page-maker/utils/rich-text-editor.util.test.ts +3 -37
  157. package/src/brand-page-maker/utils/rich-text-editor.util.ts +11 -66
  158. package/src/brand-page-maker/validators/field.validator.ts +2 -10
  159. package/src/clients/models.ts +3 -0
  160. package/src/lib.ts +1 -9
  161. package/src/metadata-builder/ai-metadata-executor.ts +26 -0
  162. package/src/metadata-builder/builders/section-builders/about-section-builder.ts +3 -2
  163. package/src/metadata-builder/builders/section-builders/banner-section-builder.ts +3 -2
  164. package/src/metadata-builder/builders/section-builders/booking-section-builder.ts +5 -2
  165. package/src/metadata-builder/builders/section-builders/contact-form-builder.ts +4 -3
  166. package/src/metadata-builder/builders/section-builders/images-section-builder.ts +3 -2
  167. package/src/metadata-builder/builders/section-builders/mailing-list-builder.ts +2 -1
  168. package/src/metadata-builder/builders/section-builders/mailing-list-section-builder.ts +2 -1
  169. package/src/metadata-builder/builders/section-builders/profile-section-builder.ts +6 -3
  170. package/src/metadata-builder/builders/section-builders/shapes-section-builder.ts +3 -2
  171. package/src/metadata-builder/builders/section-builders/testimonial-section-builder.ts +2 -1
  172. package/src/metadata-builder/builders/section-builders/text-section-builder.ts +13 -19
  173. package/src/metadata-builder/builders/update-content-text-builder.ts +148 -0
  174. package/src/metadata-builder/builders/update-content-text-style-builder.ts +352 -0
  175. package/src/metadata-builder/helpers/rte.helpers.ts +101 -15
  176. package/src/metadata-builder/metadata-executor.ts +5 -0
  177. package/src/metadata-builder/models.ts +3 -0
  178. package/src/metadata-builder/parsers/ai-toolcall-parser.ts +27 -0
  179. package/src/metadata-builder/sanitizers/rte-schema-check.ts +53 -24
  180. package/src/shared/content-settings/components/GenericTextInput.mixin.ts +11 -42
  181. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +3 -16
  182. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.ts +4 -13
  183. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +4 -6
  184. package/src/shared/content-settings/components/text-image-field/TextImageField.vue +3 -6
  185. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +1 -6
  186. package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +1 -1
  187. package/src/shared/template-settings/store/template-settings-store.ts +93 -27
  188. package/src/utils/minify-brand-page-metadata.ts +1 -4
  189. package/lib/src/brand-page/utils/migration/migration-20.d.ts +0 -2
  190. package/lib/src/brand-page/utils/migration/migration-20.js +0 -66
  191. package/lib/src/brand-page-maker/__fixtures__/complex-rte.fixture.d.ts +0 -22
  192. package/lib/src/brand-page-maker/__fixtures__/complex-rte.fixture.js +0 -22
  193. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.d.ts +0 -14
  194. package/lib/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.js +0 -39
  195. package/lib/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.d.ts +0 -28
  196. package/lib/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.js +0 -117
  197. package/lib/src/brand-page-maker/utils/rte-render.util.d.ts +0 -63
  198. package/lib/src/brand-page-maker/utils/rte-render.util.js +0 -95
  199. package/lib/src/brand-page-maker/utils/rte-sanitize.util.d.ts +0 -6
  200. package/lib/src/brand-page-maker/utils/rte-sanitize.util.js +0 -156
  201. package/src/brand-page/utils/migration/migration-20.server.test.ts +0 -125
  202. package/src/brand-page/utils/migration/migration-20.test.ts +0 -72
  203. package/src/brand-page/utils/migration/migration-20.ts +0 -87
  204. package/src/brand-page/utils/text.util.test.ts +0 -106
  205. package/src/brand-page/utils/view-model.pageid-rte.test.ts +0 -104
  206. package/src/brand-page-maker/__fixtures__/complex-rte.fixture.ts +0 -23
  207. package/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.test.ts +0 -52
  208. package/src/brand-page-maker/composables/rich-text-editor/extensions/FontFamily.ts +0 -42
  209. package/src/brand-page-maker/composables/rich-text-editor/getRteExtensions.ts +0 -162
  210. package/src/brand-page-maker/utils/__snapshots__/rte-render-parity.test.ts.snap +0 -202
  211. package/src/brand-page-maker/utils/rte-features.test.ts +0 -378
  212. package/src/brand-page-maker/utils/rte-render-parity.test.ts +0 -164
  213. package/src/brand-page-maker/utils/rte-render.util.ts +0 -165
  214. package/src/brand-page-maker/utils/rte-sanitize-json.test.ts +0 -172
  215. package/src/brand-page-maker/utils/rte-sanitize.util.ts +0 -192
  216. package/src/brand-page-maker/validators/field.validator.test.ts +0 -55
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-scDtk-Pi.js";
2
+ import { _ as t } from "./lib-DtalJKI3.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-scDtk-Pi.js";
2
+ import { _ as t } from "./lib-DtalJKI3.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-scDtk-Pi.js";
2
+ import { _ as t } from "./lib-DtalJKI3.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-scDtk-Pi.js";
2
+ import { _ as t } from "./lib-DtalJKI3.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-scDtk-Pi.js";
2
+ import { _ as t } from "./lib-DtalJKI3.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-scDtk-Pi.js";
2
+ import { _ as t } from "./lib-DtalJKI3.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-scDtk-Pi.js";
2
+ import { _ as t } from "./lib-DtalJKI3.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-scDtk-Pi.js";
2
+ import { _ as e } from "./lib-DtalJKI3.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-scDtk-Pi.js";
2
+ import { _ as e } from "./lib-DtalJKI3.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-scDtk-Pi.js";
2
+ import { _ as e } from "./lib-DtalJKI3.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-scDtk-Pi.js";
2
+ import { _ as e } from "./lib-DtalJKI3.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-scDtk-Pi.js";
2
+ import { _ as e } from "./lib-DtalJKI3.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-scDtk-Pi.js";
2
+ import { _ as M } from "./lib-DtalJKI3.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-scDtk-Pi.js";
2
+ import { _ as M } from "./lib-DtalJKI3.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,12 +1,12 @@
1
1
  import { defineComponent } from 'vue';
2
2
  import { FORM_FIELD_TYPES } from '@brand-page/models';
3
- import { getEmailValidationError, getMessageValidationError, getNameValidationError, getPhoneValidationError, } from '@brand-page/utils';
3
+ import { getEmailValidationError, getMessageValidationError, getNameValidationError, getPhoneValidationError, isPreviewMode, } from '@brand-page/utils';
4
4
  import { isDecorativeButtonStyle } from '../../utils/button.util';
5
5
  import brandPageClient from '../../clients/brand-page.client';
6
6
  import { isEmail } from '../../../utils/validator.util';
7
7
  import { ALIGN_CARD_CENTER, ALIGN_CARD_CENTER_IMAGE, ALIGN_CENTERED, ALIGN_LEFT_FULL_IMAGE, ALIGN_RIGHT_FULL_IMAGE, DISPLAY_STYLE_COLLAPSED, RECAPTCHA_ACTION_CONTACT_FORM, TEXT_ONLY, } from '../../constants';
8
8
  import { getRenderText, contentPaddingStyle as toContentPaddingStyle, mutedTextForBackground, backgroundColorFromStyle, } from '@brand-page/utils';
9
- import { hasRTEContent, getPlainTextFromRTE } from '@brand-page-maker/utils';
9
+ import { hasRTEContent } from '@brand-page-maker/utils';
10
10
  import { useReCaptcha } from '../../composables/recaptcha.composable';
11
11
  export default defineComponent({
12
12
  props: {
@@ -120,10 +120,7 @@ export default defineComponent({
120
120
  isEmail(this.viewModel.responseEmail));
121
121
  },
122
122
  title() {
123
- // BP-5787: title may be RTE JSON (not a string), so `.trim()` would
124
- // throw — read the visible text via getPlainTextFromRTE to decide
125
- // whether to fall back to the default.
126
- return getPlainTextFromRTE(this.viewModel.title)
123
+ return this.viewModel.title && this.viewModel.title.trim() !== ''
127
124
  ? this.viewModel.title
128
125
  : 'Contact Us';
129
126
  },
@@ -196,7 +193,9 @@ export default defineComponent({
196
193
  }));
197
194
  },
198
195
  mounted() {
199
- if (this.context?.recaptchaSiteKey && !this.isPreview && this.recaptcha) {
196
+ if (this.context?.recaptchaSiteKey &&
197
+ !isPreviewMode(this.context) &&
198
+ this.recaptcha) {
200
199
  this.recaptcha.initialise({ siteKey: this.context.recaptchaSiteKey });
201
200
  }
202
201
  },
@@ -206,7 +205,7 @@ export default defineComponent({
206
205
  if (this.hasFormError) {
207
206
  return;
208
207
  }
209
- if (this.isPreview || !this.context.brandPageToken) {
208
+ if (isPreviewMode(this.context) || !this.context.brandPageToken) {
210
209
  if (process.env.NODE_ENV !== 'production' &&
211
210
  !this.context.brandPageSlug) {
212
211
  console.error('brandPageToken is not defined');
@@ -1,6 +1,6 @@
1
1
  import { defineComponent } from 'vue';
2
2
  import brandPageClient from '../../clients/brand-page.client';
3
- import { getEmailValidationError, contentPaddingStyle as toContentPaddingStyle, mutedTextForBackground, backgroundColorFromStyle, } from '@brand-page/utils';
3
+ import { getEmailValidationError, contentPaddingStyle as toContentPaddingStyle, isPreviewMode, mutedTextForBackground, backgroundColorFromStyle, } from '@brand-page/utils';
4
4
  import { contentSettingsTr, mailingListTr, } from '@src/composables/useTranslate';
5
5
  import { useReCaptcha } from '../../composables/recaptcha.composable';
6
6
  import { RECAPTCHA_ACTION_MAILING_LIST } from '../../constants';
@@ -46,7 +46,9 @@ export default defineComponent({
46
46
  },
47
47
  mounted() {
48
48
  this.show = true;
49
- if (this.context?.recaptchaSiteKey && !this.isPreview && this.recaptcha) {
49
+ if (this.context?.recaptchaSiteKey &&
50
+ !isPreviewMode(this.context) &&
51
+ this.recaptcha) {
50
52
  this.recaptcha.initialise({ siteKey: this.context.recaptchaSiteKey });
51
53
  }
52
54
  },
@@ -103,7 +105,7 @@ export default defineComponent({
103
105
  },
104
106
  isFormDisabled() {
105
107
  return (this.hasFormError ||
106
- this.isPreview ||
108
+ isPreviewMode(this.context) ||
107
109
  !this.brandPageToken ||
108
110
  this.isSubmitting);
109
111
  },
@@ -125,7 +127,7 @@ export default defineComponent({
125
127
  if (this.hasFormError) {
126
128
  return;
127
129
  }
128
- if (this.isPreview || !this.brandPageToken) {
130
+ if (isPreviewMode(this.context) || !this.brandPageToken) {
129
131
  return;
130
132
  }
131
133
  this.isSubmitting = true;
@@ -20,6 +20,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
20
20
  default: boolean;
21
21
  };
22
22
  }>, {}, {}, {
23
+ isInPreviewMode(): boolean;
23
24
  containerStyle(): BrandPageCssStyle;
24
25
  socialLinksIconStyle(): BrandPageCssStyle;
25
26
  isDisplayStyleCentered(): boolean;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent } from 'vue';
2
- import { getRenderText } from '@brand-page/utils';
2
+ import { getRenderText, isPreviewMode } from '@brand-page/utils';
3
3
  import { FOOTER_DISPLAY } from '../../constants';
4
4
  export default defineComponent({
5
5
  props: {
@@ -23,6 +23,9 @@ export default defineComponent({
23
23
  },
24
24
  emits: ['on-logo-click', 'footer-container-click'],
25
25
  computed: {
26
+ isInPreviewMode() {
27
+ return isPreviewMode(this.context);
28
+ },
26
29
  containerStyle() {
27
30
  return this.viewModel.backgroundStyle;
28
31
  },
@@ -2,6 +2,7 @@ import { defineComponent } from 'vue';
2
2
  import brandPageClient from '../../clients/brand-page.client';
3
3
  import { DISPLAY_STYLE_COLLAPSED, DISPLAY_STYLE_PREVIEW, paymentProviders, } from '../../constants';
4
4
  import raygunUtil from '@brand-page/utils/raygun.util';
5
+ import { isPreviewMode } from '@brand-page/utils';
5
6
  import { paymentTr } from '@src/composables/useTranslate';
6
7
  const DEFAULT_PAYMENT_SUCCESS_MESSAGE = paymentTr(`defaultPaymentSuccessMessage`);
7
8
  const PAYMENT_CONFIG_ACTIVE = 'Active';
@@ -60,10 +61,10 @@ export default defineComponent({
60
61
  }
61
62
  },
62
63
  canMakePayment() {
63
- return !this.context.isPreview && this.isPaymentConfigActive;
64
+ return !isPreviewMode(this.context) && this.isPaymentConfigActive;
64
65
  },
65
66
  showPaymentBlock() {
66
- return this.context.isPreview || this.isPaymentConfigActive;
67
+ return isPreviewMode(this.context) || this.isPaymentConfigActive;
67
68
  },
68
69
  paymentOptions() {
69
70
  return this.paymentConfig.paymentOptions;
@@ -147,7 +148,7 @@ export default defineComponent({
147
148
  this.state = paymentConfigId
148
149
  ? paymentState.PaymentOptionSelection
149
150
  : paymentState.IncompleteConfig;
150
- if (this.context.isPreview || !paymentConfigId) {
151
+ if (isPreviewMode(this.context) || !paymentConfigId) {
151
152
  return;
152
153
  }
153
154
  try {
@@ -3,6 +3,7 @@ export declare const context: {
3
3
  stripePublishableKey: string;
4
4
  isTemplate: boolean;
5
5
  isPreview: boolean;
6
+ isLivePreview?: boolean;
6
7
  isMobile?: boolean;
7
8
  isDesignCom: boolean;
8
9
  isProduction: boolean;
@@ -3,6 +3,7 @@ export declare const context: {
3
3
  stripePublishableKey: string;
4
4
  isTemplate: boolean;
5
5
  isPreview: boolean;
6
+ isLivePreview?: boolean;
6
7
  isMobile?: boolean;
7
8
  isDesignCom: boolean;
8
9
  isProduction: boolean;
@@ -21,6 +21,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
21
21
  selectedPaymentOptionIds: string[];
22
22
  imageType: string;
23
23
  }, {
24
+ isInPreviewMode(): boolean;
24
25
  contentPaddingStyle(): {
25
26
  paddingTop: string;
26
27
  paddingBottom: string;
@@ -2,7 +2,7 @@ import { defineComponent } from 'vue';
2
2
  import { PAYMENT_OPTION_DISPLAY_TYPES, PAYMENT_OPTION_IMAGE_TYPES, } from '../../../models';
3
3
  import { DEFAULT_CURRENCY_SYMBOL } from '../../../constants';
4
4
  import { addOpacityToHex } from '../../../utils/color.util';
5
- import { contentPaddingStyle as toContentPaddingStyle } from '../../../utils';
5
+ import { contentPaddingStyle as toContentPaddingStyle, isPreviewMode, } from '../../../utils';
6
6
  import { RGBAtoHex } from '@utils/helpers';
7
7
  const MAX_CUSTOM_REQUEST_CHARS = 500;
8
8
  export default defineComponent({
@@ -29,6 +29,9 @@ export default defineComponent({
29
29
  };
30
30
  },
31
31
  computed: {
32
+ isInPreviewMode() {
33
+ return isPreviewMode(this.context);
34
+ },
32
35
  contentPaddingStyle() {
33
36
  return toContentPaddingStyle(this.viewModel);
34
37
  },
@@ -4,8 +4,10 @@ export declare const useConsent: () => {
4
4
  updateConsent: import("vue").Ref<(c: ConsentType) => void, (c: ConsentType) => void>;
5
5
  featureEnabled: import("vue").Ref<boolean, boolean>;
6
6
  showConsentModal: import("vue").Ref<boolean, boolean>;
7
+ persist: import("vue").Ref<boolean, boolean>;
7
8
  initialise: (options: {
8
9
  featureEnabled: boolean;
10
+ persist?: boolean;
9
11
  }) => ConsentType;
10
12
  grant: (cb?: () => unknown) => void;
11
13
  deny: (cb?: () => unknown) => void;
@@ -28,6 +28,7 @@ const store = reactive({
28
28
  consent: undefined,
29
29
  featureEnabled: false,
30
30
  showConsentModal: false,
31
+ persist: true,
31
32
  updateConsent(c) {
32
33
  this.consent = c;
33
34
  },
@@ -38,7 +39,8 @@ export const useConsent = () => {
38
39
  return undefined;
39
40
  }
40
41
  store.featureEnabled = options.featureEnabled;
41
- store.consent = getStoredConsent();
42
+ store.persist = options.persist ?? true;
43
+ store.consent = store.persist ? getStoredConsent() : undefined;
42
44
  store.showConsentModal =
43
45
  options.featureEnabled && !accepted.value && !declined.value;
44
46
  return store.consent;
@@ -46,13 +48,17 @@ export const useConsent = () => {
46
48
  const accepted = computed(() => Boolean(store.consent && store.consent === 'granted'));
47
49
  const declined = computed(() => Boolean(store.consent && store.consent === 'denied'));
48
50
  const grant = (cb) => {
49
- storeConsent('granted');
51
+ if (store.persist) {
52
+ storeConsent('granted');
53
+ }
50
54
  store.updateConsent('granted');
51
55
  store.showConsentModal = store.featureEnabled && !accepted.value;
52
56
  cb && cb();
53
57
  };
54
58
  const deny = (cb) => {
55
- storeConsent('denied');
59
+ if (store.persist) {
60
+ storeConsent('denied');
61
+ }
56
62
  store.updateConsent('denied');
57
63
  store.showConsentModal = false;
58
64
  cb && cb();
@@ -47,6 +47,13 @@ export type MediaSizes = keyof typeof MEDIA_SIZES;
47
47
  export interface BrandPageContext {
48
48
  isTemplate: boolean;
49
49
  isPreview: boolean;
50
+ /**
51
+ * Rendered as a customer-facing live preview (safe/inert actions, no
52
+ * watermark, ephemeral consent). Distinct from the editor `isPreview`, which
53
+ * also drives editor/thumbnail-only behaviour. Use `isPreviewMode()` to gate
54
+ * inert-action behaviour that applies to both.
55
+ */
56
+ isLivePreview?: boolean;
50
57
  /** @deprecated should be used on maker only */
51
58
  isMobile?: boolean;
52
59
  isDesignCom: boolean;
@@ -7,14 +7,6 @@ import { TextStyles } from './styles.model';
7
7
  import { LogoStyles } from './logo.model';
8
8
  import type { LogoImageModel, LogoTemplateImageModel } from './logo.model';
9
9
  import type { BrandPagePaymentConfig } from './payment.model';
10
- import type { JSONContent } from '@tiptap/vue-3';
11
- /**
12
- * BP-5787 — a rich-text field is either a legacy inline-HTML string or a
13
- * Tiptap JSON document. Typing RTE content fields as RichTextValue (instead of
14
- * `string`) forces every consumer to handle both forms — surfacing at compile
15
- * time any code that assumes a plain string (e.g. `.replace`, `.length`).
16
- */
17
- export type RichTextValue = string | JSONContent;
18
10
  export * from './brand-page-context.model';
19
11
  export * from './payment.model';
20
12
  export * from './content.model';
@@ -156,7 +148,7 @@ export interface TextContent extends Content {
156
148
  /**
157
149
  * For BrandPage/BrandContact only
158
150
  */
159
- text: RichTextValue;
151
+ text: string;
160
152
  /**
161
153
  * For BrandSite
162
154
  */
@@ -179,9 +171,9 @@ export interface TextContent extends Content {
179
171
  }
180
172
  export interface ProfileContent extends Content {
181
173
  avatarImageUrl: string;
182
- name: RichTextValue;
183
- title: RichTextValue;
184
- description: RichTextValue;
174
+ name: string;
175
+ title: string;
176
+ description: string;
185
177
  backgroundColor: BrandPageCssStyle;
186
178
  colorReplacements: ColorReplacement[];
187
179
  mediaType?: string;
@@ -199,7 +191,7 @@ export interface MapContent extends Content {
199
191
  }
200
192
  export interface MailingListContent extends Content {
201
193
  acceptedFields?: 'emailOnly' | 'nameAndEmail';
202
- title: RichTextValue;
194
+ title: string;
203
195
  buttonText: string;
204
196
  titleStyle: TextStyleDeclaration;
205
197
  buttonTextStyle: TextStyleDeclaration;
@@ -251,10 +243,10 @@ export interface FormField {
251
243
  export interface ContactFormContent extends Content {
252
244
  type: 'contact-form';
253
245
  displayStyle: string;
254
- title: RichTextValue;
255
- description: RichTextValue;
246
+ title: string;
247
+ description: string;
256
248
  buttonText: string;
257
- successMessage: RichTextValue;
249
+ successMessage: string;
258
250
  fields: FormField[];
259
251
  responseEmail: string;
260
252
  imageUrl?: string;
@@ -273,8 +265,8 @@ export interface ContactFormContent extends Content {
273
265
  export interface BannerSectionContent extends Content {
274
266
  type: 'banner-section';
275
267
  imageUrl: string;
276
- title: RichTextValue;
277
- description: RichTextValue;
268
+ title: string;
269
+ description: string;
278
270
  buttonText: string | false;
279
271
  url: string;
280
272
  email?: string;
@@ -301,8 +293,8 @@ export declare const MEDIA_TYPES: {
301
293
  };
302
294
  export type MediaType = keyof typeof MEDIA_TYPES;
303
295
  export interface TextMediaItem extends ImageItem {
304
- title: RichTextValue;
305
- paragraph: RichTextValue;
296
+ title: string;
297
+ paragraph: string;
306
298
  itemsId: number;
307
299
  buttonText?: string | false;
308
300
  buttonPageId?: string;
@@ -321,8 +313,8 @@ export interface TextShapeItem extends TextMediaItem {
321
313
  export interface ShapeItem extends ImageItem {
322
314
  colorReplacements: ColorReplacement[];
323
315
  mediaType: MediaType;
324
- title?: RichTextValue;
325
- paragraph?: RichTextValue;
316
+ title?: string;
317
+ paragraph?: string;
326
318
  titleOverride?: string;
327
319
  paragraphOverride?: string;
328
320
  }
@@ -330,9 +322,9 @@ export interface TestimonialItems {
330
322
  /** Stable per-item identifier. See ImageItem.id. */
331
323
  id: string;
332
324
  imageUrl: string;
333
- name: RichTextValue;
334
- position: RichTextValue;
335
- testimonials: RichTextValue;
325
+ name: string;
326
+ position: string;
327
+ testimonials: string;
336
328
  colorReplacements: ColorReplacement[];
337
329
  mediaType: string;
338
330
  size?: string;
@@ -345,7 +337,7 @@ export interface TestimonialItems {
345
337
  export interface TextItem {
346
338
  /** Stable per-item identifier. See ImageItem.id. */
347
339
  id: string;
348
- text: RichTextValue;
340
+ text: string;
349
341
  textStyle: TextStyleDeclaration;
350
342
  textOverride?: string;
351
343
  }
@@ -362,8 +354,8 @@ export interface ImagesSectionContent extends Content, MediaSection {
362
354
  enablePopup: boolean;
363
355
  }
364
356
  export interface MediaSection extends Content {
365
- title: RichTextValue;
366
- description: RichTextValue;
357
+ title: string;
358
+ description: string;
367
359
  displayStyle: ImagesSectionContentDisplayStyle;
368
360
  items: TextShapeItem[] | TextMediaItem[];
369
361
  titleStyle: TextStyleDeclaration;
@@ -380,7 +372,7 @@ export interface ColorReplacement {
380
372
  }
381
373
  export interface TestimonialSectionContent extends Content {
382
374
  type: 'testimonial-section';
383
- title: RichTextValue;
375
+ title: string;
384
376
  displayStyle: string;
385
377
  items: TestimonialItems[];
386
378
  titleStyle: TextStyleDeclaration;
@@ -394,8 +386,8 @@ export interface TestimonialSectionContent extends Content {
394
386
  export interface AboutSectionContent extends Content {
395
387
  type: 'about-section';
396
388
  imageUrl: string;
397
- title: RichTextValue;
398
- paragraph: RichTextValue;
389
+ title: string;
390
+ paragraph: string;
399
391
  displayStyle: string;
400
392
  titleStyle: TextStyleDeclaration;
401
393
  paragraphStyle: TextStyleDeclaration;
@@ -419,7 +411,7 @@ export declare const SOCIAL_LINKS_ICON_DISPLAY_STYLES: {
419
411
  export type SocialLinksIconDisplayStyle = keyof typeof SOCIAL_LINKS_ICON_DISPLAY_STYLES;
420
412
  export interface SocialLinksContent extends Content {
421
413
  type: 'social-links';
422
- title: RichTextValue;
414
+ title: string;
423
415
  links: LinksItem[];
424
416
  iconDisplayStyle: SocialLinksIconDisplayStyle;
425
417
  iconFillStyles: BrandPageCssStyle;
@@ -442,8 +434,8 @@ export interface DividerSectionContent extends Content {
442
434
  }
443
435
  export interface BookingSectionContent extends Content {
444
436
  type: 'booking-section';
445
- title: RichTextValue;
446
- description: RichTextValue;
437
+ title: string;
438
+ description: string;
447
439
  buttonText: string;
448
440
  url: string;
449
441
  email?: string;
@@ -1,2 +1,10 @@
1
1
  import type { BrandPageContext } from '../models';
2
2
  export declare const getSlugFromContext: (context: BrandPageContext) => string;
3
+ /**
4
+ * True when interactive actions must be inert and payment/shop blocks always
5
+ * shown — i.e. the render is a preview, not a live site. Covers both the
6
+ * editor preview (`isPreview`) and the customer live-preview
7
+ * (`isLivePreview`). Editor-only artifacts (cursor, nav interception,
8
+ * placeholders) must keep reading `context.isPreview` directly.
9
+ */
10
+ export declare const isPreviewMode: (context: BrandPageContext) => boolean;
@@ -4,3 +4,11 @@ export const getSlugFromContext = (context) => {
4
4
  }
5
5
  return context.brandPageSlug;
6
6
  };
7
+ /**
8
+ * True when interactive actions must be inert and payment/shop blocks always
9
+ * shown — i.e. the render is a preview, not a live site. Covers both the
10
+ * editor preview (`isPreview`) and the customer live-preview
11
+ * (`isLivePreview`). Editor-only artifacts (cursor, nav interception,
12
+ * placeholders) must keep reading `context.isPreview` directly.
13
+ */
14
+ export const isPreviewMode = (context) => !!(context.isPreview || context.isLivePreview);
@@ -22,7 +22,6 @@ import { migration16 } from './migration/migration-16';
22
22
  import { migration17 } from './migration/migration-17';
23
23
  import { migration18 } from './migration/migration-18';
24
24
  import { migration19 } from './migration/migration-19';
25
- import { migration20 } from './migration/migration-20';
26
25
  const MIGRATION_TABLE = [
27
26
  {
28
27
  version: 1,
@@ -150,16 +149,6 @@ const MIGRATION_TABLE = [
150
149
  runAlways: true,
151
150
  description: 'BP-5800: seed the button fill colour as each block’s own container colour so it is independent of the site button (existing sites render unchanged) — backgroundStyle for mailing-list, request-payment and support-me (all types); cardStyle for the BP/BC contact form (skipped on brand-site)',
152
151
  },
153
- {
154
- version: 20,
155
- migrateFn: migration20,
156
- // One-time versioned migration (NOT runAlways): legacy sites (v < 20)
157
- // convert on their first load in any environment — the maker (browser DOM)
158
- // and web-renderer SSR (migration-20 installs a jsdom window). It no longer
159
- // needs to re-run every load because the AI section builders now emit Tiptap
160
- // JSON directly, so there is no recurring post-load source of HTML to catch.
161
- description: 'BP-5787: convert inline-HTML RTE content to Tiptap JSON on first load (client or server); AI builders emit JSON directly, so this runs once per site',
162
- },
163
152
  ];
164
153
  export const GetLatestModelVersion = () => Math.max(...MIGRATION_TABLE.map((x) => x.version));
165
154
  export const migrateBrandPageModel = async (brandPageModel, options) => {
@@ -1,17 +1,5 @@
1
1
  export declare const getRenderText: (text: string) => string;
2
- export declare const escapeContentText: (text: unknown) => string | undefined;
3
- /**
4
- * Character length of RTE content as the *editor* counts it — ProseMirror
5
- * `doc.textContent`: text nodes concatenated with NO separator. This is the
6
- * metric the MaxLength extension gates on, so length indicators must use it too.
7
- *
8
- * Do NOT use escapeContentText/jsonDocPlainText for length limiting: those
9
- * join text nodes with a space for readable plain-text extraction, so they
10
- * over-count by one character per inline mark boundary. Converting a word to a
11
- * hyperlink (or bolding it, etc.) splits its text node, making the counter
12
- * report length+1 for content the editor considers exactly at the cap (BP-5787).
13
- */
14
- export declare const getContentTextLength: (value: unknown) => number;
2
+ export declare const escapeContentText: (text: string | undefined) => string | undefined;
15
3
  export declare const decodeHtmlEntities: (text: string) => string;
16
4
  export declare const unescapeContentText: (text: string) => string;
17
5
  export declare const encodeContentText: (text: string | undefined) => string | undefined;