@designcrowd/library.brand-page 5.16.8 → 5.16.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 (46) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-BIOe-8IA.js → CreatedOnBrandCrowd-de-de-B6cjsGEo.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DV20bca1.js → CreatedOnBrandCrowd-en-us-DvRO5Sa0.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-DKqBeyh-.js → CreatedOnBrandCrowd-es-es-DtVH8873.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-BzxDd-OM.js → CreatedOnBrandCrowd-fr-ca-D28gtzFz.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-BzxDd-OM.js → CreatedOnBrandCrowd-fr-fr-D28gtzFz.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-B1jO4ynE.js → CreatedOnBrandCrowd-pt-br-D10hKyH2.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-B1jO4ynE.js → CreatedOnBrandCrowd-pt-pt-D10hKyH2.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-Dbz_XUoY.js → CreatedOnDcom-de-de-DMd-C-rQ.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-C5klzL2y.js → CreatedOnDcom-en-us-TclOYB4s.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-CP1DRQVG.js → CreatedOnDcom-es-es-D2Q12HIf.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-Dh-kd_pp.js → CreatedOnDcom-fr-ca-CTRPkn9H.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-DP2Sztda.js → CreatedOnDcom-fr-fr-B0FpJam-.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-C8n0YKop.js → CreatedOnDcom-pt-br-Cnf8RpjD.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-DqGJHyCL.js → CreatedOnDcom-pt-pt-CDtpJcux.js} +1 -1
  15. package/lib/src/brand-page-maker/components/brandpage-maker-page/BrandPageMakerPage.mixin.d.ts +1 -0
  16. package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +18 -0
  17. package/lib/src/brand-page-maker/composables/useEventTracker.js +23 -0
  18. package/lib/src/brand-page-maker/utils/mixpanel.util.d.ts +1 -0
  19. package/lib/src/brand-page-maker/utils/mixpanel.util.js +29 -0
  20. package/lib/src/css/library.brand-page-brandCrowd.min.css +22 -22
  21. package/lib/src/css/library.brand-page-brandPage.min.css +22 -22
  22. package/lib/src/css/library.brand-page-designCom.min.css +22 -22
  23. package/lib/src/css/library.brand-page-preview.min.css +22 -22
  24. package/lib/src/index.mjs +1 -1
  25. package/lib/src/{lib-CaUOFYrW.js → lib-CRiA0WxA.js} +14693 -14606
  26. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +1 -0
  27. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +1 -0
  28. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +1 -0
  29. package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +4 -0
  30. package/lib/src/shared/content-settings/components/image-field/ImageField.mixin.js +3 -1
  31. package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +1 -0
  32. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +1 -0
  33. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +1 -0
  34. package/lib/src/shared/side-bar/components/SideBarTabButton.mixin.d.ts +1 -0
  35. package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +1 -0
  36. package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +1 -0
  37. package/package.json +1 -1
  38. package/src/brand-page-maker/composables/useEventTracker.ts +28 -0
  39. package/src/brand-page-maker/utils/mixpanel.util.ts +42 -0
  40. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +4 -0
  41. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +1 -1
  42. package/src/shared/content-settings/components/generate-ai-button/GenerateAiButton.vue +24 -6
  43. package/src/shared/content-settings/components/generate-ai-modal/GenerateAiModal.vue +47 -4
  44. package/src/shared/content-settings/components/image-field/ImageField.mixin.ts +4 -1
  45. package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +3 -1
  46. package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +3 -1
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CaUOFYrW.js";
2
+ import { _ as t } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CaUOFYrW.js";
2
+ import { _ as t } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CaUOFYrW.js";
2
+ import { _ as t } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CaUOFYrW.js";
2
+ import { _ as t } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CaUOFYrW.js";
2
+ import { _ as t } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CaUOFYrW.js";
2
+ import { _ as t } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as e, openBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CaUOFYrW.js";
2
+ import { _ as t } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CaUOFYrW.js";
2
+ import { _ as e } from "./lib-CRiA0WxA.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CaUOFYrW.js";
2
+ import { _ as e } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CaUOFYrW.js";
2
+ import { _ as e } from "./lib-CRiA0WxA.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CaUOFYrW.js";
2
+ import { _ as e } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CaUOFYrW.js";
2
+ import { _ as e } from "./lib-CRiA0WxA.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-CaUOFYrW.js";
2
+ import { _ as M } from "./lib-CRiA0WxA.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as H, openBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-CaUOFYrW.js";
2
+ import { _ as M } from "./lib-CRiA0WxA.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1009,6 +1009,7 @@ declare const _default: import("vue").DefineComponent<{}, {
1009
1009
  sendAddContentContinuationEvent: (continuation: string) => void;
1010
1010
  sendUpsellOfferEvent: (upsellType: string) => void;
1011
1011
  sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
1012
+ sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
1012
1013
  };
1013
1014
  externalEditor: import("@tiptap/vue-3").Editor;
1014
1015
  styleSettingsStore: import("pinia").Store<"uiStyleSettings", import("../../../shared/style-settings/store").StyleSettingsState, {
@@ -42,6 +42,11 @@ export declare const EVENTS: {
42
42
  WEBSITE_MAKER_UPSELL_ACTION: string;
43
43
  WEBSITE_MAKER_SWITCH_LOGO: string;
44
44
  WEBSITE_MAKER_SWITCH_LOGO_MODAL: string;
45
+ WEBSITE_MAKER_AI_GENERATE_TEXT: string;
46
+ WEBSITE_MAKER_AI_REGENERATE_TEXT: string;
47
+ WEBSITE_MAKER_AI_SEND_PROMPT: string;
48
+ WEBSITE_MAKER_AI_COPY_RESPONSE: string;
49
+ WEBSITE_MAKER_AI_STOP_GENERATION: string;
45
50
  };
46
51
  export declare const SELECT_LOCATIONS: {
47
52
  MAKER_PREVIEW: string;
@@ -62,6 +67,14 @@ export declare const UPGRADE_CTA_LOCATIONS: {
62
67
  SLUG_CHANGE_MANAGE_PAGE: string;
63
68
  GOOGLE_ADSENSE: string;
64
69
  };
70
+ export declare const GENERATE_AI_TEXT_CTA_LOCATIONS: {
71
+ BANNER_DESCRIPTION: string;
72
+ BANNER_TITLE: string;
73
+ ABOUT_TITLE: string;
74
+ ABOUT_PARAGRAPH: string;
75
+ TEXT_ITEM: string;
76
+ TESTIMONIAL_ITEM: string;
77
+ };
65
78
  export declare const TRIGGER_TYPE: {
66
79
  AUTOMATIC: string;
67
80
  USER_TRIGGERED: string;
@@ -74,6 +87,10 @@ export declare const PUBLISH_MODAL_CONTINUATION_EVENTS: {
74
87
  COPY_LINK: string;
75
88
  VIEW_WEBSITE: string;
76
89
  };
90
+ export declare const GENERATE_TEXT_CONTINUATION_EVENTS: {
91
+ USE_TEXT: string;
92
+ EXIT: string;
93
+ };
77
94
  export declare const PUBLISH_OPTION_MODAL_CONTINUATION_EVENTS: {
78
95
  PREMIUM: string;
79
96
  EXIT: string;
@@ -104,5 +121,6 @@ declare const useEventTracker: () => {
104
121
  sendAddContentContinuationEvent: (continuation: string) => void;
105
122
  sendUpsellOfferEvent: (upsellType: string) => void;
106
123
  sendUpsellOfferActionEvent: (upsellType: string, action: string) => void;
124
+ sendGenerateTextContinuationEvent: (cta_location: string, continuation: string | null) => void;
107
125
  };
108
126
  export { useEventTracker };
@@ -25,6 +25,11 @@ export const EVENTS = {
25
25
  WEBSITE_MAKER_UPSELL_ACTION: 'website_maker_upsell_action',
26
26
  WEBSITE_MAKER_SWITCH_LOGO: 'website_maker_switch_logo',
27
27
  WEBSITE_MAKER_SWITCH_LOGO_MODAL: 'website_maker_switch_logo_modal',
28
+ WEBSITE_MAKER_AI_GENERATE_TEXT: 'website_maker_ai_generate_text',
29
+ WEBSITE_MAKER_AI_REGENERATE_TEXT: 'website_maker_ai_regenerate_text',
30
+ WEBSITE_MAKER_AI_SEND_PROMPT: 'website_maker_ai_send_prompt',
31
+ WEBSITE_MAKER_AI_COPY_RESPONSE: 'website_maker_ai_copy_response',
32
+ WEBSITE_MAKER_AI_STOP_GENERATION: 'website_maker_ai_stop_generation',
28
33
  };
29
34
  export const SELECT_LOCATIONS = {
30
35
  MAKER_PREVIEW: 'maker_preview',
@@ -45,6 +50,14 @@ export const UPGRADE_CTA_LOCATIONS = {
45
50
  SLUG_CHANGE_MANAGE_PAGE: 'slug_change_manage_page',
46
51
  GOOGLE_ADSENSE: 'google_adsense',
47
52
  };
53
+ export const GENERATE_AI_TEXT_CTA_LOCATIONS = {
54
+ BANNER_DESCRIPTION: 'banner_description',
55
+ BANNER_TITLE: 'banner_title',
56
+ ABOUT_TITLE: 'about_title',
57
+ ABOUT_PARAGRAPH: 'about_paragraph',
58
+ TEXT_ITEM: 'text_item',
59
+ TESTIMONIAL_ITEM: 'testimonial_item',
60
+ };
48
61
  export const TRIGGER_TYPE = {
49
62
  AUTOMATIC: 'automatic',
50
63
  USER_TRIGGERED: 'user_triggered',
@@ -57,6 +70,10 @@ export const PUBLISH_MODAL_CONTINUATION_EVENTS = {
57
70
  COPY_LINK: 'copy_link',
58
71
  VIEW_WEBSITE: 'view_website',
59
72
  };
73
+ export const GENERATE_TEXT_CONTINUATION_EVENTS = {
74
+ USE_TEXT: 'use_text',
75
+ EXIT: 'exit',
76
+ };
60
77
  export const PUBLISH_OPTION_MODAL_CONTINUATION_EVENTS = {
61
78
  PREMIUM: 'premium',
62
79
  EXIT: 'exit',
@@ -212,6 +229,12 @@ const useEventTracker = () => {
212
229
  action,
213
230
  });
214
231
  },
232
+ sendGenerateTextContinuationEvent: (cta_location, continuation) => {
233
+ _publishEvent(EVENTS.WEBSITE_MAKER_AI_GENERATE_TEXT, {
234
+ cta_location,
235
+ continuation,
236
+ });
237
+ },
215
238
  };
216
239
  };
217
240
  export { useEventTracker };
@@ -0,0 +1 @@
1
+ export declare const getCtaLocationFromFieldType: (fieldType: string, sectionType?: string) => string;
@@ -0,0 +1,29 @@
1
+ import { GENERATE_AI_TEXT_CTA_LOCATIONS } from '../composables/useEventTracker';
2
+ export const getCtaLocationFromFieldType = (fieldType, sectionType) => {
3
+ if (fieldType === 'text') {
4
+ return GENERATE_AI_TEXT_CTA_LOCATIONS.TEXT_ITEM;
5
+ }
6
+ if (fieldType === 'testimonials') {
7
+ return GENERATE_AI_TEXT_CTA_LOCATIONS.TESTIMONIAL_ITEM;
8
+ }
9
+ if (sectionType === 'banner-section') {
10
+ if (fieldType === 'description') {
11
+ return GENERATE_AI_TEXT_CTA_LOCATIONS.BANNER_DESCRIPTION;
12
+ }
13
+ if (fieldType === 'title') {
14
+ return GENERATE_AI_TEXT_CTA_LOCATIONS.BANNER_TITLE;
15
+ }
16
+ }
17
+ if (sectionType === 'about-section') {
18
+ if (fieldType === 'title') {
19
+ return GENERATE_AI_TEXT_CTA_LOCATIONS.ABOUT_TITLE;
20
+ }
21
+ if (fieldType === 'paragraph') {
22
+ return GENERATE_AI_TEXT_CTA_LOCATIONS.ABOUT_PARAGRAPH;
23
+ }
24
+ }
25
+ // Fallback: try to match directly with field type
26
+ // This handles cases where fieldType might already be in the correct format
27
+ const matchingLocation = Object.values(GENERATE_AI_TEXT_CTA_LOCATIONS).find((location) => location === fieldType);
28
+ return matchingLocation || fieldType;
29
+ };
@@ -8490,23 +8490,23 @@ input[type='number'][data-v-28a532b4] {
8490
8490
  }
8491
8491
  }
8492
8492
 
8493
- .c-modal-dcom[data-v-c7b59bf9] {
8493
+ .c-modal-dcom[data-v-2221bd6c] {
8494
8494
  background-color: #eceefe;
8495
8495
  border: 1px solid #3247c5;
8496
8496
  }
8497
- .c-modal-bc[data-v-c7b59bf9] {
8497
+ .c-modal-bc[data-v-2221bd6c] {
8498
8498
  background-color: #cceaf7;
8499
8499
  border: 1px solid #0097d7;
8500
8500
  }
8501
- .typing-cursor[data-v-c7b59bf9] {
8501
+ .typing-cursor[data-v-2221bd6c] {
8502
8502
  display: inline-block;
8503
- -webkit-animation: blink-c7b59bf9 1s step-end infinite;
8504
- animation: blink-c7b59bf9 1s step-end infinite;
8503
+ -webkit-animation: blink-2221bd6c 1s step-end infinite;
8504
+ animation: blink-2221bd6c 1s step-end infinite;
8505
8505
  color: #3247c5;
8506
8506
  font-weight: bold;
8507
8507
  margin-left: 2px;
8508
8508
  }
8509
- .prompt-textarea[data-v-c7b59bf9] {
8509
+ .prompt-textarea[data-v-2221bd6c] {
8510
8510
  line-height: 1.5;
8511
8511
  min-height: 4.5rem; /* Minimum 3 rows on mobile (1.5em * 3) */
8512
8512
  max-height: calc(7.5em + 1rem); /* Maximum 5 rows */
@@ -8517,49 +8517,49 @@ input[type='number'][data-v-28a532b4] {
8517
8517
 
8518
8518
  /* Desktop: smaller minimum height */
8519
8519
  @media (min-width: 640px) {
8520
- .prompt-textarea[data-v-c7b59bf9] {
8520
+ .prompt-textarea[data-v-2221bd6c] {
8521
8521
  min-height: 2.5rem; /* Single line on desktop */
8522
8522
  }
8523
8523
  }
8524
- .prompt-textarea[data-v-c7b59bf9]::-webkit-input-placeholder {
8524
+ .prompt-textarea[data-v-2221bd6c]::-webkit-input-placeholder {
8525
8525
  color: rgb(96 96 96 / 50%);
8526
8526
  }
8527
- .prompt-textarea[data-v-c7b59bf9]::-moz-placeholder {
8527
+ .prompt-textarea[data-v-2221bd6c]::-moz-placeholder {
8528
8528
  color: rgb(96 96 96 / 50%);
8529
8529
  }
8530
- .prompt-textarea[data-v-c7b59bf9]:-ms-input-placeholder {
8530
+ .prompt-textarea[data-v-2221bd6c]:-ms-input-placeholder {
8531
8531
  color: rgb(96 96 96 / 50%);
8532
8532
  }
8533
- .prompt-textarea[data-v-c7b59bf9]::-ms-input-placeholder {
8533
+ .prompt-textarea[data-v-2221bd6c]::-ms-input-placeholder {
8534
8534
  color: rgb(96 96 96 / 50%);
8535
8535
  }
8536
- .prompt-textarea[data-v-c7b59bf9]::placeholder {
8536
+ .prompt-textarea[data-v-2221bd6c]::placeholder {
8537
8537
  color: rgb(96 96 96 / 50%);
8538
8538
  }
8539
8539
 
8540
8540
  /* Ensure border is visible when scrollbar appears */
8541
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar {
8541
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar {
8542
8542
  width: 8px;
8543
8543
  }
8544
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-track {
8544
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-track {
8545
8545
  background: transparent;
8546
8546
  margin: 2px;
8547
8547
  }
8548
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-thumb {
8548
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-thumb {
8549
8549
  background: rgb(96 96 96 / 30%);
8550
8550
  border-radius: 4px;
8551
8551
  }
8552
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-thumb:hover {
8552
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-thumb:hover {
8553
8553
  background: rgb(96 96 96 / 50%);
8554
8554
  }
8555
- .text-grayscale[data-v-c7b59bf9] {
8555
+ .text-grayscale[data-v-2221bd6c] {
8556
8556
  color: rgb(96 96 96 / 50%);
8557
8557
  }
8558
- .text-success[data-v-c7b59bf9] {
8558
+ .text-success[data-v-2221bd6c] {
8559
8559
  --tw-text-opacity: 1;
8560
8560
  color: rgb(29 134 13 / var(--tw-text-opacity));
8561
8561
  }
8562
- @-webkit-keyframes blink-c7b59bf9 {
8562
+ @-webkit-keyframes blink-2221bd6c {
8563
8563
  0%,
8564
8564
  50% {
8565
8565
  opacity: 1;
@@ -8569,7 +8569,7 @@ input[type='number'][data-v-28a532b4] {
8569
8569
  opacity: 0;
8570
8570
  }
8571
8571
  }
8572
- @keyframes blink-c7b59bf9 {
8572
+ @keyframes blink-2221bd6c {
8573
8573
  0%,
8574
8574
  50% {
8575
8575
  opacity: 1;
@@ -8580,7 +8580,7 @@ input[type='number'][data-v-28a532b4] {
8580
8580
  }
8581
8581
  }
8582
8582
 
8583
- .testimonial-preview[data-v-a66d4bed] {
8583
+ .testimonial-preview[data-v-9322ffcb] {
8584
8584
  overflow: hidden;
8585
8585
  text-overflow: ellipsis;
8586
8586
  max-height: 21px;
@@ -8592,7 +8592,7 @@ input[type='number'][data-v-28a532b4] {
8592
8592
  align-items: flex-start;
8593
8593
  }
8594
8594
 
8595
- .text-item-preview[data-v-7f11c2cf] {
8595
+ .text-item-preview[data-v-f239a0cf] {
8596
8596
  overflow: hidden;
8597
8597
  text-overflow: ellipsis;
8598
8598
  max-height: 21px;
@@ -8805,23 +8805,23 @@ input[type='number'][data-v-28a532b4] {
8805
8805
  }
8806
8806
  }
8807
8807
 
8808
- .c-modal-dcom[data-v-c7b59bf9] {
8808
+ .c-modal-dcom[data-v-2221bd6c] {
8809
8809
  background-color: #eceefe;
8810
8810
  border: 1px solid #3247c5;
8811
8811
  }
8812
- .c-modal-bc[data-v-c7b59bf9] {
8812
+ .c-modal-bc[data-v-2221bd6c] {
8813
8813
  background-color: #cceaf7;
8814
8814
  border: 1px solid #0097d7;
8815
8815
  }
8816
- .typing-cursor[data-v-c7b59bf9] {
8816
+ .typing-cursor[data-v-2221bd6c] {
8817
8817
  display: inline-block;
8818
- -webkit-animation: blink-c7b59bf9 1s step-end infinite;
8819
- animation: blink-c7b59bf9 1s step-end infinite;
8818
+ -webkit-animation: blink-2221bd6c 1s step-end infinite;
8819
+ animation: blink-2221bd6c 1s step-end infinite;
8820
8820
  color: #3247c5;
8821
8821
  font-weight: bold;
8822
8822
  margin-left: 2px;
8823
8823
  }
8824
- .prompt-textarea[data-v-c7b59bf9] {
8824
+ .prompt-textarea[data-v-2221bd6c] {
8825
8825
  line-height: 1.5;
8826
8826
  min-height: 4.5rem; /* Minimum 3 rows on mobile (1.5em * 3) */
8827
8827
  max-height: calc(7.5em + 1rem); /* Maximum 5 rows */
@@ -8832,49 +8832,49 @@ input[type='number'][data-v-28a532b4] {
8832
8832
 
8833
8833
  /* Desktop: smaller minimum height */
8834
8834
  @media (min-width: 640px) {
8835
- .prompt-textarea[data-v-c7b59bf9] {
8835
+ .prompt-textarea[data-v-2221bd6c] {
8836
8836
  min-height: 2.5rem; /* Single line on desktop */
8837
8837
  }
8838
8838
  }
8839
- .prompt-textarea[data-v-c7b59bf9]::-webkit-input-placeholder {
8839
+ .prompt-textarea[data-v-2221bd6c]::-webkit-input-placeholder {
8840
8840
  color: rgb(96 96 96 / 50%);
8841
8841
  }
8842
- .prompt-textarea[data-v-c7b59bf9]::-moz-placeholder {
8842
+ .prompt-textarea[data-v-2221bd6c]::-moz-placeholder {
8843
8843
  color: rgb(96 96 96 / 50%);
8844
8844
  }
8845
- .prompt-textarea[data-v-c7b59bf9]:-ms-input-placeholder {
8845
+ .prompt-textarea[data-v-2221bd6c]:-ms-input-placeholder {
8846
8846
  color: rgb(96 96 96 / 50%);
8847
8847
  }
8848
- .prompt-textarea[data-v-c7b59bf9]::-ms-input-placeholder {
8848
+ .prompt-textarea[data-v-2221bd6c]::-ms-input-placeholder {
8849
8849
  color: rgb(96 96 96 / 50%);
8850
8850
  }
8851
- .prompt-textarea[data-v-c7b59bf9]::placeholder {
8851
+ .prompt-textarea[data-v-2221bd6c]::placeholder {
8852
8852
  color: rgb(96 96 96 / 50%);
8853
8853
  }
8854
8854
 
8855
8855
  /* Ensure border is visible when scrollbar appears */
8856
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar {
8856
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar {
8857
8857
  width: 8px;
8858
8858
  }
8859
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-track {
8859
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-track {
8860
8860
  background: transparent;
8861
8861
  margin: 2px;
8862
8862
  }
8863
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-thumb {
8863
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-thumb {
8864
8864
  background: rgb(96 96 96 / 30%);
8865
8865
  border-radius: 4px;
8866
8866
  }
8867
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-thumb:hover {
8867
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-thumb:hover {
8868
8868
  background: rgb(96 96 96 / 50%);
8869
8869
  }
8870
- .text-grayscale[data-v-c7b59bf9] {
8870
+ .text-grayscale[data-v-2221bd6c] {
8871
8871
  color: rgb(96 96 96 / 50%);
8872
8872
  }
8873
- .text-success[data-v-c7b59bf9] {
8873
+ .text-success[data-v-2221bd6c] {
8874
8874
  --tw-text-opacity: 1;
8875
8875
  color: rgb(29 134 13 / var(--tw-text-opacity));
8876
8876
  }
8877
- @-webkit-keyframes blink-c7b59bf9 {
8877
+ @-webkit-keyframes blink-2221bd6c {
8878
8878
  0%,
8879
8879
  50% {
8880
8880
  opacity: 1;
@@ -8884,7 +8884,7 @@ input[type='number'][data-v-28a532b4] {
8884
8884
  opacity: 0;
8885
8885
  }
8886
8886
  }
8887
- @keyframes blink-c7b59bf9 {
8887
+ @keyframes blink-2221bd6c {
8888
8888
  0%,
8889
8889
  50% {
8890
8890
  opacity: 1;
@@ -8895,7 +8895,7 @@ input[type='number'][data-v-28a532b4] {
8895
8895
  }
8896
8896
  }
8897
8897
 
8898
- .testimonial-preview[data-v-a66d4bed] {
8898
+ .testimonial-preview[data-v-9322ffcb] {
8899
8899
  overflow: hidden;
8900
8900
  text-overflow: ellipsis;
8901
8901
  max-height: 21px;
@@ -8907,7 +8907,7 @@ input[type='number'][data-v-28a532b4] {
8907
8907
  align-items: flex-start;
8908
8908
  }
8909
8909
 
8910
- .text-item-preview[data-v-7f11c2cf] {
8910
+ .text-item-preview[data-v-f239a0cf] {
8911
8911
  overflow: hidden;
8912
8912
  text-overflow: ellipsis;
8913
8913
  max-height: 21px;
@@ -8508,23 +8508,23 @@ input[type='number'][data-v-28a532b4] {
8508
8508
  }
8509
8509
  }
8510
8510
 
8511
- .c-modal-dcom[data-v-c7b59bf9] {
8511
+ .c-modal-dcom[data-v-2221bd6c] {
8512
8512
  background-color: #eceefe;
8513
8513
  border: 1px solid #3247c5;
8514
8514
  }
8515
- .c-modal-bc[data-v-c7b59bf9] {
8515
+ .c-modal-bc[data-v-2221bd6c] {
8516
8516
  background-color: #cceaf7;
8517
8517
  border: 1px solid #0097d7;
8518
8518
  }
8519
- .typing-cursor[data-v-c7b59bf9] {
8519
+ .typing-cursor[data-v-2221bd6c] {
8520
8520
  display: inline-block;
8521
- -webkit-animation: blink-c7b59bf9 1s step-end infinite;
8522
- animation: blink-c7b59bf9 1s step-end infinite;
8521
+ -webkit-animation: blink-2221bd6c 1s step-end infinite;
8522
+ animation: blink-2221bd6c 1s step-end infinite;
8523
8523
  color: #3247c5;
8524
8524
  font-weight: bold;
8525
8525
  margin-left: 2px;
8526
8526
  }
8527
- .prompt-textarea[data-v-c7b59bf9] {
8527
+ .prompt-textarea[data-v-2221bd6c] {
8528
8528
  line-height: 1.5;
8529
8529
  min-height: 4.5rem; /* Minimum 3 rows on mobile (1.5em * 3) */
8530
8530
  max-height: calc(7.5em + 1rem); /* Maximum 5 rows */
@@ -8535,49 +8535,49 @@ input[type='number'][data-v-28a532b4] {
8535
8535
 
8536
8536
  /* Desktop: smaller minimum height */
8537
8537
  @media (min-width: 640px) {
8538
- .prompt-textarea[data-v-c7b59bf9] {
8538
+ .prompt-textarea[data-v-2221bd6c] {
8539
8539
  min-height: 2.5rem; /* Single line on desktop */
8540
8540
  }
8541
8541
  }
8542
- .prompt-textarea[data-v-c7b59bf9]::-webkit-input-placeholder {
8542
+ .prompt-textarea[data-v-2221bd6c]::-webkit-input-placeholder {
8543
8543
  color: rgb(96 96 96 / 50%);
8544
8544
  }
8545
- .prompt-textarea[data-v-c7b59bf9]::-moz-placeholder {
8545
+ .prompt-textarea[data-v-2221bd6c]::-moz-placeholder {
8546
8546
  color: rgb(96 96 96 / 50%);
8547
8547
  }
8548
- .prompt-textarea[data-v-c7b59bf9]:-ms-input-placeholder {
8548
+ .prompt-textarea[data-v-2221bd6c]:-ms-input-placeholder {
8549
8549
  color: rgb(96 96 96 / 50%);
8550
8550
  }
8551
- .prompt-textarea[data-v-c7b59bf9]::-ms-input-placeholder {
8551
+ .prompt-textarea[data-v-2221bd6c]::-ms-input-placeholder {
8552
8552
  color: rgb(96 96 96 / 50%);
8553
8553
  }
8554
- .prompt-textarea[data-v-c7b59bf9]::placeholder {
8554
+ .prompt-textarea[data-v-2221bd6c]::placeholder {
8555
8555
  color: rgb(96 96 96 / 50%);
8556
8556
  }
8557
8557
 
8558
8558
  /* Ensure border is visible when scrollbar appears */
8559
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar {
8559
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar {
8560
8560
  width: 8px;
8561
8561
  }
8562
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-track {
8562
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-track {
8563
8563
  background: transparent;
8564
8564
  margin: 2px;
8565
8565
  }
8566
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-thumb {
8566
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-thumb {
8567
8567
  background: rgb(96 96 96 / 30%);
8568
8568
  border-radius: 4px;
8569
8569
  }
8570
- .prompt-textarea[data-v-c7b59bf9]::-webkit-scrollbar-thumb:hover {
8570
+ .prompt-textarea[data-v-2221bd6c]::-webkit-scrollbar-thumb:hover {
8571
8571
  background: rgb(96 96 96 / 50%);
8572
8572
  }
8573
- .text-grayscale[data-v-c7b59bf9] {
8573
+ .text-grayscale[data-v-2221bd6c] {
8574
8574
  color: rgb(96 96 96 / 50%);
8575
8575
  }
8576
- .text-success[data-v-c7b59bf9] {
8576
+ .text-success[data-v-2221bd6c] {
8577
8577
  --tw-text-opacity: 1;
8578
8578
  color: rgb(29 134 13 / var(--tw-text-opacity));
8579
8579
  }
8580
- @-webkit-keyframes blink-c7b59bf9 {
8580
+ @-webkit-keyframes blink-2221bd6c {
8581
8581
  0%,
8582
8582
  50% {
8583
8583
  opacity: 1;
@@ -8587,7 +8587,7 @@ input[type='number'][data-v-28a532b4] {
8587
8587
  opacity: 0;
8588
8588
  }
8589
8589
  }
8590
- @keyframes blink-c7b59bf9 {
8590
+ @keyframes blink-2221bd6c {
8591
8591
  0%,
8592
8592
  50% {
8593
8593
  opacity: 1;
@@ -8598,7 +8598,7 @@ input[type='number'][data-v-28a532b4] {
8598
8598
  }
8599
8599
  }
8600
8600
 
8601
- .testimonial-preview[data-v-a66d4bed] {
8601
+ .testimonial-preview[data-v-9322ffcb] {
8602
8602
  overflow: hidden;
8603
8603
  text-overflow: ellipsis;
8604
8604
  max-height: 21px;
@@ -8610,7 +8610,7 @@ input[type='number'][data-v-28a532b4] {
8610
8610
  align-items: flex-start;
8611
8611
  }
8612
8612
 
8613
- .text-item-preview[data-v-7f11c2cf] {
8613
+ .text-item-preview[data-v-f239a0cf] {
8614
8614
  overflow: hidden;
8615
8615
  text-overflow: ellipsis;
8616
8616
  max-height: 21px;