@designcrowd/library.brand-page 5.16.3-background-7 → 5.16.3-background-9

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 (124) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-YFZqI0x7.js → CreatedOnBrandCrowd-de-de--KpngFdf.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-oCydCj0r.js → CreatedOnBrandCrowd-en-us-DtxY4Z2d.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-8LWCIMUL.js → CreatedOnBrandCrowd-es-es-uDQh1CTo.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-HZ_V70no.js → CreatedOnBrandCrowd-fr-ca-BiB8cMX_.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-HZ_V70no.js → CreatedOnBrandCrowd-fr-fr-BiB8cMX_.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-7jPL-cgd.js → CreatedOnBrandCrowd-pt-br-D3sXSjw8.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-7jPL-cgd.js → CreatedOnBrandCrowd-pt-pt-D3sXSjw8.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-D-SliPlT.js → CreatedOnDcom-de-de-CMssXwxW.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-DWB_vdQE.js → CreatedOnDcom-en-us-CagKWzBt.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-DMuIffFr.js → CreatedOnDcom-es-es-DGmFkW7a.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-DM8vq9tc.js → CreatedOnDcom-fr-ca-BEG1Lwj5.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-8yITfFk9.js → CreatedOnDcom-fr-fr-o4G0x8pw.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-BlTWg3Np.js → CreatedOnDcom-pt-br-iTLOgDpS.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-L8gg-C55.js → CreatedOnDcom-pt-pt-D3-ovGCA.js} +1 -1
  15. package/lib/src/brand-page/models/brand-page-context.model.d.ts +1 -0
  16. package/lib/src/brand-page/models/brand-page-context.model.js +5 -0
  17. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +13 -0
  18. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +30 -1
  19. package/lib/src/brand-page-maker/stores/index.d.ts +1 -0
  20. package/lib/src/brand-page-maker/stores/index.js +1 -0
  21. package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.d.ts +14 -0
  22. package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.js +21 -0
  23. package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +2 -0
  24. package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +117 -0
  25. package/lib/src/bundled-translations-0k_bW9M3.js +163 -0
  26. package/lib/src/bundled-translations.de-DE-alPJDdV5.js +163 -0
  27. package/lib/src/bundled-translations.es-ES-DvG6dxbl.js +163 -0
  28. package/lib/src/bundled-translations.fr-CA-uKGhZH2y.js +163 -0
  29. package/lib/src/bundled-translations.fr-FR-DsR3NACS.js +163 -0
  30. package/lib/src/bundled-translations.pt-BR-Bh9w3i0j.js +163 -0
  31. package/lib/src/bundled-translations.pt-PT-BzegT--8.js +163 -0
  32. package/lib/src/bundles/bundled-translations.de-DE.json +18 -2
  33. package/lib/src/bundles/bundled-translations.es-ES.json +18 -2
  34. package/lib/src/bundles/bundled-translations.fr-CA.json +18 -2
  35. package/lib/src/bundles/bundled-translations.fr-FR.json +18 -2
  36. package/lib/src/bundles/bundled-translations.json +15 -1
  37. package/lib/src/bundles/bundled-translations.pt-BR.json +18 -2
  38. package/lib/src/bundles/bundled-translations.pt-PT.json +18 -2
  39. package/lib/src/clients/design-template-client.d.ts +2 -0
  40. package/lib/src/clients/design-template-client.js +33 -0
  41. package/lib/src/composables/useSnapshot.d.ts +5 -0
  42. package/lib/src/composables/useSnapshot.js +74 -0
  43. package/lib/src/composables/useTranslate.d.ts +2 -1
  44. package/lib/src/composables/useTranslate.js +2 -1
  45. package/lib/src/css/library.brand-page-brandCrowd.min.css +164 -23
  46. package/lib/src/css/library.brand-page-brandPage.min.css +151 -23
  47. package/lib/src/css/library.brand-page-designCom.min.css +164 -23
  48. package/lib/src/css/library.brand-page-preview.min.css +148 -23
  49. package/lib/src/index.mjs +1 -1
  50. package/lib/src/{lib-BdYJIcz_.js → lib-BIGyHbSf.js} +20618 -19850
  51. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +1 -0
  52. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +3 -0
  53. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +2 -0
  54. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +6 -0
  55. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +8 -0
  56. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +44 -1
  57. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +1 -0
  58. package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +3 -0
  59. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +21 -3
  60. package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.js +39 -2
  61. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +20 -2
  62. package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +41 -2
  63. package/lib/src/shared/content-settings/utils.d.ts +1 -0
  64. package/lib/src/shared/content-settings/utils.js +6 -0
  65. package/package.json +2 -2
  66. package/src/brand-page/components/page/Page.vue +1 -1
  67. package/src/brand-page/models/brand-page-context.model.ts +13 -0
  68. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +31 -0
  69. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +2 -1
  70. package/src/brand-page-maker/stores/index.ts +1 -0
  71. package/src/brand-page-maker/stores/snapshot/snapshot-store.ts +31 -0
  72. package/src/brand-page-maker/utils/rich-text-editor.util.ts +154 -0
  73. package/src/bundles/bundled-translations.de-DE.json +18 -2
  74. package/src/bundles/bundled-translations.es-ES.json +18 -2
  75. package/src/bundles/bundled-translations.fr-CA.json +18 -2
  76. package/src/bundles/bundled-translations.fr-FR.json +18 -2
  77. package/src/bundles/bundled-translations.json +15 -1
  78. package/src/bundles/bundled-translations.pt-BR.json +18 -2
  79. package/src/bundles/bundled-translations.pt-PT.json +18 -2
  80. package/src/clients/design-template-client.ts +57 -0
  81. package/src/composables/useSnapshot.ts +97 -0
  82. package/src/composables/useTranslate.ts +3 -0
  83. package/src/shared/background-settings/components/i18n/background-settings.de-DE.json +3 -1
  84. package/src/shared/background-settings/components/i18n/background-settings.es-ES.json +3 -1
  85. package/src/shared/background-settings/components/i18n/background-settings.fr-CA.json +3 -1
  86. package/src/shared/background-settings/components/i18n/background-settings.fr-FR.json +3 -1
  87. package/src/shared/background-settings/components/i18n/background-settings.pt-BR.json +3 -1
  88. package/src/shared/background-settings/components/i18n/background-settings.pt-PT.json +3 -1
  89. package/src/shared/common/i18n/common.de-DE.json +5 -1
  90. package/src/shared/common/i18n/common.es-ES.json +5 -1
  91. package/src/shared/common/i18n/common.fr-CA.json +5 -1
  92. package/src/shared/common/i18n/common.fr-FR.json +5 -1
  93. package/src/shared/common/i18n/common.json +5 -1
  94. package/src/shared/common/i18n/common.pt-BR.json +5 -1
  95. package/src/shared/common/i18n/common.pt-PT.json +5 -1
  96. package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +3 -0
  97. package/src/shared/content-settings/components/content-settings/ContentSettings.vue +2 -0
  98. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +8 -0
  99. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +1 -0
  100. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +54 -0
  101. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +20 -2
  102. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +3 -1
  103. package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +1 -0
  104. package/src/shared/content-settings/components/generate-ai-button/GenerateAiButton.vue +95 -0
  105. package/src/shared/content-settings/components/generate-ai-modal/GenerateAiModal.vue +500 -0
  106. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.de-DE.json +12 -0
  107. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.es-ES.json +12 -0
  108. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-CA.json +12 -0
  109. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-FR.json +12 -0
  110. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.json +12 -0
  111. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-BR.json +12 -0
  112. package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-PT.json +12 -0
  113. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.ts +44 -2
  114. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +15 -3
  115. package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +52 -2
  116. package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +16 -3
  117. package/src/shared/content-settings/utils.ts +9 -0
  118. package/lib/src/bundled-translations-DEk3SiLd.js +0 -161
  119. package/lib/src/bundled-translations.de-DE-DW3iDx_G.js +0 -161
  120. package/lib/src/bundled-translations.es-ES-C9I8wDyq.js +0 -161
  121. package/lib/src/bundled-translations.fr-CA-C0NN8DsO.js +0 -161
  122. package/lib/src/bundled-translations.fr-FR-oKV5NyE1.js +0 -161
  123. package/lib/src/bundled-translations.pt-BR-CTvCfv1X.js +0 -161
  124. package/lib/src/bundled-translations.pt-PT-CbwxwRY1.js +0 -161
@@ -0,0 +1,74 @@
1
+ import { ref } from 'vue';
2
+ const HTML2CANVAS_CDN_URL = 'https://cdn.jsdelivr.net/npm/html2canvas@1.4.1/dist/html2canvas.min.js';
3
+ let html2canvasLoadPromise = null;
4
+ /**
5
+ * Dynamically loads html2canvas from CDN if not already loaded
6
+ */
7
+ function loadHtml2Canvas() {
8
+ // If already loaded, return immediately
9
+ if (typeof window.html2canvas !== 'undefined') {
10
+ return Promise.resolve();
11
+ }
12
+ // If already loading, return the existing promise
13
+ if (html2canvasLoadPromise) {
14
+ return html2canvasLoadPromise;
15
+ }
16
+ // Create new load promise
17
+ html2canvasLoadPromise = new Promise((resolve, reject) => {
18
+ const script = document.createElement('script');
19
+ script.src = HTML2CANVAS_CDN_URL;
20
+ script.async = true;
21
+ script.onload = () => {
22
+ console.log('✅ html2canvas loaded successfully from CDN');
23
+ resolve();
24
+ };
25
+ script.onerror = () => {
26
+ console.error('❌ Failed to load html2canvas from CDN');
27
+ html2canvasLoadPromise = null; // Reset so we can retry
28
+ reject(new Error('Failed to load html2canvas'));
29
+ };
30
+ document.head.appendChild(script);
31
+ });
32
+ return html2canvasLoadPromise;
33
+ }
34
+ export function useSnapshot() {
35
+ const isCapturing = ref(false);
36
+ const lastSnapshot = ref(null);
37
+ const captureSnapshot = async (element) => {
38
+ if (!element) {
39
+ console.error('No element provided for snapshot');
40
+ return null;
41
+ }
42
+ isCapturing.value = true;
43
+ try {
44
+ // Dynamically load html2canvas if not already loaded
45
+ await loadHtml2Canvas();
46
+ // Double-check it's loaded
47
+ if (typeof window.html2canvas === 'undefined') {
48
+ throw new Error('html2canvas failed to load');
49
+ }
50
+ const canvas = await window.html2canvas(element, {
51
+ allowTaint: true,
52
+ useCORS: true,
53
+ scale: 0.5, // Reduce quality to decrease file size
54
+ logging: false,
55
+ backgroundColor: '#ffffff',
56
+ });
57
+ const base64Image = canvas.toDataURL('image/jpeg', 0.8); // Use JPEG with 80% quality for smaller size
58
+ lastSnapshot.value = base64Image;
59
+ return base64Image;
60
+ }
61
+ catch (error) {
62
+ console.error('Error capturing snapshot:', error);
63
+ return null;
64
+ }
65
+ finally {
66
+ isCapturing.value = false;
67
+ }
68
+ };
69
+ return {
70
+ captureSnapshot,
71
+ isCapturing,
72
+ lastSnapshot,
73
+ };
74
+ }
@@ -84,5 +84,6 @@ declare const confirmModalTr: (key: any, valuesToInterpolate?: {}) => any;
84
84
  declare const videoLibraryTr: (key: any) => any;
85
85
  declare const logoSwitchConfirmationModalTr: (key: any, valuesToInterpolate?: {}) => any;
86
86
  declare const logoTemplateSearchModalTr: (key: any, valuesToInterpolate?: {}) => any;
87
+ declare const generateAiModalTr: (key: any, valuesToInterpolate?: {}) => any;
87
88
  declare const currentLocale: () => LocaleTypes;
88
- export { setLocaleAsync, getCurrentLocale, tr, currentLocale, modelsTr, commonTr, actionBarTr, brandPageSettingsTr, colorPaletteTr, navigationTr, converterTr, backgroundSettingsTr, colorPickerTr, colorReplacementFieldTr, contentSettingsTr, formFieldsTr, genericTextInputTr, imageFieldTr, imagesFieldTr, linksFieldTr, logoSelectionSettingsTr, paymentConfigTr, replaceImageSettingTr, shapeFieldTr, testimonialItemsFieldTr, textFieldTr, textImageFieldTr, textItemsFieldTr, textStyleFieldTr, textAreaFieldTr, productConfigOptionTr, editLogoSettingsTr, myUploadSettingsTr, pageSettingsTr, pageSettingsSectionTr, templateSettingsTr, unsplashLibraryTr, seoSettingsTr, styleSettingsTr, sensitiveSettingTr, socialShareTr, cookieSettingTr, googleAnalyticsTr, colorFieldTr, validatorTr, constantsTr, layoutSwitcherTr, brandpageBackgroundSettingsTr, loginMessageTr, cookieTr, logoSelectionTr, googleAddressFieldTr, myDesignsTr, pageSettingTr, shapeLibraryTr, errorTr, dropzoneUploaderTr, shopTr, paymentTr, publishBrandPageModalWithStateTr, existingDomainModalTr, uploadLogoModalTr, sensitiveContentModalTr, quickLinkBarTr, unsplashImageCategoriesTr, brandPageFooterTr, productTr, imageTr, mapTr, imagesSectionTr, imageGalleryTr, newPageModalTr, personalisationOverrideTr, paymentModalTr, mailingListTr, deletePageModalTr, requestPaymentStripeTr, productDetailModalTr, videoTr, bookingUrlFieldTr, confirmModalTr, videoLibraryTr, logoSwitchConfirmationModalTr, logoTemplateSearchModalTr, };
89
+ export { setLocaleAsync, getCurrentLocale, tr, currentLocale, modelsTr, commonTr, actionBarTr, brandPageSettingsTr, colorPaletteTr, navigationTr, converterTr, backgroundSettingsTr, colorPickerTr, colorReplacementFieldTr, contentSettingsTr, formFieldsTr, genericTextInputTr, imageFieldTr, imagesFieldTr, linksFieldTr, logoSelectionSettingsTr, paymentConfigTr, replaceImageSettingTr, shapeFieldTr, testimonialItemsFieldTr, textFieldTr, textImageFieldTr, textItemsFieldTr, textStyleFieldTr, textAreaFieldTr, productConfigOptionTr, editLogoSettingsTr, myUploadSettingsTr, pageSettingsTr, pageSettingsSectionTr, templateSettingsTr, unsplashLibraryTr, seoSettingsTr, styleSettingsTr, sensitiveSettingTr, socialShareTr, cookieSettingTr, googleAnalyticsTr, colorFieldTr, validatorTr, constantsTr, layoutSwitcherTr, brandpageBackgroundSettingsTr, loginMessageTr, cookieTr, logoSelectionTr, googleAddressFieldTr, myDesignsTr, pageSettingTr, shapeLibraryTr, errorTr, dropzoneUploaderTr, shopTr, paymentTr, publishBrandPageModalWithStateTr, existingDomainModalTr, uploadLogoModalTr, sensitiveContentModalTr, quickLinkBarTr, unsplashImageCategoriesTr, brandPageFooterTr, productTr, imageTr, mapTr, imagesSectionTr, imageGalleryTr, newPageModalTr, personalisationOverrideTr, paymentModalTr, mailingListTr, deletePageModalTr, requestPaymentStripeTr, productDetailModalTr, videoTr, bookingUrlFieldTr, confirmModalTr, videoLibraryTr, logoSwitchConfirmationModalTr, logoTemplateSearchModalTr, generateAiModalTr, };
@@ -152,6 +152,7 @@ const confirmModalTr = (key, valuesToInterpolate = {}) => tr(`confirmModal.${key
152
152
  const videoLibraryTr = (key) => tr(`videoLibrary.${key}`);
153
153
  const logoSwitchConfirmationModalTr = (key, valuesToInterpolate = {}) => tr(`logoSwitchConfirmationModal.${key}`, valuesToInterpolate);
154
154
  const logoTemplateSearchModalTr = (key, valuesToInterpolate = {}) => tr(`logoTemplateSearchModal.${key}`, valuesToInterpolate);
155
+ const generateAiModalTr = (key, valuesToInterpolate = {}) => tr(`aiModal.${key}`, valuesToInterpolate);
155
156
  const currentLocale = () => {
156
157
  const i18 = getI18NextInstance();
157
158
  const locale = i18.language;
@@ -160,4 +161,4 @@ const currentLocale = () => {
160
161
  }
161
162
  return fallbackLocale;
162
163
  };
163
- export { setLocaleAsync, getCurrentLocale, tr, currentLocale, modelsTr, commonTr, actionBarTr, brandPageSettingsTr, colorPaletteTr, navigationTr, converterTr, backgroundSettingsTr, colorPickerTr, colorReplacementFieldTr, contentSettingsTr, formFieldsTr, genericTextInputTr, imageFieldTr, imagesFieldTr, linksFieldTr, logoSelectionSettingsTr, paymentConfigTr, replaceImageSettingTr, shapeFieldTr, testimonialItemsFieldTr, textFieldTr, textImageFieldTr, textItemsFieldTr, textStyleFieldTr, textAreaFieldTr, productConfigOptionTr, editLogoSettingsTr, myUploadSettingsTr, pageSettingsTr, pageSettingsSectionTr, templateSettingsTr, unsplashLibraryTr, seoSettingsTr, styleSettingsTr, sensitiveSettingTr, socialShareTr, cookieSettingTr, googleAnalyticsTr, colorFieldTr, validatorTr, constantsTr, layoutSwitcherTr, brandpageBackgroundSettingsTr, loginMessageTr, cookieTr, logoSelectionTr, googleAddressFieldTr, myDesignsTr, pageSettingTr, shapeLibraryTr, errorTr, dropzoneUploaderTr, shopTr, paymentTr, publishBrandPageModalWithStateTr, existingDomainModalTr, uploadLogoModalTr, sensitiveContentModalTr, quickLinkBarTr, unsplashImageCategoriesTr, brandPageFooterTr, productTr, imageTr, mapTr, imagesSectionTr, imageGalleryTr, newPageModalTr, personalisationOverrideTr, paymentModalTr, mailingListTr, deletePageModalTr, requestPaymentStripeTr, productDetailModalTr, videoTr, bookingUrlFieldTr, confirmModalTr, videoLibraryTr, logoSwitchConfirmationModalTr, logoTemplateSearchModalTr, };
164
+ export { setLocaleAsync, getCurrentLocale, tr, currentLocale, modelsTr, commonTr, actionBarTr, brandPageSettingsTr, colorPaletteTr, navigationTr, converterTr, backgroundSettingsTr, colorPickerTr, colorReplacementFieldTr, contentSettingsTr, formFieldsTr, genericTextInputTr, imageFieldTr, imagesFieldTr, linksFieldTr, logoSelectionSettingsTr, paymentConfigTr, replaceImageSettingTr, shapeFieldTr, testimonialItemsFieldTr, textFieldTr, textImageFieldTr, textItemsFieldTr, textStyleFieldTr, textAreaFieldTr, productConfigOptionTr, editLogoSettingsTr, myUploadSettingsTr, pageSettingsTr, pageSettingsSectionTr, templateSettingsTr, unsplashLibraryTr, seoSettingsTr, styleSettingsTr, sensitiveSettingTr, socialShareTr, cookieSettingTr, googleAnalyticsTr, colorFieldTr, validatorTr, constantsTr, layoutSwitcherTr, brandpageBackgroundSettingsTr, loginMessageTr, cookieTr, logoSelectionTr, googleAddressFieldTr, myDesignsTr, pageSettingTr, shapeLibraryTr, errorTr, dropzoneUploaderTr, shopTr, paymentTr, publishBrandPageModalWithStateTr, existingDomainModalTr, uploadLogoModalTr, sensitiveContentModalTr, quickLinkBarTr, unsplashImageCategoriesTr, brandPageFooterTr, productTr, imageTr, mapTr, imagesSectionTr, imageGalleryTr, newPageModalTr, personalisationOverrideTr, paymentModalTr, mailingListTr, deletePageModalTr, requestPaymentStripeTr, productDetailModalTr, videoTr, bookingUrlFieldTr, confirmModalTr, videoLibraryTr, logoSwitchConfirmationModalTr, logoTemplateSearchModalTr, generateAiModalTr, };
@@ -520,6 +520,9 @@ a.maker-anchor {
520
520
  .tw-mt-0 {
521
521
  margin-top: 0px
522
522
  }
523
+ .tw-mt-0\.5 {
524
+ margin-top: 0.125rem
525
+ }
523
526
  .tw-mt-1 {
524
527
  margin-top: 0.25rem
525
528
  }
@@ -772,12 +775,18 @@ a.maker-anchor {
772
775
  .tw-h-svh {
773
776
  height: 100svh
774
777
  }
778
+ .tw-max-h-10 {
779
+ max-height: 2.5rem
780
+ }
775
781
  .tw-max-h-36 {
776
782
  max-height: 9rem
777
783
  }
778
784
  .tw-max-h-56 {
779
785
  max-height: 14rem
780
786
  }
787
+ .tw-max-h-64 {
788
+ max-height: 16rem
789
+ }
781
790
  .tw-max-h-72 {
782
791
  max-height: 18rem
783
792
  }
@@ -1283,6 +1292,11 @@ a.maker-anchor {
1283
1292
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1284
1293
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
1285
1294
  }
1295
+ .tw--translate-x-1\/2 {
1296
+ --tw-translate-x: -50%;
1297
+ -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1298
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
1299
+ }
1286
1300
  .tw--translate-x-2 {
1287
1301
  --tw-translate-x: -0.5rem;
1288
1302
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -2046,6 +2060,9 @@ a.maker-anchor {
2046
2060
  .tw-rounded-full {
2047
2061
  border-radius: 9999px
2048
2062
  }
2063
+ .tw-rounded-lg {
2064
+ border-radius: 0.5rem
2065
+ }
2049
2066
  .tw-rounded-md {
2050
2067
  border-radius: 0.375rem
2051
2068
  }
@@ -2159,6 +2176,10 @@ a.maker-anchor {
2159
2176
  --tw-border-opacity: 1;
2160
2177
  border-color: rgb(194 22 50 / var(--tw-border-opacity))
2161
2178
  }
2179
+ .tw-border-error-700 {
2180
+ --tw-border-opacity: 1;
2181
+ border-color: rgb(145 16 38 / var(--tw-border-opacity))
2182
+ }
2162
2183
  .tw-border-grayscale-100 {
2163
2184
  --tw-border-opacity: 1;
2164
2185
  border-color: rgb(255 255 255 / var(--tw-border-opacity))
@@ -2908,6 +2929,10 @@ a.maker-anchor {
2908
2929
  --tw-text-opacity: 1;
2909
2930
  color: rgb(242 27 63 / var(--tw-text-opacity))
2910
2931
  }
2932
+ .tw-text-error-600 {
2933
+ --tw-text-opacity: 1;
2934
+ color: rgb(194 22 50 / var(--tw-text-opacity))
2935
+ }
2911
2936
  .tw-text-error-700 {
2912
2937
  --tw-text-opacity: 1;
2913
2938
  color: rgb(145 16 38 / var(--tw-text-opacity))
@@ -3111,6 +3136,14 @@ a.maker-anchor {
3111
3136
  -webkit-transition-property: none;
3112
3137
  transition-property: none
3113
3138
  }
3139
+ .tw-transition-opacity {
3140
+ -webkit-transition-property: opacity;
3141
+ transition-property: opacity;
3142
+ -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
3143
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
3144
+ -webkit-transition-duration: 150ms;
3145
+ transition-duration: 150ms
3146
+ }
3114
3147
  .tw-transition-shadow {
3115
3148
  -webkit-transition-property: -webkit-box-shadow;
3116
3149
  transition-property: -webkit-box-shadow;
@@ -3255,6 +3288,10 @@ a.maker-anchor {
3255
3288
  --tw-text-opacity: 1;
3256
3289
  color: rgb(0 151 215 / var(--tw-text-opacity))
3257
3290
  }
3291
+ .hover\:tw-text-info-700:hover {
3292
+ --tw-text-opacity: 1;
3293
+ color: rgb(0 91 129 / var(--tw-text-opacity))
3294
+ }
3258
3295
  .hover\:tw-text-primary-500:hover {
3259
3296
  --tw-text-opacity: 1;
3260
3297
  color: rgb(242 27 63 / var(--tw-text-opacity))
@@ -3300,6 +3337,10 @@ a.maker-anchor {
3300
3337
  --tw-border-opacity: 1;
3301
3338
  border-color: rgb(194 22 50 / var(--tw-border-opacity))
3302
3339
  }
3340
+ .focus\:tw-border-error-700:focus {
3341
+ --tw-border-opacity: 1;
3342
+ border-color: rgb(145 16 38 / var(--tw-border-opacity))
3343
+ }
3303
3344
  .focus\:tw-border-grayscale-600:focus {
3304
3345
  --tw-border-opacity: 1;
3305
3346
  border-color: rgb(94 94 94 / var(--tw-border-opacity))
@@ -3331,6 +3372,9 @@ a.maker-anchor {
3331
3372
  .tw-group:hover .group-hover\:tw-underline {
3332
3373
  text-decoration-line: underline
3333
3374
  }
3375
+ .tw-group:hover .group-hover\:tw-opacity-100 {
3376
+ opacity: 1
3377
+ }
3334
3378
  }
3335
3379
  @media (min-width: 640px) {
3336
3380
  .sm\:tw-absolute {
@@ -3376,6 +3420,9 @@ a.maker-anchor {
3376
3420
  .sm\:tw-h-auto {
3377
3421
  height: auto
3378
3422
  }
3423
+ .sm\:tw-min-h-10 {
3424
+ min-height: 2.5rem
3425
+ }
3379
3426
  .sm\:tw-w-64 {
3380
3427
  width: 16rem
3381
3428
  }
@@ -3401,6 +3448,10 @@ a.maker-anchor {
3401
3448
  padding-left: 1rem;
3402
3449
  padding-right: 1rem
3403
3450
  }
3451
+ .sm\:tw-text-3xl {
3452
+ font-size: 1.875rem;
3453
+ line-height: 2.25rem
3454
+ }
3404
3455
  }
3405
3456
  @media (min-width: 768px) {
3406
3457
  .md\:tw-right-6 {
@@ -7082,14 +7133,14 @@ body {
7082
7133
  line-height: 1.5;
7083
7134
  }
7084
7135
 
7085
- .brand-page-root[data-v-7126bf7b] {
7136
+ .brand-page-root[data-v-69f25323] {
7086
7137
  height: 100%;
7087
7138
  }
7088
- .sortable[data-v-7126bf7b] {
7139
+ .sortable[data-v-69f25323] {
7089
7140
  outline-color: #F7768C;
7090
7141
  outline-width: 0.2rem;
7091
7142
  }
7092
- .brand-page[data-v-7126bf7b] {
7143
+ .brand-page[data-v-69f25323] {
7093
7144
  -webkit-box-sizing: border-box;
7094
7145
  box-sizing: border-box;
7095
7146
  display: -webkit-box;
@@ -7101,7 +7152,7 @@ body {
7101
7152
  -ms-flex-direction: column;
7102
7153
  flex-direction: column;
7103
7154
  }
7104
- .brand-page__inner--default[data-v-7126bf7b] {
7155
+ .brand-page__inner--default[data-v-69f25323] {
7105
7156
  position: relative;
7106
7157
  z-index: 10;
7107
7158
  display: -webkit-box;
@@ -7113,16 +7164,16 @@ body {
7113
7164
  -ms-flex-direction: column;
7114
7165
  flex-direction: column;
7115
7166
  }
7116
- .brand-page__inner--desktop[data-v-7126bf7b] {
7167
+ .brand-page__inner--desktop[data-v-69f25323] {
7117
7168
  min-height: 100vh;
7118
7169
  }
7119
- .brand-site__header[data-v-7126bf7b] {
7170
+ .brand-site__header[data-v-69f25323] {
7120
7171
  container-type: inline-size;
7121
7172
  }
7122
- .brand-page__header[data-v-7126bf7b] {
7173
+ .brand-page__header[data-v-69f25323] {
7123
7174
  padding-top: var(--page-padding);
7124
7175
  }
7125
- .brand-page__content--default[data-v-7126bf7b] {
7176
+ .brand-page__content--default[data-v-69f25323] {
7126
7177
  margin-left: auto;
7127
7178
  margin-right: auto;
7128
7179
  margin-bottom: 2.5rem;
@@ -7139,7 +7190,7 @@ body {
7139
7190
  flex-direction: column;
7140
7191
  max-width: var(--page-max-width);
7141
7192
  }
7142
- .brand-page__content--desktop[data-v-7126bf7b] {
7193
+ .brand-page__content--desktop[data-v-69f25323] {
7143
7194
  margin-left: auto;
7144
7195
  margin-right: auto;
7145
7196
  display: -webkit-box;
@@ -7155,15 +7206,15 @@ body {
7155
7206
  flex-direction: column;
7156
7207
  max-width: 100%;
7157
7208
  }
7158
- .brand-page__content--inner[data-v-7126bf7b] {
7209
+ .brand-page__content--inner[data-v-69f25323] {
7159
7210
  padding-left: var(--page-padding);
7160
7211
  padding-right: var(--page-padding);
7161
7212
  }
7162
- .brand-page__content--inner--brandsite[data-v-7126bf7b] {
7213
+ .brand-page__content--inner--brandsite[data-v-69f25323] {
7163
7214
  max-width: var(--brandsite-max-width);
7164
7215
  margin: 0 auto;
7165
7216
  }
7166
- .brand-page__content--outline-selected[data-v-7126bf7b] {
7217
+ .brand-page__content--outline-selected[data-v-69f25323] {
7167
7218
  position: relative;
7168
7219
  z-index: 10;
7169
7220
  outline-color: #F7768C;
@@ -7171,20 +7222,20 @@ body {
7171
7222
  outline-style: dashed;
7172
7223
  outline-offset: -0.25rem;
7173
7224
  }
7174
- .brand-page__content--outline-footer-selected[data-v-7126bf7b] {
7225
+ .brand-page__content--outline-footer-selected[data-v-69f25323] {
7175
7226
  outline-color: #f7768c;
7176
7227
  outline-width: 0.2rem;
7177
7228
  outline-style: dashed;
7178
7229
  outline-offset: -0.25rem;
7179
7230
  }
7180
7231
  @media (max-width: 640px) {
7181
- .brand-page__content--inner--full-width[data-v-7126bf7b] {
7232
+ .brand-page__content--inner--full-width[data-v-69f25323] {
7182
7233
  padding-left: 0;
7183
7234
  padding-right: 0;
7184
7235
  }
7185
7236
  }
7186
7237
  @media (min-width: 640px) {
7187
- .brand-page__content--inner--full-width[data-v-7126bf7b] {
7238
+ .brand-page__content--inner--full-width[data-v-69f25323] {
7188
7239
  padding-left: var(--page-padding);
7189
7240
  padding-right: var(--page-padding);
7190
7241
  }
@@ -8442,7 +8493,97 @@ input[type='number'][data-v-28a532b4] {
8442
8493
  }
8443
8494
  }
8444
8495
 
8445
- .testimonial-preview[data-v-037d5b71] {
8496
+ .c-modal-dcom[data-v-33680d77] {
8497
+ background-color: #eceefe;
8498
+ border: 1px solid #3247c5;
8499
+ }
8500
+ .c-modal-bc[data-v-33680d77] {
8501
+ background-color: #cceaf7;
8502
+ border: 1px solid #0097d7;
8503
+ }
8504
+ .typing-cursor[data-v-33680d77] {
8505
+ display: inline-block;
8506
+ -webkit-animation: blink-33680d77 1s step-end infinite;
8507
+ animation: blink-33680d77 1s step-end infinite;
8508
+ color: #3247c5;
8509
+ font-weight: bold;
8510
+ margin-left: 2px;
8511
+ }
8512
+ .prompt-textarea[data-v-33680d77] {
8513
+ line-height: 1.5;
8514
+ min-height: 4.5rem; /* Minimum 3 rows on mobile (1.5em * 3) */
8515
+ max-height: calc(7.5em + 1rem); /* Maximum 5 rows */
8516
+ color: rgb(96 96 96);
8517
+ scrollbar-gutter: stable;
8518
+ overflow-y: auto;
8519
+ }
8520
+
8521
+ /* Desktop: smaller minimum height */
8522
+ @media (min-width: 640px) {
8523
+ .prompt-textarea[data-v-33680d77] {
8524
+ min-height: 2.5rem; /* Single line on desktop */
8525
+ }
8526
+ }
8527
+ .prompt-textarea[data-v-33680d77]::-webkit-input-placeholder {
8528
+ color: rgb(96 96 96 / 50%);
8529
+ }
8530
+ .prompt-textarea[data-v-33680d77]::-moz-placeholder {
8531
+ color: rgb(96 96 96 / 50%);
8532
+ }
8533
+ .prompt-textarea[data-v-33680d77]:-ms-input-placeholder {
8534
+ color: rgb(96 96 96 / 50%);
8535
+ }
8536
+ .prompt-textarea[data-v-33680d77]::-ms-input-placeholder {
8537
+ color: rgb(96 96 96 / 50%);
8538
+ }
8539
+ .prompt-textarea[data-v-33680d77]::placeholder {
8540
+ color: rgb(96 96 96 / 50%);
8541
+ }
8542
+
8543
+ /* Ensure border is visible when scrollbar appears */
8544
+ .prompt-textarea[data-v-33680d77]::-webkit-scrollbar {
8545
+ width: 8px;
8546
+ }
8547
+ .prompt-textarea[data-v-33680d77]::-webkit-scrollbar-track {
8548
+ background: transparent;
8549
+ margin: 2px;
8550
+ }
8551
+ .prompt-textarea[data-v-33680d77]::-webkit-scrollbar-thumb {
8552
+ background: rgb(96 96 96 / 30%);
8553
+ border-radius: 4px;
8554
+ }
8555
+ .prompt-textarea[data-v-33680d77]::-webkit-scrollbar-thumb:hover {
8556
+ background: rgb(96 96 96 / 50%);
8557
+ }
8558
+ .text-grayscale[data-v-33680d77] {
8559
+ color: rgb(96 96 96 / 50%);
8560
+ }
8561
+ .text-success[data-v-33680d77] {
8562
+ --tw-text-opacity: 1;
8563
+ color: rgb(29 134 13 / var(--tw-text-opacity));
8564
+ }
8565
+ @-webkit-keyframes blink-33680d77 {
8566
+ 0%,
8567
+ 50% {
8568
+ opacity: 1;
8569
+ }
8570
+ 51%,
8571
+ 100% {
8572
+ opacity: 0;
8573
+ }
8574
+ }
8575
+ @keyframes blink-33680d77 {
8576
+ 0%,
8577
+ 50% {
8578
+ opacity: 1;
8579
+ }
8580
+ 51%,
8581
+ 100% {
8582
+ opacity: 0;
8583
+ }
8584
+ }
8585
+
8586
+ .testimonial-preview[data-v-a66d4bed] {
8446
8587
  overflow: hidden;
8447
8588
  text-overflow: ellipsis;
8448
8589
  max-height: 21px;
@@ -8454,7 +8595,7 @@ input[type='number'][data-v-28a532b4] {
8454
8595
  align-items: flex-start;
8455
8596
  }
8456
8597
 
8457
- .text-item-preview[data-v-9aa75006] {
8598
+ .text-item-preview[data-v-7f11c2cf] {
8458
8599
  overflow: hidden;
8459
8600
  text-overflow: ellipsis;
8460
8601
  max-height: 21px;
@@ -8687,7 +8828,7 @@ input[type='number'][data-v-28a532b4] {
8687
8828
  margin-bottom: 1.5rem
8688
8829
  }
8689
8830
 
8690
- .c-brand-page-maker[data-v-b762f3c1] {
8831
+ .c-brand-page-maker[data-v-9080d767] {
8691
8832
  --navigation-height-desktop: 64px;
8692
8833
  --navigation-height-mobile: 96px;
8693
8834
  --maker-height: 100vh;
@@ -8697,10 +8838,10 @@ input[type='number'][data-v-28a532b4] {
8697
8838
  height: calc(var(--maker-height) - var(--mobile-sidebar-bottom-height));
8698
8839
  padding-top: var(--navigation-height-mobile);
8699
8840
  }
8700
- .c-brand-page-maker__inner[data-v-b762f3c1] {
8841
+ .c-brand-page-maker__inner[data-v-9080d767] {
8701
8842
  height: 100%;
8702
8843
  }
8703
- .c-save-bar[data-v-b762f3c1] {
8844
+ .c-save-bar[data-v-9080d767] {
8704
8845
  position: absolute;
8705
8846
  top: 0px;
8706
8847
  left: 0px;
@@ -8722,7 +8863,7 @@ input[type='number'][data-v-28a532b4] {
8722
8863
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
8723
8864
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
8724
8865
  }
8725
- .c-save-bar--visible[data-v-b762f3c1] {
8866
+ .c-save-bar--visible[data-v-9080d767] {
8726
8867
  visibility: visible !important;
8727
8868
  --tw-translate-y: 0px !important;
8728
8869
  -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
@@ -8732,11 +8873,11 @@ input[type='number'][data-v-28a532b4] {
8732
8873
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
8733
8874
  }
8734
8875
  @media (min-width: 1024px) {
8735
- .c-brand-page-maker[data-v-b762f3c1] {
8876
+ .c-brand-page-maker[data-v-9080d767] {
8736
8877
  height: calc(var(--maker-height) - var(--navigation-height-desktop));
8737
8878
  padding-top: 0px;
8738
8879
  }
8739
- .c-brand-page-maker__inner[data-v-b762f3c1] {
8880
+ .c-brand-page-maker__inner[data-v-9080d767] {
8740
8881
  height: 100%;
8741
8882
  }
8742
8883
  }