@designcrowd/fe-shared-lib 1.5.36 → 1.6.0-eng-4039

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 (720) 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 +4 -4
  9. package/.storybook/preview-head.html +4 -4
  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/index.cjs +16 -16
  16. package/index.js +60 -62
  17. package/nodemon.translation.json +6 -6
  18. package/package.json +115 -115
  19. package/postcss.config.js +5 -5
  20. package/public/css/tailwind-brandCrowd.css +539 -523
  21. package/public/css/tailwind-brandPage.css +452 -420
  22. package/public/css/tailwind-crazyDomains.css +539 -523
  23. package/public/css/tailwind-designCom.css +539 -523
  24. package/public/css/tailwind-designCrowd.css +539 -523
  25. package/src/atoms/components/Button/Button.vue +341 -341
  26. package/src/atoms/components/Button/ButtonVariant.mixin.vue +126 -126
  27. package/src/atoms/components/Button/Buttons.stories.js +828 -828
  28. package/src/atoms/components/Button/ButtonsCrazyDomains.stories.js +117 -117
  29. package/src/atoms/components/Button/variants/ButtonAi.vue +63 -63
  30. package/src/atoms/components/Button/variants/ButtonDarkModePill.vue +52 -52
  31. package/src/atoms/components/Button/variants/ButtonFlat.vue +65 -65
  32. package/src/atoms/components/Button/variants/ButtonGray.vue +64 -64
  33. package/src/atoms/components/Button/variants/ButtonInfo.vue +51 -51
  34. package/src/atoms/components/Button/variants/ButtonInfoFilled.vue +63 -63
  35. package/src/atoms/components/Button/variants/ButtonNoBorder.vue +65 -65
  36. package/src/atoms/components/Button/variants/ButtonOutline.vue +62 -62
  37. package/src/atoms/components/Button/variants/ButtonOutlineNoHover.vue +62 -62
  38. package/src/atoms/components/Button/variants/ButtonOutlinePrimary.vue +53 -53
  39. package/src/atoms/components/Button/variants/ButtonOutlineSuccess.vue +54 -54
  40. package/src/atoms/components/Button/variants/ButtonPill.vue +52 -52
  41. package/src/atoms/components/Button/variants/ButtonPrimary.vue +69 -69
  42. package/src/atoms/components/Button/variants/ButtonPrimaryWithIcon.vue +68 -68
  43. package/src/atoms/components/Button/variants/ButtonSecondary.vue +51 -51
  44. package/src/atoms/components/Button/variants/ButtonSuccess.vue +55 -55
  45. package/src/atoms/components/Button/variants/ButtonWarning.vue +65 -65
  46. package/src/atoms/components/Button/variants/crazy-domains/ButtonCrazyDomainsOutline.vue +58 -58
  47. package/src/atoms/components/Button/variants/crazy-domains/ButtonCrazyDomainsPrimary.vue +38 -38
  48. package/src/atoms/components/ButtonGroup/ButtonGroup.stories.js +575 -575
  49. package/src/atoms/components/ButtonGroup/ButtonGroup.vue +200 -200
  50. package/src/atoms/components/Carousel/Carousel.fixtures.js +53 -53
  51. package/src/atoms/components/Carousel/Carousel.vue +384 -352
  52. package/src/atoms/components/Carousel/carousel.stories.js +652 -530
  53. package/src/atoms/components/Checkbox/Checkbox.mixin.js +57 -57
  54. package/src/atoms/components/Checkbox/Checkbox.stories.js +340 -340
  55. package/src/atoms/components/Checkbox/Checkbox.vue +84 -84
  56. package/src/atoms/components/Checktile/Checktile.stories.js +79 -79
  57. package/src/atoms/components/Checktile/Checktile.vue +73 -73
  58. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.mixin.js +38 -38
  59. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.stories.js +53 -53
  60. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.vue +33 -33
  61. package/src/atoms/components/ColorPicker/ColorPicker.stories.js +89 -89
  62. package/src/atoms/components/ColorPicker/ColorPicker.vue +95 -95
  63. package/src/atoms/components/CopyToClipboardText/CopyToClipboardText.stories.js +41 -41
  64. package/src/atoms/components/CopyToClipboardText/CopyToClipboardText.vue +71 -71
  65. package/src/atoms/components/Dropdown/Dropdown.stories.js +140 -140
  66. package/src/atoms/components/Dropdown/Dropdown.vue +123 -123
  67. package/src/atoms/components/Dropdown/DropdownItem.vue +33 -33
  68. package/src/atoms/components/FormControl/FormControl.mixin.js +136 -136
  69. package/src/atoms/components/HelloBar/HelloBar.stories.js +195 -195
  70. package/src/atoms/components/HelloBar/HelloBar.vue +156 -156
  71. package/src/atoms/components/Icon/Icon.stories.js +408 -408
  72. package/src/atoms/components/Icon/Icon.vue +924 -928
  73. package/src/atoms/components/Icon/icons/add-page.vue +6 -6
  74. package/src/atoms/components/Icon/icons/ai.vue +6 -6
  75. package/src/atoms/components/Icon/icons/annotate-heart.vue +7 -7
  76. package/src/atoms/components/Icon/icons/arrow-down.vue +6 -6
  77. package/src/atoms/components/Icon/icons/arrow-left.vue +7 -7
  78. package/src/atoms/components/Icon/icons/arrow-right.vue +7 -7
  79. package/src/atoms/components/Icon/icons/arrow-top-right.vue +6 -6
  80. package/src/atoms/components/Icon/icons/arrow-up-underline.vue +7 -7
  81. package/src/atoms/components/Icon/icons/arrow-up.vue +7 -7
  82. package/src/atoms/components/Icon/icons/attach.vue +6 -6
  83. package/src/atoms/components/Icon/icons/auth-facebook-white.vue +17 -17
  84. package/src/atoms/components/Icon/icons/auth-facebook.vue +24 -24
  85. package/src/atoms/components/Icon/icons/auth-google.vue +32 -32
  86. package/src/atoms/components/Icon/icons/award.vue +7 -7
  87. package/src/atoms/components/Icon/icons/background.vue +7 -7
  88. package/src/atoms/components/Icon/icons/badge.vue +7 -7
  89. package/src/atoms/components/Icon/icons/banner-centered.vue +6 -6
  90. package/src/atoms/components/Icon/icons/banner-left.vue +6 -6
  91. package/src/atoms/components/Icon/icons/banner.vue +7 -7
  92. package/src/atoms/components/Icon/icons/bc-mast.vue +7 -7
  93. package/src/atoms/components/Icon/icons/bezier-curve-outline.vue +7 -7
  94. package/src/atoms/components/Icon/icons/bezier-curve.vue +7 -7
  95. package/src/atoms/components/Icon/icons/briefcase.vue +7 -7
  96. package/src/atoms/components/Icon/icons/browser.vue +7 -7
  97. package/src/atoms/components/Icon/icons/brush.vue +6 -6
  98. package/src/atoms/components/Icon/icons/business-card-filled.vue +5 -5
  99. package/src/atoms/components/Icon/icons/business.vue +6 -6
  100. package/src/atoms/components/Icon/icons/calculator.vue +3 -3
  101. package/src/atoms/components/Icon/icons/calendar.vue +5 -5
  102. package/src/atoms/components/Icon/icons/callout-error.vue +6 -6
  103. package/src/atoms/components/Icon/icons/callout-info.vue +6 -6
  104. package/src/atoms/components/Icon/icons/callout-success.vue +8 -8
  105. package/src/atoms/components/Icon/icons/callout-warning.vue +6 -6
  106. package/src/atoms/components/Icon/icons/cap.vue +22 -22
  107. package/src/atoms/components/Icon/icons/card-vertical.vue +7 -7
  108. package/src/atoms/components/Icon/icons/card.vue +9 -9
  109. package/src/atoms/components/Icon/icons/cart-empty.vue +9 -9
  110. package/src/atoms/components/Icon/icons/check-thin.vue +7 -7
  111. package/src/atoms/components/Icon/icons/check.vue +3 -3
  112. package/src/atoms/components/Icon/icons/chevron-down.vue +7 -7
  113. package/src/atoms/components/Icon/icons/chevron-left.vue +7 -7
  114. package/src/atoms/components/Icon/icons/chevron-right-wide.vue +3 -3
  115. package/src/atoms/components/Icon/icons/chevron-right.vue +3 -3
  116. package/src/atoms/components/Icon/icons/chevron-up.vue +7 -7
  117. package/src/atoms/components/Icon/icons/clipboard-check.vue +6 -6
  118. package/src/atoms/components/Icon/icons/close.vue +6 -6
  119. package/src/atoms/components/Icon/icons/community.vue +5 -5
  120. package/src/atoms/components/Icon/icons/contact-message.vue +10 -10
  121. package/src/atoms/components/Icon/icons/content.vue +7 -7
  122. package/src/atoms/components/Icon/icons/copy.vue +10 -10
  123. package/src/atoms/components/Icon/icons/crazy-domains/filter.vue +6 -6
  124. package/src/atoms/components/Icon/icons/crazy-domains/globe.vue +6 -6
  125. package/src/atoms/components/Icon/icons/crazy-domains/home.vue +6 -6
  126. package/src/atoms/components/Icon/icons/crazy-domains/social-facebook.vue +6 -6
  127. package/src/atoms/components/Icon/icons/crazy-domains/social-google.vue +6 -6
  128. package/src/atoms/components/Icon/icons/crazy-domains/social-instagram.vue +6 -6
  129. package/src/atoms/components/Icon/icons/crazy-domains/social-twitter.vue +6 -6
  130. package/src/atoms/components/Icon/icons/crazy-domains/social-youtube.vue +6 -6
  131. package/src/atoms/components/Icon/icons/crop.vue +6 -6
  132. package/src/atoms/components/Icon/icons/crown-alt.vue +5 -5
  133. package/src/atoms/components/Icon/icons/crown.vue +6 -6
  134. package/src/atoms/components/Icon/icons/delete.vue +8 -8
  135. package/src/atoms/components/Icon/icons/designs.vue +6 -6
  136. package/src/atoms/components/Icon/icons/desktop.vue +7 -7
  137. package/src/atoms/components/Icon/icons/digital-business-card-filled.vue +8 -8
  138. package/src/atoms/components/Icon/icons/donate.vue +6 -6
  139. package/src/atoms/components/Icon/icons/download.vue +5 -5
  140. package/src/atoms/components/Icon/icons/duplicate.vue +6 -6
  141. package/src/atoms/components/Icon/icons/edit-line.vue +10 -10
  142. package/src/atoms/components/Icon/icons/edit.vue +6 -6
  143. package/src/atoms/components/Icon/icons/ellipsis.vue +6 -6
  144. package/src/atoms/components/Icon/icons/envelope-email.vue +9 -9
  145. package/src/atoms/components/Icon/icons/error.vue +8 -8
  146. package/src/atoms/components/Icon/icons/eye-crossed.vue +7 -7
  147. package/src/atoms/components/Icon/icons/eye-open.vue +11 -11
  148. package/src/atoms/components/Icon/icons/fees.vue +6 -6
  149. package/src/atoms/components/Icon/icons/file-empty.vue +7 -7
  150. package/src/atoms/components/Icon/icons/file.vue +7 -7
  151. package/src/atoms/components/Icon/icons/filter.vue +7 -7
  152. package/src/atoms/components/Icon/icons/filters.vue +6 -6
  153. package/src/atoms/components/Icon/icons/flag.vue +6 -6
  154. package/src/atoms/components/Icon/icons/flip-horizontal.vue +7 -7
  155. package/src/atoms/components/Icon/icons/flip-vertical.vue +7 -7
  156. package/src/atoms/components/Icon/icons/folder.vue +6 -6
  157. package/src/atoms/components/Icon/icons/font.vue +7 -7
  158. package/src/atoms/components/Icon/icons/footer-centered.vue +7 -7
  159. package/src/atoms/components/Icon/icons/footer-left.vue +7 -7
  160. package/src/atoms/components/Icon/icons/form-message.vue +6 -6
  161. package/src/atoms/components/Icon/icons/form.vue +5 -5
  162. package/src/atoms/components/Icon/icons/fullscreen-exit.vue +5 -5
  163. package/src/atoms/components/Icon/icons/fullscreen.vue +5 -5
  164. package/src/atoms/components/Icon/icons/globe.vue +6 -6
  165. package/src/atoms/components/Icon/icons/godaddy/logo.vue +5 -5
  166. package/src/atoms/components/Icon/icons/group.vue +6 -6
  167. package/src/atoms/components/Icon/icons/hamburger.vue +7 -7
  168. package/src/atoms/components/Icon/icons/headphones.vue +7 -7
  169. package/src/atoms/components/Icon/icons/home-outline.vue +6 -6
  170. package/src/atoms/components/Icon/icons/home.vue +7 -7
  171. package/src/atoms/components/Icon/icons/icon-style-circle-bg.vue +22 -22
  172. package/src/atoms/components/Icon/icons/icon-style-no-bg.vue +16 -16
  173. package/src/atoms/components/Icon/icons/icon-style-square-bg.vue +22 -22
  174. package/src/atoms/components/Icon/icons/image-gallery-carousel.vue +7 -7
  175. package/src/atoms/components/Icon/icons/image-gallery-grid.vue +7 -7
  176. package/src/atoms/components/Icon/icons/image-gallery-masonry.vue +6 -6
  177. package/src/atoms/components/Icon/icons/image.vue +7 -7
  178. package/src/atoms/components/Icon/icons/images-gallery.vue +5 -5
  179. package/src/atoms/components/Icon/icons/images.vue +7 -7
  180. package/src/atoms/components/Icon/icons/info.vue +9 -9
  181. package/src/atoms/components/Icon/icons/jobs.vue +8 -8
  182. package/src/atoms/components/Icon/icons/layer-bring-front.vue +6 -6
  183. package/src/atoms/components/Icon/icons/layer-send-back.vue +6 -6
  184. package/src/atoms/components/Icon/icons/layer.vue +6 -6
  185. package/src/atoms/components/Icon/icons/layout/display-style-about-1.vue +20 -20
  186. package/src/atoms/components/Icon/icons/layout/display-style-about-2.vue +20 -20
  187. package/src/atoms/components/Icon/icons/layout/display-style-about-3.vue +20 -20
  188. package/src/atoms/components/Icon/icons/layout/display-style-about-4.vue +32 -32
  189. package/src/atoms/components/Icon/icons/layout/display-style-about-5.vue +27 -27
  190. package/src/atoms/components/Icon/icons/layout/display-style-about-6.vue +27 -27
  191. package/src/atoms/components/Icon/icons/layout/display-style-banner-1.vue +20 -20
  192. package/src/atoms/components/Icon/icons/layout/display-style-banner-2.vue +20 -20
  193. package/src/atoms/components/Icon/icons/layout/display-style-banner-3.vue +20 -20
  194. package/src/atoms/components/Icon/icons/layout/display-style-banner-4.vue +20 -20
  195. package/src/atoms/components/Icon/icons/layout/display-style-banner-5.vue +20 -20
  196. package/src/atoms/components/Icon/icons/layout/display-style-banner-6.vue +27 -27
  197. package/src/atoms/components/Icon/icons/layout/display-style-banner-7.vue +27 -27
  198. package/src/atoms/components/Icon/icons/layout/display-style-banner-8.vue +20 -20
  199. package/src/atoms/components/Icon/icons/layout/display-style-banner-9.vue +20 -20
  200. package/src/atoms/components/Icon/icons/layout/display-style-contact-1.vue +24 -24
  201. package/src/atoms/components/Icon/icons/layout/display-style-contact-2.vue +24 -24
  202. package/src/atoms/components/Icon/icons/layout/display-style-contact-4.vue +24 -24
  203. package/src/atoms/components/Icon/icons/layout/display-style-contact-5.vue +39 -39
  204. package/src/atoms/components/Icon/icons/layout/display-style-contact-6.vue +39 -39
  205. package/src/atoms/components/Icon/icons/layout/footer/display-style-1.vue +7 -7
  206. package/src/atoms/components/Icon/icons/layout/footer/display-style-2.vue +16 -16
  207. package/src/atoms/components/Icon/icons/layout/header/desktop-hamburger-display-style-1.vue +17 -17
  208. package/src/atoms/components/Icon/icons/layout/header/desktop-hamburger-display-style-2.vue +17 -17
  209. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-1.vue +17 -17
  210. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-2.vue +17 -17
  211. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-3.vue +13 -13
  212. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-4.vue +13 -13
  213. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-5.vue +17 -17
  214. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-6.vue +17 -17
  215. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-1.vue +16 -16
  216. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-2.vue +16 -16
  217. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-3.vue +16 -16
  218. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-1.vue +17 -17
  219. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-2.vue +17 -17
  220. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-3.vue +17 -17
  221. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-4.vue +21 -21
  222. package/src/atoms/components/Icon/icons/layout/header/mobile-tab-display-style-1.vue +17 -17
  223. package/src/atoms/components/Icon/icons/layout/header/mobile-tab-display-style-2.vue +17 -17
  224. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-1.vue +16 -16
  225. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-2.vue +16 -16
  226. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-3.vue +16 -16
  227. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-normal-text-center-normal.vue +7 -7
  228. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-normal-text-center-small.vue +7 -7
  229. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-small-text-center-normal.vue +7 -7
  230. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-bottom.vue +11 -11
  231. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-circle.vue +10 -10
  232. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-top.vue +11 -11
  233. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-center-normal.vue +7 -7
  234. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-justify-normal.vue +7 -7
  235. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-left-normal.vue +7 -7
  236. package/src/atoms/components/Icon/icons/layout/layout-icon-left-small-text-left-normal.vue +7 -7
  237. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-center-normal.vue +7 -7
  238. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-justify-normal.vue +7 -7
  239. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-right-normal.vue +7 -7
  240. package/src/atoms/components/Icon/icons/layout/layout-icon-right-small-text-right-normal.vue +7 -7
  241. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-center-normal.vue +7 -7
  242. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-center-small.vue +7 -7
  243. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-justify-normal.vue +7 -7
  244. package/src/atoms/components/Icon/icons/layout/layout-icon-top-small-text-center-normal.vue +7 -7
  245. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-1.vue +16 -16
  246. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-2.vue +10 -10
  247. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-3.vue +10 -10
  248. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-4.vue +23 -23
  249. package/src/atoms/components/Icon/icons/layout/nav/tab/display-style-1.vue +16 -16
  250. package/src/atoms/components/Icon/icons/layout/nav/tab/display-style-2.vue +7 -7
  251. package/src/atoms/components/Icon/icons/letterhead-filled.vue +5 -5
  252. package/src/atoms/components/Icon/icons/lightning.vue +7 -7
  253. package/src/atoms/components/Icon/icons/link-in-bio-filled.vue +8 -8
  254. package/src/atoms/components/Icon/icons/link.vue +6 -6
  255. package/src/atoms/components/Icon/icons/location.vue +6 -6
  256. package/src/atoms/components/Icon/icons/lock.vue +6 -6
  257. package/src/atoms/components/Icon/icons/logo.vue +7 -7
  258. package/src/atoms/components/Icon/icons/mac-command.vue +7 -7
  259. package/src/atoms/components/Icon/icons/maker/align-center.vue +7 -7
  260. package/src/atoms/components/Icon/icons/maker/align-justify.vue +7 -7
  261. package/src/atoms/components/Icon/icons/maker/align-left.vue +7 -7
  262. package/src/atoms/components/Icon/icons/maker/align-right.vue +7 -7
  263. package/src/atoms/components/Icon/icons/maker/animate.vue +7 -7
  264. package/src/atoms/components/Icon/icons/maker/bold.vue +7 -7
  265. package/src/atoms/components/Icon/icons/maker/custom-landscape.vue +5 -5
  266. package/src/atoms/components/Icon/icons/maker/email-symbol.vue +5 -5
  267. package/src/atoms/components/Icon/icons/maker/email.vue +5 -5
  268. package/src/atoms/components/Icon/icons/maker/eraser.vue +5 -5
  269. package/src/atoms/components/Icon/icons/maker/etsy.vue +5 -5
  270. package/src/atoms/components/Icon/icons/maker/facebook.vue +5 -5
  271. package/src/atoms/components/Icon/icons/maker/favicon.vue +7 -7
  272. package/src/atoms/components/Icon/icons/maker/flyer.vue +7 -7
  273. package/src/atoms/components/Icon/icons/maker/gift-certificate.vue +5 -5
  274. package/src/atoms/components/Icon/icons/maker/globe.vue +5 -5
  275. package/src/atoms/components/Icon/icons/maker/image.vue +7 -7
  276. package/src/atoms/components/Icon/icons/maker/instagram.vue +7 -7
  277. package/src/atoms/components/Icon/icons/maker/invitation.vue +5 -5
  278. package/src/atoms/components/Icon/icons/maker/invoice.vue +5 -5
  279. package/src/atoms/components/Icon/icons/maker/italic.vue +7 -7
  280. package/src/atoms/components/Icon/icons/maker/link.vue +7 -7
  281. package/src/atoms/components/Icon/icons/maker/linkedin.vue +7 -7
  282. package/src/atoms/components/Icon/icons/maker/menu.vue +5 -5
  283. package/src/atoms/components/Icon/icons/maker/pause.vue +5 -5
  284. package/src/atoms/components/Icon/icons/maker/phone.vue +5 -5
  285. package/src/atoms/components/Icon/icons/maker/pinterest.vue +5 -5
  286. package/src/atoms/components/Icon/icons/maker/play.vue +5 -5
  287. package/src/atoms/components/Icon/icons/maker/postcard.vue +5 -5
  288. package/src/atoms/components/Icon/icons/maker/poster.vue +7 -7
  289. package/src/atoms/components/Icon/icons/maker/profile.vue +5 -5
  290. package/src/atoms/components/Icon/icons/maker/qrcode.vue +5 -5
  291. package/src/atoms/components/Icon/icons/maker/snapchat.vue +5 -5
  292. package/src/atoms/components/Icon/icons/maker/soundcloud.vue +7 -7
  293. package/src/atoms/components/Icon/icons/maker/spacing.vue +18 -18
  294. package/src/atoms/components/Icon/icons/maker/strikethrough.vue +7 -7
  295. package/src/atoms/components/Icon/icons/maker/t-shirt.vue +32 -32
  296. package/src/atoms/components/Icon/icons/maker/text-background-color.vue +12 -12
  297. package/src/atoms/components/Icon/icons/maker/text-color.vue +14 -14
  298. package/src/atoms/components/Icon/icons/maker/text.vue +7 -7
  299. package/src/atoms/components/Icon/icons/maker/thankyou-card.vue +5 -5
  300. package/src/atoms/components/Icon/icons/maker/tiktok.vue +5 -5
  301. package/src/atoms/components/Icon/icons/maker/tumblr.vue +5 -5
  302. package/src/atoms/components/Icon/icons/maker/twitch.vue +7 -7
  303. package/src/atoms/components/Icon/icons/maker/twitter.vue +5 -5
  304. package/src/atoms/components/Icon/icons/maker/underline.vue +7 -7
  305. package/src/atoms/components/Icon/icons/maker/uppercase.vue +14 -14
  306. package/src/atoms/components/Icon/icons/maker/video.vue +5 -5
  307. package/src/atoms/components/Icon/icons/maker/whatsapp.vue +7 -7
  308. package/src/atoms/components/Icon/icons/maker/youtube.vue +5 -5
  309. package/src/atoms/components/Icon/icons/maker/zoom.vue +5 -5
  310. package/src/atoms/components/Icon/icons/map.vue +6 -6
  311. package/src/atoms/components/Icon/icons/media.vue +3 -3
  312. package/src/atoms/components/Icon/icons/message.vue +6 -6
  313. package/src/atoms/components/Icon/icons/minus-circle-light.vue +7 -7
  314. package/src/atoms/components/Icon/icons/minus.vue +3 -3
  315. package/src/atoms/components/Icon/icons/mobile.vue +5 -5
  316. package/src/atoms/components/Icon/icons/mug.vue +29 -29
  317. package/src/atoms/components/Icon/icons/opacity.vue +6 -6
  318. package/src/atoms/components/Icon/icons/other.vue +7 -7
  319. package/src/atoms/components/Icon/icons/page-blank.vue +6 -6
  320. package/src/atoms/components/Icon/icons/page-buttons.vue +8 -8
  321. package/src/atoms/components/Icon/icons/page-hamburger.vue +9 -9
  322. package/src/atoms/components/Icon/icons/page-tabs.vue +9 -9
  323. package/src/atoms/components/Icon/icons/pages.vue +6 -6
  324. package/src/atoms/components/Icon/icons/palette-outline.vue +7 -7
  325. package/src/atoms/components/Icon/icons/palette.vue +6 -6
  326. package/src/atoms/components/Icon/icons/pause.vue +5 -5
  327. package/src/atoms/components/Icon/icons/payment.vue +8 -8
  328. package/src/atoms/components/Icon/icons/payments-featured.vue +6 -6
  329. package/src/atoms/components/Icon/icons/payments-textonly.vue +8 -8
  330. package/src/atoms/components/Icon/icons/payments-thumbnail.vue +9 -9
  331. package/src/atoms/components/Icon/icons/pen-outline.vue +7 -7
  332. package/src/atoms/components/Icon/icons/pen-sparkle.vue +17 -17
  333. package/src/atoms/components/Icon/icons/pen-tool.vue +7 -7
  334. package/src/atoms/components/Icon/icons/pen.vue +7 -7
  335. package/src/atoms/components/Icon/icons/phone.vue +6 -6
  336. package/src/atoms/components/Icon/icons/plus-circle-light.vue +8 -8
  337. package/src/atoms/components/Icon/icons/plus-circle.vue +7 -7
  338. package/src/atoms/components/Icon/icons/plus.vue +3 -3
  339. package/src/atoms/components/Icon/icons/poll.vue +3 -3
  340. package/src/atoms/components/Icon/icons/portfolio.vue +10 -10
  341. package/src/atoms/components/Icon/icons/premium-content.vue +8 -8
  342. package/src/atoms/components/Icon/icons/preview.vue +6 -6
  343. package/src/atoms/components/Icon/icons/printing.vue +6 -6
  344. package/src/atoms/components/Icon/icons/processing.vue +5 -5
  345. package/src/atoms/components/Icon/icons/question-alt.vue +20 -20
  346. package/src/atoms/components/Icon/icons/question.vue +11 -11
  347. package/src/atoms/components/Icon/icons/ratio-1-1.vue +3 -3
  348. package/src/atoms/components/Icon/icons/ratio-16-9.vue +1 -1
  349. package/src/atoms/components/Icon/icons/ratio-2-3.vue +3 -3
  350. package/src/atoms/components/Icon/icons/ratio-3-2.vue +3 -3
  351. package/src/atoms/components/Icon/icons/ratio-3-4.vue +3 -3
  352. package/src/atoms/components/Icon/icons/ratio-4-3.vue +3 -3
  353. package/src/atoms/components/Icon/icons/ratio-9-16.vue +3 -3
  354. package/src/atoms/components/Icon/icons/ratio-circle.vue +8 -8
  355. package/src/atoms/components/Icon/icons/ratio-original.vue +11 -11
  356. package/src/atoms/components/Icon/icons/redo.vue +6 -6
  357. package/src/atoms/components/Icon/icons/reload.vue +6 -6
  358. package/src/atoms/components/Icon/icons/reorderable.vue +5 -5
  359. package/src/atoms/components/Icon/icons/request-payment.vue +6 -6
  360. package/src/atoms/components/Icon/icons/reset.vue +6 -6
  361. package/src/atoms/components/Icon/icons/resize.vue +6 -6
  362. package/src/atoms/components/Icon/icons/search.vue +11 -11
  363. package/src/atoms/components/Icon/icons/secure.vue +7 -7
  364. package/src/atoms/components/Icon/icons/send.vue +12 -12
  365. package/src/atoms/components/Icon/icons/services.vue +7 -7
  366. package/src/atoms/components/Icon/icons/settings.vue +7 -7
  367. package/src/atoms/components/Icon/icons/shape.vue +5 -5
  368. package/src/atoms/components/Icon/icons/share.vue +9 -9
  369. package/src/atoms/components/Icon/icons/shield-tick.vue +6 -6
  370. package/src/atoms/components/Icon/icons/shop.vue +5 -5
  371. package/src/atoms/components/Icon/icons/sms.vue +5 -5
  372. package/src/atoms/components/Icon/icons/social-facebook-color.vue +9 -9
  373. package/src/atoms/components/Icon/icons/social-facebook.vue +5 -5
  374. package/src/atoms/components/Icon/icons/social-google.vue +5 -5
  375. package/src/atoms/components/Icon/icons/social-instagram-color.vue +24 -24
  376. package/src/atoms/components/Icon/icons/social-linkedin-color.vue +9 -9
  377. package/src/atoms/components/Icon/icons/social-share.vue +7 -7
  378. package/src/atoms/components/Icon/icons/social-twitter-color.vue +9 -9
  379. package/src/atoms/components/Icon/icons/sparkle-square.vue +22 -22
  380. package/src/atoms/components/Icon/icons/star-filled.vue +6 -6
  381. package/src/atoms/components/Icon/icons/star-hollow.vue +6 -6
  382. package/src/atoms/components/Icon/icons/sticker.vue +28 -28
  383. package/src/atoms/components/Icon/icons/stop.vue +5 -5
  384. package/src/atoms/components/Icon/icons/styles.vue +5 -5
  385. package/src/atoms/components/Icon/icons/submit.vue +5 -5
  386. package/src/atoms/components/Icon/icons/templates.vue +7 -7
  387. package/src/atoms/components/Icon/icons/text-image-center.vue +6 -6
  388. package/src/atoms/components/Icon/icons/text-image-justified.vue +7 -7
  389. package/src/atoms/components/Icon/icons/text-image-left.vue +9 -9
  390. package/src/atoms/components/Icon/icons/text-image-only.vue +5 -5
  391. package/src/atoms/components/Icon/icons/text-image-right.vue +9 -9
  392. package/src/atoms/components/Icon/icons/text-image.vue +13 -13
  393. package/src/atoms/components/Icon/icons/time.vue +8 -8
  394. package/src/atoms/components/Icon/icons/tooltip-bottom.vue +5 -5
  395. package/src/atoms/components/Icon/icons/tooltip-left.vue +5 -5
  396. package/src/atoms/components/Icon/icons/tooltip-right.vue +5 -5
  397. package/src/atoms/components/Icon/icons/tooltip-top.vue +5 -5
  398. package/src/atoms/components/Icon/icons/undo.vue +6 -6
  399. package/src/atoms/components/Icon/icons/upgrade-alt.vue +7 -7
  400. package/src/atoms/components/Icon/icons/upgrade.vue +9 -9
  401. package/src/atoms/components/Icon/icons/upload-arrow.vue +5 -5
  402. package/src/atoms/components/Icon/icons/upload.vue +5 -5
  403. package/src/atoms/components/Icon/icons/user-accounts.vue +5 -5
  404. package/src/atoms/components/Icon/icons/user-headset.vue +50 -50
  405. package/src/atoms/components/Icon/icons/volume-muted.vue +5 -5
  406. package/src/atoms/components/Icon/icons/volume.vue +5 -5
  407. package/src/atoms/components/Icon/icons/watchlist-filled.vue +14 -14
  408. package/src/atoms/components/Icon/icons/watchlist-hollow-alt.vue +14 -14
  409. package/src/atoms/components/Icon/icons/watchlist-hollow.vue +6 -6
  410. package/src/atoms/components/Icon/icons/website-filled.vue +5 -5
  411. package/src/atoms/components/Icon/icons/website.vue +6 -6
  412. package/src/atoms/components/Icon/icons/websites/upgrade-to-add-page.vue +50 -50
  413. package/src/atoms/components/Icon/icons/websites/upgrade-to-contact-form.vue +82 -82
  414. package/src/atoms/components/Icon/icons/websites/upgrade-to-google-ad.vue +92 -92
  415. package/src/atoms/components/Icon/icons/websites/upgrade-to-maps.vue +40 -40
  416. package/src/atoms/components/Icon/icons/websites/upgrade-to-publish.vue +107 -107
  417. package/src/atoms/components/Icon/icons/websites/upgrade-to-remove-watermark.vue +74 -74
  418. package/src/atoms/components/Icon/icons/websites/upgrade-to-videos.vue +16 -16
  419. package/src/atoms/components/Icon/icons/wholesale.vue +6 -6
  420. package/src/atoms/components/Icon/icons/zoom-in.vue +5 -5
  421. package/src/atoms/components/Icon/icons/zoom-out.vue +5 -5
  422. package/src/atoms/components/Icon/icons/zoom.vue +11 -11
  423. package/src/atoms/components/Loader/Loader.vue +15 -15
  424. package/src/atoms/components/Masonry/Masonry.stories.js +48 -48
  425. package/src/atoms/components/Masonry/Masonry.vue +48 -48
  426. package/src/atoms/components/Masonry/fixtures.js +589 -589
  427. package/src/atoms/components/Modal/HashRouteModal.stories.js +68 -68
  428. package/src/atoms/components/Modal/HashRouteModal.vue +120 -120
  429. package/src/atoms/components/Modal/Modal.stories.js +293 -293
  430. package/src/atoms/components/Modal/Modal.vue +263 -263
  431. package/src/atoms/components/Notice/Notice.stories.js +174 -174
  432. package/src/atoms/components/Notice/Notice.vue +71 -71
  433. package/src/atoms/components/NumberStepper/NumberStepper.stories.js +55 -55
  434. package/src/atoms/components/NumberStepper/NumberStepper.vue +340 -340
  435. package/src/atoms/components/Picture/Picture.stories.js +90 -90
  436. package/src/atoms/components/Picture/Picture.vue +84 -84
  437. package/src/atoms/components/Picture/picture.fixtures.js +35 -35
  438. package/src/atoms/components/Pill/Pill.stories.js +20 -20
  439. package/src/atoms/components/Pill/Pill.vue +8 -8
  440. package/src/atoms/components/PillBar/PillBar.fixtures.js +941 -941
  441. package/src/atoms/components/PillBar/PillBar.stories.js +39 -39
  442. package/src/atoms/components/PillBar/PillBar.vue +62 -62
  443. package/src/atoms/components/Price/Price.fixtures.js +85 -85
  444. package/src/atoms/components/Price/Price.stories.js +313 -313
  445. package/src/atoms/components/Price/Price.vue +135 -135
  446. package/src/atoms/components/Price/i18n/price.de-DE.json +5 -5
  447. package/src/atoms/components/Price/i18n/price.es-ES.json +5 -5
  448. package/src/atoms/components/Price/i18n/price.fr-CA.json +5 -5
  449. package/src/atoms/components/Price/i18n/price.fr-FR.json +5 -5
  450. package/src/atoms/components/Price/i18n/price.json +5 -5
  451. package/src/atoms/components/Price/i18n/price.pt-BR.json +5 -5
  452. package/src/atoms/components/Price/i18n/price.pt-PT.json +5 -5
  453. package/src/atoms/components/PromoCard/PromoCard.stories.ts +263 -263
  454. package/src/atoms/components/PromoCard/PromoCard.vue +83 -83
  455. package/src/atoms/components/SearchBar/SearchBar.stories.js +21 -21
  456. package/src/atoms/components/SearchBar/SearchBar.vue +51 -51
  457. package/src/atoms/components/Select/Select.stories.js +142 -142
  458. package/src/atoms/components/Select/Select.vue +619 -619
  459. package/src/atoms/components/Select/pointerMixin.js +99 -99
  460. package/src/atoms/components/Select/selectMixin.js +356 -356
  461. package/src/atoms/components/SparkleIcon/SparkleIcon.stories.js +386 -386
  462. package/src/atoms/components/SparkleIcon/SparkleIcon.vue +136 -136
  463. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-01.svg +5 -5
  464. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-02.svg +5 -5
  465. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-03.svg +5 -5
  466. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-04.svg +5 -5
  467. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-05.svg +5 -5
  468. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-06.svg +5 -5
  469. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-07.svg +5 -5
  470. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-08.svg +5 -5
  471. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-01.svg +5 -5
  472. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-02.svg +14 -14
  473. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-03.svg +14 -14
  474. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-04.svg +14 -14
  475. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-05.svg +14 -14
  476. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-06.svg +14 -14
  477. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-07.svg +14 -14
  478. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-08.svg +14 -14
  479. package/src/atoms/components/SparkleIcon/assets/sparkle.svg +3 -3
  480. package/src/atoms/components/SparkleIcon/index.ts +3 -3
  481. package/src/atoms/components/SparkleIcon/sparkle-paths.ts +54 -54
  482. package/src/atoms/components/SparkleIcon/sparkle-with-spinner-paths.ts +61 -61
  483. package/src/atoms/components/StarRating/StarRating.stories.js +50 -50
  484. package/src/atoms/components/StarRating/StarRating.vue +84 -84
  485. package/src/atoms/components/TabMenu/TabMenu.stories.js +54 -54
  486. package/src/atoms/components/TabMenu/TabMenu.vue +44 -44
  487. package/src/atoms/components/TextCopyField/TextCopyField.stories.js +68 -68
  488. package/src/atoms/components/TextCopyField/TextCopyField.vue +75 -75
  489. package/src/atoms/components/TextInput/TextInput.stories.js +232 -232
  490. package/src/atoms/components/TextInput/TextInput.vue +161 -161
  491. package/src/atoms/components/Textarea/Textarea.stories.js +209 -209
  492. package/src/atoms/components/Textarea/Textarea.vue +112 -112
  493. package/src/atoms/components/Toggle/Toggle.stories.js +176 -176
  494. package/src/atoms/components/Toggle/Toggle.vue +69 -69
  495. package/src/atoms/components/Tooltip/Tooltip.stories.js +493 -493
  496. package/src/atoms/components/Tooltip/Tooltip.vue +196 -196
  497. package/src/atoms/components/design-com/Icon/Icon.stories.js +94 -94
  498. package/src/atoms/components/design-com/Icon/Icon.vue +181 -181
  499. package/src/atoms/components/design-com/Icon/icons/ai.vue +5 -5
  500. package/src/atoms/components/design-com/Icon/icons/award.vue +7 -7
  501. package/src/atoms/components/design-com/Icon/icons/badge.vue +7 -7
  502. package/src/atoms/components/design-com/Icon/icons/briefcase.vue +6 -6
  503. package/src/atoms/components/design-com/Icon/icons/browser.vue +7 -7
  504. package/src/atoms/components/design-com/Icon/icons/bulb.vue +7 -7
  505. package/src/atoms/components/design-com/Icon/icons/card-vertical.vue +8 -8
  506. package/src/atoms/components/design-com/Icon/icons/card.vue +6 -6
  507. package/src/atoms/components/design-com/Icon/icons/check-circle-light.vue +7 -7
  508. package/src/atoms/components/design-com/Icon/icons/chevron-down.vue +7 -7
  509. package/src/atoms/components/design-com/Icon/icons/chevron-left.vue +7 -7
  510. package/src/atoms/components/design-com/Icon/icons/chevron-right.vue +3 -3
  511. package/src/atoms/components/design-com/Icon/icons/chevron-up.vue +7 -7
  512. package/src/atoms/components/design-com/Icon/icons/diamond.vue +7 -7
  513. package/src/atoms/components/design-com/Icon/icons/download.vue +7 -7
  514. package/src/atoms/components/design-com/Icon/icons/file-empty.vue +7 -7
  515. package/src/atoms/components/design-com/Icon/icons/file.vue +7 -7
  516. package/src/atoms/components/design-com/Icon/icons/filter.vue +7 -7
  517. package/src/atoms/components/design-com/Icon/icons/folder.vue +5 -5
  518. package/src/atoms/components/design-com/Icon/icons/font.vue +7 -7
  519. package/src/atoms/components/design-com/Icon/icons/headphones.vue +7 -7
  520. package/src/atoms/components/design-com/Icon/icons/heart.vue +7 -7
  521. package/src/atoms/components/design-com/Icon/icons/image.vue +7 -7
  522. package/src/atoms/components/design-com/Icon/icons/lightning.vue +7 -7
  523. package/src/atoms/components/design-com/Icon/icons/logo.vue +7 -7
  524. package/src/atoms/components/design-com/Icon/icons/minus-circle-light.vue +7 -7
  525. package/src/atoms/components/design-com/Icon/icons/plus-circle-light.vue +8 -8
  526. package/src/atoms/components/design-com/Icon/icons/printing.vue +5 -5
  527. package/src/atoms/components/design-com/Icon/icons/question-circle-filled.vue +7 -7
  528. package/src/atoms/components/design-com/Icon/icons/search.vue +7 -7
  529. package/src/atoms/components/design-com/Icon/icons/shield-tick.vue +5 -5
  530. package/src/atoms/components/design-com/Icon/icons/star-filled.vue +6 -6
  531. package/src/atoms/components/design-com/Icon/icons/star-hollow.vue +6 -6
  532. package/src/atoms/components/design-com/Icon/icons/users.vue +7 -7
  533. package/src/atoms/constants/constants.ts +6 -6
  534. package/src/atoms/mixin/hash-router-mixin.js +68 -68
  535. package/src/atoms/thirdparty-components/VueMasonryWall/VueMasonryWall.vue +280 -280
  536. package/src/atoms/thirdparty-components/VueMasonryWall/maxBy.js +50 -50
  537. package/src/bundleTranslation.js +86 -86
  538. package/src/bundles/bundled-translations.de-DE.json +8 -52
  539. package/src/bundles/bundled-translations.es-ES.json +8 -52
  540. package/src/bundles/bundled-translations.fr-CA.json +8 -52
  541. package/src/bundles/bundled-translations.fr-FR.json +8 -52
  542. package/src/bundles/bundled-translations.json +8 -52
  543. package/src/bundles/bundled-translations.pt-BR.json +8 -52
  544. package/src/bundles/bundled-translations.pt-PT.json +8 -52
  545. package/src/css/tailwind.css +3 -3
  546. package/src/experiences/clients/brand-crowd-api.client.js +124 -142
  547. package/src/experiences/clients/brand-page-api.client.js +62 -62
  548. package/src/experiences/components/AuthFlow/Auth.fixtures.js +4 -4
  549. package/src/experiences/components/AuthFlow/Auth.stories.js +345 -345
  550. package/src/experiences/components/AuthFlow/AuthCrazyDomains.stories.js +60 -60
  551. package/src/experiences/components/AuthFlow/AuthLegal.vue +108 -108
  552. package/src/experiences/components/AuthFlow/AuthModal.vue +39 -39
  553. package/src/experiences/components/AuthFlow/ForgotPassword.vue +222 -222
  554. package/src/experiences/components/AuthFlow/ForgotPasswordModal.vue +68 -68
  555. package/src/experiences/components/AuthFlow/ResetPassword.vue +179 -179
  556. package/src/experiences/components/AuthFlow/ResetPasswordModal.vue +64 -64
  557. package/src/experiences/components/AuthFlow/ResetPasswordSuccessModal.vue +56 -56
  558. package/src/experiences/components/AuthFlow/SignIn.vue +472 -472
  559. package/src/experiences/components/AuthFlow/SignUp.vue +278 -278
  560. package/src/experiences/components/AuthFlow/SignUpModal.vue +90 -90
  561. package/src/experiences/components/AuthFlow/SocialSignIn.vue +177 -177
  562. package/src/experiences/components/AuthFlow/SocialSignInButton.vue +74 -74
  563. package/src/experiences/components/AuthFlow/SubmissionButton.vue +56 -56
  564. package/src/experiences/components/PaymentConfigList/PaymentConfig.mixin.js +118 -118
  565. package/src/experiences/components/PaymentConfigList/PaymentConfigDeleteConfigModal.vue +108 -108
  566. package/src/experiences/components/PaymentConfigList/PaymentConfigDropdown.vue +175 -175
  567. package/src/experiences/components/PaymentConfigList/PaymentConfigList.stories.js +234 -234
  568. package/src/experiences/components/PaymentConfigList/PaymentConfigList.vue +136 -136
  569. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.de-DE.json +11 -11
  570. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.es-ES.json +11 -11
  571. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.fr-CA.json +11 -11
  572. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.fr-FR.json +11 -11
  573. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.json +11 -11
  574. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.pt-BR.json +11 -11
  575. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.pt-PT.json +11 -11
  576. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageCard.vue +119 -119
  577. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.stories.js +262 -262
  578. package/src/experiences/components/PublishBrandPageModal/__fixtures__/data.js +25 -25
  579. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.de-DE.json +26 -26
  580. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.es-ES.json +26 -26
  581. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-CA.json +26 -26
  582. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-FR.json +26 -26
  583. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.json +26 -26
  584. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-BR.json +26 -26
  585. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-PT.json +26 -26
  586. package/src/experiences/components/SellDomainNameList/SellDomainNameList.fixtures.js +32 -32
  587. package/src/experiences/components/SellDomainNameList/SellDomainNameList.vue +157 -157
  588. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.de-DE.json +7 -7
  589. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.es-ES.json +7 -7
  590. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-CA.json +7 -7
  591. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-FR.json +7 -7
  592. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.json +7 -7
  593. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-BR.json +7 -7
  594. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-PT.json +7 -7
  595. package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.stories.js +74 -74
  596. package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.vue +128 -128
  597. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.de-DE.json +5 -5
  598. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.es-ES.json +5 -5
  599. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-CA.json +5 -5
  600. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-FR.json +5 -5
  601. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.json +5 -5
  602. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-BR.json +5 -5
  603. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-PT.json +5 -5
  604. package/src/experiences/components/SellDomainNameModalApplication/SellDomainNameModalApplication.vue +222 -222
  605. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.de-DE.json +5 -5
  606. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.es-ES.json +5 -5
  607. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-CA.json +5 -5
  608. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-FR.json +5 -5
  609. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.json +5 -5
  610. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-BR.json +5 -5
  611. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-PT.json +5 -5
  612. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.de-DE.json +7 -7
  613. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.es-ES.json +7 -7
  614. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-CA.json +7 -7
  615. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-FR.json +7 -7
  616. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.json +7 -7
  617. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-BR.json +7 -7
  618. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-PT.json +7 -7
  619. package/src/experiences/components/SellDomainNameSearchResult/SellDomainNameListSearchResult.vue +167 -167
  620. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.de-DE.json +5 -5
  621. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.es-ES.json +5 -5
  622. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-CA.json +5 -5
  623. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-FR.json +5 -5
  624. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.json +5 -5
  625. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-BR.json +5 -5
  626. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-PT.json +5 -5
  627. package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.stories.js +38 -38
  628. package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.vue +223 -223
  629. package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.stories.js +40 -40
  630. package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.vue +155 -155
  631. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.de-DE.json +7 -7
  632. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.es-ES.json +7 -7
  633. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-CA.json +7 -7
  634. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-FR.json +7 -7
  635. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.json +7 -7
  636. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-BR.json +7 -7
  637. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-PT.json +7 -7
  638. package/src/experiences/components/SideNavigationPanel/MenuCta.vue +62 -62
  639. package/src/experiences/components/SideNavigationPanel/MenuItem.vue +40 -40
  640. package/src/experiences/components/SideNavigationPanel/SideNavigationPanel.stories.js +219 -219
  641. package/src/experiences/components/SideNavigationPanel/SideNavigationPanel.vue +48 -48
  642. package/src/experiences/components/SideNavigationPanel/types.ts +7 -7
  643. package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.stories.js +205 -254
  644. package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.vue +133 -163
  645. package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.stories.js +59 -59
  646. package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.vue +285 -285
  647. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.stories.js +37 -37
  648. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.vue +338 -338
  649. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessText.vue +146 -146
  650. package/src/experiences/components/UploadYourLogoOnBoarding/LogoCropper.vue +473 -473
  651. package/src/experiences/components/UploadYourLogoOnBoarding/LogoPreview.vue +103 -103
  652. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadError.vue +75 -75
  653. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadExitConfirmation.vue +55 -55
  654. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadModal.vue +38 -38
  655. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploader.vue +102 -109
  656. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadingLoader.vue +22 -39
  657. package/src/experiences/components/UploadYourLogoOnBoarding/UploadYourLogoOnBoarding.vue +302 -363
  658. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.de-DE.json +34 -37
  659. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.es-ES.json +34 -37
  660. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-CA.json +34 -37
  661. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-FR.json +34 -37
  662. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.json +35 -37
  663. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-BR.json +34 -37
  664. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-PT.json +34 -37
  665. package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.stories.js +82 -82
  666. package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.vue +211 -211
  667. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.de-DE.json +8 -8
  668. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.es-ES.json +8 -8
  669. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.fr-CA.json +8 -8
  670. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.fr-FR.json +8 -8
  671. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.json +8 -8
  672. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.pt-BR.json +8 -8
  673. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.pt-PT.json +8 -8
  674. package/src/experiences/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.stories.js +181 -181
  675. package/src/experiences/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.vue +203 -203
  676. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.de-DE.json +42 -42
  677. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.es-ES.json +42 -42
  678. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.fr-CA.json +42 -42
  679. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.fr-FR.json +42 -42
  680. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.json +42 -42
  681. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.pt-BR.json +42 -42
  682. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.pt-PT.json +42 -42
  683. package/src/experiences/constants/api.js +8 -9
  684. package/src/experiences/constants/error-constants.js +5 -5
  685. package/src/experiences/constants/event-constants.js +18 -18
  686. package/src/experiences/constants/partner-dictionary-constants.js +27 -27
  687. package/src/experiences/constants/rego-source-constants.js +3 -3
  688. package/src/experiences/constants/sell-domain-name-constants.js +4 -4
  689. package/src/experiences/helpers/email-validator.js +5 -5
  690. package/src/experiences/helpers/hex-diff.js +116 -116
  691. package/src/experiences/helpers/tracking.js +5 -5
  692. package/src/experiences/mixins/mediaQueryMixin.js +31 -31
  693. package/src/experiences/mixins/themeMixin.js +22 -22
  694. package/src/experiences/models/websiteContextualModel.ts +11 -11
  695. package/src/themes/base.js +20 -20
  696. package/src/themes/bc.js +95 -95
  697. package/src/themes/bp.js +21 -21
  698. package/src/themes/cd.js +94 -94
  699. package/src/themes/dc.js +84 -84
  700. package/src/themes/dcom.js +106 -106
  701. package/src/themes/themes.js +16 -16
  702. package/src/useSharedLibTranslate.js +131 -131
  703. package/src/viewports.js +51 -51
  704. package/stylelint.config.js +19 -19
  705. package/tailwind.build.js +83 -83
  706. package/tailwind.config.js +36 -36
  707. package/tailwind.themes.js +59 -59
  708. package/vite.config.ts +37 -37
  709. package/dist/css/tailwind-brandCrowd.css +0 -2557
  710. package/dist/css/tailwind-brandPage.css +0 -2241
  711. package/dist/css/tailwind-crazyDomains.css +0 -2557
  712. package/dist/css/tailwind-designCom.css +0 -2557
  713. package/dist/css/tailwind-designCrowd.css +0 -2557
  714. package/docs/plans/DY-957-plan-phase-2-fe-shared-lib.md +0 -382
  715. package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.stories.js +0 -364
  716. package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.vue +0 -296
  717. package/src/atoms/components/Icon/icons/history.vue +0 -12
  718. package/src/atoms/components/Icon/icons/save.vue +0 -6
  719. package/src/experiences/components/UploadYourLogoOnBoarding/LogoKeywords.stories.js +0 -65
  720. package/src/experiences/components/UploadYourLogoOnBoarding/LogoKeywords.vue +0 -156
@@ -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
+ }