@designcrowd/fe-shared-lib 1.1.7 → 1.1.8
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 +35 -35
- package/.prettierrc.js +7 -7
- package/.storybook/main.ts +39 -39
- 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 +14 -14
- package/Dockerfile +41 -41
- package/README.md +103 -103
- package/buildspec.yml +46 -46
- package/index.cjs +16 -16
- package/index.js +54 -54
- package/package.json +110 -110
- package/postcss.config.js +5 -5
- package/public/css/tailwind-brandCrowd.css +503 -471
- package/public/css/tailwind-brandPage.css +401 -393
- package/public/css/tailwind-crazyDomains.css +503 -471
- package/public/css/tailwind-designCom.css +503 -471
- package/public/css/tailwind-designCrowd.css +503 -471
- package/src/atoms/components/Button/Button.vue +336 -323
- package/src/atoms/components/Button/ButtonVariant.mixin.vue +126 -126
- package/src/atoms/components/Button/Buttons.stories.js +778 -778
- package/src/atoms/components/Button/ButtonsCrazyDomains.stories.js +117 -117
- 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/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 +574 -562
- package/src/atoms/components/ButtonGroup/ButtonGroup.vue +188 -188
- package/src/atoms/components/Carousel/Carousel.fixtures.js +35 -35
- package/src/atoms/components/Carousel/Carousel.vue +352 -352
- package/src/atoms/components/Carousel/carousel.stories.js +261 -261
- package/src/atoms/components/Checkbox/Checkbox.mixin.js +57 -57
- package/src/atoms/components/Checkbox/Checkbox.stories.js +206 -206
- package/src/atoms/components/Checkbox/Checkbox.vue +89 -89
- 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 +34 -34
- package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.stories.js +40 -40
- package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.vue +30 -30
- 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 -108
- package/src/atoms/components/Dropdown/DropdownItem.vue +33 -21
- package/src/atoms/components/FormControl/FormControl.mixin.js +127 -127
- 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 +390 -390
- package/src/atoms/components/Icon/Icon.vue +825 -819
- 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/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/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/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/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/fees.vue +6 -6
- 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 -0
- 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 -0
- package/src/atoms/components/Icon/icons/maker/text-color.vue +14 -0
- 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/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/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/search.vue +11 -11
- package/src/atoms/components/Icon/icons/secure.vue +7 -7
- 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/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/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 +303 -303
- package/src/atoms/components/Modal/Modal.vue +258 -258
- 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 -51
- package/src/atoms/components/NumberStepper/NumberStepper.vue +340 -298
- 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 +25 -25
- package/src/atoms/components/Price/Price.stories.js +173 -173
- package/src/atoms/components/Price/Price.vue +106 -106
- 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/Slider/Slider.stories.js +2 -2
- package/src/atoms/components/Slider/Slider.vue +44 -11
- 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 +156 -156
- package/src/atoms/components/Textarea/Textarea.stories.js +209 -209
- package/src/atoms/components/Textarea/Textarea.vue +109 -109
- 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/css/tailwind.css +3 -3
- package/src/experiences/clients/brand-crowd-api.client.js +104 -104
- package/src/experiences/clients/brand-page-api.client.js +47 -47
- 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 +210 -210
- package/src/experiences/components/AuthFlow/ForgotPasswordModal.vue +68 -68
- package/src/experiences/components/AuthFlow/ResetPassword.vue +150 -150
- 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 +442 -442
- package/src/experiences/components/AuthFlow/SignUp.vue +272 -272
- 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 +97 -97
- package/src/experiences/components/PaymentConfigList/PaymentConfigDeleteConfigModal.vue +106 -106
- package/src/experiences/components/PaymentConfigList/PaymentConfigDropdown.vue +134 -134
- package/src/experiences/components/PaymentConfigList/PaymentConfigList.stories.js +189 -189
- package/src/experiences/components/PaymentConfigList/PaymentConfigList.vue +133 -133
- package/src/experiences/components/PublishBrandPageModal/PublishBrandPageCard.vue +115 -115
- package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.stories.js +203 -203
- package/src/experiences/components/PublishBrandPageModal/__fixtures__/data.js +25 -25
- package/src/experiences/components/SellDomainNameList/SellDomainNameList.fixtures.js +32 -32
- package/src/experiences/components/SellDomainNameList/SellDomainNameList.vue +145 -145
- package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.stories.js +74 -74
- package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.vue +124 -124
- package/src/experiences/components/SellDomainNameModalApplication/SellDomainNameModalApplication.vue +205 -205
- package/src/experiences/components/SellDomainNameSearchResult/SellDomainNameListSearchResult.vue +153 -153
- package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.stories.js +38 -38
- package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.vue +184 -184
- package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.stories.js +40 -40
- package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.vue +152 -152
- package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.stories.js +205 -205
- package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.vue +127 -127
- package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.stories.js +58 -58
- package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.vue +278 -278
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.stories.js +37 -37
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.vue +328 -328
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessText.vue +140 -140
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoCropper.vue +467 -467
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoPreview.vue +97 -97
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadError.vue +69 -69
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadExitConfirmation.vue +49 -49
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadModal.vue +38 -38
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploader.vue +91 -91
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadingLoader.vue +22 -22
- package/src/experiences/components/UploadYourLogoOnBoarding/UploadYourLogoOnBoarding.vue +290 -290
- package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.stories.js +82 -82
- package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.vue +201 -201
- 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/viewports.js +51 -51
- package/stylelint.config.js +19 -19
- package/tailwind.build.js +83 -83
- package/tailwind.config.js +37 -37
- package/tailwind.themes.js +59 -59
- package/vite.config.ts +37 -37
|
@@ -17,7 +17,7 @@ export const SliderFontSize = () => {
|
|
|
17
17
|
template: `
|
|
18
18
|
<div>
|
|
19
19
|
<div>Min 12, Max 128</div>
|
|
20
|
-
<Slider :min="12" :max="128" :model-value="16"/>
|
|
20
|
+
<Slider :min="12" :max="128" :model-value="16" :prevent-negative="true"/>
|
|
21
21
|
<div class="tw-mt-8">Min 0, max 100, Manually emptying the input box should fall back to 0 as min value</div>
|
|
22
22
|
<Slider :min="0" :max="100" :model-value="16"/>
|
|
23
23
|
</div>
|
|
@@ -31,7 +31,7 @@ export const SliderLineheight = () => {
|
|
|
31
31
|
Slider,
|
|
32
32
|
},
|
|
33
33
|
template: `
|
|
34
|
-
<Slider :min="1" :max="2.5" :step="0.1" :model-value="1.2"/>
|
|
34
|
+
<Slider :min="1" :max="2.5" :step="0.1" :model-value="1.2" :max-decimal-point="1"/>
|
|
35
35
|
`,
|
|
36
36
|
};
|
|
37
37
|
};
|
|
@@ -29,11 +29,12 @@
|
|
|
29
29
|
:value="sliderValue"
|
|
30
30
|
type="text"
|
|
31
31
|
:step="step"
|
|
32
|
-
class="tw-rounded-r tw-rounded-l tw-py-2 tw-bg-white tw-text-grayscale-600 tw-box-border tw-w-full tw-text-base tw-px-4 tw-border tw-border-solid focus:tw-outline-none tw-transition-colors tw-duration-300 tw-ease-out tw-shadow-inner"
|
|
32
|
+
class="input-slider tw-rounded-r tw-rounded-l tw-py-2 tw-bg-white tw-text-grayscale-600 tw-box-border tw-w-full tw-text-base tw-px-4 tw-border tw-border-solid focus:tw-outline-none tw-transition-colors tw-duration-300 tw-ease-out tw-shadow-inner"
|
|
33
33
|
@input.stop="setInput"
|
|
34
34
|
@blur.stop="checkLimit"
|
|
35
35
|
@keydown.down="limitToMinimum"
|
|
36
36
|
@keydown.up="limitToMaximum"
|
|
37
|
+
@keydown="onKeydown"
|
|
37
38
|
/>
|
|
38
39
|
</div>
|
|
39
40
|
</div>
|
|
@@ -138,11 +139,21 @@ export default {
|
|
|
138
139
|
required: false,
|
|
139
140
|
default: undefined,
|
|
140
141
|
},
|
|
142
|
+
maxDecimalPoint: {
|
|
143
|
+
type: Number,
|
|
144
|
+
required: false,
|
|
145
|
+
default: undefined,
|
|
146
|
+
},
|
|
147
|
+
preventNegative: {
|
|
148
|
+
type: Boolean,
|
|
149
|
+
required: false,
|
|
150
|
+
default: false,
|
|
151
|
+
},
|
|
141
152
|
},
|
|
142
153
|
data() {
|
|
143
154
|
return {
|
|
144
155
|
sliderValue: this.modelValue,
|
|
145
|
-
decimalRegex:
|
|
156
|
+
decimalRegex: /^\d+\.\d{0,1}$/,
|
|
146
157
|
isInteracting: false,
|
|
147
158
|
};
|
|
148
159
|
},
|
|
@@ -165,11 +176,12 @@ export default {
|
|
|
165
176
|
this.$emit('update:model-value', value);
|
|
166
177
|
},
|
|
167
178
|
setInput(e) {
|
|
168
|
-
|
|
179
|
+
const value = e.target.value;
|
|
180
|
+
if (value === '' || value === '-') {
|
|
169
181
|
return;
|
|
170
182
|
}
|
|
171
183
|
|
|
172
|
-
const newVal = this.isDecimal ?
|
|
184
|
+
const newVal = this.isDecimal ? value : Math.round(parseFloat(value));
|
|
173
185
|
let newNumber = 0;
|
|
174
186
|
if (newVal > this.max) {
|
|
175
187
|
newNumber = this.max;
|
|
@@ -182,7 +194,24 @@ export default {
|
|
|
182
194
|
if (this.decimalRegex.test(newNumber)) {
|
|
183
195
|
this.updateValue(newNumber, e);
|
|
184
196
|
} else {
|
|
185
|
-
|
|
197
|
+
// Remove all non-digit/non-dot characters
|
|
198
|
+
let numbersOnly = newVal.replace(/[^\d.]/g, '');
|
|
199
|
+
|
|
200
|
+
// Remove all dots except the first one
|
|
201
|
+
const firstDotIndex = numbersOnly.indexOf('.');
|
|
202
|
+
if (firstDotIndex !== -1) {
|
|
203
|
+
numbersOnly =
|
|
204
|
+
numbersOnly.slice(0, firstDotIndex + 1) + numbersOnly.slice(firstDotIndex + 1).replace(/\./g, '');
|
|
205
|
+
}
|
|
206
|
+
if (this.maxDecimalPoint) {
|
|
207
|
+
// Limit decimal point
|
|
208
|
+
const decimalLimit = this.maxDecimalPoint;
|
|
209
|
+
const decimalRegex = new RegExp(`^(\\d+)(\\.\\d{0,${decimalLimit}})?`);
|
|
210
|
+
const decimalMatch = numbersOnly.match(decimalRegex);
|
|
211
|
+
if (decimalMatch) {
|
|
212
|
+
numbersOnly = decimalMatch[1] + (decimalMatch[2] || '');
|
|
213
|
+
}
|
|
214
|
+
}
|
|
186
215
|
this.updateValue(numbersOnly, e);
|
|
187
216
|
}
|
|
188
217
|
} else {
|
|
@@ -191,11 +220,7 @@ export default {
|
|
|
191
220
|
},
|
|
192
221
|
checkLimit(e) {
|
|
193
222
|
let newNumber = 0;
|
|
194
|
-
if (e.target.value === '') {
|
|
195
|
-
newNumber = this.min;
|
|
196
|
-
} else if (Number.isNaN(this.sliderValue)) {
|
|
197
|
-
newNumber = this.min;
|
|
198
|
-
} else if (this.sliderValue <= this.min) {
|
|
223
|
+
if (e.target.value === '' || Number.isNaN(this.sliderValue) || this.sliderValue <= this.min) {
|
|
199
224
|
newNumber = this.min;
|
|
200
225
|
} else if (this.sliderValue > this.max) {
|
|
201
226
|
newNumber = this.max;
|
|
@@ -207,7 +232,7 @@ export default {
|
|
|
207
232
|
const limitDecimal = parseFloat(newNumber).toFixed(1);
|
|
208
233
|
this.updateValue(limitDecimal, e);
|
|
209
234
|
} else {
|
|
210
|
-
this.updateValue(newNumber, e);
|
|
235
|
+
this.updateValue(parseFloat(newNumber), e);
|
|
211
236
|
}
|
|
212
237
|
},
|
|
213
238
|
limitToMinimum(e) {
|
|
@@ -261,6 +286,14 @@ export default {
|
|
|
261
286
|
this.onSliderMouseUp();
|
|
262
287
|
}
|
|
263
288
|
},
|
|
289
|
+
onKeydown(e) {
|
|
290
|
+
if (this.preventNegative) {
|
|
291
|
+
// Prevent typing minus sign '-'
|
|
292
|
+
if (e.key === '-' || e.key === 'Subtract') {
|
|
293
|
+
e.preventDefault();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
},
|
|
264
297
|
},
|
|
265
298
|
};
|
|
266
299
|
</script>
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import StarRating from './StarRating.vue';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Components/Star Rating',
|
|
5
|
-
component: StarRating,
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const NoStar = () => {
|
|
9
|
-
return {
|
|
10
|
-
components: {
|
|
11
|
-
StarRating,
|
|
12
|
-
},
|
|
13
|
-
template: `
|
|
14
|
-
<StarRating :maxRating="5" />
|
|
15
|
-
`,
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const OneStar = () => {
|
|
20
|
-
return {
|
|
21
|
-
components: {
|
|
22
|
-
StarRating,
|
|
23
|
-
},
|
|
24
|
-
template: `
|
|
25
|
-
<StarRating :maxRating="8" :rating="1" :is-interactive="true"/>
|
|
26
|
-
`,
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export const Middle = () => {
|
|
31
|
-
return {
|
|
32
|
-
components: {
|
|
33
|
-
StarRating,
|
|
34
|
-
},
|
|
35
|
-
template: `
|
|
36
|
-
<StarRating :maxRating="10" :rating="6"/>
|
|
37
|
-
`,
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export const Full = () => {
|
|
42
|
-
return {
|
|
43
|
-
components: {
|
|
44
|
-
StarRating,
|
|
45
|
-
},
|
|
46
|
-
template: `
|
|
47
|
-
<StarRating :maxRating="5" :rating="5" :is-interactive="true"/>
|
|
48
|
-
`,
|
|
49
|
-
};
|
|
50
|
-
};
|
|
1
|
+
import StarRating from './StarRating.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/Star Rating',
|
|
5
|
+
component: StarRating,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const NoStar = () => {
|
|
9
|
+
return {
|
|
10
|
+
components: {
|
|
11
|
+
StarRating,
|
|
12
|
+
},
|
|
13
|
+
template: `
|
|
14
|
+
<StarRating :maxRating="5" />
|
|
15
|
+
`,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const OneStar = () => {
|
|
20
|
+
return {
|
|
21
|
+
components: {
|
|
22
|
+
StarRating,
|
|
23
|
+
},
|
|
24
|
+
template: `
|
|
25
|
+
<StarRating :maxRating="8" :rating="1" :is-interactive="true"/>
|
|
26
|
+
`,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const Middle = () => {
|
|
31
|
+
return {
|
|
32
|
+
components: {
|
|
33
|
+
StarRating,
|
|
34
|
+
},
|
|
35
|
+
template: `
|
|
36
|
+
<StarRating :maxRating="10" :rating="6"/>
|
|
37
|
+
`,
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export const Full = () => {
|
|
42
|
+
return {
|
|
43
|
+
components: {
|
|
44
|
+
StarRating,
|
|
45
|
+
},
|
|
46
|
+
template: `
|
|
47
|
+
<StarRating :maxRating="5" :rating="5" :is-interactive="true"/>
|
|
48
|
+
`,
|
|
49
|
+
};
|
|
50
|
+
};
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<ul class="tw-flex tw-justify-center">
|
|
3
|
-
<li
|
|
4
|
-
v-for="index in maxRating"
|
|
5
|
-
:key="index"
|
|
6
|
-
class="tw-list-none"
|
|
7
|
-
@click="onRate(index)"
|
|
8
|
-
@mouseover="applyHoverEffect(index)"
|
|
9
|
-
@mouseleave="removeHoverEffect()"
|
|
10
|
-
>
|
|
11
|
-
<Icon v-if="index <= currentRating" name="star-filled" :size="size" :color="color" />
|
|
12
|
-
<Icon v-else-if="shouldShowFilledOnHover(index)" name="star-filled" :size="size" :color="color" />
|
|
13
|
-
<Icon v-else name="star-hollow" :size="size" :color="color" />
|
|
14
|
-
</li>
|
|
15
|
-
</ul>
|
|
16
|
-
</template>
|
|
17
|
-
|
|
18
|
-
<script>
|
|
19
|
-
import Icon from '../Icon/Icon.vue';
|
|
20
|
-
|
|
21
|
-
export default {
|
|
22
|
-
components: {
|
|
23
|
-
Icon,
|
|
24
|
-
},
|
|
25
|
-
props: {
|
|
26
|
-
maxRating: {
|
|
27
|
-
type: Number,
|
|
28
|
-
required: false,
|
|
29
|
-
default: 5,
|
|
30
|
-
},
|
|
31
|
-
rating: {
|
|
32
|
-
type: Number,
|
|
33
|
-
required: false,
|
|
34
|
-
default: 0,
|
|
35
|
-
},
|
|
36
|
-
size: {
|
|
37
|
-
type: String,
|
|
38
|
-
required: false,
|
|
39
|
-
default: 'sm',
|
|
40
|
-
},
|
|
41
|
-
color: {
|
|
42
|
-
type: String,
|
|
43
|
-
required: false,
|
|
44
|
-
default: 'warning-500',
|
|
45
|
-
},
|
|
46
|
-
isInteractive: {
|
|
47
|
-
type: Boolean,
|
|
48
|
-
required: false,
|
|
49
|
-
default: false,
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
data() {
|
|
53
|
-
return {
|
|
54
|
-
currentRating: this.rating,
|
|
55
|
-
hoverRating: undefined,
|
|
56
|
-
};
|
|
57
|
-
},
|
|
58
|
-
methods: {
|
|
59
|
-
shouldShowFilledOnHover(index) {
|
|
60
|
-
return this.isInteractive && this.hoverRating && this.hoverRating >= index;
|
|
61
|
-
},
|
|
62
|
-
onRate(rating) {
|
|
63
|
-
if (this.isInteractive) {
|
|
64
|
-
this.currentRating = rating;
|
|
65
|
-
this.$emit('on-rated', rating);
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
applyHoverEffect(rating) {
|
|
69
|
-
if (this.isInteractive) {
|
|
70
|
-
this.hoverRating = rating;
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
removeHoverEffect() {
|
|
74
|
-
this.hoverRating = undefined;
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
</script>
|
|
79
|
-
|
|
80
|
-
<style scoped>
|
|
81
|
-
li:not(:last-child) {
|
|
82
|
-
@apply tw-mr-1;
|
|
83
|
-
}
|
|
84
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<ul class="tw-flex tw-justify-center">
|
|
3
|
+
<li
|
|
4
|
+
v-for="index in maxRating"
|
|
5
|
+
:key="index"
|
|
6
|
+
class="tw-list-none"
|
|
7
|
+
@click="onRate(index)"
|
|
8
|
+
@mouseover="applyHoverEffect(index)"
|
|
9
|
+
@mouseleave="removeHoverEffect()"
|
|
10
|
+
>
|
|
11
|
+
<Icon v-if="index <= currentRating" name="star-filled" :size="size" :color="color" />
|
|
12
|
+
<Icon v-else-if="shouldShowFilledOnHover(index)" name="star-filled" :size="size" :color="color" />
|
|
13
|
+
<Icon v-else name="star-hollow" :size="size" :color="color" />
|
|
14
|
+
</li>
|
|
15
|
+
</ul>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
import Icon from '../Icon/Icon.vue';
|
|
20
|
+
|
|
21
|
+
export default {
|
|
22
|
+
components: {
|
|
23
|
+
Icon,
|
|
24
|
+
},
|
|
25
|
+
props: {
|
|
26
|
+
maxRating: {
|
|
27
|
+
type: Number,
|
|
28
|
+
required: false,
|
|
29
|
+
default: 5,
|
|
30
|
+
},
|
|
31
|
+
rating: {
|
|
32
|
+
type: Number,
|
|
33
|
+
required: false,
|
|
34
|
+
default: 0,
|
|
35
|
+
},
|
|
36
|
+
size: {
|
|
37
|
+
type: String,
|
|
38
|
+
required: false,
|
|
39
|
+
default: 'sm',
|
|
40
|
+
},
|
|
41
|
+
color: {
|
|
42
|
+
type: String,
|
|
43
|
+
required: false,
|
|
44
|
+
default: 'warning-500',
|
|
45
|
+
},
|
|
46
|
+
isInteractive: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
required: false,
|
|
49
|
+
default: false,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
data() {
|
|
53
|
+
return {
|
|
54
|
+
currentRating: this.rating,
|
|
55
|
+
hoverRating: undefined,
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
methods: {
|
|
59
|
+
shouldShowFilledOnHover(index) {
|
|
60
|
+
return this.isInteractive && this.hoverRating && this.hoverRating >= index;
|
|
61
|
+
},
|
|
62
|
+
onRate(rating) {
|
|
63
|
+
if (this.isInteractive) {
|
|
64
|
+
this.currentRating = rating;
|
|
65
|
+
this.$emit('on-rated', rating);
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
applyHoverEffect(rating) {
|
|
69
|
+
if (this.isInteractive) {
|
|
70
|
+
this.hoverRating = rating;
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
removeHoverEffect() {
|
|
74
|
+
this.hoverRating = undefined;
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
</script>
|
|
79
|
+
|
|
80
|
+
<style scoped>
|
|
81
|
+
li:not(:last-child) {
|
|
82
|
+
@apply tw-mr-1;
|
|
83
|
+
}
|
|
84
|
+
</style>
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import TabMenu from './TabMenu.vue';
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
title: 'Components/Tab Menu',
|
|
5
|
-
component: TabMenu,
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const Sample = () => {
|
|
9
|
-
return {
|
|
10
|
-
components: {
|
|
11
|
-
TabMenu,
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
data() {
|
|
15
|
-
return {
|
|
16
|
-
checked: true,
|
|
17
|
-
tabNames: ['all', 'categories'],
|
|
18
|
-
selectedTabName: 'all',
|
|
19
|
-
};
|
|
20
|
-
},
|
|
21
|
-
methods: {
|
|
22
|
-
selectTab(tabName) {
|
|
23
|
-
this.selectedTabName = tabName;
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
template: `
|
|
27
|
-
<TabMenu :tab-names="tabNames" :selected-tab-name="selectedTabName" @on-tab-selected="selectTab" />
|
|
28
|
-
`,
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export const SampleMoreTabs = () => {
|
|
33
|
-
return {
|
|
34
|
-
components: {
|
|
35
|
-
TabMenu,
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
data() {
|
|
39
|
-
return {
|
|
40
|
-
checked: true,
|
|
41
|
-
tabNames: ['home', 'gaming', 'food', 'nature', 'beauty', 'tax', 'legal'],
|
|
42
|
-
selectedTabName: 'gaming',
|
|
43
|
-
};
|
|
44
|
-
},
|
|
45
|
-
methods: {
|
|
46
|
-
selectTab(tabName) {
|
|
47
|
-
this.selectedTabName = tabName;
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
template: `
|
|
51
|
-
<TabMenu :tab-names="tabNames" :selected-tab-name="selectedTabName" @on-tab-selected="selectTab" />
|
|
52
|
-
`,
|
|
53
|
-
};
|
|
54
|
-
};
|
|
1
|
+
import TabMenu from './TabMenu.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/Tab Menu',
|
|
5
|
+
component: TabMenu,
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const Sample = () => {
|
|
9
|
+
return {
|
|
10
|
+
components: {
|
|
11
|
+
TabMenu,
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
data() {
|
|
15
|
+
return {
|
|
16
|
+
checked: true,
|
|
17
|
+
tabNames: ['all', 'categories'],
|
|
18
|
+
selectedTabName: 'all',
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
methods: {
|
|
22
|
+
selectTab(tabName) {
|
|
23
|
+
this.selectedTabName = tabName;
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
template: `
|
|
27
|
+
<TabMenu :tab-names="tabNames" :selected-tab-name="selectedTabName" @on-tab-selected="selectTab" />
|
|
28
|
+
`,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const SampleMoreTabs = () => {
|
|
33
|
+
return {
|
|
34
|
+
components: {
|
|
35
|
+
TabMenu,
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
data() {
|
|
39
|
+
return {
|
|
40
|
+
checked: true,
|
|
41
|
+
tabNames: ['home', 'gaming', 'food', 'nature', 'beauty', 'tax', 'legal'],
|
|
42
|
+
selectedTabName: 'gaming',
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
methods: {
|
|
46
|
+
selectTab(tabName) {
|
|
47
|
+
this.selectedTabName = tabName;
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
template: `
|
|
51
|
+
<TabMenu :tab-names="tabNames" :selected-tab-name="selectedTabName" @on-tab-selected="selectTab" />
|
|
52
|
+
`,
|
|
53
|
+
};
|
|
54
|
+
};
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="tw-flex tw-w-full tw-overflow-x-auto">
|
|
3
|
-
<div
|
|
4
|
-
v-for="(tabName, index) in tabNames"
|
|
5
|
-
:key="index"
|
|
6
|
-
class="tw-w-full tw-py-2 tw-text-center tw-uppercase tw-font-bold tw-font-sans tw-text-sm tw-cursor-pointer tw-border tw-border-l-0 tw-border-r-0 tw-border-t-0 tw-border-solid"
|
|
7
|
-
:class="[
|
|
8
|
-
{
|
|
9
|
-
'tw-text-secondary-500 tw-border-grayscale-500 tw-border-b-1': selectedTabName !== tabName,
|
|
10
|
-
'tw-text-primary-500 tw-border-primary-500 tw-border-b-4': selectedTabName === tabName,
|
|
11
|
-
},
|
|
12
|
-
classes,
|
|
13
|
-
]"
|
|
14
|
-
@click="onTabSelected(tabName)"
|
|
15
|
-
>
|
|
16
|
-
{{ tabName }}
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
</template>
|
|
20
|
-
<script>
|
|
21
|
-
export default {
|
|
22
|
-
props: {
|
|
23
|
-
tabNames: {
|
|
24
|
-
type: Array,
|
|
25
|
-
required: true,
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
selectedTabName: {
|
|
29
|
-
type: String,
|
|
30
|
-
required: true,
|
|
31
|
-
},
|
|
32
|
-
classes: {
|
|
33
|
-
type: [String, Object],
|
|
34
|
-
required: false,
|
|
35
|
-
default: '',
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
methods: {
|
|
39
|
-
onTabSelected(tabName) {
|
|
40
|
-
this.$emit('on-tab-selected', tabName);
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="tw-flex tw-w-full tw-overflow-x-auto">
|
|
3
|
+
<div
|
|
4
|
+
v-for="(tabName, index) in tabNames"
|
|
5
|
+
:key="index"
|
|
6
|
+
class="tw-w-full tw-py-2 tw-text-center tw-uppercase tw-font-bold tw-font-sans tw-text-sm tw-cursor-pointer tw-border tw-border-l-0 tw-border-r-0 tw-border-t-0 tw-border-solid"
|
|
7
|
+
:class="[
|
|
8
|
+
{
|
|
9
|
+
'tw-text-secondary-500 tw-border-grayscale-500 tw-border-b-1': selectedTabName !== tabName,
|
|
10
|
+
'tw-text-primary-500 tw-border-primary-500 tw-border-b-4': selectedTabName === tabName,
|
|
11
|
+
},
|
|
12
|
+
classes,
|
|
13
|
+
]"
|
|
14
|
+
@click="onTabSelected(tabName)"
|
|
15
|
+
>
|
|
16
|
+
{{ tabName }}
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
<script>
|
|
21
|
+
export default {
|
|
22
|
+
props: {
|
|
23
|
+
tabNames: {
|
|
24
|
+
type: Array,
|
|
25
|
+
required: true,
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
selectedTabName: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: true,
|
|
31
|
+
},
|
|
32
|
+
classes: {
|
|
33
|
+
type: [String, Object],
|
|
34
|
+
required: false,
|
|
35
|
+
default: '',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
methods: {
|
|
39
|
+
onTabSelected(tabName) {
|
|
40
|
+
this.$emit('on-tab-selected', tabName);
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
</script>
|