@designcrowd/fe-shared-lib 1.6.10 → 1.7.0

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 (722) hide show
  1. package/.eslintrc.js +36 -36
  2. package/.github/workflows/auto-merge.yml +52 -52
  3. package/.github/workflows/claude.yml +72 -72
  4. package/.prettierrc.js +7 -7
  5. package/.storybook/main.ts +36 -36
  6. package/.storybook/preview-head-master.html +4 -4
  7. package/.storybook/preview-head-publish-master.html +4 -4
  8. package/.storybook/preview-head-publish.html +9 -9
  9. package/.storybook/preview-head.html +9 -9
  10. package/.storybook/preview.js +53 -53
  11. package/CLAUDE.md +94 -94
  12. package/Dockerfile +43 -43
  13. package/README.md +103 -103
  14. package/buildspec.yml +47 -47
  15. package/dist/css/tailwind-brandCrowd.css +615 -482
  16. package/dist/css/tailwind-brandPage.css +525 -404
  17. package/dist/css/tailwind-crazyDomains.css +615 -482
  18. package/dist/css/tailwind-designCom.css +615 -482
  19. package/dist/css/tailwind-designCrowd.css +615 -482
  20. package/docs/plans/DY-957-plan-phase-2-fe-shared-lib.md +382 -382
  21. package/index.cjs +16 -16
  22. package/index.js +62 -62
  23. package/nodemon.translation.json +6 -6
  24. package/package.json +115 -115
  25. package/postcss.config.js +5 -5
  26. package/public/css/tailwind-brandCrowd.css +513 -537
  27. package/public/css/tailwind-brandPage.css +427 -431
  28. package/public/css/tailwind-crazyDomains.css +513 -537
  29. package/public/css/tailwind-designCom.css +513 -537
  30. package/public/css/tailwind-designCrowd.css +513 -537
  31. package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.stories.js +90 -90
  32. package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.vue +120 -120
  33. package/src/atoms/components/Button/Button.vue +341 -341
  34. package/src/atoms/components/Button/ButtonVariant.mixin.vue +126 -126
  35. package/src/atoms/components/Button/Buttons.stories.js +828 -828
  36. package/src/atoms/components/Button/ButtonsCrazyDomains.stories.js +117 -117
  37. package/src/atoms/components/Button/variants/ButtonAi.vue +63 -63
  38. package/src/atoms/components/Button/variants/ButtonDarkModePill.vue +52 -52
  39. package/src/atoms/components/Button/variants/ButtonFlat.vue +65 -65
  40. package/src/atoms/components/Button/variants/ButtonGray.vue +64 -64
  41. package/src/atoms/components/Button/variants/ButtonInfo.vue +51 -51
  42. package/src/atoms/components/Button/variants/ButtonInfoFilled.vue +63 -63
  43. package/src/atoms/components/Button/variants/ButtonNoBorder.vue +65 -65
  44. package/src/atoms/components/Button/variants/ButtonOutline.vue +62 -62
  45. package/src/atoms/components/Button/variants/ButtonOutlineNoHover.vue +62 -62
  46. package/src/atoms/components/Button/variants/ButtonOutlinePrimary.vue +53 -53
  47. package/src/atoms/components/Button/variants/ButtonOutlineSuccess.vue +54 -54
  48. package/src/atoms/components/Button/variants/ButtonPill.vue +52 -52
  49. package/src/atoms/components/Button/variants/ButtonPrimary.vue +69 -69
  50. package/src/atoms/components/Button/variants/ButtonPrimaryWithIcon.vue +68 -68
  51. package/src/atoms/components/Button/variants/ButtonSecondary.vue +51 -51
  52. package/src/atoms/components/Button/variants/ButtonSuccess.vue +55 -55
  53. package/src/atoms/components/Button/variants/ButtonWarning.vue +65 -65
  54. package/src/atoms/components/Button/variants/crazy-domains/ButtonCrazyDomainsOutline.vue +58 -58
  55. package/src/atoms/components/Button/variants/crazy-domains/ButtonCrazyDomainsPrimary.vue +38 -38
  56. package/src/atoms/components/ButtonGroup/ButtonGroup.stories.js +575 -575
  57. package/src/atoms/components/ButtonGroup/ButtonGroup.vue +200 -200
  58. package/src/atoms/components/Carousel/Carousel.fixtures.js +53 -53
  59. package/src/atoms/components/Carousel/Carousel.vue +363 -363
  60. package/src/atoms/components/Carousel/carousel.stories.js +530 -530
  61. package/src/atoms/components/Checkbox/Checkbox.mixin.js +57 -57
  62. package/src/atoms/components/Checkbox/Checkbox.stories.js +340 -340
  63. package/src/atoms/components/Checkbox/Checkbox.vue +84 -84
  64. package/src/atoms/components/Checktile/Checktile.stories.js +79 -79
  65. package/src/atoms/components/Checktile/Checktile.vue +73 -73
  66. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.mixin.js +38 -38
  67. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.stories.js +53 -53
  68. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.vue +33 -33
  69. package/src/atoms/components/ColorPicker/ColorPicker.stories.js +89 -89
  70. package/src/atoms/components/ColorPicker/ColorPicker.vue +95 -95
  71. package/src/atoms/components/CopyToClipboardText/CopyToClipboardText.stories.js +41 -41
  72. package/src/atoms/components/CopyToClipboardText/CopyToClipboardText.vue +71 -71
  73. package/src/atoms/components/Dropdown/Dropdown.stories.js +140 -140
  74. package/src/atoms/components/Dropdown/Dropdown.vue +129 -129
  75. package/src/atoms/components/Dropdown/DropdownItem.vue +33 -33
  76. package/src/atoms/components/FormControl/FormControl.mixin.js +136 -136
  77. package/src/atoms/components/HelloBar/HelloBar.stories.js +195 -195
  78. package/src/atoms/components/HelloBar/HelloBar.vue +156 -156
  79. package/src/atoms/components/Icon/Icon.stories.js +410 -409
  80. package/src/atoms/components/Icon/Icon.vue +932 -930
  81. package/src/atoms/components/Icon/icons/add-page.vue +6 -6
  82. package/src/atoms/components/Icon/icons/ai.vue +6 -6
  83. package/src/atoms/components/Icon/icons/annotate-heart.vue +7 -7
  84. package/src/atoms/components/Icon/icons/arrow-down.vue +6 -6
  85. package/src/atoms/components/Icon/icons/arrow-left.vue +7 -7
  86. package/src/atoms/components/Icon/icons/arrow-right.vue +7 -7
  87. package/src/atoms/components/Icon/icons/arrow-top-right.vue +6 -6
  88. package/src/atoms/components/Icon/icons/arrow-up-underline.vue +7 -7
  89. package/src/atoms/components/Icon/icons/arrow-up.vue +7 -7
  90. package/src/atoms/components/Icon/icons/attach.vue +6 -6
  91. package/src/atoms/components/Icon/icons/auth-facebook-white.vue +17 -17
  92. package/src/atoms/components/Icon/icons/auth-facebook.vue +24 -24
  93. package/src/atoms/components/Icon/icons/auth-google.vue +32 -32
  94. package/src/atoms/components/Icon/icons/award.vue +7 -7
  95. package/src/atoms/components/Icon/icons/background.vue +7 -7
  96. package/src/atoms/components/Icon/icons/badge.vue +7 -7
  97. package/src/atoms/components/Icon/icons/banner-centered.vue +6 -6
  98. package/src/atoms/components/Icon/icons/banner-left.vue +6 -6
  99. package/src/atoms/components/Icon/icons/banner.vue +7 -7
  100. package/src/atoms/components/Icon/icons/bc-mast.vue +7 -7
  101. package/src/atoms/components/Icon/icons/bezier-curve-outline.vue +7 -7
  102. package/src/atoms/components/Icon/icons/bezier-curve.vue +7 -7
  103. package/src/atoms/components/Icon/icons/briefcase.vue +7 -7
  104. package/src/atoms/components/Icon/icons/browser.vue +7 -7
  105. package/src/atoms/components/Icon/icons/brush.vue +6 -6
  106. package/src/atoms/components/Icon/icons/business-card-filled.vue +5 -5
  107. package/src/atoms/components/Icon/icons/business.vue +6 -6
  108. package/src/atoms/components/Icon/icons/calculator.vue +3 -3
  109. package/src/atoms/components/Icon/icons/calendar.vue +5 -5
  110. package/src/atoms/components/Icon/icons/callout-error.vue +6 -6
  111. package/src/atoms/components/Icon/icons/callout-info.vue +6 -6
  112. package/src/atoms/components/Icon/icons/callout-success.vue +8 -8
  113. package/src/atoms/components/Icon/icons/callout-warning.vue +6 -6
  114. package/src/atoms/components/Icon/icons/cap.vue +22 -22
  115. package/src/atoms/components/Icon/icons/card-vertical.vue +7 -7
  116. package/src/atoms/components/Icon/icons/card.vue +9 -9
  117. package/src/atoms/components/Icon/icons/cart-empty.vue +9 -9
  118. package/src/atoms/components/Icon/icons/check-thin.vue +7 -7
  119. package/src/atoms/components/Icon/icons/check.vue +3 -3
  120. package/src/atoms/components/Icon/icons/chevron-down.vue +7 -7
  121. package/src/atoms/components/Icon/icons/chevron-left.vue +7 -7
  122. package/src/atoms/components/Icon/icons/chevron-right-wide.vue +3 -3
  123. package/src/atoms/components/Icon/icons/chevron-right.vue +3 -3
  124. package/src/atoms/components/Icon/icons/chevron-up.vue +7 -7
  125. package/src/atoms/components/Icon/icons/clipboard-check.vue +6 -6
  126. package/src/atoms/components/Icon/icons/close.vue +6 -6
  127. package/src/atoms/components/Icon/icons/community.vue +5 -5
  128. package/src/atoms/components/Icon/icons/contact-message.vue +10 -10
  129. package/src/atoms/components/Icon/icons/content.vue +7 -7
  130. package/src/atoms/components/Icon/icons/copy.vue +10 -10
  131. package/src/atoms/components/Icon/icons/crazy-domains/filter.vue +6 -6
  132. package/src/atoms/components/Icon/icons/crazy-domains/globe.vue +6 -6
  133. package/src/atoms/components/Icon/icons/crazy-domains/home.vue +6 -6
  134. package/src/atoms/components/Icon/icons/crazy-domains/social-facebook.vue +6 -6
  135. package/src/atoms/components/Icon/icons/crazy-domains/social-google.vue +6 -6
  136. package/src/atoms/components/Icon/icons/crazy-domains/social-instagram.vue +6 -6
  137. package/src/atoms/components/Icon/icons/crazy-domains/social-twitter.vue +6 -6
  138. package/src/atoms/components/Icon/icons/crazy-domains/social-youtube.vue +6 -6
  139. package/src/atoms/components/Icon/icons/crop.vue +6 -6
  140. package/src/atoms/components/Icon/icons/crown-alt.vue +5 -5
  141. package/src/atoms/components/Icon/icons/crown.vue +6 -6
  142. package/src/atoms/components/Icon/icons/delete.vue +8 -8
  143. package/src/atoms/components/Icon/icons/designs.vue +6 -6
  144. package/src/atoms/components/Icon/icons/desktop.vue +7 -7
  145. package/src/atoms/components/Icon/icons/digital-business-card-filled.vue +8 -8
  146. package/src/atoms/components/Icon/icons/donate.vue +6 -6
  147. package/src/atoms/components/Icon/icons/download.vue +5 -5
  148. package/src/atoms/components/Icon/icons/duplicate.vue +6 -6
  149. package/src/atoms/components/Icon/icons/edit-line.vue +10 -10
  150. package/src/atoms/components/Icon/icons/edit.vue +6 -6
  151. package/src/atoms/components/Icon/icons/ellipsis.vue +6 -6
  152. package/src/atoms/components/Icon/icons/envelope-email.vue +9 -9
  153. package/src/atoms/components/Icon/icons/error.vue +8 -8
  154. package/src/atoms/components/Icon/icons/eye-crossed.vue +7 -7
  155. package/src/atoms/components/Icon/icons/eye-open.vue +11 -11
  156. package/src/atoms/components/Icon/icons/fees.vue +6 -6
  157. package/src/atoms/components/Icon/icons/file-box.vue +3 -3
  158. package/src/atoms/components/Icon/icons/file-empty.vue +7 -7
  159. package/src/atoms/components/Icon/icons/file.vue +7 -7
  160. package/src/atoms/components/Icon/icons/filter.vue +7 -7
  161. package/src/atoms/components/Icon/icons/filters.vue +6 -6
  162. package/src/atoms/components/Icon/icons/flag.vue +6 -6
  163. package/src/atoms/components/Icon/icons/flip-horizontal.vue +7 -7
  164. package/src/atoms/components/Icon/icons/flip-vertical.vue +7 -7
  165. package/src/atoms/components/Icon/icons/folder.vue +6 -6
  166. package/src/atoms/components/Icon/icons/font.vue +7 -7
  167. package/src/atoms/components/Icon/icons/footer-centered.vue +7 -7
  168. package/src/atoms/components/Icon/icons/footer-left.vue +7 -7
  169. package/src/atoms/components/Icon/icons/form-message.vue +6 -6
  170. package/src/atoms/components/Icon/icons/form.vue +5 -5
  171. package/src/atoms/components/Icon/icons/fullscreen-exit.vue +5 -5
  172. package/src/atoms/components/Icon/icons/fullscreen.vue +5 -5
  173. package/src/atoms/components/Icon/icons/globe.vue +6 -6
  174. package/src/atoms/components/Icon/icons/godaddy/logo.vue +5 -5
  175. package/src/atoms/components/Icon/icons/group.vue +6 -6
  176. package/src/atoms/components/Icon/icons/hamburger.vue +7 -7
  177. package/src/atoms/components/Icon/icons/headphones.vue +7 -7
  178. package/src/atoms/components/Icon/icons/history.vue +12 -12
  179. package/src/atoms/components/Icon/icons/home-outline.vue +6 -6
  180. package/src/atoms/components/Icon/icons/home.vue +7 -7
  181. package/src/atoms/components/Icon/icons/icon-style-circle-bg.vue +22 -22
  182. package/src/atoms/components/Icon/icons/icon-style-no-bg.vue +16 -16
  183. package/src/atoms/components/Icon/icons/icon-style-square-bg.vue +22 -22
  184. package/src/atoms/components/Icon/icons/image-gallery-carousel.vue +7 -7
  185. package/src/atoms/components/Icon/icons/image-gallery-grid.vue +7 -7
  186. package/src/atoms/components/Icon/icons/image-gallery-masonry.vue +6 -6
  187. package/src/atoms/components/Icon/icons/image.vue +7 -7
  188. package/src/atoms/components/Icon/icons/images-gallery.vue +5 -5
  189. package/src/atoms/components/Icon/icons/images.vue +7 -7
  190. package/src/atoms/components/Icon/icons/info.vue +9 -9
  191. package/src/atoms/components/Icon/icons/jobs.vue +8 -8
  192. package/src/atoms/components/Icon/icons/layer-bring-front.vue +6 -6
  193. package/src/atoms/components/Icon/icons/layer-send-back.vue +6 -6
  194. package/src/atoms/components/Icon/icons/layer.vue +6 -6
  195. package/src/atoms/components/Icon/icons/layout/display-style-about-1.vue +20 -20
  196. package/src/atoms/components/Icon/icons/layout/display-style-about-2.vue +20 -20
  197. package/src/atoms/components/Icon/icons/layout/display-style-about-3.vue +20 -20
  198. package/src/atoms/components/Icon/icons/layout/display-style-about-4.vue +32 -32
  199. package/src/atoms/components/Icon/icons/layout/display-style-about-5.vue +27 -27
  200. package/src/atoms/components/Icon/icons/layout/display-style-about-6.vue +27 -27
  201. package/src/atoms/components/Icon/icons/layout/display-style-banner-1.vue +20 -20
  202. package/src/atoms/components/Icon/icons/layout/display-style-banner-2.vue +20 -20
  203. package/src/atoms/components/Icon/icons/layout/display-style-banner-3.vue +20 -20
  204. package/src/atoms/components/Icon/icons/layout/display-style-banner-4.vue +20 -20
  205. package/src/atoms/components/Icon/icons/layout/display-style-banner-5.vue +20 -20
  206. package/src/atoms/components/Icon/icons/layout/display-style-banner-6.vue +27 -27
  207. package/src/atoms/components/Icon/icons/layout/display-style-banner-7.vue +27 -27
  208. package/src/atoms/components/Icon/icons/layout/display-style-banner-8.vue +20 -20
  209. package/src/atoms/components/Icon/icons/layout/display-style-banner-9.vue +20 -20
  210. package/src/atoms/components/Icon/icons/layout/display-style-contact-1.vue +24 -24
  211. package/src/atoms/components/Icon/icons/layout/display-style-contact-2.vue +24 -24
  212. package/src/atoms/components/Icon/icons/layout/display-style-contact-4.vue +24 -24
  213. package/src/atoms/components/Icon/icons/layout/display-style-contact-5.vue +39 -39
  214. package/src/atoms/components/Icon/icons/layout/display-style-contact-6.vue +39 -39
  215. package/src/atoms/components/Icon/icons/layout/footer/display-style-1.vue +7 -7
  216. package/src/atoms/components/Icon/icons/layout/footer/display-style-2.vue +16 -16
  217. package/src/atoms/components/Icon/icons/layout/header/desktop-hamburger-display-style-1.vue +17 -17
  218. package/src/atoms/components/Icon/icons/layout/header/desktop-hamburger-display-style-2.vue +17 -17
  219. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-1.vue +17 -17
  220. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-2.vue +17 -17
  221. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-3.vue +13 -13
  222. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-4.vue +13 -13
  223. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-5.vue +17 -17
  224. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-6.vue +17 -17
  225. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-1.vue +16 -16
  226. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-2.vue +16 -16
  227. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-3.vue +16 -16
  228. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-1.vue +17 -17
  229. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-2.vue +17 -17
  230. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-3.vue +17 -17
  231. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-4.vue +21 -21
  232. package/src/atoms/components/Icon/icons/layout/header/mobile-tab-display-style-1.vue +17 -17
  233. package/src/atoms/components/Icon/icons/layout/header/mobile-tab-display-style-2.vue +17 -17
  234. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-1.vue +16 -16
  235. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-2.vue +16 -16
  236. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-3.vue +16 -16
  237. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-normal-text-center-normal.vue +7 -7
  238. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-normal-text-center-small.vue +7 -7
  239. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-small-text-center-normal.vue +7 -7
  240. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-bottom.vue +11 -11
  241. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-circle.vue +10 -10
  242. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-top.vue +11 -11
  243. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-center-normal.vue +7 -7
  244. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-justify-normal.vue +7 -7
  245. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-left-normal.vue +7 -7
  246. package/src/atoms/components/Icon/icons/layout/layout-icon-left-small-text-left-normal.vue +7 -7
  247. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-center-normal.vue +7 -7
  248. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-justify-normal.vue +7 -7
  249. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-right-normal.vue +7 -7
  250. package/src/atoms/components/Icon/icons/layout/layout-icon-right-small-text-right-normal.vue +7 -7
  251. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-center-normal.vue +7 -7
  252. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-center-small.vue +7 -7
  253. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-justify-normal.vue +7 -7
  254. package/src/atoms/components/Icon/icons/layout/layout-icon-top-small-text-center-normal.vue +7 -7
  255. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-1.vue +16 -16
  256. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-2.vue +10 -10
  257. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-3.vue +10 -10
  258. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-4.vue +23 -23
  259. package/src/atoms/components/Icon/icons/layout/nav/tab/display-style-1.vue +16 -16
  260. package/src/atoms/components/Icon/icons/layout/nav/tab/display-style-2.vue +7 -7
  261. package/src/atoms/components/Icon/icons/letterhead-filled.vue +5 -5
  262. package/src/atoms/components/Icon/icons/lightning.vue +7 -7
  263. package/src/atoms/components/Icon/icons/link-in-bio-filled.vue +8 -8
  264. package/src/atoms/components/Icon/icons/link.vue +6 -6
  265. package/src/atoms/components/Icon/icons/location.vue +6 -6
  266. package/src/atoms/components/Icon/icons/lock.vue +6 -6
  267. package/src/atoms/components/Icon/icons/logo.vue +7 -7
  268. package/src/atoms/components/Icon/icons/mac-command.vue +7 -7
  269. package/src/atoms/components/Icon/icons/maker/align-center.vue +7 -7
  270. package/src/atoms/components/Icon/icons/maker/align-justify.vue +7 -7
  271. package/src/atoms/components/Icon/icons/maker/align-left.vue +7 -7
  272. package/src/atoms/components/Icon/icons/maker/align-right.vue +7 -7
  273. package/src/atoms/components/Icon/icons/maker/animate.vue +7 -7
  274. package/src/atoms/components/Icon/icons/maker/bold.vue +7 -7
  275. package/src/atoms/components/Icon/icons/maker/custom-landscape.vue +5 -5
  276. package/src/atoms/components/Icon/icons/maker/email-symbol.vue +5 -5
  277. package/src/atoms/components/Icon/icons/maker/email.vue +5 -5
  278. package/src/atoms/components/Icon/icons/maker/eraser.vue +5 -5
  279. package/src/atoms/components/Icon/icons/maker/etsy.vue +5 -5
  280. package/src/atoms/components/Icon/icons/maker/facebook.vue +5 -5
  281. package/src/atoms/components/Icon/icons/maker/favicon.vue +7 -7
  282. package/src/atoms/components/Icon/icons/maker/flyer.vue +7 -7
  283. package/src/atoms/components/Icon/icons/maker/gift-certificate.vue +5 -5
  284. package/src/atoms/components/Icon/icons/maker/globe.vue +5 -5
  285. package/src/atoms/components/Icon/icons/maker/image.vue +7 -7
  286. package/src/atoms/components/Icon/icons/maker/instagram.vue +7 -7
  287. package/src/atoms/components/Icon/icons/maker/invitation.vue +5 -5
  288. package/src/atoms/components/Icon/icons/maker/invoice.vue +5 -5
  289. package/src/atoms/components/Icon/icons/maker/italic.vue +7 -7
  290. package/src/atoms/components/Icon/icons/maker/link.vue +7 -7
  291. package/src/atoms/components/Icon/icons/maker/linkedin.vue +7 -7
  292. package/src/atoms/components/Icon/icons/maker/menu.vue +5 -5
  293. package/src/atoms/components/Icon/icons/maker/pause.vue +5 -5
  294. package/src/atoms/components/Icon/icons/maker/phone.vue +5 -5
  295. package/src/atoms/components/Icon/icons/maker/pinterest.vue +5 -5
  296. package/src/atoms/components/Icon/icons/maker/play.vue +5 -5
  297. package/src/atoms/components/Icon/icons/maker/postcard.vue +5 -5
  298. package/src/atoms/components/Icon/icons/maker/poster.vue +7 -7
  299. package/src/atoms/components/Icon/icons/maker/profile.vue +5 -5
  300. package/src/atoms/components/Icon/icons/maker/qrcode.vue +5 -5
  301. package/src/atoms/components/Icon/icons/maker/snapchat.vue +5 -5
  302. package/src/atoms/components/Icon/icons/maker/soundcloud.vue +7 -7
  303. package/src/atoms/components/Icon/icons/maker/spacing.vue +18 -18
  304. package/src/atoms/components/Icon/icons/maker/strikethrough.vue +7 -7
  305. package/src/atoms/components/Icon/icons/maker/t-shirt.vue +32 -32
  306. package/src/atoms/components/Icon/icons/maker/text-background-color.vue +12 -12
  307. package/src/atoms/components/Icon/icons/maker/text-color.vue +14 -14
  308. package/src/atoms/components/Icon/icons/maker/text.vue +7 -7
  309. package/src/atoms/components/Icon/icons/maker/thankyou-card.vue +5 -5
  310. package/src/atoms/components/Icon/icons/maker/tiktok.vue +5 -5
  311. package/src/atoms/components/Icon/icons/maker/tumblr.vue +5 -5
  312. package/src/atoms/components/Icon/icons/maker/twitch.vue +7 -7
  313. package/src/atoms/components/Icon/icons/maker/twitter.vue +5 -5
  314. package/src/atoms/components/Icon/icons/maker/underline.vue +7 -7
  315. package/src/atoms/components/Icon/icons/maker/uppercase.vue +14 -14
  316. package/src/atoms/components/Icon/icons/maker/video.vue +5 -5
  317. package/src/atoms/components/Icon/icons/maker/whatsapp.vue +7 -7
  318. package/src/atoms/components/Icon/icons/maker/youtube.vue +5 -5
  319. package/src/atoms/components/Icon/icons/maker/zoom.vue +5 -5
  320. package/src/atoms/components/Icon/icons/map.vue +6 -6
  321. package/src/atoms/components/Icon/icons/media.vue +3 -3
  322. package/src/atoms/components/Icon/icons/message.vue +6 -6
  323. package/src/atoms/components/Icon/icons/minus-circle-light.vue +7 -7
  324. package/src/atoms/components/Icon/icons/minus.vue +3 -3
  325. package/src/atoms/components/Icon/icons/mobile.vue +5 -5
  326. package/src/atoms/components/Icon/icons/mug.vue +29 -29
  327. package/src/atoms/components/Icon/icons/opacity.vue +6 -6
  328. package/src/atoms/components/Icon/icons/other.vue +7 -7
  329. package/src/atoms/components/Icon/icons/page-blank.vue +6 -6
  330. package/src/atoms/components/Icon/icons/page-buttons.vue +8 -8
  331. package/src/atoms/components/Icon/icons/page-hamburger.vue +9 -9
  332. package/src/atoms/components/Icon/icons/page-tabs.vue +9 -9
  333. package/src/atoms/components/Icon/icons/pages.vue +6 -6
  334. package/src/atoms/components/Icon/icons/palette-outline.vue +7 -7
  335. package/src/atoms/components/Icon/icons/palette.vue +6 -6
  336. package/src/atoms/components/Icon/icons/pause.vue +5 -5
  337. package/src/atoms/components/Icon/icons/payment.vue +8 -8
  338. package/src/atoms/components/Icon/icons/payments-featured.vue +6 -6
  339. package/src/atoms/components/Icon/icons/payments-textonly.vue +8 -8
  340. package/src/atoms/components/Icon/icons/payments-thumbnail.vue +9 -9
  341. package/src/atoms/components/Icon/icons/pen-outline.vue +7 -7
  342. package/src/atoms/components/Icon/icons/pen-sparkle.vue +17 -17
  343. package/src/atoms/components/Icon/icons/pen-tool.vue +7 -7
  344. package/src/atoms/components/Icon/icons/pen.vue +7 -7
  345. package/src/atoms/components/Icon/icons/phone.vue +6 -6
  346. package/src/atoms/components/Icon/icons/plus-circle-light.vue +8 -8
  347. package/src/atoms/components/Icon/icons/plus-circle.vue +7 -7
  348. package/src/atoms/components/Icon/icons/plus.vue +3 -3
  349. package/src/atoms/components/Icon/icons/poll.vue +3 -3
  350. package/src/atoms/components/Icon/icons/portfolio.vue +10 -10
  351. package/src/atoms/components/Icon/icons/premium-content.vue +8 -8
  352. package/src/atoms/components/Icon/icons/preview.vue +6 -6
  353. package/src/atoms/components/Icon/icons/printing.vue +6 -6
  354. package/src/atoms/components/Icon/icons/processing.vue +5 -5
  355. package/src/atoms/components/Icon/icons/question-alt.vue +20 -20
  356. package/src/atoms/components/Icon/icons/question.vue +11 -11
  357. package/src/atoms/components/Icon/icons/ratio-1-1.vue +3 -3
  358. package/src/atoms/components/Icon/icons/ratio-16-9.vue +1 -1
  359. package/src/atoms/components/Icon/icons/ratio-2-3.vue +3 -3
  360. package/src/atoms/components/Icon/icons/ratio-3-2.vue +3 -3
  361. package/src/atoms/components/Icon/icons/ratio-3-4.vue +3 -3
  362. package/src/atoms/components/Icon/icons/ratio-4-3.vue +3 -3
  363. package/src/atoms/components/Icon/icons/ratio-9-16.vue +3 -3
  364. package/src/atoms/components/Icon/icons/ratio-circle.vue +8 -8
  365. package/src/atoms/components/Icon/icons/ratio-original.vue +11 -11
  366. package/src/atoms/components/Icon/icons/redo.vue +6 -6
  367. package/src/atoms/components/Icon/icons/reload.vue +6 -6
  368. package/src/atoms/components/Icon/icons/reorderable.vue +5 -5
  369. package/src/atoms/components/Icon/icons/request-payment.vue +6 -6
  370. package/src/atoms/components/Icon/icons/reset.vue +6 -6
  371. package/src/atoms/components/Icon/icons/resize.vue +6 -6
  372. package/src/atoms/components/Icon/icons/save.vue +6 -6
  373. package/src/atoms/components/Icon/icons/search.vue +11 -11
  374. package/src/atoms/components/Icon/icons/secure.vue +7 -7
  375. package/src/atoms/components/Icon/icons/send.vue +12 -12
  376. package/src/atoms/components/Icon/icons/services.vue +7 -7
  377. package/src/atoms/components/Icon/icons/settings.vue +7 -7
  378. package/src/atoms/components/Icon/icons/shape.vue +5 -5
  379. package/src/atoms/components/Icon/icons/share.vue +9 -9
  380. package/src/atoms/components/Icon/icons/shield-tick.vue +6 -6
  381. package/src/atoms/components/Icon/icons/shop.vue +5 -5
  382. package/src/atoms/components/Icon/icons/sms.vue +5 -5
  383. package/src/atoms/components/Icon/icons/social-facebook-color.vue +9 -9
  384. package/src/atoms/components/Icon/icons/social-facebook.vue +5 -5
  385. package/src/atoms/components/Icon/icons/social-google.vue +5 -5
  386. package/src/atoms/components/Icon/icons/social-instagram-color.vue +24 -24
  387. package/src/atoms/components/Icon/icons/social-linkedin-color.vue +9 -9
  388. package/src/atoms/components/Icon/icons/social-share.vue +7 -7
  389. package/src/atoms/components/Icon/icons/social-twitter-color.vue +9 -9
  390. package/src/atoms/components/Icon/icons/sparkle-square.vue +22 -22
  391. package/src/atoms/components/Icon/icons/star-filled.vue +6 -6
  392. package/src/atoms/components/Icon/icons/star-hollow.vue +6 -6
  393. package/src/atoms/components/Icon/icons/sticker.vue +28 -28
  394. package/src/atoms/components/Icon/icons/stop.vue +5 -5
  395. package/src/atoms/components/Icon/icons/styles.vue +5 -5
  396. package/src/atoms/components/Icon/icons/submit.vue +5 -5
  397. package/src/atoms/components/Icon/icons/templates.vue +7 -7
  398. package/src/atoms/components/Icon/icons/text-image-center.vue +6 -6
  399. package/src/atoms/components/Icon/icons/text-image-justified.vue +7 -7
  400. package/src/atoms/components/Icon/icons/text-image-left.vue +9 -9
  401. package/src/atoms/components/Icon/icons/text-image-only.vue +5 -5
  402. package/src/atoms/components/Icon/icons/text-image-right.vue +9 -9
  403. package/src/atoms/components/Icon/icons/text-image.vue +13 -13
  404. package/src/atoms/components/Icon/icons/time.vue +8 -8
  405. package/src/atoms/components/Icon/icons/tooltip-bottom.vue +5 -5
  406. package/src/atoms/components/Icon/icons/tooltip-left.vue +5 -5
  407. package/src/atoms/components/Icon/icons/tooltip-right.vue +5 -5
  408. package/src/atoms/components/Icon/icons/tooltip-top.vue +5 -5
  409. package/src/atoms/components/Icon/icons/undo.vue +6 -6
  410. package/src/atoms/components/Icon/icons/upgrade-alt.vue +7 -7
  411. package/src/atoms/components/Icon/icons/upgrade.vue +9 -9
  412. package/src/atoms/components/Icon/icons/upload-arrow.vue +5 -5
  413. package/src/atoms/components/Icon/icons/upload.vue +5 -5
  414. package/src/atoms/components/Icon/icons/user-accounts.vue +5 -5
  415. package/src/atoms/components/Icon/icons/user-headset.vue +50 -50
  416. package/src/atoms/components/Icon/icons/users-2.vue +5 -0
  417. package/src/atoms/components/Icon/icons/volume-muted.vue +5 -5
  418. package/src/atoms/components/Icon/icons/volume.vue +5 -5
  419. package/src/atoms/components/Icon/icons/watchlist-filled.vue +14 -14
  420. package/src/atoms/components/Icon/icons/watchlist-hollow-alt.vue +14 -14
  421. package/src/atoms/components/Icon/icons/watchlist-hollow.vue +6 -6
  422. package/src/atoms/components/Icon/icons/website-filled.vue +5 -5
  423. package/src/atoms/components/Icon/icons/website.vue +6 -6
  424. package/src/atoms/components/Icon/icons/websites/upgrade-to-add-page.vue +50 -50
  425. package/src/atoms/components/Icon/icons/websites/upgrade-to-contact-form.vue +82 -82
  426. package/src/atoms/components/Icon/icons/websites/upgrade-to-google-ad.vue +92 -92
  427. package/src/atoms/components/Icon/icons/websites/upgrade-to-maps.vue +40 -40
  428. package/src/atoms/components/Icon/icons/websites/upgrade-to-publish.vue +107 -107
  429. package/src/atoms/components/Icon/icons/websites/upgrade-to-remove-watermark.vue +74 -74
  430. package/src/atoms/components/Icon/icons/websites/upgrade-to-videos.vue +16 -16
  431. package/src/atoms/components/Icon/icons/wholesale.vue +6 -6
  432. package/src/atoms/components/Icon/icons/zoom-in.vue +5 -5
  433. package/src/atoms/components/Icon/icons/zoom-out.vue +5 -5
  434. package/src/atoms/components/Icon/icons/zoom.vue +11 -11
  435. package/src/atoms/components/Loader/Loader.vue +15 -15
  436. package/src/atoms/components/Masonry/Masonry.stories.js +48 -48
  437. package/src/atoms/components/Masonry/Masonry.vue +48 -48
  438. package/src/atoms/components/Masonry/fixtures.js +589 -589
  439. package/src/atoms/components/Modal/HashRouteModal.stories.js +68 -68
  440. package/src/atoms/components/Modal/HashRouteModal.vue +120 -120
  441. package/src/atoms/components/Modal/Modal.stories.js +293 -293
  442. package/src/atoms/components/Modal/Modal.vue +272 -272
  443. package/src/atoms/components/Notice/Notice.stories.js +174 -174
  444. package/src/atoms/components/Notice/Notice.vue +71 -71
  445. package/src/atoms/components/NumberStepper/NumberStepper.stories.js +55 -55
  446. package/src/atoms/components/NumberStepper/NumberStepper.vue +340 -340
  447. package/src/atoms/components/Picture/Picture.stories.js +90 -90
  448. package/src/atoms/components/Picture/Picture.vue +84 -84
  449. package/src/atoms/components/Picture/picture.fixtures.js +35 -35
  450. package/src/atoms/components/Pill/Pill.stories.js +20 -20
  451. package/src/atoms/components/Pill/Pill.vue +8 -8
  452. package/src/atoms/components/PillBar/PillBar.fixtures.js +941 -941
  453. package/src/atoms/components/PillBar/PillBar.stories.js +39 -39
  454. package/src/atoms/components/PillBar/PillBar.vue +62 -62
  455. package/src/atoms/components/Price/Price.fixtures.js +85 -85
  456. package/src/atoms/components/Price/Price.stories.js +313 -313
  457. package/src/atoms/components/Price/Price.vue +135 -135
  458. package/src/atoms/components/Price/i18n/price.de-DE.json +5 -5
  459. package/src/atoms/components/Price/i18n/price.es-ES.json +5 -5
  460. package/src/atoms/components/Price/i18n/price.fr-CA.json +5 -5
  461. package/src/atoms/components/Price/i18n/price.fr-FR.json +5 -5
  462. package/src/atoms/components/Price/i18n/price.json +5 -5
  463. package/src/atoms/components/Price/i18n/price.pt-BR.json +5 -5
  464. package/src/atoms/components/Price/i18n/price.pt-PT.json +5 -5
  465. package/src/atoms/components/PromoCard/PromoCard.stories.ts +263 -263
  466. package/src/atoms/components/PromoCard/PromoCard.vue +83 -83
  467. package/src/atoms/components/SearchBar/SearchBar.stories.js +21 -21
  468. package/src/atoms/components/SearchBar/SearchBar.vue +51 -51
  469. package/src/atoms/components/Select/Select.stories.js +142 -142
  470. package/src/atoms/components/Select/Select.vue +619 -619
  471. package/src/atoms/components/Select/pointerMixin.js +99 -99
  472. package/src/atoms/components/Select/selectMixin.js +356 -356
  473. package/src/atoms/components/SparkleIcon/SparkleIcon.stories.js +386 -386
  474. package/src/atoms/components/SparkleIcon/SparkleIcon.vue +136 -136
  475. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-01.svg +5 -5
  476. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-02.svg +5 -5
  477. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-03.svg +5 -5
  478. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-04.svg +5 -5
  479. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-05.svg +5 -5
  480. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-06.svg +5 -5
  481. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-07.svg +5 -5
  482. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-08.svg +5 -5
  483. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-01.svg +5 -5
  484. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-02.svg +14 -14
  485. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-03.svg +14 -14
  486. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-04.svg +14 -14
  487. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-05.svg +14 -14
  488. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-06.svg +14 -14
  489. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-07.svg +14 -14
  490. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-08.svg +14 -14
  491. package/src/atoms/components/SparkleIcon/assets/sparkle.svg +3 -3
  492. package/src/atoms/components/SparkleIcon/index.ts +3 -3
  493. package/src/atoms/components/SparkleIcon/sparkle-paths.ts +54 -54
  494. package/src/atoms/components/SparkleIcon/sparkle-with-spinner-paths.ts +61 -61
  495. package/src/atoms/components/StarRating/StarRating.stories.js +50 -50
  496. package/src/atoms/components/StarRating/StarRating.vue +84 -84
  497. package/src/atoms/components/TabMenu/TabMenu.stories.js +54 -54
  498. package/src/atoms/components/TabMenu/TabMenu.vue +44 -44
  499. package/src/atoms/components/TextCopyField/TextCopyField.stories.js +68 -68
  500. package/src/atoms/components/TextCopyField/TextCopyField.vue +75 -75
  501. package/src/atoms/components/TextInput/TextInput.stories.js +232 -232
  502. package/src/atoms/components/TextInput/TextInput.vue +161 -161
  503. package/src/atoms/components/Textarea/Textarea.stories.js +209 -209
  504. package/src/atoms/components/Textarea/Textarea.vue +112 -112
  505. package/src/atoms/components/Toggle/Toggle.stories.js +176 -176
  506. package/src/atoms/components/Toggle/Toggle.vue +69 -69
  507. package/src/atoms/components/Tooltip/Tooltip.stories.js +493 -493
  508. package/src/atoms/components/Tooltip/Tooltip.vue +196 -196
  509. package/src/atoms/components/design-com/Icon/Icon.stories.js +94 -94
  510. package/src/atoms/components/design-com/Icon/Icon.vue +181 -181
  511. package/src/atoms/components/design-com/Icon/icons/ai.vue +5 -5
  512. package/src/atoms/components/design-com/Icon/icons/award.vue +7 -7
  513. package/src/atoms/components/design-com/Icon/icons/badge.vue +7 -7
  514. package/src/atoms/components/design-com/Icon/icons/briefcase.vue +6 -6
  515. package/src/atoms/components/design-com/Icon/icons/browser.vue +7 -7
  516. package/src/atoms/components/design-com/Icon/icons/bulb.vue +7 -7
  517. package/src/atoms/components/design-com/Icon/icons/card-vertical.vue +8 -8
  518. package/src/atoms/components/design-com/Icon/icons/card.vue +6 -6
  519. package/src/atoms/components/design-com/Icon/icons/check-circle-light.vue +7 -7
  520. package/src/atoms/components/design-com/Icon/icons/chevron-down.vue +7 -7
  521. package/src/atoms/components/design-com/Icon/icons/chevron-left.vue +7 -7
  522. package/src/atoms/components/design-com/Icon/icons/chevron-right.vue +3 -3
  523. package/src/atoms/components/design-com/Icon/icons/chevron-up.vue +7 -7
  524. package/src/atoms/components/design-com/Icon/icons/diamond.vue +7 -7
  525. package/src/atoms/components/design-com/Icon/icons/download.vue +7 -7
  526. package/src/atoms/components/design-com/Icon/icons/file-empty.vue +7 -7
  527. package/src/atoms/components/design-com/Icon/icons/file.vue +7 -7
  528. package/src/atoms/components/design-com/Icon/icons/filter.vue +7 -7
  529. package/src/atoms/components/design-com/Icon/icons/folder.vue +5 -5
  530. package/src/atoms/components/design-com/Icon/icons/font.vue +7 -7
  531. package/src/atoms/components/design-com/Icon/icons/headphones.vue +7 -7
  532. package/src/atoms/components/design-com/Icon/icons/heart.vue +7 -7
  533. package/src/atoms/components/design-com/Icon/icons/image.vue +7 -7
  534. package/src/atoms/components/design-com/Icon/icons/lightning.vue +7 -7
  535. package/src/atoms/components/design-com/Icon/icons/logo.vue +7 -7
  536. package/src/atoms/components/design-com/Icon/icons/minus-circle-light.vue +7 -7
  537. package/src/atoms/components/design-com/Icon/icons/plus-circle-light.vue +8 -8
  538. package/src/atoms/components/design-com/Icon/icons/printing.vue +5 -5
  539. package/src/atoms/components/design-com/Icon/icons/question-circle-filled.vue +7 -7
  540. package/src/atoms/components/design-com/Icon/icons/search.vue +7 -7
  541. package/src/atoms/components/design-com/Icon/icons/shield-tick.vue +5 -5
  542. package/src/atoms/components/design-com/Icon/icons/star-filled.vue +6 -6
  543. package/src/atoms/components/design-com/Icon/icons/star-hollow.vue +6 -6
  544. package/src/atoms/components/design-com/Icon/icons/users.vue +7 -7
  545. package/src/atoms/constants/constants.ts +6 -6
  546. package/src/atoms/mixin/hash-router-mixin.js +68 -68
  547. package/src/atoms/thirdparty-components/VueMasonryWall/VueMasonryWall.vue +280 -280
  548. package/src/atoms/thirdparty-components/VueMasonryWall/maxBy.js +50 -50
  549. package/src/bundleTranslation.js +86 -86
  550. package/src/bundles/bundled-translations.de-DE.json +8 -53
  551. package/src/bundles/bundled-translations.es-ES.json +8 -53
  552. package/src/bundles/bundled-translations.fr-CA.json +8 -53
  553. package/src/bundles/bundled-translations.fr-FR.json +8 -53
  554. package/src/bundles/bundled-translations.json +8 -53
  555. package/src/bundles/bundled-translations.pt-BR.json +8 -53
  556. package/src/bundles/bundled-translations.pt-PT.json +8 -53
  557. package/src/css/tailwind.css +3 -3
  558. package/src/experiences/clients/brand-crowd-api.client.js +142 -142
  559. package/src/experiences/clients/brand-page-api.client.js +62 -62
  560. package/src/experiences/components/AuthFlow/Auth.fixtures.js +4 -4
  561. package/src/experiences/components/AuthFlow/Auth.stories.js +345 -345
  562. package/src/experiences/components/AuthFlow/AuthCrazyDomains.stories.js +60 -60
  563. package/src/experiences/components/AuthFlow/AuthLegal.vue +108 -108
  564. package/src/experiences/components/AuthFlow/AuthModal.vue +39 -39
  565. package/src/experiences/components/AuthFlow/ForgotPassword.vue +222 -222
  566. package/src/experiences/components/AuthFlow/ForgotPasswordModal.vue +68 -68
  567. package/src/experiences/components/AuthFlow/ResetPassword.vue +179 -179
  568. package/src/experiences/components/AuthFlow/ResetPasswordModal.vue +64 -64
  569. package/src/experiences/components/AuthFlow/ResetPasswordSuccessModal.vue +56 -56
  570. package/src/experiences/components/AuthFlow/SignIn.vue +472 -472
  571. package/src/experiences/components/AuthFlow/SignUp.vue +278 -278
  572. package/src/experiences/components/AuthFlow/SignUpModal.vue +90 -90
  573. package/src/experiences/components/AuthFlow/SocialSignIn.vue +177 -177
  574. package/src/experiences/components/AuthFlow/SocialSignInButton.vue +74 -74
  575. package/src/experiences/components/AuthFlow/SubmissionButton.vue +56 -56
  576. package/src/experiences/components/PaymentConfigList/PaymentConfig.mixin.js +118 -118
  577. package/src/experiences/components/PaymentConfigList/PaymentConfigDeleteConfigModal.vue +108 -108
  578. package/src/experiences/components/PaymentConfigList/PaymentConfigDropdown.vue +175 -175
  579. package/src/experiences/components/PaymentConfigList/PaymentConfigList.stories.js +234 -234
  580. package/src/experiences/components/PaymentConfigList/PaymentConfigList.vue +136 -136
  581. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.de-DE.json +11 -11
  582. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.es-ES.json +11 -11
  583. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.fr-CA.json +11 -11
  584. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.fr-FR.json +11 -11
  585. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.json +11 -11
  586. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.pt-BR.json +11 -11
  587. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.pt-PT.json +11 -11
  588. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageCard.vue +119 -119
  589. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.stories.js +262 -262
  590. package/src/experiences/components/PublishBrandPageModal/__fixtures__/data.js +25 -25
  591. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.de-DE.json +27 -27
  592. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.es-ES.json +27 -27
  593. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-CA.json +27 -27
  594. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-FR.json +27 -27
  595. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.json +27 -27
  596. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-BR.json +27 -27
  597. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-PT.json +27 -27
  598. package/src/experiences/components/SellDomainNameList/SellDomainNameList.fixtures.js +32 -32
  599. package/src/experiences/components/SellDomainNameList/SellDomainNameList.vue +157 -157
  600. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.de-DE.json +7 -7
  601. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.es-ES.json +7 -7
  602. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-CA.json +7 -7
  603. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-FR.json +7 -7
  604. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.json +7 -7
  605. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-BR.json +7 -7
  606. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-PT.json +7 -7
  607. package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.stories.js +74 -74
  608. package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.vue +128 -128
  609. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.de-DE.json +5 -5
  610. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.es-ES.json +5 -5
  611. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-CA.json +5 -5
  612. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-FR.json +5 -5
  613. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.json +5 -5
  614. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-BR.json +5 -5
  615. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-PT.json +5 -5
  616. package/src/experiences/components/SellDomainNameModalApplication/SellDomainNameModalApplication.vue +222 -222
  617. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.de-DE.json +5 -5
  618. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.es-ES.json +5 -5
  619. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-CA.json +5 -5
  620. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-FR.json +5 -5
  621. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.json +5 -5
  622. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-BR.json +5 -5
  623. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-PT.json +5 -5
  624. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.de-DE.json +7 -7
  625. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.es-ES.json +7 -7
  626. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-CA.json +7 -7
  627. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-FR.json +7 -7
  628. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.json +7 -7
  629. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-BR.json +7 -7
  630. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-PT.json +7 -7
  631. package/src/experiences/components/SellDomainNameSearchResult/SellDomainNameListSearchResult.vue +167 -167
  632. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.de-DE.json +5 -5
  633. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.es-ES.json +5 -5
  634. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-CA.json +5 -5
  635. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-FR.json +5 -5
  636. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.json +5 -5
  637. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-BR.json +5 -5
  638. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-PT.json +5 -5
  639. package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.stories.js +38 -38
  640. package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.vue +223 -223
  641. package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.stories.js +40 -40
  642. package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.vue +155 -155
  643. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.de-DE.json +7 -7
  644. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.es-ES.json +7 -7
  645. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-CA.json +7 -7
  646. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-FR.json +7 -7
  647. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.json +7 -7
  648. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-BR.json +7 -7
  649. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-PT.json +7 -7
  650. package/src/experiences/components/SideNavigationPanel/MenuCta.vue +62 -62
  651. package/src/experiences/components/SideNavigationPanel/MenuItem.vue +40 -40
  652. package/src/experiences/components/SideNavigationPanel/SideNavigationPanel.stories.js +219 -219
  653. package/src/experiences/components/SideNavigationPanel/SideNavigationPanel.vue +82 -82
  654. package/src/experiences/components/SideNavigationPanel/types.ts +7 -7
  655. package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.stories.js +254 -254
  656. package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.vue +163 -163
  657. package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.stories.js +59 -59
  658. package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.vue +285 -285
  659. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.stories.js +37 -37
  660. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.vue +338 -338
  661. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessText.vue +146 -146
  662. package/src/experiences/components/UploadYourLogoOnBoarding/LogoCropper.vue +473 -473
  663. package/src/experiences/components/UploadYourLogoOnBoarding/LogoKeywords.stories.js +65 -65
  664. package/src/experiences/components/UploadYourLogoOnBoarding/LogoKeywords.vue +156 -156
  665. package/src/experiences/components/UploadYourLogoOnBoarding/LogoPreview.vue +103 -103
  666. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadError.vue +75 -75
  667. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadExitConfirmation.vue +55 -55
  668. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadModal.vue +38 -38
  669. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploader.vue +109 -109
  670. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadingLoader.vue +39 -39
  671. package/src/experiences/components/UploadYourLogoOnBoarding/UploadYourLogoOnBoarding.vue +363 -363
  672. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.de-DE.json +37 -37
  673. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.es-ES.json +37 -37
  674. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-CA.json +37 -37
  675. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-FR.json +37 -37
  676. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.json +37 -37
  677. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-BR.json +37 -37
  678. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-PT.json +37 -37
  679. package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.stories.js +82 -82
  680. package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.vue +211 -211
  681. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.de-DE.json +8 -8
  682. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.es-ES.json +8 -8
  683. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.fr-CA.json +8 -8
  684. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.fr-FR.json +8 -8
  685. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.json +8 -8
  686. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.pt-BR.json +8 -8
  687. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.pt-PT.json +8 -8
  688. package/src/experiences/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.stories.js +181 -181
  689. package/src/experiences/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.vue +203 -203
  690. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.de-DE.json +42 -42
  691. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.es-ES.json +42 -42
  692. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.fr-CA.json +42 -42
  693. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.fr-FR.json +42 -42
  694. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.json +42 -42
  695. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.pt-BR.json +42 -42
  696. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.pt-PT.json +42 -42
  697. package/src/experiences/constants/api.js +9 -9
  698. package/src/experiences/constants/error-constants.js +5 -5
  699. package/src/experiences/constants/event-constants.js +18 -18
  700. package/src/experiences/constants/partner-dictionary-constants.js +27 -27
  701. package/src/experiences/constants/rego-source-constants.js +3 -3
  702. package/src/experiences/constants/sell-domain-name-constants.js +4 -4
  703. package/src/experiences/helpers/email-validator.js +5 -5
  704. package/src/experiences/helpers/hex-diff.js +116 -116
  705. package/src/experiences/helpers/tracking.js +5 -5
  706. package/src/experiences/mixins/mediaQueryMixin.js +31 -31
  707. package/src/experiences/mixins/themeMixin.js +22 -22
  708. package/src/experiences/models/websiteContextualModel.ts +11 -11
  709. package/src/themes/base.js +20 -20
  710. package/src/themes/bc.js +95 -95
  711. package/src/themes/bp.js +21 -21
  712. package/src/themes/cd.js +94 -94
  713. package/src/themes/dc.js +84 -84
  714. package/src/themes/dcom.js +106 -106
  715. package/src/themes/themes.js +16 -16
  716. package/src/useSharedLibTranslate.js +131 -131
  717. package/src/viewports.js +51 -51
  718. package/stylelint.config.js +19 -19
  719. package/tailwind.build.js +83 -83
  720. package/tailwind.config.js +36 -36
  721. package/tailwind.themes.js +59 -59
  722. package/vite.config.ts +37 -37
@@ -1,203 +1,203 @@
1
- <template>
2
- <Modal
3
- :visible="props.isUpgradeModalVisible"
4
- full-screen-breakpoint="sm"
5
- :show-modal-background-image="!isDesignCom"
6
- classes="tw-max-w-3xl tw-p-8"
7
- @close-modal="closeUpgradeModal"
8
- >
9
- <div class="tw-flex tw-flex-col tw-text-black">
10
- <div class="tw-flex tw-flex-col tw-pb-16 md:tw-pb-0">
11
- <Icon
12
- v-if="iconName"
13
- :name="iconName"
14
- :view-box="'0 0 100 100'"
15
- size="5xl"
16
- :class="{
17
- 'tw-text-primary-500': isDesignCom,
18
- 'tw-text-white': !isDesignCom,
19
- }"
20
- class="tw-mb-4"
21
- />
22
- <h2 v-if="titleText" class="tw-font-bold tw-text-3xl tw-mb-2">
23
- {{ titleText }}
24
- </h2>
25
- <span class="tw-text-grayscale-600 tw-mb-2" v-html="descriptionText" />
26
- <br />
27
- <p class="tw-font-bold">{{ websiteContextualUpgradeModalTr('premiumUpgradeNote') }}</p>
28
- <div class="tw-flex tw-flex-col md:tw-flex-row tw-mt-2">
29
- <div
30
- class="tw-order-last md:tw-order-first tw-w-full md:tw-w-3/4 tw-grid tw-grid-cols-1 md:tw-grid-cols-2 tw-gap-4"
31
- >
32
- <div v-for="(feature, i) in features" :key="i" class="tw-flex tw-items-center tw-text-sm tw-rounded-md">
33
- <Icon class="tw-text-success-500" name="check" size="sm" />
34
- <span class="tw-ml-2 tw-text-grayscale-600" v-html="feature" />
35
- </div>
36
- </div>
37
- </div>
38
- </div>
39
- <div class="bottom-bar tw-mt-2">
40
- <div
41
- class="bottom-bar tw-mt-6 tw-bg-grayscale-200 tw-flex tw-flex-col md:tw-flex-row md:tw-items-center md:tw-gap-2"
42
- >
43
- <div class="button-size md:tw-flex-1">
44
- <Button
45
- data-test-upgrade-button
46
- :label="upgradeButtonText"
47
- size="medium"
48
- :variant="'primary'"
49
- icon="chevron-right-wide"
50
- :url="upgradeUrl"
51
- classes="tw-w-full"
52
- @on-click="onUpgradeClick"
53
- />
54
- </div>
55
- <div class="button-size nothanks-button-mobile md:tw-flex-1">
56
- <Button
57
- data-test-upgrade-button
58
- :label="websiteContextualUpgradeModalTr('closeButtonText')"
59
- size="medium"
60
- :variant="'no-border'"
61
- classes="tw-w-full"
62
- @on-click="closeUpgradeModal"
63
- />
64
- </div>
65
- </div>
66
- </div>
67
- </div>
68
- </Modal>
69
- </template>
70
- <script setup lang="ts">
71
- import { Ref, ref } from 'vue';
72
- import Modal from '../../../atoms/components/Modal/Modal.vue';
73
- import Button from '../../../atoms/components/Button/Button.vue';
74
- import Icon from '../../../atoms/components/Icon/Icon.vue';
75
- import { websiteContextualUpgradeModalTr } from '../../../useSharedLibTranslate';
76
- import { WEBSITE_UPGRADE_CONTEXT_TYPES, type WebsiteContextUpgradeType } from '../../models/websiteContextualModel';
77
-
78
- const titleText: Ref<string> = ref('');
79
- const descriptionText: Ref<string> = ref('');
80
- const iconName: Ref<string> = ref('');
81
- const upgradeButtonText: Ref<string> = ref('');
82
- const features: Ref<string[]> = ref([]);
83
-
84
- const props = defineProps<{
85
- isUpgradeModalVisible: boolean;
86
- isDesignCom: boolean;
87
- upgradeUrl: string;
88
- brandPageType: string;
89
- contextType: WebsiteContextUpgradeType;
90
- }>();
91
-
92
- const FEATURE_KEYS = {
93
- PREMIUM_CONTENT: 'PREMIUM_CONTENT',
94
- STORE: 'STORE',
95
- UNLIMITED_PAGES: 'UNLIMITED_PAGES',
96
- CUSTOMER_CARE: 'CUSTOMER_CARE',
97
- CUSTOM_DOMAIN: 'CUSTOM_DOMAIN',
98
- CANCEL_ANYTIME: 'CANCEL_ANYTIME',
99
- NO_WATERMARK: 'NO_WATERMARK',
100
- } as const;
101
-
102
- type FeatureKey = keyof typeof FEATURE_KEYS;
103
-
104
- const FEATURE_CONFIG: Record<FeatureKey, (websiteName: string) => string> = {
105
- PREMIUM_CONTENT: () => websiteContextualUpgradeModalTr('featurePremiumContent'),
106
- STORE: () => websiteContextualUpgradeModalTr('featureStore'),
107
- UNLIMITED_PAGES: () => websiteContextualUpgradeModalTr('featureUnlimitedPages'),
108
- CUSTOMER_CARE: () => websiteContextualUpgradeModalTr('featureCustomerCare'),
109
- CUSTOM_DOMAIN: () => websiteContextualUpgradeModalTr('featureCustomDomain'),
110
- CANCEL_ANYTIME: () =>
111
- `<div class="tw-text-success-500"><strong>${websiteContextualUpgradeModalTr('featureCancelAnytime')}</strong></div>`,
112
- NO_WATERMARK: (websiteName: string) => websiteContextualUpgradeModalTr('featureNoWatermark', { websiteName }),
113
- };
114
-
115
- const FEATURE_ORDERS: Record<string, FeatureKey[]> = {
116
- PremiumContent: [
117
- 'PREMIUM_CONTENT',
118
- 'STORE',
119
- 'UNLIMITED_PAGES',
120
- 'CUSTOMER_CARE',
121
- 'CUSTOM_DOMAIN',
122
- 'CANCEL_ANYTIME',
123
- 'NO_WATERMARK',
124
- ],
125
- RemoveWatermark: [
126
- 'NO_WATERMARK',
127
- 'STORE',
128
- 'UNLIMITED_PAGES',
129
- 'CUSTOMER_CARE',
130
- 'PREMIUM_CONTENT',
131
- 'CANCEL_ANYTIME',
132
- 'CUSTOM_DOMAIN',
133
- ],
134
- Default: [
135
- 'UNLIMITED_PAGES',
136
- 'STORE',
137
- 'PREMIUM_CONTENT',
138
- 'CUSTOMER_CARE',
139
- 'CUSTOM_DOMAIN',
140
- 'CANCEL_ANYTIME',
141
- 'NO_WATERMARK',
142
- ],
143
- };
144
-
145
- const toKebabCase = (value: string) =>
146
- value
147
- .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
148
- .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')
149
- .toLowerCase();
150
-
151
- const getFeatureOrder = (websiteName: string) => {
152
- const contextTypeKey =
153
- props.contextType === WEBSITE_UPGRADE_CONTEXT_TYPES.Maps ||
154
- props.contextType === WEBSITE_UPGRADE_CONTEXT_TYPES.Videos ||
155
- props.contextType === WEBSITE_UPGRADE_CONTEXT_TYPES.ContactForm
156
- ? 'PremiumContent'
157
- : props.contextType;
158
-
159
- const order = FEATURE_ORDERS[contextTypeKey] || FEATURE_ORDERS.Default;
160
-
161
- features.value = order.map((key) => FEATURE_CONFIG[key](websiteName));
162
- };
163
-
164
- const initModalContent = (websiteName: string) => {
165
- const titleForIcon = `upgradeTo${props.contextType}`;
166
- iconName.value = `websites-${toKebabCase(titleForIcon)}`;
167
-
168
- titleText.value = websiteContextualUpgradeModalTr(`${titleForIcon}.title`);
169
- descriptionText.value = websiteContextualUpgradeModalTr(`${titleForIcon}.description`);
170
- upgradeButtonText.value = websiteContextualUpgradeModalTr('upgradeButtonText');
171
-
172
- getFeatureOrder(websiteName);
173
- };
174
-
175
- const websiteName = props.isDesignCom ? 'Design.com' : 'BrandCrowd';
176
- initModalContent(websiteName);
177
-
178
- const emit = defineEmits<{
179
- 'on-close-upgrade-modal': [];
180
- 'on-upgrade-button-clicked': [];
181
- }>();
182
-
183
- const closeUpgradeModal = () => {
184
- emit('on-close-upgrade-modal');
185
- };
186
-
187
- const onUpgradeClick = () => {
188
- emit('on-upgrade-button-clicked');
189
- };
190
- </script>
191
- <style scoped>
192
- .bottom-bar {
193
- @apply tw-absolute tw-p-4 tw-bottom-0 tw-left-0 tw-w-full tw-border-t tw-border-grayscale-300 md:tw-p-0 md:tw-relative md:tw-border-none;
194
- }
195
- .button-size {
196
- @apply tw-w-full md:tw-max-w-40;
197
- }
198
- @media (max-width: 768px) {
199
- .nothanks-button-mobile {
200
- @apply tw-hidden;
201
- }
202
- }
203
- </style>
1
+ <template>
2
+ <Modal
3
+ :visible="props.isUpgradeModalVisible"
4
+ full-screen-breakpoint="sm"
5
+ :show-modal-background-image="!isDesignCom"
6
+ classes="tw-max-w-3xl tw-p-8"
7
+ @close-modal="closeUpgradeModal"
8
+ >
9
+ <div class="tw-flex tw-flex-col tw-text-black">
10
+ <div class="tw-flex tw-flex-col tw-pb-16 md:tw-pb-0">
11
+ <Icon
12
+ v-if="iconName"
13
+ :name="iconName"
14
+ :view-box="'0 0 100 100'"
15
+ size="5xl"
16
+ :class="{
17
+ 'tw-text-primary-500': isDesignCom,
18
+ 'tw-text-white': !isDesignCom,
19
+ }"
20
+ class="tw-mb-4"
21
+ />
22
+ <h2 v-if="titleText" class="tw-font-bold tw-text-3xl tw-mb-2">
23
+ {{ titleText }}
24
+ </h2>
25
+ <span class="tw-text-grayscale-600 tw-mb-2" v-html="descriptionText" />
26
+ <br />
27
+ <p class="tw-font-bold">{{ websiteContextualUpgradeModalTr('premiumUpgradeNote') }}</p>
28
+ <div class="tw-flex tw-flex-col md:tw-flex-row tw-mt-2">
29
+ <div
30
+ class="tw-order-last md:tw-order-first tw-w-full md:tw-w-3/4 tw-grid tw-grid-cols-1 md:tw-grid-cols-2 tw-gap-4"
31
+ >
32
+ <div v-for="(feature, i) in features" :key="i" class="tw-flex tw-items-center tw-text-sm tw-rounded-md">
33
+ <Icon class="tw-text-success-500" name="check" size="sm" />
34
+ <span class="tw-ml-2 tw-text-grayscale-600" v-html="feature" />
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ <div class="bottom-bar tw-mt-2">
40
+ <div
41
+ class="bottom-bar tw-mt-6 tw-bg-grayscale-200 tw-flex tw-flex-col md:tw-flex-row md:tw-items-center md:tw-gap-2"
42
+ >
43
+ <div class="button-size md:tw-flex-1">
44
+ <Button
45
+ data-test-upgrade-button
46
+ :label="upgradeButtonText"
47
+ size="medium"
48
+ :variant="'primary'"
49
+ icon="chevron-right-wide"
50
+ :url="upgradeUrl"
51
+ classes="tw-w-full"
52
+ @on-click="onUpgradeClick"
53
+ />
54
+ </div>
55
+ <div class="button-size nothanks-button-mobile md:tw-flex-1">
56
+ <Button
57
+ data-test-upgrade-button
58
+ :label="websiteContextualUpgradeModalTr('closeButtonText')"
59
+ size="medium"
60
+ :variant="'no-border'"
61
+ classes="tw-w-full"
62
+ @on-click="closeUpgradeModal"
63
+ />
64
+ </div>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </Modal>
69
+ </template>
70
+ <script setup lang="ts">
71
+ import { Ref, ref } from 'vue';
72
+ import Modal from '../../../atoms/components/Modal/Modal.vue';
73
+ import Button from '../../../atoms/components/Button/Button.vue';
74
+ import Icon from '../../../atoms/components/Icon/Icon.vue';
75
+ import { websiteContextualUpgradeModalTr } from '../../../useSharedLibTranslate';
76
+ import { WEBSITE_UPGRADE_CONTEXT_TYPES, type WebsiteContextUpgradeType } from '../../models/websiteContextualModel';
77
+
78
+ const titleText: Ref<string> = ref('');
79
+ const descriptionText: Ref<string> = ref('');
80
+ const iconName: Ref<string> = ref('');
81
+ const upgradeButtonText: Ref<string> = ref('');
82
+ const features: Ref<string[]> = ref([]);
83
+
84
+ const props = defineProps<{
85
+ isUpgradeModalVisible: boolean;
86
+ isDesignCom: boolean;
87
+ upgradeUrl: string;
88
+ brandPageType: string;
89
+ contextType: WebsiteContextUpgradeType;
90
+ }>();
91
+
92
+ const FEATURE_KEYS = {
93
+ PREMIUM_CONTENT: 'PREMIUM_CONTENT',
94
+ STORE: 'STORE',
95
+ UNLIMITED_PAGES: 'UNLIMITED_PAGES',
96
+ CUSTOMER_CARE: 'CUSTOMER_CARE',
97
+ CUSTOM_DOMAIN: 'CUSTOM_DOMAIN',
98
+ CANCEL_ANYTIME: 'CANCEL_ANYTIME',
99
+ NO_WATERMARK: 'NO_WATERMARK',
100
+ } as const;
101
+
102
+ type FeatureKey = keyof typeof FEATURE_KEYS;
103
+
104
+ const FEATURE_CONFIG: Record<FeatureKey, (websiteName: string) => string> = {
105
+ PREMIUM_CONTENT: () => websiteContextualUpgradeModalTr('featurePremiumContent'),
106
+ STORE: () => websiteContextualUpgradeModalTr('featureStore'),
107
+ UNLIMITED_PAGES: () => websiteContextualUpgradeModalTr('featureUnlimitedPages'),
108
+ CUSTOMER_CARE: () => websiteContextualUpgradeModalTr('featureCustomerCare'),
109
+ CUSTOM_DOMAIN: () => websiteContextualUpgradeModalTr('featureCustomDomain'),
110
+ CANCEL_ANYTIME: () =>
111
+ `<div class="tw-text-success-500"><strong>${websiteContextualUpgradeModalTr('featureCancelAnytime')}</strong></div>`,
112
+ NO_WATERMARK: (websiteName: string) => websiteContextualUpgradeModalTr('featureNoWatermark', { websiteName }),
113
+ };
114
+
115
+ const FEATURE_ORDERS: Record<string, FeatureKey[]> = {
116
+ PremiumContent: [
117
+ 'PREMIUM_CONTENT',
118
+ 'STORE',
119
+ 'UNLIMITED_PAGES',
120
+ 'CUSTOMER_CARE',
121
+ 'CUSTOM_DOMAIN',
122
+ 'CANCEL_ANYTIME',
123
+ 'NO_WATERMARK',
124
+ ],
125
+ RemoveWatermark: [
126
+ 'NO_WATERMARK',
127
+ 'STORE',
128
+ 'UNLIMITED_PAGES',
129
+ 'CUSTOMER_CARE',
130
+ 'PREMIUM_CONTENT',
131
+ 'CANCEL_ANYTIME',
132
+ 'CUSTOM_DOMAIN',
133
+ ],
134
+ Default: [
135
+ 'UNLIMITED_PAGES',
136
+ 'STORE',
137
+ 'PREMIUM_CONTENT',
138
+ 'CUSTOMER_CARE',
139
+ 'CUSTOM_DOMAIN',
140
+ 'CANCEL_ANYTIME',
141
+ 'NO_WATERMARK',
142
+ ],
143
+ };
144
+
145
+ const toKebabCase = (value: string) =>
146
+ value
147
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
148
+ .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')
149
+ .toLowerCase();
150
+
151
+ const getFeatureOrder = (websiteName: string) => {
152
+ const contextTypeKey =
153
+ props.contextType === WEBSITE_UPGRADE_CONTEXT_TYPES.Maps ||
154
+ props.contextType === WEBSITE_UPGRADE_CONTEXT_TYPES.Videos ||
155
+ props.contextType === WEBSITE_UPGRADE_CONTEXT_TYPES.ContactForm
156
+ ? 'PremiumContent'
157
+ : props.contextType;
158
+
159
+ const order = FEATURE_ORDERS[contextTypeKey] || FEATURE_ORDERS.Default;
160
+
161
+ features.value = order.map((key) => FEATURE_CONFIG[key](websiteName));
162
+ };
163
+
164
+ const initModalContent = (websiteName: string) => {
165
+ const titleForIcon = `upgradeTo${props.contextType}`;
166
+ iconName.value = `websites-${toKebabCase(titleForIcon)}`;
167
+
168
+ titleText.value = websiteContextualUpgradeModalTr(`${titleForIcon}.title`);
169
+ descriptionText.value = websiteContextualUpgradeModalTr(`${titleForIcon}.description`);
170
+ upgradeButtonText.value = websiteContextualUpgradeModalTr('upgradeButtonText');
171
+
172
+ getFeatureOrder(websiteName);
173
+ };
174
+
175
+ const websiteName = props.isDesignCom ? 'Design.com' : 'BrandCrowd';
176
+ initModalContent(websiteName);
177
+
178
+ const emit = defineEmits<{
179
+ 'on-close-upgrade-modal': [];
180
+ 'on-upgrade-button-clicked': [];
181
+ }>();
182
+
183
+ const closeUpgradeModal = () => {
184
+ emit('on-close-upgrade-modal');
185
+ };
186
+
187
+ const onUpgradeClick = () => {
188
+ emit('on-upgrade-button-clicked');
189
+ };
190
+ </script>
191
+ <style scoped>
192
+ .bottom-bar {
193
+ @apply tw-absolute tw-p-4 tw-bottom-0 tw-left-0 tw-w-full tw-border-t tw-border-grayscale-300 md:tw-p-0 md:tw-relative md:tw-border-none;
194
+ }
195
+ .button-size {
196
+ @apply tw-w-full md:tw-max-w-40;
197
+ }
198
+ @media (max-width: 768px) {
199
+ .nothanks-button-mobile {
200
+ @apply tw-hidden;
201
+ }
202
+ }
203
+ </style>
@@ -1,42 +1,42 @@
1
- {
2
- "websiteContextualUpgradeModal": {
3
- "upgradeButtonText": "Jetzt upgraden",
4
- "closeButtonText": "Nein, danke",
5
- "featureCustomerCare": "Kundenbetreuung rund um die Uhr",
6
- "featureCustomDomain": "Eine benutzerdefinierte Domain verbinden",
7
- "featureNoWatermark": "Kein {{websiteName}}-Wasserzeichen",
8
- "featureUnlimitedPages": "Unbegrenzte Seiten",
9
- "featurePremiumContent": "Kontaktformulare, Videos und Karten",
10
- "featureStore": "Einfacher Online-Shop",
11
- "featureCancelAnytime": "Jederzeit kündigen",
12
- "premiumUpgradeNote": "Mit Premium erhalten Sie:",
13
- "upgradeToAddPage": {
14
- "title": "Mit einem Upgrade können Sie weitere Seiten hinzufügen.",
15
- "description": "Sie haben das kostenlose Seitenlimit erreicht. Mit einem Upgrade können Sie Ihre Website weiter ausbauen und alle Premium-Funktionen nutzen."
16
- },
17
- "upgradeToContactForm": {
18
- "title": "Upgraden, um das Kontaktformular freizuschalten",
19
- "description": "Lassen Sie Besucher Sie direkt erreichen. Führen Sie ein Upgrade durch, um ein Kontaktformular zu Ihrer Website hinzuzufügen und auf alle Premium-Funktionen zuzugreifen."
20
- },
21
- "upgradeToMaps": {
22
- "title": "Upgraden, um Karten freizuschalten",
23
- "description": "Helfen Sie den Besuchern, Sie leicht zu finden. Führen Sie ein Upgrade durch, um interaktive Karten in Ihre Website einzubetten und auf alle Premium-Funktionen zuzugreifen."
24
- },
25
- "upgradeToVideos": {
26
- "title": "Upgraden, um Videos freizuschalten",
27
- "description": "Erwecken Sie Ihren Inhalt zum Leben. Führen Sie ein Upgrade durch, um Videos in Ihre Website einzubetten, sie abzuspielen und auf alle Premium-Funktionen zuzugreifen."
28
- },
29
- "upgradeToRemoveWatermark": {
30
- "title": "Upgrade zum Entfernen des Wasserzeichens",
31
- "description": "Machen Sie sie wirklich zu Ihrer eigenen. Führen Sie ein Upgrade durch, um unser Wasserzeichen von Ihrer Website zu entfernen und auf alle Premium-Funktionen zuzugreifen."
32
- },
33
- "upgradeToPublish": {
34
- "title": "Zum Veröffentlichen upgraden",
35
- "description": "Sie können mit jedem Abonnement eine Website veröffentlichen. Fügen Sie ein weiteres Abonnement hinzu, um diese Website zu veröffentlichen und auf alle Premium-Funktionen zuzugreifen."
36
- },
37
- "upgradeToGoogleAd": {
38
- "title": "Upgraden, um Google AdSense freizuschalten",
39
- "description": "Verbinden Sie Google AdSense und verdienen Sie Geld mit Ihrem Traffic. Führen Sie ein Upgrade durch, um alle Premium-Funktionen freizuschalten."
40
- }
41
- }
42
- }
1
+ {
2
+ "websiteContextualUpgradeModal": {
3
+ "upgradeButtonText": "Jetzt upgraden",
4
+ "closeButtonText": "Nein, danke",
5
+ "featureCustomerCare": "Kundenbetreuung rund um die Uhr",
6
+ "featureCustomDomain": "Eine benutzerdefinierte Domain verbinden",
7
+ "featureNoWatermark": "Kein {{websiteName}}-Wasserzeichen",
8
+ "featureUnlimitedPages": "Unbegrenzte Seiten",
9
+ "featurePremiumContent": "Kontaktformulare, Videos und Karten",
10
+ "featureStore": "Einfacher Online-Shop",
11
+ "featureCancelAnytime": "Jederzeit kündigen",
12
+ "premiumUpgradeNote": "Mit Premium erhalten Sie:",
13
+ "upgradeToAddPage": {
14
+ "title": "Mit einem Upgrade können Sie weitere Seiten hinzufügen.",
15
+ "description": "Sie haben das kostenlose Seitenlimit erreicht. Mit einem Upgrade können Sie Ihre Website weiter ausbauen und alle Premium-Funktionen nutzen."
16
+ },
17
+ "upgradeToContactForm": {
18
+ "title": "Upgraden, um das Kontaktformular freizuschalten",
19
+ "description": "Lassen Sie Besucher Sie direkt erreichen. Führen Sie ein Upgrade durch, um ein Kontaktformular zu Ihrer Website hinzuzufügen und auf alle Premium-Funktionen zuzugreifen."
20
+ },
21
+ "upgradeToMaps": {
22
+ "title": "Upgraden, um Karten freizuschalten",
23
+ "description": "Helfen Sie den Besuchern, Sie leicht zu finden. Führen Sie ein Upgrade durch, um interaktive Karten in Ihre Website einzubetten und auf alle Premium-Funktionen zuzugreifen."
24
+ },
25
+ "upgradeToVideos": {
26
+ "title": "Upgraden, um Videos freizuschalten",
27
+ "description": "Erwecken Sie Ihren Inhalt zum Leben. Führen Sie ein Upgrade durch, um Videos in Ihre Website einzubetten, sie abzuspielen und auf alle Premium-Funktionen zuzugreifen."
28
+ },
29
+ "upgradeToRemoveWatermark": {
30
+ "title": "Upgrade zum Entfernen des Wasserzeichens",
31
+ "description": "Machen Sie sie wirklich zu Ihrer eigenen. Führen Sie ein Upgrade durch, um unser Wasserzeichen von Ihrer Website zu entfernen und auf alle Premium-Funktionen zuzugreifen."
32
+ },
33
+ "upgradeToPublish": {
34
+ "title": "Zum Veröffentlichen upgraden",
35
+ "description": "Sie können mit jedem Abonnement eine Website veröffentlichen. Fügen Sie ein weiteres Abonnement hinzu, um diese Website zu veröffentlichen und auf alle Premium-Funktionen zuzugreifen."
36
+ },
37
+ "upgradeToGoogleAd": {
38
+ "title": "Upgraden, um Google AdSense freizuschalten",
39
+ "description": "Verbinden Sie Google AdSense und verdienen Sie Geld mit Ihrem Traffic. Führen Sie ein Upgrade durch, um alle Premium-Funktionen freizuschalten."
40
+ }
41
+ }
42
+ }
@@ -1,42 +1,42 @@
1
- {
2
- "websiteContextualUpgradeModal": {
3
- "upgradeButtonText": "Hazte prémium ya",
4
- "closeButtonText": "No, gracias",
5
- "featureCustomerCare": "Atención al cliente 24/7",
6
- "featureCustomDomain": "Conecta un dominio personalizado",
7
- "featureNoWatermark": "Sin marca de agua {{websiteName}}",
8
- "featureUnlimitedPages": "Páginas ilimitadas",
9
- "featurePremiumContent": "Formularios de contacto, vídeos y mapas",
10
- "featureStore": "Tienda online básica",
11
- "featureCancelAnytime": "Cancela en cualquier momento",
12
- "premiumUpgradeNote": "Con prémium, obtendrás:",
13
- "upgradeToAddPage": {
14
- "title": "Mejora para añadir más páginas",
15
- "description": "Has alcanzado el límite de páginas gratis. Actualiza para seguir construyendo tu sitio y acceder a todas las características prémium."
16
- },
17
- "upgradeToContactForm": {
18
- "title": "Actualiza para desbloquear el formulario de contacto.",
19
- "description": "Deja que los visitantes lleguen hasta ti directamente. Actualiza para añadir un formulario de contacto a tu sitio y acceder a todas las características prémium."
20
- },
21
- "upgradeToMaps": {
22
- "title": "Actualiza para desbloquear los mapas.",
23
- "description": "Ayuda a los visitantes a encontrarte fácilmente. Actualiza para incrustar mapas interactivos en tu sitio y accede a todas las características prémium."
24
- },
25
- "upgradeToVideos": {
26
- "title": "Actualiza para desbloquear vídeos",
27
- "description": "Da vida a tu contenido. Actualiza para incrustar y reproducir vídeos en tu sitio y accede a todas las características prémium."
28
- },
29
- "upgradeToRemoveWatermark": {
30
- "title": "Actualiza para eliminar marca de agua",
31
- "description": "Hazlo tuyo de verdad. Actualiza para eliminar nuestra marca de agua de tu sitio web y accede a todas las características prémium."
32
- },
33
- "upgradeToPublish": {
34
- "title": "Actualiza para publicar",
35
- "description": "Cada suscripción te permite publicar un sitio web. Añade otra suscripción para publicar este sitio y acceder a todas las características prémium."
36
- },
37
- "upgradeToGoogleAd": {
38
- "title": "Actualiza para desbloquear Google AdSense",
39
- "description": "Conecta Google AdSense y empieza a ganar dinero con tu tráfico. Actualiza para desbloquear todas las características prémium."
40
- }
41
- }
42
- }
1
+ {
2
+ "websiteContextualUpgradeModal": {
3
+ "upgradeButtonText": "Hazte prémium ya",
4
+ "closeButtonText": "No, gracias",
5
+ "featureCustomerCare": "Atención al cliente 24/7",
6
+ "featureCustomDomain": "Conecta un dominio personalizado",
7
+ "featureNoWatermark": "Sin marca de agua {{websiteName}}",
8
+ "featureUnlimitedPages": "Páginas ilimitadas",
9
+ "featurePremiumContent": "Formularios de contacto, vídeos y mapas",
10
+ "featureStore": "Tienda online básica",
11
+ "featureCancelAnytime": "Cancela en cualquier momento",
12
+ "premiumUpgradeNote": "Con prémium, obtendrás:",
13
+ "upgradeToAddPage": {
14
+ "title": "Mejora para añadir más páginas",
15
+ "description": "Has alcanzado el límite de páginas gratis. Actualiza para seguir construyendo tu sitio y acceder a todas las características prémium."
16
+ },
17
+ "upgradeToContactForm": {
18
+ "title": "Actualiza para desbloquear el formulario de contacto.",
19
+ "description": "Deja que los visitantes lleguen hasta ti directamente. Actualiza para añadir un formulario de contacto a tu sitio y acceder a todas las características prémium."
20
+ },
21
+ "upgradeToMaps": {
22
+ "title": "Actualiza para desbloquear los mapas.",
23
+ "description": "Ayuda a los visitantes a encontrarte fácilmente. Actualiza para incrustar mapas interactivos en tu sitio y accede a todas las características prémium."
24
+ },
25
+ "upgradeToVideos": {
26
+ "title": "Actualiza para desbloquear vídeos",
27
+ "description": "Da vida a tu contenido. Actualiza para incrustar y reproducir vídeos en tu sitio y accede a todas las características prémium."
28
+ },
29
+ "upgradeToRemoveWatermark": {
30
+ "title": "Actualiza para eliminar marca de agua",
31
+ "description": "Hazlo tuyo de verdad. Actualiza para eliminar nuestra marca de agua de tu sitio web y accede a todas las características prémium."
32
+ },
33
+ "upgradeToPublish": {
34
+ "title": "Actualiza para publicar",
35
+ "description": "Cada suscripción te permite publicar un sitio web. Añade otra suscripción para publicar este sitio y acceder a todas las características prémium."
36
+ },
37
+ "upgradeToGoogleAd": {
38
+ "title": "Actualiza para desbloquear Google AdSense",
39
+ "description": "Conecta Google AdSense y empieza a ganar dinero con tu tráfico. Actualiza para desbloquear todas las características prémium."
40
+ }
41
+ }
42
+ }