@designcrowd/fe-shared-lib 1.5.6 → 1.5.7-eng-3522
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.
- package/.eslintrc.js +36 -36
- package/.github/workflows/auto-merge.yml +52 -52
- package/.prettierrc.js +7 -7
- package/.storybook/main.ts +36 -36
- package/.storybook/preview-head-master.html +4 -4
- package/.storybook/preview-head-publish-master.html +4 -4
- package/.storybook/preview-head-publish.html +9 -9
- package/.storybook/preview-head.html +9 -9
- package/.storybook/preview.js +53 -53
- package/CLAUDE.md +70 -70
- package/Dockerfile +43 -43
- package/README.md +103 -103
- package/buildspec.yml +47 -47
- package/index.cjs +16 -16
- package/index.js +58 -58
- package/nodemon.translation.json +6 -6
- package/package.json +115 -115
- package/postcss.config.js +5 -5
- package/{dist → public}/css/tailwind-brandCrowd.css +949 -1132
- package/{dist → public}/css/tailwind-brandPage.css +818 -976
- package/{dist → public}/css/tailwind-crazyDomains.css +949 -1132
- package/{dist → public}/css/tailwind-designCom.css +949 -1132
- package/{dist → public}/css/tailwind-designCrowd.css +949 -1132
- package/src/atoms/components/Button/Button.vue +341 -341
- package/src/atoms/components/Button/ButtonVariant.mixin.vue +126 -126
- package/src/atoms/components/Button/Buttons.stories.js +828 -828
- package/src/atoms/components/Button/ButtonsCrazyDomains.stories.js +117 -117
- package/src/atoms/components/Button/variants/ButtonAi.vue +63 -63
- package/src/atoms/components/Button/variants/ButtonDarkModePill.vue +52 -52
- package/src/atoms/components/Button/variants/ButtonFlat.vue +65 -65
- package/src/atoms/components/Button/variants/ButtonGray.vue +64 -64
- package/src/atoms/components/Button/variants/ButtonInfo.vue +51 -51
- package/src/atoms/components/Button/variants/ButtonInfoFilled.vue +63 -63
- package/src/atoms/components/Button/variants/ButtonNoBorder.vue +65 -65
- package/src/atoms/components/Button/variants/ButtonOutline.vue +62 -62
- package/src/atoms/components/Button/variants/ButtonOutlineNoHover.vue +62 -62
- package/src/atoms/components/Button/variants/ButtonOutlinePrimary.vue +53 -53
- package/src/atoms/components/Button/variants/ButtonOutlineSuccess.vue +54 -54
- package/src/atoms/components/Button/variants/ButtonPill.vue +52 -52
- package/src/atoms/components/Button/variants/ButtonPrimary.vue +69 -69
- package/src/atoms/components/Button/variants/ButtonPrimaryWithIcon.vue +68 -68
- package/src/atoms/components/Button/variants/ButtonSecondary.vue +51 -51
- package/src/atoms/components/Button/variants/ButtonSuccess.vue +55 -55
- package/src/atoms/components/Button/variants/ButtonWarning.vue +65 -65
- package/src/atoms/components/Button/variants/crazy-domains/ButtonCrazyDomainsOutline.vue +58 -58
- package/src/atoms/components/Button/variants/crazy-domains/ButtonCrazyDomainsPrimary.vue +38 -38
- package/src/atoms/components/ButtonGroup/ButtonGroup.stories.js +575 -575
- package/src/atoms/components/ButtonGroup/ButtonGroup.vue +200 -200
- package/src/atoms/components/Carousel/Carousel.fixtures.js +53 -53
- package/src/atoms/components/Carousel/Carousel.vue +352 -352
- package/src/atoms/components/Carousel/carousel.stories.js +530 -530
- package/src/atoms/components/Checkbox/Checkbox.mixin.js +57 -57
- package/src/atoms/components/Checkbox/Checkbox.stories.js +340 -340
- package/src/atoms/components/Checkbox/Checkbox.vue +84 -84
- package/src/atoms/components/Checktile/Checktile.stories.js +79 -79
- package/src/atoms/components/Checktile/Checktile.vue +73 -73
- package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.mixin.js +38 -38
- package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.stories.js +53 -53
- package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.vue +33 -33
- package/src/atoms/components/ColorPicker/ColorPicker.stories.js +89 -89
- package/src/atoms/components/ColorPicker/ColorPicker.vue +95 -95
- package/src/atoms/components/CopyToClipboardText/CopyToClipboardText.stories.js +41 -41
- package/src/atoms/components/CopyToClipboardText/CopyToClipboardText.vue +71 -71
- package/src/atoms/components/Dropdown/Dropdown.stories.js +140 -140
- package/src/atoms/components/Dropdown/Dropdown.vue +118 -118
- package/src/atoms/components/Dropdown/DropdownItem.vue +33 -33
- package/src/atoms/components/FormControl/FormControl.mixin.js +136 -136
- package/src/atoms/components/HelloBar/HelloBar.stories.js +195 -195
- package/src/atoms/components/HelloBar/HelloBar.vue +156 -156
- package/src/atoms/components/Icon/Icon.stories.js +401 -400
- package/src/atoms/components/Icon/Icon.vue +850 -848
- package/src/atoms/components/Icon/icons/add-page.vue +6 -6
- package/src/atoms/components/Icon/icons/ai.vue +6 -6
- package/src/atoms/components/Icon/icons/arrow-down.vue +6 -6
- package/src/atoms/components/Icon/icons/arrow-left.vue +7 -7
- package/src/atoms/components/Icon/icons/arrow-right.vue +7 -7
- package/src/atoms/components/Icon/icons/arrow-top-right.vue +6 -6
- package/src/atoms/components/Icon/icons/arrow-up-underline.vue +7 -7
- package/src/atoms/components/Icon/icons/arrow-up.vue +7 -7
- package/src/atoms/components/Icon/icons/attach.vue +6 -6
- package/src/atoms/components/Icon/icons/auth-facebook-white.vue +17 -17
- package/src/atoms/components/Icon/icons/auth-facebook.vue +24 -24
- package/src/atoms/components/Icon/icons/auth-google.vue +32 -32
- package/src/atoms/components/Icon/icons/background.vue +7 -7
- package/src/atoms/components/Icon/icons/badge.vue +7 -7
- package/src/atoms/components/Icon/icons/banner-centered.vue +6 -6
- package/src/atoms/components/Icon/icons/banner-left.vue +6 -6
- package/src/atoms/components/Icon/icons/banner.vue +7 -7
- package/src/atoms/components/Icon/icons/bc-mast.vue +7 -7
- package/src/atoms/components/Icon/icons/briefcase.vue +7 -7
- package/src/atoms/components/Icon/icons/brush.vue +6 -6
- package/src/atoms/components/Icon/icons/business-card-filled.vue +5 -5
- package/src/atoms/components/Icon/icons/business.vue +6 -6
- package/src/atoms/components/Icon/icons/calculator.vue +3 -3
- package/src/atoms/components/Icon/icons/calendar.vue +5 -5
- package/src/atoms/components/Icon/icons/callout-error.vue +6 -6
- package/src/atoms/components/Icon/icons/callout-info.vue +6 -6
- package/src/atoms/components/Icon/icons/callout-success.vue +8 -8
- package/src/atoms/components/Icon/icons/callout-warning.vue +6 -6
- package/src/atoms/components/Icon/icons/cap.vue +22 -22
- package/src/atoms/components/Icon/icons/card.vue +9 -9
- package/src/atoms/components/Icon/icons/cart-empty.vue +9 -9
- package/src/atoms/components/Icon/icons/check-thin.vue +7 -7
- package/src/atoms/components/Icon/icons/check.vue +3 -3
- package/src/atoms/components/Icon/icons/chevron-down.vue +7 -7
- package/src/atoms/components/Icon/icons/chevron-left.vue +7 -7
- package/src/atoms/components/Icon/icons/chevron-right-wide.vue +3 -3
- package/src/atoms/components/Icon/icons/chevron-right.vue +3 -3
- package/src/atoms/components/Icon/icons/chevron-up.vue +7 -7
- package/src/atoms/components/Icon/icons/clipboard-check.vue +6 -6
- package/src/atoms/components/Icon/icons/close.vue +6 -6
- package/src/atoms/components/Icon/icons/community.vue +5 -5
- package/src/atoms/components/Icon/icons/contact-message.vue +10 -10
- package/src/atoms/components/Icon/icons/content.vue +7 -7
- package/src/atoms/components/Icon/icons/copy.vue +10 -10
- package/src/atoms/components/Icon/icons/crazy-domains/filter.vue +6 -6
- package/src/atoms/components/Icon/icons/crazy-domains/globe.vue +6 -6
- package/src/atoms/components/Icon/icons/crazy-domains/home.vue +6 -6
- package/src/atoms/components/Icon/icons/crazy-domains/social-facebook.vue +6 -6
- package/src/atoms/components/Icon/icons/crazy-domains/social-google.vue +6 -6
- package/src/atoms/components/Icon/icons/crazy-domains/social-instagram.vue +6 -6
- package/src/atoms/components/Icon/icons/crazy-domains/social-twitter.vue +6 -6
- package/src/atoms/components/Icon/icons/crazy-domains/social-youtube.vue +6 -6
- package/src/atoms/components/Icon/icons/crop.vue +6 -6
- package/src/atoms/components/Icon/icons/delete.vue +8 -8
- package/src/atoms/components/Icon/icons/designs.vue +6 -6
- package/src/atoms/components/Icon/icons/desktop.vue +7 -7
- package/src/atoms/components/Icon/icons/donate.vue +6 -6
- package/src/atoms/components/Icon/icons/download.vue +5 -5
- package/src/atoms/components/Icon/icons/duplicate.vue +6 -6
- package/src/atoms/components/Icon/icons/edit-line.vue +10 -10
- package/src/atoms/components/Icon/icons/edit.vue +6 -6
- package/src/atoms/components/Icon/icons/ellipsis.vue +6 -6
- package/src/atoms/components/Icon/icons/envelope-email.vue +9 -9
- package/src/atoms/components/Icon/icons/error.vue +8 -8
- package/src/atoms/components/Icon/icons/eye-crossed.vue +7 -7
- package/src/atoms/components/Icon/icons/eye-open.vue +11 -11
- package/src/atoms/components/Icon/icons/fees.vue +6 -6
- package/src/atoms/components/Icon/icons/file.vue +7 -7
- package/src/atoms/components/Icon/icons/filter.vue +7 -7
- package/src/atoms/components/Icon/icons/filters.vue +6 -6
- package/src/atoms/components/Icon/icons/flag.vue +6 -6
- package/src/atoms/components/Icon/icons/flip-horizontal.vue +7 -7
- package/src/atoms/components/Icon/icons/flip-vertical.vue +7 -7
- package/src/atoms/components/Icon/icons/folder.vue +6 -6
- package/src/atoms/components/Icon/icons/footer-centered.vue +7 -7
- package/src/atoms/components/Icon/icons/footer-left.vue +7 -7
- package/src/atoms/components/Icon/icons/form-message.vue +6 -6
- package/src/atoms/components/Icon/icons/form.vue +5 -5
- package/src/atoms/components/Icon/icons/fullscreen-exit.vue +5 -5
- package/src/atoms/components/Icon/icons/fullscreen.vue +5 -5
- package/src/atoms/components/Icon/icons/globe.vue +6 -6
- package/src/atoms/components/Icon/icons/godaddy/logo.vue +5 -5
- package/src/atoms/components/Icon/icons/hamburger.vue +7 -7
- package/src/atoms/components/Icon/icons/home.vue +7 -7
- package/src/atoms/components/Icon/icons/icon-style-circle-bg.vue +22 -22
- package/src/atoms/components/Icon/icons/icon-style-no-bg.vue +16 -16
- package/src/atoms/components/Icon/icons/icon-style-square-bg.vue +22 -22
- package/src/atoms/components/Icon/icons/image-gallery-carousel.vue +7 -7
- package/src/atoms/components/Icon/icons/image-gallery-grid.vue +7 -7
- package/src/atoms/components/Icon/icons/image-gallery-masonry.vue +6 -6
- package/src/atoms/components/Icon/icons/images-gallery.vue +5 -5
- package/src/atoms/components/Icon/icons/images.vue +7 -7
- package/src/atoms/components/Icon/icons/info.vue +9 -9
- package/src/atoms/components/Icon/icons/jobs.vue +8 -8
- package/src/atoms/components/Icon/icons/layer-bring-front.vue +6 -6
- package/src/atoms/components/Icon/icons/layer-send-back.vue +6 -6
- package/src/atoms/components/Icon/icons/layer.vue +6 -6
- package/src/atoms/components/Icon/icons/layout/display-style-about-1.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-about-2.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-about-3.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-about-4.vue +32 -32
- package/src/atoms/components/Icon/icons/layout/display-style-about-5.vue +27 -27
- package/src/atoms/components/Icon/icons/layout/display-style-about-6.vue +27 -27
- package/src/atoms/components/Icon/icons/layout/display-style-banner-1.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-banner-2.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-banner-3.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-banner-4.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-banner-5.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-banner-6.vue +27 -27
- package/src/atoms/components/Icon/icons/layout/display-style-banner-7.vue +27 -27
- package/src/atoms/components/Icon/icons/layout/display-style-banner-8.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-banner-9.vue +20 -20
- package/src/atoms/components/Icon/icons/layout/display-style-contact-1.vue +24 -24
- package/src/atoms/components/Icon/icons/layout/display-style-contact-2.vue +24 -24
- package/src/atoms/components/Icon/icons/layout/display-style-contact-4.vue +24 -24
- package/src/atoms/components/Icon/icons/layout/display-style-contact-5.vue +39 -39
- package/src/atoms/components/Icon/icons/layout/display-style-contact-6.vue +39 -39
- package/src/atoms/components/Icon/icons/layout/footer/display-style-1.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/footer/display-style-2.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/header/desktop-hamburger-display-style-1.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/desktop-hamburger-display-style-2.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-1.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-2.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-3.vue +13 -13
- package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-4.vue +13 -13
- package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-5.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-6.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-1.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-2.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-3.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-1.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-2.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-3.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-4.vue +21 -21
- package/src/atoms/components/Icon/icons/layout/header/mobile-tab-display-style-1.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/mobile-tab-display-style-2.vue +17 -17
- package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-1.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-2.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-3.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-normal-text-center-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-normal-text-center-small.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-small-text-center-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-bottom.vue +11 -11
- package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-circle.vue +10 -10
- package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-top.vue +11 -11
- package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-center-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-justify-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-left-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-left-small-text-left-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-center-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-justify-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-right-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-right-small-text-right-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-center-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-center-small.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-justify-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/layout-icon-top-small-text-center-normal.vue +7 -7
- package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-1.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-2.vue +10 -10
- package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-3.vue +10 -10
- package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-4.vue +23 -23
- package/src/atoms/components/Icon/icons/layout/nav/tab/display-style-1.vue +16 -16
- package/src/atoms/components/Icon/icons/layout/nav/tab/display-style-2.vue +7 -7
- package/src/atoms/components/Icon/icons/letterhead-filled.vue +5 -5
- package/src/atoms/components/Icon/icons/link.vue +6 -6
- package/src/atoms/components/Icon/icons/location.vue +6 -6
- package/src/atoms/components/Icon/icons/lock.vue +6 -6
- package/src/atoms/components/Icon/icons/mac-command.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/align-center.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/align-justify.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/align-left.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/align-right.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/animate.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/bold.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/custom-landscape.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/email-symbol.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/email.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/eraser.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/etsy.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/facebook.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/favicon.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/flyer.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/gift-certificate.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/globe.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/image.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/instagram.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/invitation.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/invoice.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/italic.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/link.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/linkedin.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/menu.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/pause.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/phone.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/pinterest.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/play.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/postcard.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/poster.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/profile.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/qrcode.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/snapchat.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/soundcloud.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/spacing.vue +18 -18
- package/src/atoms/components/Icon/icons/maker/strikethrough.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/t-shirt.vue +32 -32
- package/src/atoms/components/Icon/icons/maker/text-background-color.vue +12 -12
- package/src/atoms/components/Icon/icons/maker/text-color.vue +14 -14
- package/src/atoms/components/Icon/icons/maker/text.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/thankyou-card.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/tiktok.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/tumblr.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/twitch.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/twitter.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/underline.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/uppercase.vue +14 -14
- package/src/atoms/components/Icon/icons/maker/video.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/whatsapp.vue +7 -7
- package/src/atoms/components/Icon/icons/maker/youtube.vue +5 -5
- package/src/atoms/components/Icon/icons/maker/zoom.vue +5 -5
- package/src/atoms/components/Icon/icons/map.vue +6 -6
- package/src/atoms/components/Icon/icons/media.vue +3 -3
- package/src/atoms/components/Icon/icons/message.vue +6 -6
- package/src/atoms/components/Icon/icons/minus-circle-light.vue +7 -7
- package/src/atoms/components/Icon/icons/minus.vue +3 -3
- package/src/atoms/components/Icon/icons/mobile.vue +5 -5
- package/src/atoms/components/Icon/icons/mug.vue +29 -29
- package/src/atoms/components/Icon/icons/opacity.vue +6 -6
- package/src/atoms/components/Icon/icons/other.vue +7 -7
- package/src/atoms/components/Icon/icons/page-buttons.vue +8 -8
- package/src/atoms/components/Icon/icons/page-hamburger.vue +9 -9
- package/src/atoms/components/Icon/icons/page-tabs.vue +9 -9
- package/src/atoms/components/Icon/icons/pages.vue +6 -6
- package/src/atoms/components/Icon/icons/palette.vue +6 -6
- package/src/atoms/components/Icon/icons/pause.vue +5 -5
- package/src/atoms/components/Icon/icons/payment.vue +8 -8
- package/src/atoms/components/Icon/icons/payments-featured.vue +6 -6
- package/src/atoms/components/Icon/icons/payments-textonly.vue +8 -8
- package/src/atoms/components/Icon/icons/payments-thumbnail.vue +9 -9
- package/src/atoms/components/Icon/icons/pen-tool.vue +7 -7
- package/src/atoms/components/Icon/icons/phone.vue +6 -6
- package/src/atoms/components/Icon/icons/plus-circle-light.vue +8 -8
- package/src/atoms/components/Icon/icons/plus-circle.vue +7 -7
- package/src/atoms/components/Icon/icons/plus.vue +3 -3
- package/src/atoms/components/Icon/icons/poll.vue +3 -3
- package/src/atoms/components/Icon/icons/portfolio.vue +10 -10
- package/src/atoms/components/Icon/icons/preview.vue +6 -6
- package/src/atoms/components/Icon/icons/printing.vue +6 -6
- package/src/atoms/components/Icon/icons/processing.vue +5 -5
- package/src/atoms/components/Icon/icons/question.vue +11 -11
- package/src/atoms/components/Icon/icons/ratio-1-1.vue +3 -3
- package/src/atoms/components/Icon/icons/ratio-16-9.vue +1 -1
- package/src/atoms/components/Icon/icons/ratio-2-3.vue +3 -3
- package/src/atoms/components/Icon/icons/ratio-3-2.vue +3 -3
- package/src/atoms/components/Icon/icons/ratio-3-4.vue +3 -3
- package/src/atoms/components/Icon/icons/ratio-4-3.vue +3 -3
- package/src/atoms/components/Icon/icons/ratio-9-16.vue +3 -3
- package/src/atoms/components/Icon/icons/ratio-circle.vue +8 -8
- package/src/atoms/components/Icon/icons/ratio-original.vue +11 -11
- package/src/atoms/components/Icon/icons/redo.vue +6 -6
- package/src/atoms/components/Icon/icons/reload.vue +6 -6
- package/src/atoms/components/Icon/icons/reorderable.vue +5 -5
- package/src/atoms/components/Icon/icons/request-payment.vue +6 -6
- package/src/atoms/components/Icon/icons/reset.vue +6 -6
- package/src/atoms/components/Icon/icons/resize.vue +6 -6
- package/src/atoms/components/Icon/icons/search.vue +11 -11
- package/src/atoms/components/Icon/icons/secure.vue +7 -7
- package/src/atoms/components/Icon/icons/send.vue +12 -12
- package/src/atoms/components/Icon/icons/services.vue +7 -7
- package/src/atoms/components/Icon/icons/settings.vue +7 -7
- package/src/atoms/components/Icon/icons/shape.vue +5 -5
- package/src/atoms/components/Icon/icons/share.vue +8 -8
- package/src/atoms/components/Icon/icons/shield-tick.vue +0 -0
- package/src/atoms/components/Icon/icons/shop.vue +5 -5
- package/src/atoms/components/Icon/icons/sms.vue +5 -5
- package/src/atoms/components/Icon/icons/social-facebook-color.vue +9 -9
- package/src/atoms/components/Icon/icons/social-facebook.vue +5 -5
- package/src/atoms/components/Icon/icons/social-google.vue +5 -5
- package/src/atoms/components/Icon/icons/social-instagram-color.vue +24 -24
- package/src/atoms/components/Icon/icons/social-linkedin-color.vue +9 -9
- package/src/atoms/components/Icon/icons/social-share.vue +7 -7
- package/src/atoms/components/Icon/icons/social-twitter-color.vue +9 -9
- package/src/atoms/components/Icon/icons/star-filled.vue +6 -6
- package/src/atoms/components/Icon/icons/star-hollow.vue +6 -6
- package/src/atoms/components/Icon/icons/sticker.vue +28 -28
- package/src/atoms/components/Icon/icons/stop.vue +5 -5
- package/src/atoms/components/Icon/icons/styles.vue +5 -5
- package/src/atoms/components/Icon/icons/submit.vue +5 -5
- package/src/atoms/components/Icon/icons/templates.vue +7 -7
- package/src/atoms/components/Icon/icons/text-image-center.vue +6 -6
- package/src/atoms/components/Icon/icons/text-image-justified.vue +7 -7
- package/src/atoms/components/Icon/icons/text-image-left.vue +9 -9
- package/src/atoms/components/Icon/icons/text-image-only.vue +5 -5
- package/src/atoms/components/Icon/icons/text-image-right.vue +9 -9
- package/src/atoms/components/Icon/icons/text-image.vue +13 -13
- package/src/atoms/components/Icon/icons/time.vue +8 -8
- package/src/atoms/components/Icon/icons/tooltip-bottom.vue +5 -5
- package/src/atoms/components/Icon/icons/tooltip-left.vue +5 -5
- package/src/atoms/components/Icon/icons/tooltip-right.vue +5 -5
- package/src/atoms/components/Icon/icons/tooltip-top.vue +5 -5
- package/src/atoms/components/Icon/icons/undo.vue +6 -6
- package/src/atoms/components/Icon/icons/upgrade-alt.vue +7 -7
- package/src/atoms/components/Icon/icons/upgrade.vue +9 -9
- package/src/atoms/components/Icon/icons/upload-arrow.vue +5 -5
- package/src/atoms/components/Icon/icons/upload.vue +5 -5
- package/src/atoms/components/Icon/icons/user-accounts.vue +5 -5
- package/src/atoms/components/Icon/icons/user-headset.vue +50 -50
- package/src/atoms/components/Icon/icons/volume-muted.vue +5 -5
- package/src/atoms/components/Icon/icons/volume.vue +5 -5
- package/src/atoms/components/Icon/icons/watchlist-filled.vue +14 -14
- package/src/atoms/components/Icon/icons/watchlist-hollow-alt.vue +14 -14
- package/src/atoms/components/Icon/icons/watchlist-hollow.vue +6 -6
- package/src/atoms/components/Icon/icons/website-filled.vue +5 -5
- package/src/atoms/components/Icon/icons/website.vue +6 -6
- package/src/atoms/components/Icon/icons/wholesale.vue +6 -6
- package/src/atoms/components/Icon/icons/zoom-in.vue +5 -5
- package/src/atoms/components/Icon/icons/zoom-out.vue +5 -5
- package/src/atoms/components/Icon/icons/zoom.vue +11 -11
- package/src/atoms/components/Loader/Loader.vue +15 -15
- package/src/atoms/components/Masonry/Masonry.stories.js +48 -48
- package/src/atoms/components/Masonry/Masonry.vue +48 -48
- package/src/atoms/components/Masonry/fixtures.js +589 -589
- package/src/atoms/components/Modal/HashRouteModal.stories.js +68 -68
- package/src/atoms/components/Modal/HashRouteModal.vue +120 -120
- package/src/atoms/components/Modal/Modal.stories.js +293 -293
- package/src/atoms/components/Modal/Modal.vue +263 -263
- package/src/atoms/components/Notice/Notice.stories.js +174 -174
- package/src/atoms/components/Notice/Notice.vue +71 -71
- package/src/atoms/components/NumberStepper/NumberStepper.stories.js +55 -55
- package/src/atoms/components/NumberStepper/NumberStepper.vue +340 -340
- package/src/atoms/components/Picture/Picture.stories.js +90 -90
- package/src/atoms/components/Picture/Picture.vue +84 -84
- package/src/atoms/components/Picture/picture.fixtures.js +35 -35
- package/src/atoms/components/Pill/Pill.stories.js +20 -20
- package/src/atoms/components/Pill/Pill.vue +8 -8
- package/src/atoms/components/PillBar/PillBar.fixtures.js +941 -941
- package/src/atoms/components/PillBar/PillBar.stories.js +39 -39
- package/src/atoms/components/PillBar/PillBar.vue +62 -62
- package/src/atoms/components/Price/Price.fixtures.js +85 -85
- package/src/atoms/components/Price/Price.stories.js +291 -291
- package/src/atoms/components/Price/Price.vue +135 -135
- package/src/atoms/components/Price/i18n/price.de-DE.json +5 -5
- package/src/atoms/components/Price/i18n/price.es-ES.json +5 -5
- package/src/atoms/components/Price/i18n/price.fr-CA.json +5 -5
- package/src/atoms/components/Price/i18n/price.fr-FR.json +5 -5
- package/src/atoms/components/Price/i18n/price.json +5 -5
- package/src/atoms/components/Price/i18n/price.pt-BR.json +5 -5
- package/src/atoms/components/Price/i18n/price.pt-PT.json +5 -5
- package/src/atoms/components/PromoCard/PromoCard.stories.ts +263 -263
- package/src/atoms/components/PromoCard/PromoCard.vue +83 -83
- package/src/atoms/components/SearchBar/SearchBar.stories.js +21 -21
- package/src/atoms/components/SearchBar/SearchBar.vue +51 -51
- package/src/atoms/components/Select/Select.stories.js +142 -142
- package/src/atoms/components/Select/Select.vue +619 -619
- package/src/atoms/components/Select/pointerMixin.js +99 -99
- package/src/atoms/components/Select/selectMixin.js +356 -356
- package/src/atoms/components/SparkleIcon/SparkleIcon.stories.js +386 -386
- package/src/atoms/components/SparkleIcon/SparkleIcon.vue +136 -136
- package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-01.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-02.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-03.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-04.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-05.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-06.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-07.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-08.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-01.svg +5 -5
- package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-02.svg +14 -14
- package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-03.svg +14 -14
- package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-04.svg +14 -14
- package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-05.svg +14 -14
- package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-06.svg +14 -14
- package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-07.svg +14 -14
- package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-08.svg +14 -14
- package/src/atoms/components/SparkleIcon/assets/sparkle.svg +3 -3
- package/src/atoms/components/SparkleIcon/index.ts +3 -3
- package/src/atoms/components/SparkleIcon/sparkle-paths.ts +54 -54
- package/src/atoms/components/SparkleIcon/sparkle-with-spinner-paths.ts +61 -61
- package/src/atoms/components/StarRating/StarRating.stories.js +50 -50
- package/src/atoms/components/StarRating/StarRating.vue +84 -84
- package/src/atoms/components/TabMenu/TabMenu.stories.js +54 -54
- package/src/atoms/components/TabMenu/TabMenu.vue +44 -44
- package/src/atoms/components/TextCopyField/TextCopyField.stories.js +68 -68
- package/src/atoms/components/TextCopyField/TextCopyField.vue +75 -75
- package/src/atoms/components/TextInput/TextInput.stories.js +232 -232
- package/src/atoms/components/TextInput/TextInput.vue +161 -161
- package/src/atoms/components/Textarea/Textarea.stories.js +209 -209
- package/src/atoms/components/Textarea/Textarea.vue +112 -112
- package/src/atoms/components/Toggle/Toggle.stories.js +176 -176
- package/src/atoms/components/Toggle/Toggle.vue +69 -69
- package/src/atoms/components/Tooltip/Tooltip.stories.js +493 -493
- package/src/atoms/components/Tooltip/Tooltip.vue +196 -196
- package/src/atoms/components/design-com/Icon/Icon.stories.js +82 -82
- package/src/atoms/components/design-com/Icon/Icon.vue +157 -157
- package/src/atoms/components/design-com/Icon/icons/award.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/bulb.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/card.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/check-circle-light.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/chevron-down.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/chevron-left.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/chevron-right.vue +3 -3
- package/src/atoms/components/design-com/Icon/icons/chevron-up.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/diamond.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/download.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/file-empty.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/file.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/filter.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/font.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/headphones.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/heart.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/image.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/logo.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/minus-circle-light.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/plus-circle-light.vue +8 -8
- package/src/atoms/components/design-com/Icon/icons/question-circle-filled.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/search.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/star-filled.vue +6 -6
- package/src/atoms/components/design-com/Icon/icons/star-hollow.vue +6 -6
- package/src/atoms/components/design-com/Icon/icons/users.vue +7 -7
- package/src/atoms/constants/constants.ts +6 -6
- package/src/atoms/mixin/hash-router-mixin.js +68 -68
- package/src/atoms/thirdparty-components/VueMasonryWall/VueMasonryWall.vue +280 -280
- package/src/atoms/thirdparty-components/VueMasonryWall/maxBy.js +50 -50
- package/src/bundleTranslation.js +86 -86
- package/src/bundles/bundled-translations.de-DE.json +6 -6
- package/src/bundles/bundled-translations.es-ES.json +6 -6
- package/src/bundles/bundled-translations.fr-CA.json +6 -6
- package/src/bundles/bundled-translations.fr-FR.json +6 -6
- package/src/bundles/bundled-translations.json +6 -6
- package/src/bundles/bundled-translations.pt-BR.json +6 -6
- package/src/bundles/bundled-translations.pt-PT.json +6 -6
- package/src/css/tailwind.css +3 -3
- package/src/experiences/clients/brand-crowd-api.client.js +119 -119
- package/src/experiences/clients/brand-page-api.client.js +62 -62
- package/src/experiences/components/AuthFlow/Auth.fixtures.js +4 -4
- package/src/experiences/components/AuthFlow/Auth.stories.js +345 -345
- package/src/experiences/components/AuthFlow/AuthCrazyDomains.stories.js +60 -60
- package/src/experiences/components/AuthFlow/AuthLegal.vue +108 -108
- package/src/experiences/components/AuthFlow/AuthModal.vue +39 -39
- package/src/experiences/components/AuthFlow/ForgotPassword.vue +222 -222
- package/src/experiences/components/AuthFlow/ForgotPasswordModal.vue +68 -68
- package/src/experiences/components/AuthFlow/ResetPassword.vue +179 -179
- package/src/experiences/components/AuthFlow/ResetPasswordModal.vue +64 -64
- package/src/experiences/components/AuthFlow/ResetPasswordSuccessModal.vue +56 -56
- package/src/experiences/components/AuthFlow/SignIn.vue +465 -465
- package/src/experiences/components/AuthFlow/SignUp.vue +278 -278
- package/src/experiences/components/AuthFlow/SignUpModal.vue +90 -90
- package/src/experiences/components/AuthFlow/SocialSignIn.vue +177 -177
- package/src/experiences/components/AuthFlow/SocialSignInButton.vue +74 -74
- package/src/experiences/components/AuthFlow/SubmissionButton.vue +56 -56
- package/src/experiences/components/PaymentConfigList/PaymentConfig.mixin.js +118 -118
- package/src/experiences/components/PaymentConfigList/PaymentConfigDeleteConfigModal.vue +108 -108
- package/src/experiences/components/PaymentConfigList/PaymentConfigDropdown.vue +175 -175
- package/src/experiences/components/PaymentConfigList/PaymentConfigList.stories.js +234 -234
- package/src/experiences/components/PaymentConfigList/PaymentConfigList.vue +136 -136
- package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.de-DE.json +11 -11
- package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.es-ES.json +11 -11
- package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.fr-CA.json +11 -11
- package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.fr-FR.json +11 -11
- package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.json +11 -11
- package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.pt-BR.json +11 -11
- package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.pt-PT.json +11 -11
- package/src/experiences/components/PublishBrandPageModal/PublishBrandPageCard.vue +119 -119
- package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.stories.js +262 -262
- package/src/experiences/components/PublishBrandPageModal/__fixtures__/data.js +25 -25
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.de-DE.json +24 -24
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.es-ES.json +24 -24
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-CA.json +24 -24
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-FR.json +24 -24
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.json +24 -24
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-BR.json +24 -24
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-PT.json +24 -24
- package/src/experiences/components/SellDomainNameList/SellDomainNameList.fixtures.js +32 -32
- package/src/experiences/components/SellDomainNameList/SellDomainNameList.vue +157 -157
- package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.de-DE.json +7 -7
- package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.es-ES.json +7 -7
- package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-CA.json +7 -7
- package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-FR.json +7 -7
- package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.json +7 -7
- package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-BR.json +7 -7
- package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-PT.json +7 -7
- package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.stories.js +74 -74
- package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.vue +128 -128
- package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.de-DE.json +5 -5
- package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.es-ES.json +5 -5
- package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-CA.json +5 -5
- package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-FR.json +5 -5
- package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.json +5 -5
- package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-BR.json +5 -5
- package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-PT.json +5 -5
- package/src/experiences/components/SellDomainNameModalApplication/SellDomainNameModalApplication.vue +209 -209
- package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.de-DE.json +5 -5
- package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.es-ES.json +5 -5
- package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-CA.json +5 -5
- package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-FR.json +5 -5
- package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.json +5 -5
- package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-BR.json +5 -5
- package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-PT.json +5 -5
- package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.de-DE.json +7 -7
- package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.es-ES.json +7 -7
- package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-CA.json +7 -7
- package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-FR.json +7 -7
- package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.json +7 -7
- package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-BR.json +7 -7
- package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-PT.json +7 -7
- package/src/experiences/components/SellDomainNameSearchResult/SellDomainNameListSearchResult.vue +167 -167
- package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.de-DE.json +5 -5
- package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.es-ES.json +5 -5
- package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-CA.json +5 -5
- package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-FR.json +5 -5
- package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.json +5 -5
- package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-BR.json +5 -5
- package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-PT.json +5 -5
- package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.stories.js +38 -38
- package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.vue +214 -214
- package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.stories.js +40 -40
- package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.vue +155 -155
- package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.de-DE.json +7 -7
- package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.es-ES.json +7 -7
- package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-CA.json +7 -7
- package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-FR.json +7 -7
- package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.json +7 -7
- package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-BR.json +7 -7
- package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-PT.json +7 -7
- package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.stories.js +205 -205
- package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.vue +133 -133
- package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.stories.js +59 -59
- package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.vue +285 -285
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.stories.js +37 -37
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.vue +338 -338
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessText.vue +146 -146
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoCropper.vue +473 -473
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoPreview.vue +103 -103
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadError.vue +75 -75
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadExitConfirmation.vue +55 -55
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadModal.vue +38 -38
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploader.vue +102 -102
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadingLoader.vue +22 -22
- package/src/experiences/components/UploadYourLogoOnBoarding/UploadYourLogoOnBoarding.vue +302 -302
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.de-DE.json +34 -34
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.es-ES.json +34 -34
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-CA.json +34 -34
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-FR.json +34 -34
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.json +35 -35
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-BR.json +34 -34
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-PT.json +34 -34
- package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.stories.js +82 -82
- package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.vue +211 -211
- package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.de-DE.json +8 -8
- package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.es-ES.json +8 -8
- package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.fr-CA.json +8 -8
- package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.fr-FR.json +8 -8
- package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.json +8 -8
- package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.pt-BR.json +8 -8
- package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.pt-PT.json +8 -8
- package/src/experiences/constants/api.js +8 -8
- package/src/experiences/constants/error-constants.js +5 -5
- package/src/experiences/constants/event-constants.js +18 -18
- package/src/experiences/constants/partner-dictionary-constants.js +27 -27
- package/src/experiences/constants/rego-source-constants.js +3 -3
- package/src/experiences/constants/sell-domain-name-constants.js +4 -4
- package/src/experiences/helpers/email-validator.js +5 -5
- package/src/experiences/helpers/hex-diff.js +116 -116
- package/src/experiences/helpers/tracking.js +5 -5
- package/src/experiences/mixins/mediaQueryMixin.js +31 -31
- package/src/experiences/mixins/themeMixin.js +22 -22
- package/src/themes/base.js +20 -20
- package/src/themes/bc.js +95 -95
- package/src/themes/bp.js +21 -21
- package/src/themes/cd.js +94 -94
- package/src/themes/dc.js +84 -84
- package/src/themes/dcom.js +106 -106
- package/src/themes/themes.js +16 -16
- package/src/useSharedLibTranslate.js +127 -127
- package/src/viewports.js +51 -51
- package/stylelint.config.js +19 -19
- package/tailwind.build.js +83 -83
- package/tailwind.config.js +36 -36
- package/tailwind.themes.js +59 -59
- package/vite.config.ts +37 -37
|
@@ -1,302 +1,302 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div
|
|
3
|
-
class="tw-fixed tw-w-full tw-h-full tw-z-50 tw-top-0 tw-left-0 tw-bg-black tw-bg-opacity-80 lg:tw-flex tw-items-start tw-justify-center lg:tw-pt-20"
|
|
4
|
-
>
|
|
5
|
-
<LogoUploadModal
|
|
6
|
-
:show-cancel-button="(currentStep === 0 || currentStep > 1 || hasError) && !isAttemptingToExit"
|
|
7
|
-
:class="{ 'tw-p-6': currentStep === 0 }"
|
|
8
|
-
@on-cancel="onCancel"
|
|
9
|
-
>
|
|
10
|
-
<template #content>
|
|
11
|
-
<div v-if="currentStep === 0 && !isAttemptingToExit" class="tw-w-full">
|
|
12
|
-
<p class="tw-text-grayscale-600 tw-font-bold tw-text-xs tw-mb-2 tw-uppercase">
|
|
13
|
-
{{ currentStepProgressLabel }}
|
|
14
|
-
</p>
|
|
15
|
-
<h2 class="tw-mb-4 tw-text-4xl tw-text-black tw-font-bold">{{ uploadYourLogoTr('uploadYourLogoText') }}</h2>
|
|
16
|
-
<p class="tw-mt-0 tw-pb-8">{{ uploadYourLogoTr('disclaimerText') }}</p>
|
|
17
|
-
<UploadYourLogoDropzone :is-modal="true" @on-upload-success="onLogoFileChange"> </UploadYourLogoDropzone>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
<LogoUploader
|
|
21
|
-
v-if="logoFile && !isAttemptingToExit && !hasError && currentStep === 1"
|
|
22
|
-
:logo-file="logoFile"
|
|
23
|
-
:custom-upload-data="customUploadData"
|
|
24
|
-
:event-category="eventCategory"
|
|
25
|
-
@on-upload-success="onUploadSuccess"
|
|
26
|
-
@on-upload-error="onUploadError"
|
|
27
|
-
/>
|
|
28
|
-
|
|
29
|
-
<LogoCropper
|
|
30
|
-
v-if="!isAttemptingToExit && currentStep === 2 && uploadedLogoData && canCropImage"
|
|
31
|
-
:logo-data="uploadedLogoData"
|
|
32
|
-
:progress-label="currentStepProgressLabel"
|
|
33
|
-
:event-category="eventCategory"
|
|
34
|
-
@on-cancel="onCancel"
|
|
35
|
-
@on-image-cropped="onImageCropped"
|
|
36
|
-
/>
|
|
37
|
-
|
|
38
|
-
<LogoPreview
|
|
39
|
-
v-if="!isAttemptingToExit && currentStep === 2 && uploadedLogoData && !canCropImage"
|
|
40
|
-
:logo-data="uploadedLogoData"
|
|
41
|
-
:progress-label="currentStepProgressLabel"
|
|
42
|
-
:event-category="eventCategory"
|
|
43
|
-
@on-cancel="onCancel"
|
|
44
|
-
@on-continue="onImageCropped"
|
|
45
|
-
/>
|
|
46
|
-
|
|
47
|
-
<LogoBusinessText
|
|
48
|
-
v-if="!isAttemptingToExit && currentStep === 3 && uploadedLogoData"
|
|
49
|
-
:logo-data="uploadedLogoData"
|
|
50
|
-
:saved-business-text="savedBusinessText"
|
|
51
|
-
:progress-label="currentStepProgressLabel"
|
|
52
|
-
:event-category="eventCategory"
|
|
53
|
-
@on-go-back="onGoBackToCropper"
|
|
54
|
-
@on-save="onSaveBusinessText"
|
|
55
|
-
/>
|
|
56
|
-
|
|
57
|
-
<LogoBusinessBrandColours
|
|
58
|
-
v-if="!isAttemptingToExit && currentStep === 4 && uploadedLogoData && !isCurrentlySaving"
|
|
59
|
-
:logo-data="uploadedLogoData"
|
|
60
|
-
:cropped-logo-image="croppedImageBoxDataUrl"
|
|
61
|
-
:total-num-steps="totalNumSteps"
|
|
62
|
-
:event-category="eventCategory"
|
|
63
|
-
@on-go-back="onGoBackToBusinessText"
|
|
64
|
-
@on-save="onBrandColoursSave"
|
|
65
|
-
/>
|
|
66
|
-
|
|
67
|
-
<LogoUploadError
|
|
68
|
-
v-if="hasError && !isAttemptingToExit"
|
|
69
|
-
:error-message="errorMessage"
|
|
70
|
-
@on-cancel="onCancel"
|
|
71
|
-
@on-logo-file-change="onLogoFileChange"
|
|
72
|
-
/>
|
|
73
|
-
|
|
74
|
-
<LogoUploadingLoader v-if="isCurrentlySaving" :loading-text="uploadYourLogoTr('generatingDesigns')" />
|
|
75
|
-
|
|
76
|
-
<LogoUploadExitConfirmation
|
|
77
|
-
v-if="isAttemptingToExit && currentStep > 1"
|
|
78
|
-
@on-confirm="onExitConfirm"
|
|
79
|
-
@on-go-back="onAbortExitConfirmation"
|
|
80
|
-
/>
|
|
81
|
-
</template>
|
|
82
|
-
</LogoUploadModal>
|
|
83
|
-
</div>
|
|
84
|
-
</template>
|
|
85
|
-
<script>
|
|
86
|
-
import brandCrowdClient from '../../clients/brand-crowd-api.client';
|
|
87
|
-
import Errors from '../../constants/error-constants';
|
|
88
|
-
import trackEvent from '../../helpers/tracking';
|
|
89
|
-
import { uploadYourLogoTr } from '../../../useSharedLibTranslate';
|
|
90
|
-
|
|
91
|
-
import LogoUploadModal from './LogoUploadModal.vue';
|
|
92
|
-
import UploadYourLogoDropzone from '../UploadYourLogoDropzone/UploadYourLogoDropzone.vue';
|
|
93
|
-
import LogoUploader from './LogoUploader.vue';
|
|
94
|
-
import LogoUploadError from './LogoUploadError.vue';
|
|
95
|
-
import LogoUploadExitConfirmation from './LogoUploadExitConfirmation.vue';
|
|
96
|
-
import LogoCropper from './LogoCropper.vue';
|
|
97
|
-
import LogoPreview from './LogoPreview.vue';
|
|
98
|
-
import LogoBusinessText from './LogoBusinessText.vue';
|
|
99
|
-
import LogoBusinessBrandColours from './LogoBusinessBrandColours.vue';
|
|
100
|
-
import LogoUploadingLoader from './LogoUploadingLoader.vue';
|
|
101
|
-
|
|
102
|
-
export default {
|
|
103
|
-
components: {
|
|
104
|
-
LogoUploadModal,
|
|
105
|
-
UploadYourLogoDropzone,
|
|
106
|
-
LogoUploader,
|
|
107
|
-
LogoUploadError,
|
|
108
|
-
LogoUploadExitConfirmation,
|
|
109
|
-
LogoCropper,
|
|
110
|
-
LogoPreview,
|
|
111
|
-
LogoBusinessText,
|
|
112
|
-
LogoBusinessBrandColours,
|
|
113
|
-
LogoUploadingLoader,
|
|
114
|
-
},
|
|
115
|
-
props: {
|
|
116
|
-
logoFile: {
|
|
117
|
-
type: Object,
|
|
118
|
-
required: false,
|
|
119
|
-
default: undefined,
|
|
120
|
-
},
|
|
121
|
-
useDropzone: {
|
|
122
|
-
type: Boolean,
|
|
123
|
-
required: false,
|
|
124
|
-
default: false,
|
|
125
|
-
},
|
|
126
|
-
isPostPurchaseUserUpload: {
|
|
127
|
-
type: Boolean,
|
|
128
|
-
required: false,
|
|
129
|
-
default: false,
|
|
130
|
-
},
|
|
131
|
-
customUploadData: {
|
|
132
|
-
type: Object,
|
|
133
|
-
required: false,
|
|
134
|
-
default: undefined,
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
setup() {
|
|
138
|
-
return {
|
|
139
|
-
uploadYourLogoTr,
|
|
140
|
-
};
|
|
141
|
-
},
|
|
142
|
-
data() {
|
|
143
|
-
return {
|
|
144
|
-
currentStep: this.useDropzone ? 0 : 1,
|
|
145
|
-
includeDropzoneInModal: this.useDropzone,
|
|
146
|
-
totalNumSteps: this.useDropzone ? 5 : 4,
|
|
147
|
-
errorMessage: null,
|
|
148
|
-
isAttemptingToExit: false,
|
|
149
|
-
uploadedLogoData: null,
|
|
150
|
-
croppedImageBoxBounds: null,
|
|
151
|
-
savedBusinessText: null,
|
|
152
|
-
brandColourData: null,
|
|
153
|
-
isCurrentlySaving: false,
|
|
154
|
-
};
|
|
155
|
-
},
|
|
156
|
-
computed: {
|
|
157
|
-
currentStepProgressLabel() {
|
|
158
|
-
if (this.includeDropzoneInModal) {
|
|
159
|
-
const currentStepDisplay = this.currentStep === 0 ? 1 : this.currentStep;
|
|
160
|
-
return this.uploadYourLogoTr('stepOf', { CURRENT: currentStepDisplay, TOTAL: 5 });
|
|
161
|
-
}
|
|
162
|
-
return this.uploadYourLogoTr('stepOf', { CURRENT: this.currentStep - 1, TOTAL: 4 });
|
|
163
|
-
},
|
|
164
|
-
hasError() {
|
|
165
|
-
return !!this.errorMessage;
|
|
166
|
-
},
|
|
167
|
-
canCropImage() {
|
|
168
|
-
return !this.uploadedLogoData.logoImageUrl.split('.').pop().startsWith('svg');
|
|
169
|
-
},
|
|
170
|
-
currentStepTrackingLabel() {
|
|
171
|
-
const stepTwoLabel = this.currentStep === 2 && !this.canCropImage ? 'previewLogo' : 'cropLogo';
|
|
172
|
-
|
|
173
|
-
const steps = ['logoUploader', stepTwoLabel, 'businessName', 'brandColors'];
|
|
174
|
-
|
|
175
|
-
return steps[this.currentStep - 1];
|
|
176
|
-
},
|
|
177
|
-
eventCategory() {
|
|
178
|
-
if (this.isPostPurchaseUserUpload) {
|
|
179
|
-
return 'BYO-PostPurchase';
|
|
180
|
-
}
|
|
181
|
-
return 'BYO-PrePurchase';
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
watch: {
|
|
185
|
-
logoFile: {
|
|
186
|
-
immediate: true,
|
|
187
|
-
handler() {
|
|
188
|
-
if (this.logoFile) {
|
|
189
|
-
this.errorMessage =
|
|
190
|
-
this.logoFile.file.size > Errors.MAX_BYO_FILE_SIZE ? uploadYourLogoTr('maxByoFileErrorMessage') : null;
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
},
|
|
194
|
-
},
|
|
195
|
-
methods: {
|
|
196
|
-
onUploadSuccess(res) {
|
|
197
|
-
this.$emit('on-logo-upload-success');
|
|
198
|
-
this.uploadedLogoData = res.data;
|
|
199
|
-
this.currentStep = 2;
|
|
200
|
-
},
|
|
201
|
-
onUploadError(err) {
|
|
202
|
-
this.$emit('on-logo-upload-error');
|
|
203
|
-
if (typeof err.response?.data?.errorMessage === 'string' && err.response?.data?.errorMessage !== '') {
|
|
204
|
-
this.errorMessage = err.response.data.errorMessage;
|
|
205
|
-
} else {
|
|
206
|
-
this.errorMessage = uploadYourLogoTr('genericByoErrorMessage');
|
|
207
|
-
}
|
|
208
|
-
this.currentStep = null;
|
|
209
|
-
},
|
|
210
|
-
onImageCropped(payload) {
|
|
211
|
-
this.$emit('on-image-cropped', { isCropped: payload.isCropped });
|
|
212
|
-
const { bounds, dataUrl } = payload;
|
|
213
|
-
this.croppedImageBoxBounds = bounds;
|
|
214
|
-
this.croppedImageBoxDataUrl = dataUrl;
|
|
215
|
-
this.currentStep = 3;
|
|
216
|
-
},
|
|
217
|
-
onCancel() {
|
|
218
|
-
this.isAttemptingToExit = true;
|
|
219
|
-
|
|
220
|
-
if (this.currentStep === 0 || this.hasError) {
|
|
221
|
-
this.onExitConfirm();
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
trackEvent({
|
|
225
|
-
eventCategory: this.eventCategory,
|
|
226
|
-
eventAction: this.currentStepTrackingLabel,
|
|
227
|
-
eventLabel: 'Clicked_Cancel',
|
|
228
|
-
event: 'click',
|
|
229
|
-
});
|
|
230
|
-
},
|
|
231
|
-
onLogoFileChange(logoFile) {
|
|
232
|
-
this.$emit('on-file-change', logoFile);
|
|
233
|
-
this.reset();
|
|
234
|
-
},
|
|
235
|
-
onExitConfirm() {
|
|
236
|
-
const { currentStepTrackingLabel } = this;
|
|
237
|
-
this.reset();
|
|
238
|
-
this.$emit('on-exit', { currentStepTrackingLabel });
|
|
239
|
-
},
|
|
240
|
-
onAbortExitConfirmation() {
|
|
241
|
-
this.isAttemptingToExit = false;
|
|
242
|
-
},
|
|
243
|
-
onGoBackToCropper() {
|
|
244
|
-
this.$emit('on-back', { currentStepTrackingLabel: this.currentStepTrackingLabel });
|
|
245
|
-
this.currentStep = 2;
|
|
246
|
-
},
|
|
247
|
-
onGoBackToBusinessText() {
|
|
248
|
-
this.$emit('on-back', { currentStepTrackingLabel: this.currentStepTrackingLabel });
|
|
249
|
-
this.currentStep = 3;
|
|
250
|
-
},
|
|
251
|
-
onSaveBusinessText(payload) {
|
|
252
|
-
this.$emit('on-save-business-text', { businessText: payload.businessText });
|
|
253
|
-
this.savedBusinessText = payload;
|
|
254
|
-
this.currentStep = 4;
|
|
255
|
-
},
|
|
256
|
-
onBrandColoursSave(payload) {
|
|
257
|
-
this.$emit('on-brand-colors-save', {
|
|
258
|
-
textColorUserSelected: payload.textColorUserSelected,
|
|
259
|
-
backgroundColorUserSelected: payload.backgroundColorUserSelected,
|
|
260
|
-
});
|
|
261
|
-
this.brandColourData = payload;
|
|
262
|
-
this.save();
|
|
263
|
-
},
|
|
264
|
-
async save() {
|
|
265
|
-
if (this.isCurrentlySaving) return;
|
|
266
|
-
|
|
267
|
-
this.isCurrentlySaving = true;
|
|
268
|
-
|
|
269
|
-
const payload = {
|
|
270
|
-
templateUploadToken: this.uploadedLogoData.templateUploadToken,
|
|
271
|
-
businessText: this.savedBusinessText.businessText,
|
|
272
|
-
businessSlogin: this.savedBusinessText.sloganText,
|
|
273
|
-
textColor: this.brandColourData.textColor,
|
|
274
|
-
backgroundColor: this.brandColourData.backgroundColor,
|
|
275
|
-
cropBoundingBox: JSON.parse(JSON.stringify(this.croppedImageBoxBounds)),
|
|
276
|
-
isPostPurchaseUserUpload: this.isPostPurchaseUserUpload,
|
|
277
|
-
};
|
|
278
|
-
|
|
279
|
-
const result = await brandCrowdClient.createUserLogo(payload);
|
|
280
|
-
|
|
281
|
-
this.isCurrentlySaving = false;
|
|
282
|
-
|
|
283
|
-
if (result.error) {
|
|
284
|
-
this.onUploadError(result.error);
|
|
285
|
-
return;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
this.$emit('on-finish', result.response);
|
|
289
|
-
},
|
|
290
|
-
reset() {
|
|
291
|
-
this.currentStep = 1;
|
|
292
|
-
this.errorMessage = null;
|
|
293
|
-
this.isAttemptingToExit = false;
|
|
294
|
-
this.isCurrentlySaving = false;
|
|
295
|
-
this.uploadedLogoData = null;
|
|
296
|
-
this.croppedImageBoxBounds = null;
|
|
297
|
-
this.savedBusinessText = null;
|
|
298
|
-
this.brandColourData = null;
|
|
299
|
-
},
|
|
300
|
-
},
|
|
301
|
-
};
|
|
302
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="tw-fixed tw-w-full tw-h-full tw-z-50 tw-top-0 tw-left-0 tw-bg-black tw-bg-opacity-80 lg:tw-flex tw-items-start tw-justify-center lg:tw-pt-20"
|
|
4
|
+
>
|
|
5
|
+
<LogoUploadModal
|
|
6
|
+
:show-cancel-button="(currentStep === 0 || currentStep > 1 || hasError) && !isAttemptingToExit"
|
|
7
|
+
:class="{ 'tw-p-6': currentStep === 0 }"
|
|
8
|
+
@on-cancel="onCancel"
|
|
9
|
+
>
|
|
10
|
+
<template #content>
|
|
11
|
+
<div v-if="currentStep === 0 && !isAttemptingToExit" class="tw-w-full">
|
|
12
|
+
<p class="tw-text-grayscale-600 tw-font-bold tw-text-xs tw-mb-2 tw-uppercase">
|
|
13
|
+
{{ currentStepProgressLabel }}
|
|
14
|
+
</p>
|
|
15
|
+
<h2 class="tw-mb-4 tw-text-4xl tw-text-black tw-font-bold">{{ uploadYourLogoTr('uploadYourLogoText') }}</h2>
|
|
16
|
+
<p class="tw-mt-0 tw-pb-8">{{ uploadYourLogoTr('disclaimerText') }}</p>
|
|
17
|
+
<UploadYourLogoDropzone :is-modal="true" @on-upload-success="onLogoFileChange"> </UploadYourLogoDropzone>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<LogoUploader
|
|
21
|
+
v-if="logoFile && !isAttemptingToExit && !hasError && currentStep === 1"
|
|
22
|
+
:logo-file="logoFile"
|
|
23
|
+
:custom-upload-data="customUploadData"
|
|
24
|
+
:event-category="eventCategory"
|
|
25
|
+
@on-upload-success="onUploadSuccess"
|
|
26
|
+
@on-upload-error="onUploadError"
|
|
27
|
+
/>
|
|
28
|
+
|
|
29
|
+
<LogoCropper
|
|
30
|
+
v-if="!isAttemptingToExit && currentStep === 2 && uploadedLogoData && canCropImage"
|
|
31
|
+
:logo-data="uploadedLogoData"
|
|
32
|
+
:progress-label="currentStepProgressLabel"
|
|
33
|
+
:event-category="eventCategory"
|
|
34
|
+
@on-cancel="onCancel"
|
|
35
|
+
@on-image-cropped="onImageCropped"
|
|
36
|
+
/>
|
|
37
|
+
|
|
38
|
+
<LogoPreview
|
|
39
|
+
v-if="!isAttemptingToExit && currentStep === 2 && uploadedLogoData && !canCropImage"
|
|
40
|
+
:logo-data="uploadedLogoData"
|
|
41
|
+
:progress-label="currentStepProgressLabel"
|
|
42
|
+
:event-category="eventCategory"
|
|
43
|
+
@on-cancel="onCancel"
|
|
44
|
+
@on-continue="onImageCropped"
|
|
45
|
+
/>
|
|
46
|
+
|
|
47
|
+
<LogoBusinessText
|
|
48
|
+
v-if="!isAttemptingToExit && currentStep === 3 && uploadedLogoData"
|
|
49
|
+
:logo-data="uploadedLogoData"
|
|
50
|
+
:saved-business-text="savedBusinessText"
|
|
51
|
+
:progress-label="currentStepProgressLabel"
|
|
52
|
+
:event-category="eventCategory"
|
|
53
|
+
@on-go-back="onGoBackToCropper"
|
|
54
|
+
@on-save="onSaveBusinessText"
|
|
55
|
+
/>
|
|
56
|
+
|
|
57
|
+
<LogoBusinessBrandColours
|
|
58
|
+
v-if="!isAttemptingToExit && currentStep === 4 && uploadedLogoData && !isCurrentlySaving"
|
|
59
|
+
:logo-data="uploadedLogoData"
|
|
60
|
+
:cropped-logo-image="croppedImageBoxDataUrl"
|
|
61
|
+
:total-num-steps="totalNumSteps"
|
|
62
|
+
:event-category="eventCategory"
|
|
63
|
+
@on-go-back="onGoBackToBusinessText"
|
|
64
|
+
@on-save="onBrandColoursSave"
|
|
65
|
+
/>
|
|
66
|
+
|
|
67
|
+
<LogoUploadError
|
|
68
|
+
v-if="hasError && !isAttemptingToExit"
|
|
69
|
+
:error-message="errorMessage"
|
|
70
|
+
@on-cancel="onCancel"
|
|
71
|
+
@on-logo-file-change="onLogoFileChange"
|
|
72
|
+
/>
|
|
73
|
+
|
|
74
|
+
<LogoUploadingLoader v-if="isCurrentlySaving" :loading-text="uploadYourLogoTr('generatingDesigns')" />
|
|
75
|
+
|
|
76
|
+
<LogoUploadExitConfirmation
|
|
77
|
+
v-if="isAttemptingToExit && currentStep > 1"
|
|
78
|
+
@on-confirm="onExitConfirm"
|
|
79
|
+
@on-go-back="onAbortExitConfirmation"
|
|
80
|
+
/>
|
|
81
|
+
</template>
|
|
82
|
+
</LogoUploadModal>
|
|
83
|
+
</div>
|
|
84
|
+
</template>
|
|
85
|
+
<script>
|
|
86
|
+
import brandCrowdClient from '../../clients/brand-crowd-api.client';
|
|
87
|
+
import Errors from '../../constants/error-constants';
|
|
88
|
+
import trackEvent from '../../helpers/tracking';
|
|
89
|
+
import { uploadYourLogoTr } from '../../../useSharedLibTranslate';
|
|
90
|
+
|
|
91
|
+
import LogoUploadModal from './LogoUploadModal.vue';
|
|
92
|
+
import UploadYourLogoDropzone from '../UploadYourLogoDropzone/UploadYourLogoDropzone.vue';
|
|
93
|
+
import LogoUploader from './LogoUploader.vue';
|
|
94
|
+
import LogoUploadError from './LogoUploadError.vue';
|
|
95
|
+
import LogoUploadExitConfirmation from './LogoUploadExitConfirmation.vue';
|
|
96
|
+
import LogoCropper from './LogoCropper.vue';
|
|
97
|
+
import LogoPreview from './LogoPreview.vue';
|
|
98
|
+
import LogoBusinessText from './LogoBusinessText.vue';
|
|
99
|
+
import LogoBusinessBrandColours from './LogoBusinessBrandColours.vue';
|
|
100
|
+
import LogoUploadingLoader from './LogoUploadingLoader.vue';
|
|
101
|
+
|
|
102
|
+
export default {
|
|
103
|
+
components: {
|
|
104
|
+
LogoUploadModal,
|
|
105
|
+
UploadYourLogoDropzone,
|
|
106
|
+
LogoUploader,
|
|
107
|
+
LogoUploadError,
|
|
108
|
+
LogoUploadExitConfirmation,
|
|
109
|
+
LogoCropper,
|
|
110
|
+
LogoPreview,
|
|
111
|
+
LogoBusinessText,
|
|
112
|
+
LogoBusinessBrandColours,
|
|
113
|
+
LogoUploadingLoader,
|
|
114
|
+
},
|
|
115
|
+
props: {
|
|
116
|
+
logoFile: {
|
|
117
|
+
type: Object,
|
|
118
|
+
required: false,
|
|
119
|
+
default: undefined,
|
|
120
|
+
},
|
|
121
|
+
useDropzone: {
|
|
122
|
+
type: Boolean,
|
|
123
|
+
required: false,
|
|
124
|
+
default: false,
|
|
125
|
+
},
|
|
126
|
+
isPostPurchaseUserUpload: {
|
|
127
|
+
type: Boolean,
|
|
128
|
+
required: false,
|
|
129
|
+
default: false,
|
|
130
|
+
},
|
|
131
|
+
customUploadData: {
|
|
132
|
+
type: Object,
|
|
133
|
+
required: false,
|
|
134
|
+
default: undefined,
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
setup() {
|
|
138
|
+
return {
|
|
139
|
+
uploadYourLogoTr,
|
|
140
|
+
};
|
|
141
|
+
},
|
|
142
|
+
data() {
|
|
143
|
+
return {
|
|
144
|
+
currentStep: this.useDropzone ? 0 : 1,
|
|
145
|
+
includeDropzoneInModal: this.useDropzone,
|
|
146
|
+
totalNumSteps: this.useDropzone ? 5 : 4,
|
|
147
|
+
errorMessage: null,
|
|
148
|
+
isAttemptingToExit: false,
|
|
149
|
+
uploadedLogoData: null,
|
|
150
|
+
croppedImageBoxBounds: null,
|
|
151
|
+
savedBusinessText: null,
|
|
152
|
+
brandColourData: null,
|
|
153
|
+
isCurrentlySaving: false,
|
|
154
|
+
};
|
|
155
|
+
},
|
|
156
|
+
computed: {
|
|
157
|
+
currentStepProgressLabel() {
|
|
158
|
+
if (this.includeDropzoneInModal) {
|
|
159
|
+
const currentStepDisplay = this.currentStep === 0 ? 1 : this.currentStep;
|
|
160
|
+
return this.uploadYourLogoTr('stepOf', { CURRENT: currentStepDisplay, TOTAL: 5 });
|
|
161
|
+
}
|
|
162
|
+
return this.uploadYourLogoTr('stepOf', { CURRENT: this.currentStep - 1, TOTAL: 4 });
|
|
163
|
+
},
|
|
164
|
+
hasError() {
|
|
165
|
+
return !!this.errorMessage;
|
|
166
|
+
},
|
|
167
|
+
canCropImage() {
|
|
168
|
+
return !this.uploadedLogoData.logoImageUrl.split('.').pop().startsWith('svg');
|
|
169
|
+
},
|
|
170
|
+
currentStepTrackingLabel() {
|
|
171
|
+
const stepTwoLabel = this.currentStep === 2 && !this.canCropImage ? 'previewLogo' : 'cropLogo';
|
|
172
|
+
|
|
173
|
+
const steps = ['logoUploader', stepTwoLabel, 'businessName', 'brandColors'];
|
|
174
|
+
|
|
175
|
+
return steps[this.currentStep - 1];
|
|
176
|
+
},
|
|
177
|
+
eventCategory() {
|
|
178
|
+
if (this.isPostPurchaseUserUpload) {
|
|
179
|
+
return 'BYO-PostPurchase';
|
|
180
|
+
}
|
|
181
|
+
return 'BYO-PrePurchase';
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
watch: {
|
|
185
|
+
logoFile: {
|
|
186
|
+
immediate: true,
|
|
187
|
+
handler() {
|
|
188
|
+
if (this.logoFile) {
|
|
189
|
+
this.errorMessage =
|
|
190
|
+
this.logoFile.file.size > Errors.MAX_BYO_FILE_SIZE ? uploadYourLogoTr('maxByoFileErrorMessage') : null;
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
methods: {
|
|
196
|
+
onUploadSuccess(res) {
|
|
197
|
+
this.$emit('on-logo-upload-success');
|
|
198
|
+
this.uploadedLogoData = res.data;
|
|
199
|
+
this.currentStep = 2;
|
|
200
|
+
},
|
|
201
|
+
onUploadError(err) {
|
|
202
|
+
this.$emit('on-logo-upload-error');
|
|
203
|
+
if (typeof err.response?.data?.errorMessage === 'string' && err.response?.data?.errorMessage !== '') {
|
|
204
|
+
this.errorMessage = err.response.data.errorMessage;
|
|
205
|
+
} else {
|
|
206
|
+
this.errorMessage = uploadYourLogoTr('genericByoErrorMessage');
|
|
207
|
+
}
|
|
208
|
+
this.currentStep = null;
|
|
209
|
+
},
|
|
210
|
+
onImageCropped(payload) {
|
|
211
|
+
this.$emit('on-image-cropped', { isCropped: payload.isCropped });
|
|
212
|
+
const { bounds, dataUrl } = payload;
|
|
213
|
+
this.croppedImageBoxBounds = bounds;
|
|
214
|
+
this.croppedImageBoxDataUrl = dataUrl;
|
|
215
|
+
this.currentStep = 3;
|
|
216
|
+
},
|
|
217
|
+
onCancel() {
|
|
218
|
+
this.isAttemptingToExit = true;
|
|
219
|
+
|
|
220
|
+
if (this.currentStep === 0 || this.hasError) {
|
|
221
|
+
this.onExitConfirm();
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
trackEvent({
|
|
225
|
+
eventCategory: this.eventCategory,
|
|
226
|
+
eventAction: this.currentStepTrackingLabel,
|
|
227
|
+
eventLabel: 'Clicked_Cancel',
|
|
228
|
+
event: 'click',
|
|
229
|
+
});
|
|
230
|
+
},
|
|
231
|
+
onLogoFileChange(logoFile) {
|
|
232
|
+
this.$emit('on-file-change', logoFile);
|
|
233
|
+
this.reset();
|
|
234
|
+
},
|
|
235
|
+
onExitConfirm() {
|
|
236
|
+
const { currentStepTrackingLabel } = this;
|
|
237
|
+
this.reset();
|
|
238
|
+
this.$emit('on-exit', { currentStepTrackingLabel });
|
|
239
|
+
},
|
|
240
|
+
onAbortExitConfirmation() {
|
|
241
|
+
this.isAttemptingToExit = false;
|
|
242
|
+
},
|
|
243
|
+
onGoBackToCropper() {
|
|
244
|
+
this.$emit('on-back', { currentStepTrackingLabel: this.currentStepTrackingLabel });
|
|
245
|
+
this.currentStep = 2;
|
|
246
|
+
},
|
|
247
|
+
onGoBackToBusinessText() {
|
|
248
|
+
this.$emit('on-back', { currentStepTrackingLabel: this.currentStepTrackingLabel });
|
|
249
|
+
this.currentStep = 3;
|
|
250
|
+
},
|
|
251
|
+
onSaveBusinessText(payload) {
|
|
252
|
+
this.$emit('on-save-business-text', { businessText: payload.businessText });
|
|
253
|
+
this.savedBusinessText = payload;
|
|
254
|
+
this.currentStep = 4;
|
|
255
|
+
},
|
|
256
|
+
onBrandColoursSave(payload) {
|
|
257
|
+
this.$emit('on-brand-colors-save', {
|
|
258
|
+
textColorUserSelected: payload.textColorUserSelected,
|
|
259
|
+
backgroundColorUserSelected: payload.backgroundColorUserSelected,
|
|
260
|
+
});
|
|
261
|
+
this.brandColourData = payload;
|
|
262
|
+
this.save();
|
|
263
|
+
},
|
|
264
|
+
async save() {
|
|
265
|
+
if (this.isCurrentlySaving) return;
|
|
266
|
+
|
|
267
|
+
this.isCurrentlySaving = true;
|
|
268
|
+
|
|
269
|
+
const payload = {
|
|
270
|
+
templateUploadToken: this.uploadedLogoData.templateUploadToken,
|
|
271
|
+
businessText: this.savedBusinessText.businessText,
|
|
272
|
+
businessSlogin: this.savedBusinessText.sloganText,
|
|
273
|
+
textColor: this.brandColourData.textColor,
|
|
274
|
+
backgroundColor: this.brandColourData.backgroundColor,
|
|
275
|
+
cropBoundingBox: JSON.parse(JSON.stringify(this.croppedImageBoxBounds)),
|
|
276
|
+
isPostPurchaseUserUpload: this.isPostPurchaseUserUpload,
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
const result = await brandCrowdClient.createUserLogo(payload);
|
|
280
|
+
|
|
281
|
+
this.isCurrentlySaving = false;
|
|
282
|
+
|
|
283
|
+
if (result.error) {
|
|
284
|
+
this.onUploadError(result.error);
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
this.$emit('on-finish', result.response);
|
|
289
|
+
},
|
|
290
|
+
reset() {
|
|
291
|
+
this.currentStep = 1;
|
|
292
|
+
this.errorMessage = null;
|
|
293
|
+
this.isAttemptingToExit = false;
|
|
294
|
+
this.isCurrentlySaving = false;
|
|
295
|
+
this.uploadedLogoData = null;
|
|
296
|
+
this.croppedImageBoxBounds = null;
|
|
297
|
+
this.savedBusinessText = null;
|
|
298
|
+
this.brandColourData = null;
|
|
299
|
+
},
|
|
300
|
+
},
|
|
301
|
+
};
|
|
302
|
+
</script>
|