@designcrowd/fe-shared-lib 1.6.10-voiceText → 1.7.0-eng-4159
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/.github/workflows/claude.yml +72 -72
- 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 +4 -4
- package/.storybook/preview-head.html +4 -4
- package/.storybook/preview.js +53 -53
- package/CLAUDE.md +94 -94
- package/Dockerfile +43 -43
- package/README.md +103 -103
- package/buildspec.yml +47 -47
- package/dist/css/tailwind-brandCrowd.css +523 -493
- package/dist/css/tailwind-brandPage.css +435 -413
- package/dist/css/tailwind-crazyDomains.css +523 -493
- package/dist/css/tailwind-designCom.css +523 -493
- package/dist/css/tailwind-designCrowd.css +523 -493
- package/docs/plans/DY-957-plan-phase-2-fe-shared-lib.md +382 -382
- package/index.cjs +16 -16
- package/index.js +62 -64
- package/nodemon.translation.json +6 -6
- package/package.json +115 -115
- package/postcss.config.js +5 -5
- package/public/css/tailwind-brandCrowd.css +499 -540
- package/public/css/tailwind-brandPage.css +417 -430
- package/public/css/tailwind-crazyDomains.css +499 -540
- package/public/css/tailwind-designCom.css +499 -540
- package/public/css/tailwind-designCrowd.css +499 -540
- package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.stories.js +90 -90
- package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.vue +120 -120
- 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 +363 -363
- 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 +123 -123
- 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 +410 -409
- package/src/atoms/components/Icon/Icon.vue +932 -932
- 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/annotate-heart.vue +7 -7
- 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/award.vue +7 -7
- 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/bezier-curve-outline.vue +7 -7
- package/src/atoms/components/Icon/icons/bezier-curve.vue +7 -7
- package/src/atoms/components/Icon/icons/briefcase.vue +7 -7
- package/src/atoms/components/Icon/icons/browser.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-vertical.vue +7 -7
- 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/crown-alt.vue +5 -5
- package/src/atoms/components/Icon/icons/crown.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/digital-business-card-filled.vue +8 -8
- 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-box.vue +3 -3
- package/src/atoms/components/Icon/icons/file-empty.vue +7 -7
- 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/font.vue +7 -7
- 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/group.vue +6 -6
- package/src/atoms/components/Icon/icons/hamburger.vue +7 -7
- package/src/atoms/components/Icon/icons/headphones.vue +7 -7
- package/src/atoms/components/Icon/icons/history.vue +12 -12
- package/src/atoms/components/Icon/icons/home-outline.vue +6 -6
- 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/image.vue +7 -7
- 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/lightning.vue +7 -7
- package/src/atoms/components/Icon/icons/link-in-bio-filled.vue +8 -8
- 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/logo.vue +7 -7
- 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-blank.vue +6 -6
- 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-outline.vue +7 -7
- 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-outline.vue +7 -7
- package/src/atoms/components/Icon/icons/pen-sparkle.vue +17 -17
- package/src/atoms/components/Icon/icons/pen-tool.vue +7 -7
- package/src/atoms/components/Icon/icons/pen.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/premium-content.vue +8 -8
- 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-alt.vue +20 -20
- 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/save.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 +9 -9
- package/src/atoms/components/Icon/icons/shield-tick.vue +6 -6
- 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/sparkle-square.vue +22 -22
- 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/users-2.vue +5 -0
- 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/websites/upgrade-to-add-page.vue +50 -50
- package/src/atoms/components/Icon/icons/websites/upgrade-to-contact-form.vue +82 -82
- package/src/atoms/components/Icon/icons/websites/upgrade-to-google-ad.vue +92 -92
- package/src/atoms/components/Icon/icons/websites/upgrade-to-maps.vue +40 -40
- package/src/atoms/components/Icon/icons/websites/upgrade-to-publish.vue +107 -107
- package/src/atoms/components/Icon/icons/websites/upgrade-to-remove-watermark.vue +74 -74
- package/src/atoms/components/Icon/icons/websites/upgrade-to-videos.vue +16 -16
- 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 +272 -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 +313 -313
- 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 +94 -94
- package/src/atoms/components/design-com/Icon/Icon.vue +181 -181
- package/src/atoms/components/design-com/Icon/icons/ai.vue +5 -5
- package/src/atoms/components/design-com/Icon/icons/award.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/badge.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/briefcase.vue +6 -6
- package/src/atoms/components/design-com/Icon/icons/browser.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/bulb.vue +7 -7
- package/src/atoms/components/design-com/Icon/icons/card-vertical.vue +8 -8
- package/src/atoms/components/design-com/Icon/icons/card.vue +6 -6
- 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/folder.vue +5 -5
- 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/lightning.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/printing.vue +5 -5
- 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/shield-tick.vue +5 -5
- 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 +8 -53
- package/src/bundles/bundled-translations.es-ES.json +8 -53
- package/src/bundles/bundled-translations.fr-CA.json +8 -53
- package/src/bundles/bundled-translations.fr-FR.json +8 -53
- package/src/bundles/bundled-translations.json +8 -53
- package/src/bundles/bundled-translations.pt-BR.json +8 -53
- package/src/bundles/bundled-translations.pt-PT.json +8 -53
- package/src/css/tailwind.css +3 -3
- package/src/experiences/clients/brand-crowd-api.client.js +142 -142
- 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 +472 -472
- 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 +27 -27
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.es-ES.json +27 -27
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-CA.json +27 -27
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-FR.json +27 -27
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.json +27 -27
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-BR.json +27 -27
- package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-PT.json +27 -27
- 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 +222 -222
- 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 +223 -223
- 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/SideNavigationPanel/MenuCta.vue +62 -62
- package/src/experiences/components/SideNavigationPanel/MenuItem.vue +40 -40
- package/src/experiences/components/SideNavigationPanel/SideNavigationPanel.stories.js +219 -219
- package/src/experiences/components/SideNavigationPanel/SideNavigationPanel.vue +82 -82
- package/src/experiences/components/SideNavigationPanel/types.ts +7 -7
- package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.stories.js +254 -254
- package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.vue +163 -163
- 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/LogoKeywords.stories.js +65 -65
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoKeywords.vue +156 -156
- 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 +109 -109
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadingLoader.vue +39 -39
- package/src/experiences/components/UploadYourLogoOnBoarding/UploadYourLogoOnBoarding.vue +363 -363
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.de-DE.json +37 -37
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.es-ES.json +37 -37
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-CA.json +37 -37
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-FR.json +37 -37
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.json +37 -37
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-BR.json +37 -37
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-PT.json +37 -37
- 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/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.stories.js +181 -181
- package/src/experiences/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.vue +203 -203
- package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.de-DE.json +42 -42
- package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.es-ES.json +42 -42
- package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.fr-CA.json +42 -42
- package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.fr-FR.json +42 -42
- package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.json +42 -42
- package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.pt-BR.json +42 -42
- package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.pt-PT.json +42 -42
- package/src/experiences/constants/api.js +9 -9
- 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/experiences/models/websiteContextualModel.ts +11 -11
- 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 +131 -131
- 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
- package/.claude/settings.local.json +0 -59
- package/.storybook-static/assets/Auth-DT64t5h-.css +0 -1
- package/.storybook-static/assets/Auth.stories-C6eXcTSu.js +0 -490
- package/.storybook-static/assets/AuthCrazyDomains.stories-DGvEoWCa.js +0 -73
- package/.storybook-static/assets/Button-5UzSGUF6.css +0 -1
- package/.storybook-static/assets/Button-DKdQT6Fq.js +0 -1
- package/.storybook-static/assets/ButtonGroup-DDPXuhxR.css +0 -1
- package/.storybook-static/assets/ButtonGroup.stories-DlrYMRSk.js +0 -504
- package/.storybook-static/assets/ButtonPrimary-Bu6bXb_c.css +0 -1
- package/.storybook-static/assets/ButtonPrimary-BvWW6Duz.js +0 -1
- package/.storybook-static/assets/Buttons.stories-CKmd6hkZ.js +0 -761
- package/.storybook-static/assets/ButtonsCrazyDomains.stories-DdEuOUrn.js +0 -199
- package/.storybook-static/assets/Checkbox.mixin-DkHpdvGa.js +0 -1
- package/.storybook-static/assets/Checkbox.stories-DPBUC2Mx.js +0 -246
- package/.storybook-static/assets/Checktile.stories-ByaFwplD.js +0 -88
- package/.storybook-static/assets/CollapsiblePanel.stories-Y6q3gP9j.js +0 -56
- package/.storybook-static/assets/ColorPicker.stories-DdxPUB_R.js +0 -73
- package/.storybook-static/assets/CopyToClipboardText.stories-J9qndWxd.js +0 -32
- package/.storybook-static/assets/Dropdown.stories-1zKPATii.js +0 -159
- package/.storybook-static/assets/DropdownItem-BV-BdThU.css +0 -1
- package/.storybook-static/assets/DropdownItem-DA6TdpDb.js +0 -1
- package/.storybook-static/assets/FormControl.mixin-DcEBwrV3.js +0 -1
- package/.storybook-static/assets/HashRouteModal.stories-BGxvqE22.js +0 -60
- package/.storybook-static/assets/HelloBar-CYEZR2kQ.js +0 -1
- package/.storybook-static/assets/HelloBar.stories-597Kxj0W.js +0 -342
- package/.storybook-static/assets/Icon-C17LFvsP.js +0 -145
- package/.storybook-static/assets/Icon.stories-B9iAmcTU.js +0 -151
- package/.storybook-static/assets/Icon.stories-CR5vT9H7.js +0 -791
- package/.storybook-static/assets/Loader-BWGoT_xC.js +0 -1
- package/.storybook-static/assets/LogoBusinessBrandColours-CExzox1Z.js +0 -1
- package/.storybook-static/assets/LogoBusinessBrandColours-CeAaMKke.css +0 -1
- package/.storybook-static/assets/LogoBusinessBrandColours.stories-kuxAH8B8.js +0 -36
- package/.storybook-static/assets/Masonry-C2MNiGg0.css +0 -1
- package/.storybook-static/assets/Masonry.stories-CTXJLQ_i.js +0 -71
- package/.storybook-static/assets/Modal-CGwEIF5R.css +0 -1
- package/.storybook-static/assets/Modal-CydTNprT.js +0 -1
- package/.storybook-static/assets/Modal.stories-DZiG5NGM.js +0 -345
- package/.storybook-static/assets/Notice.stories-ChOj8CWm.js +0 -222
- package/.storybook-static/assets/NumberStepper-Blffv09R.css +0 -1
- package/.storybook-static/assets/NumberStepper.stories-CVbKJ_oJ.js +0 -64
- package/.storybook-static/assets/PaymentConfigList-BpUMV6cp.css +0 -1
- package/.storybook-static/assets/PaymentConfigList.stories-DUD7OZBS.js +0 -130
- package/.storybook-static/assets/Picture-B8m1I9xN.js +0 -1
- package/.storybook-static/assets/Picture.stories-MMzybhJ6.js +0 -119
- package/.storybook-static/assets/Pill-DLXZ_TL8.js +0 -1
- package/.storybook-static/assets/Pill.stories-DCP7szJm.js +0 -18
- package/.storybook-static/assets/PillBar-os4mJV3M.css +0 -1
- package/.storybook-static/assets/PillBar.stories-Bry-zQ6f.js +0 -41
- package/.storybook-static/assets/Price-C4GZbDSa.js +0 -1
- package/.storybook-static/assets/Price.stories-CMHly9V0.js +0 -337
- package/.storybook-static/assets/PromoCard.stories-xsbFtADE.js +0 -299
- package/.storybook-static/assets/PublishBrandPageModal-Q9-mNG1q.css +0 -1
- package/.storybook-static/assets/PublishBrandPageModal.stories-C9XzW_1m.js +0 -324
- package/.storybook-static/assets/SearchBar.stories-DaIneOSz.js +0 -12
- package/.storybook-static/assets/Select-DnioWQmi.css +0 -1
- package/.storybook-static/assets/Select.stories-BmGYB4pw.js +0 -108
- package/.storybook-static/assets/SellDomainNameList.fixtures-LC6fjr_b.js +0 -1
- package/.storybook-static/assets/SellDomainNameListModal-DH6khE10.css +0 -1
- package/.storybook-static/assets/SellDomainNameListModal-ymtVclFP.js +0 -1
- package/.storybook-static/assets/SellDomainNameListModal.stories-DvGvylgx.js +0 -71
- package/.storybook-static/assets/SellDomainNameListSearchResult-Cpxq0jDA.css +0 -1
- package/.storybook-static/assets/SellDomainNameListSearchResult-D-1CrQyf.js +0 -1
- package/.storybook-static/assets/SellDomainNameSearchWithResults-bX--zu97.js +0 -1
- package/.storybook-static/assets/SellDomainNameSearchWithResults.stories-DRUJjSdH.js +0 -37
- package/.storybook-static/assets/SellDomainNameWidget.stories-CC3LX10s.js +0 -36
- package/.storybook-static/assets/SignIn-CPjf8_2O.css +0 -1
- package/.storybook-static/assets/SignIn-DI0DSDFe.js +0 -1
- package/.storybook-static/assets/Slider-Cog2FFdj.css +0 -1
- package/.storybook-static/assets/Slider.stories-B2KGwnJy.js +0 -141
- package/.storybook-static/assets/SparkleIcon.stories-Dk904hVE.js +0 -547
- package/.storybook-static/assets/StarRating-BtKh7pzm.css +0 -1
- package/.storybook-static/assets/StarRating.stories-d2mgOuo2.js +0 -45
- package/.storybook-static/assets/TabMenu.stories-Cg2yenqj.js +0 -47
- package/.storybook-static/assets/TextCopyField-B66NKTk_.js +0 -1
- package/.storybook-static/assets/TextCopyField.stories-B4_ZlfLU.js +0 -47
- package/.storybook-static/assets/TextInput-CMoUjT_5.js +0 -1
- package/.storybook-static/assets/TextInput.stories-oyyxxf3j.js +0 -233
- package/.storybook-static/assets/Textarea.stories-BvhZR6K2.js +0 -207
- package/.storybook-static/assets/Toggle.stories-yT5-rL2k.js +0 -161
- package/.storybook-static/assets/Tooltip-DyXIgFQH.css +0 -1
- package/.storybook-static/assets/Tooltip-ZukyujG5.js +0 -1
- package/.storybook-static/assets/Tooltip.stories-sJFylRS_.js +0 -953
- package/.storybook-static/assets/UploadYourLogoApplication-Dmw8QcH3.css +0 -1
- package/.storybook-static/assets/UploadYourLogoApplication.stories-C9AvzHO_.js +0 -186
- package/.storybook-static/assets/UploadYourLogoDropzone-B1ffcicv.js +0 -24
- package/.storybook-static/assets/UploadYourLogoDropzone-DQqACf-e.css +0 -1
- package/.storybook-static/assets/UploadYourLogoDropzone.stories-D1Dt2ord.js +0 -55
- package/.storybook-static/assets/UploadedLogoSearchResultCard.stories-D8oF1Yrx.js +0 -79
- package/.storybook-static/assets/WebsiteContextualUpgradeModal-8u1zOZrW.css +0 -1
- package/.storybook-static/assets/WebsiteContextualUpgradeModal.stories-mtcvWOAg.js +0 -211
- package/.storybook-static/assets/_commonjsHelpers-CE1G-McA.js +0 -1
- package/.storybook-static/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
- package/.storybook-static/assets/api-lSJGRrF2.js +0 -1
- package/.storybook-static/assets/axe-DrS73Vi2.js +0 -20
- package/.storybook-static/assets/brand-crowd-api.client-D45NKshX.js +0 -1
- package/.storybook-static/assets/bundled-translations-BoWhEDU_.js +0 -1
- package/.storybook-static/assets/bundled-translations.de-DE-C4lqla4O.js +0 -1
- package/.storybook-static/assets/bundled-translations.es-ES-BxMIllUH.js +0 -1
- package/.storybook-static/assets/bundled-translations.fr-CA-MxZpyz0w.js +0 -1
- package/.storybook-static/assets/bundled-translations.fr-FR-N7UPCZVr.js +0 -1
- package/.storybook-static/assets/bundled-translations.pt-BR-C8tscYuG.js +0 -1
- package/.storybook-static/assets/bundled-translations.pt-PT-Dszj5Xfa.js +0 -1
- package/.storybook-static/assets/carousel-BelyIYOK.css +0 -1
- package/.storybook-static/assets/carousel.stories-CJw3-Iy6.js +0 -668
- package/.storybook-static/assets/event-constants-CMO9VQVu.js +0 -1
- package/.storybook-static/assets/iframe-B3A6OXQU.js +0 -1104
- package/.storybook-static/assets/index-B-eiLVzF.js +0 -7
- package/.storybook-static/assets/index-QquxUozE.js +0 -6
- package/.storybook-static/assets/matchers-5TDFFDYO-HJu_DfWo.js +0 -14
- package/.storybook-static/assets/mediaQueryMixin-CISNqd93.js +0 -1
- package/.storybook-static/assets/preload-helper-PPVm8Dsz.js +0 -1
- package/.storybook-static/assets/tracking-ATsLLehC.js +0 -1
- package/.storybook-static/css/tailwind-brandCrowd.css +0 -2508
- package/.storybook-static/css/tailwind-brandPage.css +0 -2188
- package/.storybook-static/css/tailwind-crazyDomains.css +0 -2508
- package/.storybook-static/css/tailwind-designCom.css +0 -2508
- package/.storybook-static/css/tailwind-designCrowd.css +0 -2508
- package/.storybook-static/favicon-wrapper.svg +0 -46
- package/.storybook-static/favicon.svg +0 -1
- package/.storybook-static/iframe.html +0 -713
- package/.storybook-static/index.html +0 -148
- package/.storybook-static/index.json +0 -1
- package/.storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/.storybook-static/nunito-sans-bold.woff2 +0 -0
- package/.storybook-static/nunito-sans-italic.woff2 +0 -0
- package/.storybook-static/nunito-sans-regular.woff2 +0 -0
- package/.storybook-static/project.json +0 -1
- package/.storybook-static/sb-addons/a11y-1/manager-bundle.js +0 -57
- package/.storybook-static/sb-addons/links-2/manager-bundle.js +0 -3
- package/.storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -628
- package/.storybook-static/sb-addons/themes-3/manager-bundle.js +0 -3
- package/.storybook-static/sb-common-assets/favicon-wrapper.svg +0 -46
- package/.storybook-static/sb-common-assets/favicon.svg +0 -1
- package/.storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/.storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/.storybook-static/sb-manager/globals-runtime.js +0 -77935
- package/.storybook-static/sb-manager/globals.js +0 -24
- package/.storybook-static/sb-manager/manager-stores.js +0 -23
- package/.storybook-static/sb-manager/runtime.js +0 -20404
- package/.storybook-static/vite-inject-mocker-entry.js +0 -2
- package/src/atoms/components/Icon/icons/microphone.vue +0 -5
- package/src/atoms/components/VoiceToTextButton/VoiceToTextButton.stories.js +0 -107
- package/src/atoms/components/VoiceToTextButton/VoiceToTextButton.vue +0 -84
- package/src/useVoiceToText.js +0 -174
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as ke}from"./assets/preload-helper-PPVm8Dsz.js";var O={client:!0},ae=class{registryByUrl=new Map;registryById=new Map;clear(){this.registryByUrl.clear(),this.registryById.clear()}keys(){return this.registryByUrl.keys()}add(e){this.registryByUrl.set(e.url,e),this.registryById.set(e.id,e)}register(e,r,t,n,i){let a=typeof e=="object"?e.type:e;if(typeof e=="object"){let o=e;if(o instanceof X||o instanceof q||o instanceof W||o instanceof F)throw new TypeError(`[vitest] Cannot register a mock that is already defined. Expected a JSON representation from \`MockedModule.toJSON\`, instead got "${o.type}". Use "registry.add()" to update a mock instead.`);if(o.type==="automock"){let s=X.fromJSON(o);return this.add(s),s}else if(o.type==="autospy"){let s=q.fromJSON(o);return this.add(s),s}else if(o.type==="redirect"){let s=F.fromJSON(o);return this.add(s),s}else throw o.type==="manual"?new Error("Cannot set serialized manual mock. Define a factory function manually with `ManualMockedModule.fromJSON()`."):new Error(`Unknown mock type: ${o.type}`)}if(typeof r!="string")throw new TypeError("[vitest] Mocks require a raw string.");if(typeof n!="string")throw new TypeError("[vitest] Mocks require a url string.");if(typeof t!="string")throw new TypeError("[vitest] Mocks require an id string.");if(a==="manual"){if(typeof i!="function")throw new TypeError("[vitest] Manual mocks require a factory function.");let o=new W(r,t,n,i);return this.add(o),o}else if(a==="automock"||a==="autospy"){let o=a==="automock"?new X(r,t,n):new q(r,t,n);return this.add(o),o}else if(a==="redirect"){if(typeof i!="string")throw new TypeError("[vitest] Redirect mocks require a redirect string.");let o=new F(r,t,n,i);return this.add(o),o}else throw new Error(`[vitest] Unknown mock type: ${a}`)}delete(e){this.registryByUrl.delete(e)}get(e){return this.registryByUrl.get(e)}getById(e){return this.registryById.get(e)}has(e){return this.registryByUrl.has(e)}},X=class{type="automock";constructor(e,r,t){this.raw=e,this.id=r,this.url=t}static fromJSON(e){return new q(e.raw,e.id,e.url)}toJSON(){return{type:this.type,url:this.url,raw:this.raw,id:this.id}}},q=class le{type="autospy";constructor(r,t,n){this.raw=r,this.id=t,this.url=n}static fromJSON(r){return new le(r.raw,r.id,r.url)}toJSON(){return{type:this.type,url:this.url,id:this.id,raw:this.raw}}},F=class ce{type="redirect";constructor(r,t,n,i){this.raw=r,this.id=t,this.url=n,this.redirect=i}static fromJSON(r){return new ce(r.raw,r.id,r.url,r.redirect)}toJSON(){return{type:this.type,url:this.url,raw:this.raw,id:this.id,redirect:this.redirect}}},W=class ue{cache;type="manual";constructor(r,t,n,i){this.raw=r,this.id=t,this.url=n,this.factory=i}async resolve(){if(this.cache)return this.cache;let r;try{r=await this.factory()}catch(t){let n=new Error('[vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock');throw n.cause=t,n}if(r===null||typeof r!="object"||Array.isArray(r))throw new TypeError(`[vitest] vi.mock("${this.raw}", factory?: () => unknown) is not returning an object. Did you mean to return an object with a "default" key?`);return this.cache=r}static fromJSON(r,t){return new ue(r.raw,r.id,r.url,t)}toJSON(){return{type:this.type,url:this.url,id:this.id,raw:this.raw}}};function we(e,r,t={}){let n=new Array,i=new Se,a=(u,d,y)=>{try{return u[d]=y,!0}catch{return!1}},o=(u,d)=>{let y=D(u),g=y==="Module"||!!u.__esModule;for(let{key:m,descriptor:I}of Y(u,g,e.globalConstructors)){if(!g&&I.get){try{Object.defineProperty(d,m,I)}catch{}continue}if(_e(m,y))continue;let v=u[m],l=i.getId(v);if(l!==void 0){n.push(()=>a(d,m,i.getMockedValue(l)));continue}let c=D(v);if(Array.isArray(v)){a(d,m,[]);continue}let x=c.includes("Function")&&typeof v=="function";if((!x||v._isMockFunction)&&c!=="Object"&&c!=="Module"){a(d,m,v);continue}if(a(d,m,x?v:{})){if(x){let R=function(){if(this instanceof d[m])for(let{key:b,descriptor:$}of Y(this,!1,e.globalConstructors)){if($.get)continue;let C=this[b];if(D(C).includes("Function")&&typeof C=="function"){let p=this[b],h=_(this,b).mockImplementation(p),B=h.mockReset;h.mockRestore=h.mockReset=()=>(B.call(h),h.mockImplementation(p),h)}}};if(!e.spyOn)throw new Error("[@vitest/mocker] `spyOn` is not defined. This is a Vitest error. Please open a new issue with reproduction.");let _=e.spyOn,M=_(d,m);if(e.type==="automock"){M.mockImplementation(R);let b=M.mockReset;M.mockRestore=M.mockReset=()=>(b.call(M),M.mockImplementation(R),M)}Object.defineProperty(d[m],"length",{value:0})}i.track(v,d[m]),o(v,d[m])}}},s=t;o(r,s);for(let u of n)u();return s}var Se=class{idMap=new Map;mockedValueMap=new Map;getId(e){return this.idMap.get(e)}getMockedValue(e){return this.mockedValueMap.get(e)}track(e,r){let t=this.idMap.size;return this.idMap.set(e,t),this.mockedValueMap.set(t,r),t}};function D(e){return Object.prototype.toString.apply(e).slice(8,-1)}function _e(e,r){return r.includes("Function")&&typeof e=="string"&&["arguments","callee","caller","length","name"].includes(e)}function Y(e,r,t){let{Map:n,Object:i,Function:a,RegExp:o,Array:s}=t,u=new n,d=e;do{if(d===i.prototype||d===a.prototype||d===o.prototype)break;Ee(d,y=>{let g=i.getOwnPropertyDescriptor(d,y);g&&u.set(y,{key:y,descriptor:g})})}while(d=i.getPrototypeOf(d));if(r&&!u.has("default")&&"default"in e){let y=i.getOwnPropertyDescriptor(e,"default");y&&u.set("default",{key:"default",descriptor:y})}return s.from(u.values())}function Ee(e,r){let t=typeof r=="function"?r:n=>r.add(n);Object.getOwnPropertyNames(e).forEach(t),Object.getOwnPropertySymbols(e).forEach(t)}var Ie=/^[A-Za-z]:\//;function fe(e=""){return e&&e.replace(/\\/g,"/").replace(Ie,r=>r.toUpperCase())}var be=/^[/\\]{2}/,xe=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/,Te=/^[A-Za-z]:$/,Me=/.(\.[^./]+|\.)$/,Pe=function(e){if(e.length===0)return".";e=fe(e);let r=e.match(be),t=K(e),n=e[e.length-1]==="/";return e=$e(e,!t),e.length===0?t?"/":n?"./":".":(n&&(e+="/"),Te.test(e)&&(e+="/"),r?t?`//${e}`:`//./${e}`:t&&!K(e)?`/${e}`:e)},Re=function(...e){let r="";for(let t of e)if(t)if(r.length>0){let n=r[r.length-1]==="/",i=t[0]==="/";n&&i?r+=t.slice(1):r+=n||i?t:`/${t}`}else r+=t;return Pe(r)};function $e(e,r){let t="",n=0,i=-1,a=0,o=null;for(let s=0;s<=e.length;++s){if(s<e.length)o=e[s];else{if(o==="/")break;o="/"}if(o==="/"){if(!(i===s-1||a===1))if(a===2){if(t.length<2||n!==2||t[t.length-1]!=="."||t[t.length-2]!=="."){if(t.length>2){let u=t.lastIndexOf("/");u===-1?(t="",n=0):(t=t.slice(0,u),n=t.length-1-t.lastIndexOf("/")),i=s,a=0;continue}else if(t.length>0){t="",n=0,i=s,a=0;continue}}r&&(t+=t.length>0?"/..":"..",n=2)}else t.length>0?t+=`/${e.slice(i+1,s)}`:t=e.slice(i+1,s),n=s-i-1;i=s,a=0}else o==="."&&a!==-1?++a:a=-1}return t}var K=function(e){return xe.test(e)},Ae=function(e){if(e==="..")return"";let r=Me.exec(fe(e));return r&&r[1]||""},Oe={reset:[0,0],bold:[1,22,"\x1B[22m\x1B[1m"],dim:[2,22,"\x1B[22m\x1B[2m"],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]},Ce=Object.entries(Oe);function j(e){return String(e)}j.open="";j.close="";function Ne(e=!1){let r=typeof O<"u"?O:void 0,t=r?.env||{},n=r?.argv||[];return!("NO_COLOR"in t||n.includes("--no-color"))&&("FORCE_COLOR"in t||n.includes("--color")||r?.platform==="win32"||e&&t.TERM!=="dumb"||"CI"in t)||typeof window<"u"&&!!window.chrome}function Le(e=!1){let r=Ne(e),t=(o,s,u,d)=>{let y="",g=0;do y+=o.substring(g,d)+u,g=d+s.length,d=o.indexOf(s,g);while(~d);return y+o.substring(g)},n=(o,s,u=o)=>{let d=y=>{let g=String(y),m=g.indexOf(s,o.length);return~m?o+t(g,s,u,m)+s:o+g+s};return d.open=o,d.close=s,d},i={isColorSupported:r},a=o=>`\x1B[${o}m`;for(let[o,s]of Ce)i[o]=r?n(a(s[0]),a(s[1]),s[2]):j;return i}Le();function de(e,r){return r.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(n){if(n!=="default"&&!(n in e)){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}})}),Object.freeze(e)}function pe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var H={exports:{}},w={},Z;function Je(){if(Z)return w;Z=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),o=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),m=Symbol.for("react.view_transition"),I=Symbol.for("react.client.reference");function v(l){if(typeof l=="object"&&l!==null){var c=l.$$typeof;switch(c){case e:switch(l=l.type,l){case t:case i:case n:case u:case d:case m:return l;default:switch(l=l&&l.$$typeof,l){case o:case s:case g:case y:return l;case a:return l;default:return c}}case r:return c}}}return w.ContextConsumer=a,w.ContextProvider=o,w.Element=e,w.ForwardRef=s,w.Fragment=t,w.Lazy=g,w.Memo=y,w.Portal=r,w.Profiler=i,w.StrictMode=n,w.Suspense=u,w.SuspenseList=d,w.isContextConsumer=function(l){return v(l)===a},w.isContextProvider=function(l){return v(l)===o},w.isElement=function(l){return typeof l=="object"&&l!==null&&l.$$typeof===e},w.isForwardRef=function(l){return v(l)===s},w.isFragment=function(l){return v(l)===t},w.isLazy=function(l){return v(l)===g},w.isMemo=function(l){return v(l)===y},w.isPortal=function(l){return v(l)===r},w.isProfiler=function(l){return v(l)===i},w.isStrictMode=function(l){return v(l)===n},w.isSuspense=function(l){return v(l)===u},w.isSuspenseList=function(l){return v(l)===d},w.isValidElementType=function(l){return typeof l=="string"||typeof l=="function"||l===t||l===i||l===n||l===u||l===d||typeof l=="object"&&l!==null&&(l.$$typeof===g||l.$$typeof===y||l.$$typeof===o||l.$$typeof===a||l.$$typeof===s||l.$$typeof===I||l.getModuleId!==void 0)},w.typeOf=v,w}var G;function Be(){return G||(G=1,H.exports=Je()),H.exports}var he=Be(),Xe=pe(he),qe=de({__proto__:null,default:Xe},[he]),Q={exports:{}},k={},ee;function Fe(){if(ee)return k;ee=1;var e=Symbol.for("react.element"),r=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),o=Symbol.for("react.context"),s=Symbol.for("react.server_context"),u=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),y=Symbol.for("react.suspense_list"),g=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),I=Symbol.for("react.offscreen"),v;v=Symbol.for("react.module.reference");function l(c){if(typeof c=="object"&&c!==null){var x=c.$$typeof;switch(x){case e:switch(c=c.type,c){case t:case i:case n:case d:case y:return c;default:switch(c=c&&c.$$typeof,c){case s:case o:case u:case m:case g:case a:return c;default:return x}}case r:return x}}}return k.ContextConsumer=o,k.ContextProvider=a,k.Element=e,k.ForwardRef=u,k.Fragment=t,k.Lazy=m,k.Memo=g,k.Portal=r,k.Profiler=i,k.StrictMode=n,k.Suspense=d,k.SuspenseList=y,k.isAsyncMode=function(){return!1},k.isConcurrentMode=function(){return!1},k.isContextConsumer=function(c){return l(c)===o},k.isContextProvider=function(c){return l(c)===a},k.isElement=function(c){return typeof c=="object"&&c!==null&&c.$$typeof===e},k.isForwardRef=function(c){return l(c)===u},k.isFragment=function(c){return l(c)===t},k.isLazy=function(c){return l(c)===m},k.isMemo=function(c){return l(c)===g},k.isPortal=function(c){return l(c)===r},k.isProfiler=function(c){return l(c)===i},k.isStrictMode=function(c){return l(c)===n},k.isSuspense=function(c){return l(c)===d},k.isSuspenseList=function(c){return l(c)===y},k.isValidElementType=function(c){return typeof c=="string"||typeof c=="function"||c===t||c===i||c===n||c===d||c===y||c===I||typeof c=="object"&&c!==null&&(c.$$typeof===m||c.$$typeof===g||c.$$typeof===a||c.$$typeof===o||c.$$typeof===u||c.$$typeof===v||c.getModuleId!==void 0)},k.typeOf=l,k}var te;function De(){return te||(te=1,Q.exports=Fe()),Q.exports}var ye=De(),Ue=pe(ye),ze=de({__proto__:null,default:Ue},[ye]),je=["isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isSuspenseList","isValidElementType"];Object.fromEntries(je.map(e=>[e,r=>ze[e](r)||qe[e](r)]));var Ve=()=>"Promise{…}";try{let{getPromiseDetails:e,kPending:r,kRejected:t}=O.binding("util");Array.isArray(e(Promise.resolve()))&&(Ve=(n,i)=>{let[a,o]=e(n);return a===r?"Promise{<pending>}":`Promise${a===t?"!":""}{${i.inspect(o,i)}}`})}catch{}function We(e){let{message:r="$$stack trace error",stackTraceLimit:t=1}=e||{},n=Error.stackTraceLimit,i=Error.prepareStackTrace;Error.stackTraceLimit=t,Error.prepareStackTrace=o=>o.stack;let a=new Error(r).stack||"";return Error.prepareStackTrace=i,Error.stackTraceLimit=n,a}var U,re;function Ye(){if(re)return U;re=1;var e,r,t,n,i,a,o,s,u,d,y,g,m,I,v,l,c,x,R;return m=/\/(?![*\/])(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\\]).|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy,g=/--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y,e=/(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy,v=/(['"])(?:(?!\1)[^\\\n\r]|\\(?:\r\n|[^]))*(\1)?/y,y=/(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y,l=/[`}](?:[^`\\$]|\\[^]|\$(?!\{))*(`|\$\{)?/y,R=/[\t\v\f\ufeff\p{Zs}]+/uy,s=/\r?\n|[\r\u2028\u2029]/y,u=/\/\*(?:[^*]|\*(?!\/))*(\*\/)?/y,I=/\/\/.*/y,t=/[<>.:={}]|\/(?![\/*])/y,r=/[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy,n=/(['"])(?:(?!\1)[^])*(\1)?/y,i=/[^<>{}]+/y,x=/^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/,c=/^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/,a=/^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/,o=/^(?:return|throw|yield)$/,d=RegExp(s.source),U=function*(_,{jsx:M=!1}={}){var b,$,C,p,h,B,f,P,V,T,N,S,L,E;for({length:B}=_,p=0,h="",E=[{tag:"JS"}],b=[],N=0,S=!1;p<B;){switch(P=E[E.length-1],P.tag){case"JS":case"JSNonExpressionParen":case"InterpolationInTemplate":case"InterpolationInJSX":if(_[p]==="/"&&(x.test(h)||a.test(h))&&(m.lastIndex=p,f=m.exec(_))){p=m.lastIndex,h=f[0],S=!0,yield{type:"RegularExpressionLiteral",value:f[0],closed:f[1]!==void 0&&f[1]!=="\\"};continue}if(g.lastIndex=p,f=g.exec(_)){switch(L=f[0],V=g.lastIndex,T=L,L){case"(":h==="?NonExpressionParenKeyword"&&E.push({tag:"JSNonExpressionParen",nesting:N}),N++,S=!1;break;case")":N--,S=!0,P.tag==="JSNonExpressionParen"&&N===P.nesting&&(E.pop(),T="?NonExpressionParenEnd",S=!1);break;case"{":g.lastIndex=0,C=!c.test(h)&&(x.test(h)||a.test(h)),b.push(C),S=!1;break;case"}":switch(P.tag){case"InterpolationInTemplate":if(b.length===P.nesting){l.lastIndex=p,f=l.exec(_),p=l.lastIndex,h=f[0],f[1]==="${"?(h="?InterpolationInTemplate",S=!1,yield{type:"TemplateMiddle",value:f[0]}):(E.pop(),S=!0,yield{type:"TemplateTail",value:f[0],closed:f[1]==="`"});continue}break;case"InterpolationInJSX":if(b.length===P.nesting){E.pop(),p+=1,h="}",yield{type:"JSXPunctuator",value:"}"};continue}}S=b.pop(),T=S?"?ExpressionBraceEnd":"}";break;case"]":S=!0;break;case"++":case"--":T=S?"?PostfixIncDec":"?UnaryIncDec";break;case"<":if(M&&(x.test(h)||a.test(h))){E.push({tag:"JSXTag"}),p+=1,h="<",yield{type:"JSXPunctuator",value:L};continue}S=!1;break;default:S=!1}p=V,h=T,yield{type:"Punctuator",value:L};continue}if(e.lastIndex=p,f=e.exec(_)){switch(p=e.lastIndex,T=f[0],f[0]){case"for":case"if":case"while":case"with":h!=="."&&h!=="?."&&(T="?NonExpressionParenKeyword")}h=T,S=!a.test(f[0]),yield{type:f[1]==="#"?"PrivateIdentifier":"IdentifierName",value:f[0]};continue}if(v.lastIndex=p,f=v.exec(_)){p=v.lastIndex,h=f[0],S=!0,yield{type:"StringLiteral",value:f[0],closed:f[2]!==void 0};continue}if(y.lastIndex=p,f=y.exec(_)){p=y.lastIndex,h=f[0],S=!0,yield{type:"NumericLiteral",value:f[0]};continue}if(l.lastIndex=p,f=l.exec(_)){p=l.lastIndex,h=f[0],f[1]==="${"?(h="?InterpolationInTemplate",E.push({tag:"InterpolationInTemplate",nesting:b.length}),S=!1,yield{type:"TemplateHead",value:f[0]}):(S=!0,yield{type:"NoSubstitutionTemplate",value:f[0],closed:f[1]==="`"});continue}break;case"JSXTag":case"JSXTagEnd":if(t.lastIndex=p,f=t.exec(_)){switch(p=t.lastIndex,T=f[0],f[0]){case"<":E.push({tag:"JSXTag"});break;case">":E.pop(),h==="/"||P.tag==="JSXTagEnd"?(T="?JSX",S=!0):E.push({tag:"JSXChildren"});break;case"{":E.push({tag:"InterpolationInJSX",nesting:b.length}),T="?InterpolationInJSX",S=!1;break;case"/":h==="<"&&(E.pop(),E[E.length-1].tag==="JSXChildren"&&E.pop(),E.push({tag:"JSXTagEnd"}))}h=T,yield{type:"JSXPunctuator",value:f[0]};continue}if(r.lastIndex=p,f=r.exec(_)){p=r.lastIndex,h=f[0],yield{type:"JSXIdentifier",value:f[0]};continue}if(n.lastIndex=p,f=n.exec(_)){p=n.lastIndex,h=f[0],yield{type:"JSXString",value:f[0],closed:f[2]!==void 0};continue}break;case"JSXChildren":if(i.lastIndex=p,f=i.exec(_)){p=i.lastIndex,h=f[0],yield{type:"JSXText",value:f[0]};continue}switch(_[p]){case"<":E.push({tag:"JSXTag"}),p++,h="<",yield{type:"JSXPunctuator",value:"<"};continue;case"{":E.push({tag:"InterpolationInJSX",nesting:b.length}),p++,h="?InterpolationInJSX",S=!1,yield{type:"JSXPunctuator",value:"{"};continue}}if(R.lastIndex=p,f=R.exec(_)){p=R.lastIndex,yield{type:"WhiteSpace",value:f[0]};continue}if(s.lastIndex=p,f=s.exec(_)){p=s.lastIndex,S=!1,o.test(h)&&(h="?NoLineTerminatorHere"),yield{type:"LineTerminatorSequence",value:f[0]};continue}if(u.lastIndex=p,f=u.exec(_)){p=u.lastIndex,d.test(f[0])&&(S=!1,o.test(h)&&(h="?NoLineTerminatorHere")),yield{type:"MultiLineComment",value:f[0],closed:f[1]!==void 0};continue}if(I.lastIndex=p,f=I.exec(_)){p=I.lastIndex,S=!1,yield{type:"SingleLineComment",value:f[0]};continue}$=String.fromCodePoint(_.codePointAt(p)),p+=$.length,h=$,S=!1,yield{type:P.tag.startsWith("JSX")?"JSXInvalid":"Invalid",value:$}}},U}Ye();var me={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"]};new Set(me.keyword);new Set(me.strict);var ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ke=new Uint8Array(64),He=new Uint8Array(128);for(let e=0;e<ne.length;e++){let r=ne.charCodeAt(e);Ke[e]=r,He[r]=e}var ie;(function(e){e[e.Empty=1]="Empty",e[e.Hash=2]="Hash",e[e.Query=3]="Query",e[e.RelativePath=4]="RelativePath",e[e.AbsolutePath=5]="AbsolutePath",e[e.SchemeRelative=6]="SchemeRelative",e[e.Absolute=7]="Absolute"})(ie||(ie={}));var Ze=/^[A-Za-z]:\//;function Ge(e=""){return e&&e.replace(/\\/g,"/").replace(Ze,r=>r.toUpperCase())}var Qe=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;function et(){return typeof O<"u"&&typeof O.cwd=="function"?O.cwd().replace(/\\/g,"/"):"/"}var tt=function(...e){e=e.map(n=>Ge(n));let r="",t=!1;for(let n=e.length-1;n>=-1&&!t;n--){let i=n>=0?e[n]:et();!i||i.length===0||(r=`${i}/${r}`,t=oe(i))}return r=rt(r,!t),t&&!oe(r)?`/${r}`:r.length>0?r:"."};function rt(e,r){let t="",n=0,i=-1,a=0,o=null;for(let s=0;s<=e.length;++s){if(s<e.length)o=e[s];else{if(o==="/")break;o="/"}if(o==="/"){if(!(i===s-1||a===1))if(a===2){if(t.length<2||n!==2||t[t.length-1]!=="."||t[t.length-2]!=="."){if(t.length>2){let u=t.lastIndexOf("/");u===-1?(t="",n=0):(t=t.slice(0,u),n=t.length-1-t.lastIndexOf("/")),i=s,a=0;continue}else if(t.length>0){t="",n=0,i=s,a=0;continue}}r&&(t+=t.length>0?"/..":"..",n=2)}else t.length>0?t+=`/${e.slice(i+1,s)}`:t=e.slice(i+1,s),n=s-i-1;i=s,a=0}else o==="."&&a!==-1?++a:a=-1}return t}var oe=function(e){return Qe.test(e)},ge=/^\s*at .*(?:\S:\d+|\(native\))/m,nt=/^(?:eval@)?(?:\[native code\])?$/;function ve(e){if(!e.includes(":"))return[e];let r=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/^\(|\)$/g,""));if(!r)return[e];let t=r[1];if(t.startsWith("async ")&&(t=t.slice(6)),t.startsWith("http:")||t.startsWith("https:")){let n=new URL(t);n.searchParams.delete("import"),n.searchParams.delete("browserv"),t=n.pathname+n.hash+n.search}if(t.startsWith("/@fs/")){let n=/^\/@fs\/[a-zA-Z]:\//.test(t);t=t.slice(n?5:4)}return[t,r[2]||void 0,r[3]||void 0]}function it(e){let r=e.trim();if(nt.test(r)||(r.includes(" > eval")&&(r=r.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),!r.includes("@")&&!r.includes(":")))return null;let t=/((.*".+"[^@]*)?[^@]*)(@)/,n=r.match(t),i=n&&n[1]?n[1]:void 0,[a,o,s]=ve(r.replace(t,""));return!a||!o||!s?null:{file:a,method:i||"",line:Number.parseInt(o),column:Number.parseInt(s)}}function ot(e){let r=e.trim();return ge.test(r)?st(r):it(r)}function st(e){let r=e.trim();if(!ge.test(r))return null;r.includes("(eval ")&&(r=r.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));let t=r.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],""):t;let[i,a,o]=ve(n?n[1]:t),s=n&&t||"",u=i&&["eval","<anonymous>"].includes(i)?void 0:i;return!u||!a||!o?null:(s.startsWith("async ")&&(s=s.slice(6)),u.startsWith("file://")&&(u=u.slice(7)),u=u.startsWith("node:")||u.startsWith("internal:")?u:tt(u),s&&(s=s.replace(/__vite_ssr_import_\d+__\./g,"")),{method:s,file:u,line:Number.parseInt(a),column:Number.parseInt(o)})}function at(e){let r=e?.globalThisKey;function t(){return typeof globalThis[r]<"u"?globalThis[r]:new Proxy({},{get(n,i){throw new Error(`Vitest mocker was not initialized in this environment. vi.${String(i)}() is forbidden.`)}})}return{hoisted(n){if(typeof n!="function")throw new TypeError(`vi.hoisted() expects a function, but received a ${typeof n}`);return n()},mock(n,i){if(typeof n!="string")throw new TypeError(`vi.mock() expects a string path, but received a ${typeof n}`);let a=A("mock");t().queueMock(n,a,typeof i=="function"?()=>i(()=>t().importActual(n,a)):i)},unmock(n){if(typeof n!="string")throw new TypeError(`vi.unmock() expects a string path, but received a ${typeof n}`);t().queueUnmock(n,A("unmock"))},doMock(n,i){if(typeof n!="string")throw new TypeError(`vi.doMock() expects a string path, but received a ${typeof n}`);let a=A("doMock");t().queueMock(n,a,typeof i=="function"?()=>i(()=>t().importActual(n,a)):i)},doUnmock(n){if(typeof n!="string")throw new TypeError(`vi.doUnmock() expects a string path, but received a ${typeof n}`);t().queueUnmock(n,A("doUnmock"))},async importActual(n){return t().importActual(n,A("importActual"))},async importMock(n){return t().importMock(n,A("importMock"))}}}function A(e){let r=We({stackTraceLimit:5}).split(`
|
|
2
|
-
`),t=r.findIndex(i=>i.includes(` at Object.${e}`)||i.includes(`${e}@`));return ot(r[t+1])?.file||""}var{now:se}=Date,lt=class{registry=new ae;queue=new Set;mockedIds=new Set;constructor(e,r,t,n){this.interceptor=e,this.rpc=r,this.spyOn=t,this.config=n}async prepare(){this.queue.size&&await Promise.all([...this.queue.values()])}async resolveFactoryModule(e){let r=this.registry.get(e);if(!r||r.type!=="manual")throw new Error(`Mock ${e} wasn't registered. This is probably a Vitest error. Please, open a new issue with reproduction.`);return await r.resolve()}getFactoryModule(e){let r=this.registry.get(e);if(!r||r.type!=="manual")throw new Error(`Mock ${e} wasn't registered. This is probably a Vitest error. Please, open a new issue with reproduction.`);if(!r.cache)throw new Error(`Mock ${e} wasn't resolved. This is probably a Vitest error. Please, open a new issue with reproduction.`);return r.cache}async invalidate(){let e=Array.from(this.mockedIds);e.length&&(await this.rpc.invalidate(e),await this.interceptor.invalidate(),this.registry.clear())}async importActual(e,r){let t=await this.rpc.resolveId(e,r);if(t==null)throw new Error(`[vitest] Cannot resolve "${e}" imported from "${r}"`);let n=Ae(t.id),i=new URL(t.url,location.href),a=`_vitest_original&ext${n}`,o=`${i.pathname}${i.search?`${i.search}&${a}`:`?${a}`}${i.hash}`;return this.wrapDynamicImport(()=>import(o)).then(s=>{if(!t.optimized||typeof s.default>"u")return s;let u=s.default;return u?.__esModule?u:{...typeof u=="object"&&!Array.isArray(u)||typeof u=="function"?u:{},default:u}})}async importMock(e,r){await this.prepare();let{resolvedId:t,resolvedUrl:n,redirectUrl:i}=await this.rpc.resolveMock(e,r,{mock:"auto"}),a=this.resolveMockPath(J(n)),o=this.registry.get(a);if(!o)if(i){let s=new URL(this.resolveMockPath(J(i)),location.href).toString();o=new F(e,t,a,s)}else o=new X(e,t,a);if(o.type==="manual")return await o.resolve();if(o.type==="automock"||o.type==="autospy"){let s=new URL(`/@id/${t}`,location.href),u=s.search?`${s.search}&t=${se()}`:`?t=${se()}`,d=await ke(()=>import(`${s.pathname}${u}&mock=${o.type}${s.hash}`),[],import.meta.url);return this.mockObject(d,o.type)}return import(o.redirect)}mockObject(e,r="automock"){return we({globalConstructors:{Object,Function,Array,Map,RegExp},spyOn:this.spyOn,type:r},e)}queueMock(e,r,t){let n=this.rpc.resolveMock(e,r,{mock:typeof t=="function"?"factory":t?.spy?"spy":"auto"}).then(async({redirectUrl:i,resolvedId:a,resolvedUrl:o,needsInterop:s,mockType:u})=>{let d=this.resolveMockPath(J(o));this.mockedIds.add(a);let y=typeof t=="function"?async()=>{let I=await t();return s?{default:I}:I}:void 0,g=typeof i=="string"?new URL(this.resolveMockPath(J(i)),location.href).toString():null,m;u==="manual"?m=this.registry.register("manual",e,a,d,y):u==="autospy"?m=this.registry.register("autospy",e,a,d):u==="redirect"?m=this.registry.register("redirect",e,a,d,g):m=this.registry.register("automock",e,a,d),await this.interceptor.register(m)}).finally(()=>{this.queue.delete(n)});this.queue.add(n)}queueUnmock(e,r){let t=this.rpc.resolveId(e,r).then(async n=>{if(!n)return;let i=this.resolveMockPath(J(n.url));this.mockedIds.add(n.id),this.registry.delete(i),await this.interceptor.delete(i)}).finally(()=>{this.queue.delete(t)});this.queue.add(t)}wrapDynamicImport(e){return typeof e=="function"?new Promise((r,t)=>{this.prepare().finally(()=>{e().then(r,t)})}):e}resolveMockPath(e){let r=this.config,t=Re("/@fs/",r.root);return e.startsWith(r.root)?e.slice(r.root.length):e.startsWith(t)?e.slice(t.length):e}},ct=/(\?|&)v=\w{8}/;function J(e){return e.replace(ct,"")}var ut=class{mocks=new ae;constructor(){}async register(e){this.mocks.add(e)}async delete(e){this.mocks.delete(e)}async invalidate(){this.mocks.clear()}},z=e=>{switch(e){case"resolveId":return Promise.resolve({id:"",url:"",optimized:!1});case"resolveMock":return Promise.resolve({mockType:"dummy",resolvedId:"",resolvedUrl:"",redirectUrl:"",needsInterop:!1});case"invalidate":return Promise.resolve()}},ft=class extends lt{queueMock(){}};function dt(e){let r=new ft(e("__vitest_mocker__"),{resolveId(t,n){return z("resolveId")},resolveMock(t,n,i){return z("resolveMock")},async invalidate(t){return z("invalidate")}},(...t)=>globalThis.__STORYBOOK_MODULE_TEST__.spyOn(...t),{root:""});return globalThis.__vitest_mocker__=r,at({globalThisKey:"__vitest_mocker__"})}globalThis.__STORYBOOK_MOCKER__=dt(()=>new ut);
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import VoiceToTextButton from './VoiceToTextButton.vue';
|
|
2
|
-
import TextInput from '../TextInput/TextInput.vue';
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Components/VoiceToTextButton',
|
|
6
|
-
component: VoiceToTextButton,
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
export const Default = () => ({
|
|
10
|
-
components: { VoiceToTextButton },
|
|
11
|
-
template: '<VoiceToTextButton />',
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
export const WithTranscriptDisplay = () => ({
|
|
15
|
-
components: { VoiceToTextButton, TextInput },
|
|
16
|
-
data() {
|
|
17
|
-
return {
|
|
18
|
-
transcript: '',
|
|
19
|
-
isListening: false,
|
|
20
|
-
error: null,
|
|
21
|
-
};
|
|
22
|
-
},
|
|
23
|
-
template: `
|
|
24
|
-
<div class="tw-flex tw-flex-col tw-gap-4 tw-max-w-md">
|
|
25
|
-
<div class="tw-flex tw-gap-2 tw-items-end">
|
|
26
|
-
<TextInput
|
|
27
|
-
v-model="transcript"
|
|
28
|
-
label="Search"
|
|
29
|
-
placeholder="Click the mic and speak..."
|
|
30
|
-
class="tw-flex-1"
|
|
31
|
-
/>
|
|
32
|
-
<VoiceToTextButton
|
|
33
|
-
@on-transcript="transcript = $event"
|
|
34
|
-
@on-interim-transcript="transcript = $event"
|
|
35
|
-
@on-start="isListening = true; error = null"
|
|
36
|
-
@on-stop="isListening = false"
|
|
37
|
-
@on-error="error = $event"
|
|
38
|
-
/>
|
|
39
|
-
</div>
|
|
40
|
-
<div class="tw-text-sm tw-text-grayscale-600">
|
|
41
|
-
<p v-if="isListening" class="tw-text-primary-500 tw-font-medium">
|
|
42
|
-
Listening... speak now
|
|
43
|
-
</p>
|
|
44
|
-
<p v-else-if="error" class="tw-text-error-500">
|
|
45
|
-
{{ error }}
|
|
46
|
-
</p>
|
|
47
|
-
<p v-else>
|
|
48
|
-
Click the microphone button to start voice input
|
|
49
|
-
</p>
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
`,
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
WithTranscriptDisplay.story = {
|
|
56
|
-
name: 'Interactive Demo',
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export const Disabled = () => ({
|
|
60
|
-
components: { VoiceToTextButton },
|
|
61
|
-
template: `
|
|
62
|
-
<div class="tw-flex tw-gap-4 tw-items-center">
|
|
63
|
-
<div class="tw-text-center">
|
|
64
|
-
<VoiceToTextButton />
|
|
65
|
-
<p class="tw-text-xs tw-mt-2 tw-text-grayscale-600">Enabled</p>
|
|
66
|
-
</div>
|
|
67
|
-
<div class="tw-text-center">
|
|
68
|
-
<VoiceToTextButton :disabled="true" />
|
|
69
|
-
<p class="tw-text-xs tw-mt-2 tw-text-grayscale-600">Disabled</p>
|
|
70
|
-
</div>
|
|
71
|
-
</div>
|
|
72
|
-
`,
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
Disabled.story = {
|
|
76
|
-
name: 'Disabled State',
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
export const LanguageVariants = () => ({
|
|
80
|
-
components: { VoiceToTextButton },
|
|
81
|
-
data() {
|
|
82
|
-
return {
|
|
83
|
-
languages: [
|
|
84
|
-
{ code: 'en-US', name: 'English (US)' },
|
|
85
|
-
{ code: 'de-DE', name: 'German' },
|
|
86
|
-
{ code: 'fr-FR', name: 'French' },
|
|
87
|
-
{ code: 'es-ES', name: 'Spanish' },
|
|
88
|
-
],
|
|
89
|
-
};
|
|
90
|
-
},
|
|
91
|
-
template: `
|
|
92
|
-
<div class="tw-flex tw-flex-wrap tw-gap-4">
|
|
93
|
-
<div
|
|
94
|
-
v-for="lang in languages"
|
|
95
|
-
:key="lang.code"
|
|
96
|
-
class="tw-text-center tw-p-2 tw-border tw-border-grayscale-300 tw-rounded"
|
|
97
|
-
>
|
|
98
|
-
<VoiceToTextButton :lang="lang.code" />
|
|
99
|
-
<p class="tw-text-xs tw-mt-2">{{ lang.name }}</p>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
`,
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
LanguageVariants.story = {
|
|
106
|
-
name: 'Language Variants',
|
|
107
|
-
};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<Button
|
|
3
|
-
v-if="isSupported"
|
|
4
|
-
icon="microphone"
|
|
5
|
-
:disabled="disabled"
|
|
6
|
-
variant="outline"
|
|
7
|
-
:class="{ 'voice-listening': isListening }"
|
|
8
|
-
:aria-label="isListening ? 'Stop voice input' : 'Start voice input'"
|
|
9
|
-
data-test="voice-to-text-button"
|
|
10
|
-
@on-click="toggle"
|
|
11
|
-
/>
|
|
12
|
-
</template>
|
|
13
|
-
|
|
14
|
-
<script setup>
|
|
15
|
-
import { watch, toRef } from 'vue';
|
|
16
|
-
import Button from '../Button/Button.vue';
|
|
17
|
-
import { useVoiceToText } from '../../../useVoiceToText';
|
|
18
|
-
|
|
19
|
-
const props = defineProps({
|
|
20
|
-
lang: {
|
|
21
|
-
type: String,
|
|
22
|
-
default: 'en-US',
|
|
23
|
-
},
|
|
24
|
-
disabled: {
|
|
25
|
-
type: Boolean,
|
|
26
|
-
default: false,
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
const emit = defineEmits(['on-transcript', 'on-interim-transcript', 'on-start', 'on-stop', 'on-error']);
|
|
31
|
-
|
|
32
|
-
const { isSupported, isListening, transcript, isFinal, error, toggle, setLang } = useVoiceToText({
|
|
33
|
-
lang: props.lang,
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
// Keep recognition language in sync with prop
|
|
37
|
-
watch(toRef(props, 'lang'), setLang);
|
|
38
|
-
|
|
39
|
-
// Watch for transcript changes and emit appropriate events
|
|
40
|
-
watch(
|
|
41
|
-
[transcript, isFinal],
|
|
42
|
-
([newTranscript, newIsFinal]) => {
|
|
43
|
-
if (newIsFinal && newTranscript) {
|
|
44
|
-
emit('on-transcript', newTranscript);
|
|
45
|
-
} else if (newTranscript) {
|
|
46
|
-
emit('on-interim-transcript', newTranscript);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
{ flush: 'sync' },
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
// Watch for listening state changes
|
|
53
|
-
watch(isListening, (newVal, oldVal) => {
|
|
54
|
-
if (newVal && !oldVal) {
|
|
55
|
-
emit('on-start');
|
|
56
|
-
}
|
|
57
|
-
if (!newVal && oldVal) {
|
|
58
|
-
emit('on-stop');
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
// Watch for errors
|
|
63
|
-
watch(error, (newError) => {
|
|
64
|
-
if (newError) {
|
|
65
|
-
emit('on-error', newError);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
</script>
|
|
69
|
-
|
|
70
|
-
<style scoped>
|
|
71
|
-
.voice-listening {
|
|
72
|
-
animation: voice-pulse 1.5s ease-in-out infinite;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
@keyframes voice-pulse {
|
|
76
|
-
0%,
|
|
77
|
-
100% {
|
|
78
|
-
box-shadow: 0 0 0 0 var(--color-primary, rgba(242, 27, 63, 0.4));
|
|
79
|
-
}
|
|
80
|
-
50% {
|
|
81
|
-
box-shadow: 0 0 0 8px transparent;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
</style>
|
package/src/useVoiceToText.js
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { ref, computed, readonly } from 'vue';
|
|
2
|
-
|
|
3
|
-
// Singleton instance and state (lazily initialized)
|
|
4
|
-
let recognition = null;
|
|
5
|
-
let isInitialized = false;
|
|
6
|
-
let errorClearTimeout = null;
|
|
7
|
-
let state = null;
|
|
8
|
-
|
|
9
|
-
// Error message mapping per spec
|
|
10
|
-
const ERROR_MESSAGES = {
|
|
11
|
-
'not-allowed': 'Microphone permission was denied. Please allow access.',
|
|
12
|
-
'language-not-supported': 'This language is not supported.',
|
|
13
|
-
network: 'A network error occurred. Please check your connection.',
|
|
14
|
-
'audio-capture': 'No microphone was found or microphone is not working.',
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const ERROR_CLEAR_DELAY = 5000;
|
|
18
|
-
|
|
19
|
-
function getState() {
|
|
20
|
-
if (!state) {
|
|
21
|
-
state = {
|
|
22
|
-
isListening: ref(false),
|
|
23
|
-
transcript: ref(''),
|
|
24
|
-
isFinal: ref(false),
|
|
25
|
-
error: ref(null),
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return state;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Singleton composable that wraps the Web Speech API (SpeechRecognition).
|
|
33
|
-
* All calls to useVoiceToText() return the same shared instance.
|
|
34
|
-
*
|
|
35
|
-
* @param {Object} options
|
|
36
|
-
* @param {string} options.lang - BCP 47 language tag (default: 'en-US')
|
|
37
|
-
* @returns {Object} Voice-to-text state and controls
|
|
38
|
-
*/
|
|
39
|
-
export function useVoiceToText(options = {}) {
|
|
40
|
-
const { lang = 'en-US' } = options;
|
|
41
|
-
|
|
42
|
-
// Get or create shared state
|
|
43
|
-
const { isListening, transcript, isFinal, error } = getState();
|
|
44
|
-
|
|
45
|
-
// Check for browser support
|
|
46
|
-
const SpeechRecognition =
|
|
47
|
-
typeof window !== 'undefined' ? window.SpeechRecognition || window.webkitSpeechRecognition : null;
|
|
48
|
-
|
|
49
|
-
const isSupported = computed(() => !!SpeechRecognition);
|
|
50
|
-
|
|
51
|
-
// Initialize singleton once
|
|
52
|
-
if (!isInitialized && SpeechRecognition) {
|
|
53
|
-
recognition = new SpeechRecognition();
|
|
54
|
-
recognition.continuous = true;
|
|
55
|
-
recognition.interimResults = true;
|
|
56
|
-
|
|
57
|
-
recognition.onresult = (event) => {
|
|
58
|
-
let interimTranscript = '';
|
|
59
|
-
let finalTranscript = '';
|
|
60
|
-
|
|
61
|
-
for (let i = event.resultIndex; i < event.results.length; i += 1) {
|
|
62
|
-
const result = event.results[i];
|
|
63
|
-
if (result.isFinal) {
|
|
64
|
-
finalTranscript += result[0].transcript;
|
|
65
|
-
} else {
|
|
66
|
-
interimTranscript += result[0].transcript;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (finalTranscript) {
|
|
71
|
-
transcript.value = finalTranscript;
|
|
72
|
-
isFinal.value = true;
|
|
73
|
-
} else {
|
|
74
|
-
transcript.value = interimTranscript;
|
|
75
|
-
isFinal.value = false;
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
recognition.onerror = (event) => {
|
|
80
|
-
// Suppress no-speech and aborted errors per spec
|
|
81
|
-
if (event.error === 'no-speech' || event.error === 'aborted') {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const message = ERROR_MESSAGES[event.error] || 'An error occurred with speech recognition.';
|
|
86
|
-
error.value = message;
|
|
87
|
-
|
|
88
|
-
// eslint-disable-next-line no-console
|
|
89
|
-
console.warn('[useVoiceToText]', event.error, message);
|
|
90
|
-
|
|
91
|
-
// Auto-clear error after timeout
|
|
92
|
-
if (errorClearTimeout) {
|
|
93
|
-
clearTimeout(errorClearTimeout);
|
|
94
|
-
}
|
|
95
|
-
errorClearTimeout = setTimeout(() => {
|
|
96
|
-
error.value = null;
|
|
97
|
-
}, ERROR_CLEAR_DELAY);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
recognition.onend = () => {
|
|
101
|
-
isListening.value = false;
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
isInitialized = true;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Update language on existing instance
|
|
108
|
-
if (recognition) {
|
|
109
|
-
recognition.lang = lang;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
const start = () => {
|
|
113
|
-
if (!recognition || isListening.value) return;
|
|
114
|
-
|
|
115
|
-
// Clear previous state
|
|
116
|
-
transcript.value = '';
|
|
117
|
-
isFinal.value = false;
|
|
118
|
-
error.value = null;
|
|
119
|
-
if (errorClearTimeout) {
|
|
120
|
-
clearTimeout(errorClearTimeout);
|
|
121
|
-
errorClearTimeout = null;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
try {
|
|
125
|
-
recognition.start();
|
|
126
|
-
isListening.value = true;
|
|
127
|
-
} catch (e) {
|
|
128
|
-
// Handle case where recognition is already started
|
|
129
|
-
// eslint-disable-next-line no-console
|
|
130
|
-
console.warn('[useVoiceToText] Failed to start:', e.message);
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
const stop = () => {
|
|
135
|
-
if (!recognition || !isListening.value) return;
|
|
136
|
-
|
|
137
|
-
try {
|
|
138
|
-
recognition.stop();
|
|
139
|
-
} catch (e) {
|
|
140
|
-
// Handle case where recognition is already stopped
|
|
141
|
-
// eslint-disable-next-line no-console
|
|
142
|
-
console.warn('[useVoiceToText] Failed to stop:', e.message);
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
const toggle = () => {
|
|
147
|
-
if (isListening.value) {
|
|
148
|
-
stop();
|
|
149
|
-
} else {
|
|
150
|
-
start();
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
const setLang = (newLang) => {
|
|
155
|
-
if (recognition) {
|
|
156
|
-
recognition.lang = newLang;
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
return {
|
|
161
|
-
// State (reactive, read-only)
|
|
162
|
-
isSupported,
|
|
163
|
-
isListening: readonly(isListening),
|
|
164
|
-
transcript: readonly(transcript),
|
|
165
|
-
isFinal: readonly(isFinal),
|
|
166
|
-
error: readonly(error),
|
|
167
|
-
|
|
168
|
-
// Actions
|
|
169
|
-
start,
|
|
170
|
-
stop,
|
|
171
|
-
toggle,
|
|
172
|
-
setLang,
|
|
173
|
-
};
|
|
174
|
-
}
|