@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.
Files changed (868) hide show
  1. package/.eslintrc.js +36 -36
  2. package/.github/workflows/auto-merge.yml +52 -52
  3. package/.github/workflows/claude.yml +72 -72
  4. package/.prettierrc.js +7 -7
  5. package/.storybook/main.ts +36 -36
  6. package/.storybook/preview-head-master.html +4 -4
  7. package/.storybook/preview-head-publish-master.html +4 -4
  8. package/.storybook/preview-head-publish.html +4 -4
  9. package/.storybook/preview-head.html +4 -4
  10. package/.storybook/preview.js +53 -53
  11. package/CLAUDE.md +94 -94
  12. package/Dockerfile +43 -43
  13. package/README.md +103 -103
  14. package/buildspec.yml +47 -47
  15. package/dist/css/tailwind-brandCrowd.css +523 -493
  16. package/dist/css/tailwind-brandPage.css +435 -413
  17. package/dist/css/tailwind-crazyDomains.css +523 -493
  18. package/dist/css/tailwind-designCom.css +523 -493
  19. package/dist/css/tailwind-designCrowd.css +523 -493
  20. package/docs/plans/DY-957-plan-phase-2-fe-shared-lib.md +382 -382
  21. package/index.cjs +16 -16
  22. package/index.js +62 -64
  23. package/nodemon.translation.json +6 -6
  24. package/package.json +115 -115
  25. package/postcss.config.js +5 -5
  26. package/public/css/tailwind-brandCrowd.css +499 -540
  27. package/public/css/tailwind-brandPage.css +417 -430
  28. package/public/css/tailwind-crazyDomains.css +499 -540
  29. package/public/css/tailwind-designCom.css +499 -540
  30. package/public/css/tailwind-designCrowd.css +499 -540
  31. package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.stories.js +90 -90
  32. package/src/atoms/components/AiPoweredLoader/AiPoweredLoader.vue +120 -120
  33. package/src/atoms/components/Button/Button.vue +341 -341
  34. package/src/atoms/components/Button/ButtonVariant.mixin.vue +126 -126
  35. package/src/atoms/components/Button/Buttons.stories.js +828 -828
  36. package/src/atoms/components/Button/ButtonsCrazyDomains.stories.js +117 -117
  37. package/src/atoms/components/Button/variants/ButtonAi.vue +63 -63
  38. package/src/atoms/components/Button/variants/ButtonDarkModePill.vue +52 -52
  39. package/src/atoms/components/Button/variants/ButtonFlat.vue +65 -65
  40. package/src/atoms/components/Button/variants/ButtonGray.vue +64 -64
  41. package/src/atoms/components/Button/variants/ButtonInfo.vue +51 -51
  42. package/src/atoms/components/Button/variants/ButtonInfoFilled.vue +63 -63
  43. package/src/atoms/components/Button/variants/ButtonNoBorder.vue +65 -65
  44. package/src/atoms/components/Button/variants/ButtonOutline.vue +62 -62
  45. package/src/atoms/components/Button/variants/ButtonOutlineNoHover.vue +62 -62
  46. package/src/atoms/components/Button/variants/ButtonOutlinePrimary.vue +53 -53
  47. package/src/atoms/components/Button/variants/ButtonOutlineSuccess.vue +54 -54
  48. package/src/atoms/components/Button/variants/ButtonPill.vue +52 -52
  49. package/src/atoms/components/Button/variants/ButtonPrimary.vue +69 -69
  50. package/src/atoms/components/Button/variants/ButtonPrimaryWithIcon.vue +68 -68
  51. package/src/atoms/components/Button/variants/ButtonSecondary.vue +51 -51
  52. package/src/atoms/components/Button/variants/ButtonSuccess.vue +55 -55
  53. package/src/atoms/components/Button/variants/ButtonWarning.vue +65 -65
  54. package/src/atoms/components/Button/variants/crazy-domains/ButtonCrazyDomainsOutline.vue +58 -58
  55. package/src/atoms/components/Button/variants/crazy-domains/ButtonCrazyDomainsPrimary.vue +38 -38
  56. package/src/atoms/components/ButtonGroup/ButtonGroup.stories.js +575 -575
  57. package/src/atoms/components/ButtonGroup/ButtonGroup.vue +200 -200
  58. package/src/atoms/components/Carousel/Carousel.fixtures.js +53 -53
  59. package/src/atoms/components/Carousel/Carousel.vue +363 -363
  60. package/src/atoms/components/Carousel/carousel.stories.js +530 -530
  61. package/src/atoms/components/Checkbox/Checkbox.mixin.js +57 -57
  62. package/src/atoms/components/Checkbox/Checkbox.stories.js +340 -340
  63. package/src/atoms/components/Checkbox/Checkbox.vue +84 -84
  64. package/src/atoms/components/Checktile/Checktile.stories.js +79 -79
  65. package/src/atoms/components/Checktile/Checktile.vue +73 -73
  66. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.mixin.js +38 -38
  67. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.stories.js +53 -53
  68. package/src/atoms/components/CollapsiblePanel/CollapsiblePanel.vue +33 -33
  69. package/src/atoms/components/ColorPicker/ColorPicker.stories.js +89 -89
  70. package/src/atoms/components/ColorPicker/ColorPicker.vue +95 -95
  71. package/src/atoms/components/CopyToClipboardText/CopyToClipboardText.stories.js +41 -41
  72. package/src/atoms/components/CopyToClipboardText/CopyToClipboardText.vue +71 -71
  73. package/src/atoms/components/Dropdown/Dropdown.stories.js +140 -140
  74. package/src/atoms/components/Dropdown/Dropdown.vue +123 -123
  75. package/src/atoms/components/Dropdown/DropdownItem.vue +33 -33
  76. package/src/atoms/components/FormControl/FormControl.mixin.js +136 -136
  77. package/src/atoms/components/HelloBar/HelloBar.stories.js +195 -195
  78. package/src/atoms/components/HelloBar/HelloBar.vue +156 -156
  79. package/src/atoms/components/Icon/Icon.stories.js +410 -409
  80. package/src/atoms/components/Icon/Icon.vue +932 -932
  81. package/src/atoms/components/Icon/icons/add-page.vue +6 -6
  82. package/src/atoms/components/Icon/icons/ai.vue +6 -6
  83. package/src/atoms/components/Icon/icons/annotate-heart.vue +7 -7
  84. package/src/atoms/components/Icon/icons/arrow-down.vue +6 -6
  85. package/src/atoms/components/Icon/icons/arrow-left.vue +7 -7
  86. package/src/atoms/components/Icon/icons/arrow-right.vue +7 -7
  87. package/src/atoms/components/Icon/icons/arrow-top-right.vue +6 -6
  88. package/src/atoms/components/Icon/icons/arrow-up-underline.vue +7 -7
  89. package/src/atoms/components/Icon/icons/arrow-up.vue +7 -7
  90. package/src/atoms/components/Icon/icons/attach.vue +6 -6
  91. package/src/atoms/components/Icon/icons/auth-facebook-white.vue +17 -17
  92. package/src/atoms/components/Icon/icons/auth-facebook.vue +24 -24
  93. package/src/atoms/components/Icon/icons/auth-google.vue +32 -32
  94. package/src/atoms/components/Icon/icons/award.vue +7 -7
  95. package/src/atoms/components/Icon/icons/background.vue +7 -7
  96. package/src/atoms/components/Icon/icons/badge.vue +7 -7
  97. package/src/atoms/components/Icon/icons/banner-centered.vue +6 -6
  98. package/src/atoms/components/Icon/icons/banner-left.vue +6 -6
  99. package/src/atoms/components/Icon/icons/banner.vue +7 -7
  100. package/src/atoms/components/Icon/icons/bc-mast.vue +7 -7
  101. package/src/atoms/components/Icon/icons/bezier-curve-outline.vue +7 -7
  102. package/src/atoms/components/Icon/icons/bezier-curve.vue +7 -7
  103. package/src/atoms/components/Icon/icons/briefcase.vue +7 -7
  104. package/src/atoms/components/Icon/icons/browser.vue +7 -7
  105. package/src/atoms/components/Icon/icons/brush.vue +6 -6
  106. package/src/atoms/components/Icon/icons/business-card-filled.vue +5 -5
  107. package/src/atoms/components/Icon/icons/business.vue +6 -6
  108. package/src/atoms/components/Icon/icons/calculator.vue +3 -3
  109. package/src/atoms/components/Icon/icons/calendar.vue +5 -5
  110. package/src/atoms/components/Icon/icons/callout-error.vue +6 -6
  111. package/src/atoms/components/Icon/icons/callout-info.vue +6 -6
  112. package/src/atoms/components/Icon/icons/callout-success.vue +8 -8
  113. package/src/atoms/components/Icon/icons/callout-warning.vue +6 -6
  114. package/src/atoms/components/Icon/icons/cap.vue +22 -22
  115. package/src/atoms/components/Icon/icons/card-vertical.vue +7 -7
  116. package/src/atoms/components/Icon/icons/card.vue +9 -9
  117. package/src/atoms/components/Icon/icons/cart-empty.vue +9 -9
  118. package/src/atoms/components/Icon/icons/check-thin.vue +7 -7
  119. package/src/atoms/components/Icon/icons/check.vue +3 -3
  120. package/src/atoms/components/Icon/icons/chevron-down.vue +7 -7
  121. package/src/atoms/components/Icon/icons/chevron-left.vue +7 -7
  122. package/src/atoms/components/Icon/icons/chevron-right-wide.vue +3 -3
  123. package/src/atoms/components/Icon/icons/chevron-right.vue +3 -3
  124. package/src/atoms/components/Icon/icons/chevron-up.vue +7 -7
  125. package/src/atoms/components/Icon/icons/clipboard-check.vue +6 -6
  126. package/src/atoms/components/Icon/icons/close.vue +6 -6
  127. package/src/atoms/components/Icon/icons/community.vue +5 -5
  128. package/src/atoms/components/Icon/icons/contact-message.vue +10 -10
  129. package/src/atoms/components/Icon/icons/content.vue +7 -7
  130. package/src/atoms/components/Icon/icons/copy.vue +10 -10
  131. package/src/atoms/components/Icon/icons/crazy-domains/filter.vue +6 -6
  132. package/src/atoms/components/Icon/icons/crazy-domains/globe.vue +6 -6
  133. package/src/atoms/components/Icon/icons/crazy-domains/home.vue +6 -6
  134. package/src/atoms/components/Icon/icons/crazy-domains/social-facebook.vue +6 -6
  135. package/src/atoms/components/Icon/icons/crazy-domains/social-google.vue +6 -6
  136. package/src/atoms/components/Icon/icons/crazy-domains/social-instagram.vue +6 -6
  137. package/src/atoms/components/Icon/icons/crazy-domains/social-twitter.vue +6 -6
  138. package/src/atoms/components/Icon/icons/crazy-domains/social-youtube.vue +6 -6
  139. package/src/atoms/components/Icon/icons/crop.vue +6 -6
  140. package/src/atoms/components/Icon/icons/crown-alt.vue +5 -5
  141. package/src/atoms/components/Icon/icons/crown.vue +6 -6
  142. package/src/atoms/components/Icon/icons/delete.vue +8 -8
  143. package/src/atoms/components/Icon/icons/designs.vue +6 -6
  144. package/src/atoms/components/Icon/icons/desktop.vue +7 -7
  145. package/src/atoms/components/Icon/icons/digital-business-card-filled.vue +8 -8
  146. package/src/atoms/components/Icon/icons/donate.vue +6 -6
  147. package/src/atoms/components/Icon/icons/download.vue +5 -5
  148. package/src/atoms/components/Icon/icons/duplicate.vue +6 -6
  149. package/src/atoms/components/Icon/icons/edit-line.vue +10 -10
  150. package/src/atoms/components/Icon/icons/edit.vue +6 -6
  151. package/src/atoms/components/Icon/icons/ellipsis.vue +6 -6
  152. package/src/atoms/components/Icon/icons/envelope-email.vue +9 -9
  153. package/src/atoms/components/Icon/icons/error.vue +8 -8
  154. package/src/atoms/components/Icon/icons/eye-crossed.vue +7 -7
  155. package/src/atoms/components/Icon/icons/eye-open.vue +11 -11
  156. package/src/atoms/components/Icon/icons/fees.vue +6 -6
  157. package/src/atoms/components/Icon/icons/file-box.vue +3 -3
  158. package/src/atoms/components/Icon/icons/file-empty.vue +7 -7
  159. package/src/atoms/components/Icon/icons/file.vue +7 -7
  160. package/src/atoms/components/Icon/icons/filter.vue +7 -7
  161. package/src/atoms/components/Icon/icons/filters.vue +6 -6
  162. package/src/atoms/components/Icon/icons/flag.vue +6 -6
  163. package/src/atoms/components/Icon/icons/flip-horizontal.vue +7 -7
  164. package/src/atoms/components/Icon/icons/flip-vertical.vue +7 -7
  165. package/src/atoms/components/Icon/icons/folder.vue +6 -6
  166. package/src/atoms/components/Icon/icons/font.vue +7 -7
  167. package/src/atoms/components/Icon/icons/footer-centered.vue +7 -7
  168. package/src/atoms/components/Icon/icons/footer-left.vue +7 -7
  169. package/src/atoms/components/Icon/icons/form-message.vue +6 -6
  170. package/src/atoms/components/Icon/icons/form.vue +5 -5
  171. package/src/atoms/components/Icon/icons/fullscreen-exit.vue +5 -5
  172. package/src/atoms/components/Icon/icons/fullscreen.vue +5 -5
  173. package/src/atoms/components/Icon/icons/globe.vue +6 -6
  174. package/src/atoms/components/Icon/icons/godaddy/logo.vue +5 -5
  175. package/src/atoms/components/Icon/icons/group.vue +6 -6
  176. package/src/atoms/components/Icon/icons/hamburger.vue +7 -7
  177. package/src/atoms/components/Icon/icons/headphones.vue +7 -7
  178. package/src/atoms/components/Icon/icons/history.vue +12 -12
  179. package/src/atoms/components/Icon/icons/home-outline.vue +6 -6
  180. package/src/atoms/components/Icon/icons/home.vue +7 -7
  181. package/src/atoms/components/Icon/icons/icon-style-circle-bg.vue +22 -22
  182. package/src/atoms/components/Icon/icons/icon-style-no-bg.vue +16 -16
  183. package/src/atoms/components/Icon/icons/icon-style-square-bg.vue +22 -22
  184. package/src/atoms/components/Icon/icons/image-gallery-carousel.vue +7 -7
  185. package/src/atoms/components/Icon/icons/image-gallery-grid.vue +7 -7
  186. package/src/atoms/components/Icon/icons/image-gallery-masonry.vue +6 -6
  187. package/src/atoms/components/Icon/icons/image.vue +7 -7
  188. package/src/atoms/components/Icon/icons/images-gallery.vue +5 -5
  189. package/src/atoms/components/Icon/icons/images.vue +7 -7
  190. package/src/atoms/components/Icon/icons/info.vue +9 -9
  191. package/src/atoms/components/Icon/icons/jobs.vue +8 -8
  192. package/src/atoms/components/Icon/icons/layer-bring-front.vue +6 -6
  193. package/src/atoms/components/Icon/icons/layer-send-back.vue +6 -6
  194. package/src/atoms/components/Icon/icons/layer.vue +6 -6
  195. package/src/atoms/components/Icon/icons/layout/display-style-about-1.vue +20 -20
  196. package/src/atoms/components/Icon/icons/layout/display-style-about-2.vue +20 -20
  197. package/src/atoms/components/Icon/icons/layout/display-style-about-3.vue +20 -20
  198. package/src/atoms/components/Icon/icons/layout/display-style-about-4.vue +32 -32
  199. package/src/atoms/components/Icon/icons/layout/display-style-about-5.vue +27 -27
  200. package/src/atoms/components/Icon/icons/layout/display-style-about-6.vue +27 -27
  201. package/src/atoms/components/Icon/icons/layout/display-style-banner-1.vue +20 -20
  202. package/src/atoms/components/Icon/icons/layout/display-style-banner-2.vue +20 -20
  203. package/src/atoms/components/Icon/icons/layout/display-style-banner-3.vue +20 -20
  204. package/src/atoms/components/Icon/icons/layout/display-style-banner-4.vue +20 -20
  205. package/src/atoms/components/Icon/icons/layout/display-style-banner-5.vue +20 -20
  206. package/src/atoms/components/Icon/icons/layout/display-style-banner-6.vue +27 -27
  207. package/src/atoms/components/Icon/icons/layout/display-style-banner-7.vue +27 -27
  208. package/src/atoms/components/Icon/icons/layout/display-style-banner-8.vue +20 -20
  209. package/src/atoms/components/Icon/icons/layout/display-style-banner-9.vue +20 -20
  210. package/src/atoms/components/Icon/icons/layout/display-style-contact-1.vue +24 -24
  211. package/src/atoms/components/Icon/icons/layout/display-style-contact-2.vue +24 -24
  212. package/src/atoms/components/Icon/icons/layout/display-style-contact-4.vue +24 -24
  213. package/src/atoms/components/Icon/icons/layout/display-style-contact-5.vue +39 -39
  214. package/src/atoms/components/Icon/icons/layout/display-style-contact-6.vue +39 -39
  215. package/src/atoms/components/Icon/icons/layout/footer/display-style-1.vue +7 -7
  216. package/src/atoms/components/Icon/icons/layout/footer/display-style-2.vue +16 -16
  217. package/src/atoms/components/Icon/icons/layout/header/desktop-hamburger-display-style-1.vue +17 -17
  218. package/src/atoms/components/Icon/icons/layout/header/desktop-hamburger-display-style-2.vue +17 -17
  219. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-1.vue +17 -17
  220. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-2.vue +17 -17
  221. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-3.vue +13 -13
  222. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-4.vue +13 -13
  223. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-5.vue +17 -17
  224. package/src/atoms/components/Icon/icons/layout/header/desktop-tab-display-style-6.vue +17 -17
  225. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-1.vue +16 -16
  226. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-2.vue +16 -16
  227. package/src/atoms/components/Icon/icons/layout/header/hamburger-display-style-no-logo-3.vue +16 -16
  228. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-1.vue +17 -17
  229. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-2.vue +17 -17
  230. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-3.vue +17 -17
  231. package/src/atoms/components/Icon/icons/layout/header/mobile-hamburger-display-style-4.vue +21 -21
  232. package/src/atoms/components/Icon/icons/layout/header/mobile-tab-display-style-1.vue +17 -17
  233. package/src/atoms/components/Icon/icons/layout/header/mobile-tab-display-style-2.vue +17 -17
  234. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-1.vue +16 -16
  235. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-2.vue +16 -16
  236. package/src/atoms/components/Icon/icons/layout/header/tab-display-style-no-logo-3.vue +16 -16
  237. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-normal-text-center-normal.vue +7 -7
  238. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-normal-text-center-small.vue +7 -7
  239. package/src/atoms/components/Icon/icons/layout/layout-icon-bottom-small-text-center-normal.vue +7 -7
  240. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-bottom.vue +11 -11
  241. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-circle.vue +10 -10
  242. package/src/atoms/components/Icon/icons/layout/layout-icon-center-normal-curved-text-top.vue +11 -11
  243. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-center-normal.vue +7 -7
  244. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-justify-normal.vue +7 -7
  245. package/src/atoms/components/Icon/icons/layout/layout-icon-left-normal-text-left-normal.vue +7 -7
  246. package/src/atoms/components/Icon/icons/layout/layout-icon-left-small-text-left-normal.vue +7 -7
  247. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-center-normal.vue +7 -7
  248. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-justify-normal.vue +7 -7
  249. package/src/atoms/components/Icon/icons/layout/layout-icon-right-normal-text-right-normal.vue +7 -7
  250. package/src/atoms/components/Icon/icons/layout/layout-icon-right-small-text-right-normal.vue +7 -7
  251. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-center-normal.vue +7 -7
  252. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-center-small.vue +7 -7
  253. package/src/atoms/components/Icon/icons/layout/layout-icon-top-normal-text-justify-normal.vue +7 -7
  254. package/src/atoms/components/Icon/icons/layout/layout-icon-top-small-text-center-normal.vue +7 -7
  255. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-1.vue +16 -16
  256. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-2.vue +10 -10
  257. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-3.vue +10 -10
  258. package/src/atoms/components/Icon/icons/layout/nav/hamburger/display-style-4.vue +23 -23
  259. package/src/atoms/components/Icon/icons/layout/nav/tab/display-style-1.vue +16 -16
  260. package/src/atoms/components/Icon/icons/layout/nav/tab/display-style-2.vue +7 -7
  261. package/src/atoms/components/Icon/icons/letterhead-filled.vue +5 -5
  262. package/src/atoms/components/Icon/icons/lightning.vue +7 -7
  263. package/src/atoms/components/Icon/icons/link-in-bio-filled.vue +8 -8
  264. package/src/atoms/components/Icon/icons/link.vue +6 -6
  265. package/src/atoms/components/Icon/icons/location.vue +6 -6
  266. package/src/atoms/components/Icon/icons/lock.vue +6 -6
  267. package/src/atoms/components/Icon/icons/logo.vue +7 -7
  268. package/src/atoms/components/Icon/icons/mac-command.vue +7 -7
  269. package/src/atoms/components/Icon/icons/maker/align-center.vue +7 -7
  270. package/src/atoms/components/Icon/icons/maker/align-justify.vue +7 -7
  271. package/src/atoms/components/Icon/icons/maker/align-left.vue +7 -7
  272. package/src/atoms/components/Icon/icons/maker/align-right.vue +7 -7
  273. package/src/atoms/components/Icon/icons/maker/animate.vue +7 -7
  274. package/src/atoms/components/Icon/icons/maker/bold.vue +7 -7
  275. package/src/atoms/components/Icon/icons/maker/custom-landscape.vue +5 -5
  276. package/src/atoms/components/Icon/icons/maker/email-symbol.vue +5 -5
  277. package/src/atoms/components/Icon/icons/maker/email.vue +5 -5
  278. package/src/atoms/components/Icon/icons/maker/eraser.vue +5 -5
  279. package/src/atoms/components/Icon/icons/maker/etsy.vue +5 -5
  280. package/src/atoms/components/Icon/icons/maker/facebook.vue +5 -5
  281. package/src/atoms/components/Icon/icons/maker/favicon.vue +7 -7
  282. package/src/atoms/components/Icon/icons/maker/flyer.vue +7 -7
  283. package/src/atoms/components/Icon/icons/maker/gift-certificate.vue +5 -5
  284. package/src/atoms/components/Icon/icons/maker/globe.vue +5 -5
  285. package/src/atoms/components/Icon/icons/maker/image.vue +7 -7
  286. package/src/atoms/components/Icon/icons/maker/instagram.vue +7 -7
  287. package/src/atoms/components/Icon/icons/maker/invitation.vue +5 -5
  288. package/src/atoms/components/Icon/icons/maker/invoice.vue +5 -5
  289. package/src/atoms/components/Icon/icons/maker/italic.vue +7 -7
  290. package/src/atoms/components/Icon/icons/maker/link.vue +7 -7
  291. package/src/atoms/components/Icon/icons/maker/linkedin.vue +7 -7
  292. package/src/atoms/components/Icon/icons/maker/menu.vue +5 -5
  293. package/src/atoms/components/Icon/icons/maker/pause.vue +5 -5
  294. package/src/atoms/components/Icon/icons/maker/phone.vue +5 -5
  295. package/src/atoms/components/Icon/icons/maker/pinterest.vue +5 -5
  296. package/src/atoms/components/Icon/icons/maker/play.vue +5 -5
  297. package/src/atoms/components/Icon/icons/maker/postcard.vue +5 -5
  298. package/src/atoms/components/Icon/icons/maker/poster.vue +7 -7
  299. package/src/atoms/components/Icon/icons/maker/profile.vue +5 -5
  300. package/src/atoms/components/Icon/icons/maker/qrcode.vue +5 -5
  301. package/src/atoms/components/Icon/icons/maker/snapchat.vue +5 -5
  302. package/src/atoms/components/Icon/icons/maker/soundcloud.vue +7 -7
  303. package/src/atoms/components/Icon/icons/maker/spacing.vue +18 -18
  304. package/src/atoms/components/Icon/icons/maker/strikethrough.vue +7 -7
  305. package/src/atoms/components/Icon/icons/maker/t-shirt.vue +32 -32
  306. package/src/atoms/components/Icon/icons/maker/text-background-color.vue +12 -12
  307. package/src/atoms/components/Icon/icons/maker/text-color.vue +14 -14
  308. package/src/atoms/components/Icon/icons/maker/text.vue +7 -7
  309. package/src/atoms/components/Icon/icons/maker/thankyou-card.vue +5 -5
  310. package/src/atoms/components/Icon/icons/maker/tiktok.vue +5 -5
  311. package/src/atoms/components/Icon/icons/maker/tumblr.vue +5 -5
  312. package/src/atoms/components/Icon/icons/maker/twitch.vue +7 -7
  313. package/src/atoms/components/Icon/icons/maker/twitter.vue +5 -5
  314. package/src/atoms/components/Icon/icons/maker/underline.vue +7 -7
  315. package/src/atoms/components/Icon/icons/maker/uppercase.vue +14 -14
  316. package/src/atoms/components/Icon/icons/maker/video.vue +5 -5
  317. package/src/atoms/components/Icon/icons/maker/whatsapp.vue +7 -7
  318. package/src/atoms/components/Icon/icons/maker/youtube.vue +5 -5
  319. package/src/atoms/components/Icon/icons/maker/zoom.vue +5 -5
  320. package/src/atoms/components/Icon/icons/map.vue +6 -6
  321. package/src/atoms/components/Icon/icons/media.vue +3 -3
  322. package/src/atoms/components/Icon/icons/message.vue +6 -6
  323. package/src/atoms/components/Icon/icons/minus-circle-light.vue +7 -7
  324. package/src/atoms/components/Icon/icons/minus.vue +3 -3
  325. package/src/atoms/components/Icon/icons/mobile.vue +5 -5
  326. package/src/atoms/components/Icon/icons/mug.vue +29 -29
  327. package/src/atoms/components/Icon/icons/opacity.vue +6 -6
  328. package/src/atoms/components/Icon/icons/other.vue +7 -7
  329. package/src/atoms/components/Icon/icons/page-blank.vue +6 -6
  330. package/src/atoms/components/Icon/icons/page-buttons.vue +8 -8
  331. package/src/atoms/components/Icon/icons/page-hamburger.vue +9 -9
  332. package/src/atoms/components/Icon/icons/page-tabs.vue +9 -9
  333. package/src/atoms/components/Icon/icons/pages.vue +6 -6
  334. package/src/atoms/components/Icon/icons/palette-outline.vue +7 -7
  335. package/src/atoms/components/Icon/icons/palette.vue +6 -6
  336. package/src/atoms/components/Icon/icons/pause.vue +5 -5
  337. package/src/atoms/components/Icon/icons/payment.vue +8 -8
  338. package/src/atoms/components/Icon/icons/payments-featured.vue +6 -6
  339. package/src/atoms/components/Icon/icons/payments-textonly.vue +8 -8
  340. package/src/atoms/components/Icon/icons/payments-thumbnail.vue +9 -9
  341. package/src/atoms/components/Icon/icons/pen-outline.vue +7 -7
  342. package/src/atoms/components/Icon/icons/pen-sparkle.vue +17 -17
  343. package/src/atoms/components/Icon/icons/pen-tool.vue +7 -7
  344. package/src/atoms/components/Icon/icons/pen.vue +7 -7
  345. package/src/atoms/components/Icon/icons/phone.vue +6 -6
  346. package/src/atoms/components/Icon/icons/plus-circle-light.vue +8 -8
  347. package/src/atoms/components/Icon/icons/plus-circle.vue +7 -7
  348. package/src/atoms/components/Icon/icons/plus.vue +3 -3
  349. package/src/atoms/components/Icon/icons/poll.vue +3 -3
  350. package/src/atoms/components/Icon/icons/portfolio.vue +10 -10
  351. package/src/atoms/components/Icon/icons/premium-content.vue +8 -8
  352. package/src/atoms/components/Icon/icons/preview.vue +6 -6
  353. package/src/atoms/components/Icon/icons/printing.vue +6 -6
  354. package/src/atoms/components/Icon/icons/processing.vue +5 -5
  355. package/src/atoms/components/Icon/icons/question-alt.vue +20 -20
  356. package/src/atoms/components/Icon/icons/question.vue +11 -11
  357. package/src/atoms/components/Icon/icons/ratio-1-1.vue +3 -3
  358. package/src/atoms/components/Icon/icons/ratio-16-9.vue +1 -1
  359. package/src/atoms/components/Icon/icons/ratio-2-3.vue +3 -3
  360. package/src/atoms/components/Icon/icons/ratio-3-2.vue +3 -3
  361. package/src/atoms/components/Icon/icons/ratio-3-4.vue +3 -3
  362. package/src/atoms/components/Icon/icons/ratio-4-3.vue +3 -3
  363. package/src/atoms/components/Icon/icons/ratio-9-16.vue +3 -3
  364. package/src/atoms/components/Icon/icons/ratio-circle.vue +8 -8
  365. package/src/atoms/components/Icon/icons/ratio-original.vue +11 -11
  366. package/src/atoms/components/Icon/icons/redo.vue +6 -6
  367. package/src/atoms/components/Icon/icons/reload.vue +6 -6
  368. package/src/atoms/components/Icon/icons/reorderable.vue +5 -5
  369. package/src/atoms/components/Icon/icons/request-payment.vue +6 -6
  370. package/src/atoms/components/Icon/icons/reset.vue +6 -6
  371. package/src/atoms/components/Icon/icons/resize.vue +6 -6
  372. package/src/atoms/components/Icon/icons/save.vue +6 -6
  373. package/src/atoms/components/Icon/icons/search.vue +11 -11
  374. package/src/atoms/components/Icon/icons/secure.vue +7 -7
  375. package/src/atoms/components/Icon/icons/send.vue +12 -12
  376. package/src/atoms/components/Icon/icons/services.vue +7 -7
  377. package/src/atoms/components/Icon/icons/settings.vue +7 -7
  378. package/src/atoms/components/Icon/icons/shape.vue +5 -5
  379. package/src/atoms/components/Icon/icons/share.vue +9 -9
  380. package/src/atoms/components/Icon/icons/shield-tick.vue +6 -6
  381. package/src/atoms/components/Icon/icons/shop.vue +5 -5
  382. package/src/atoms/components/Icon/icons/sms.vue +5 -5
  383. package/src/atoms/components/Icon/icons/social-facebook-color.vue +9 -9
  384. package/src/atoms/components/Icon/icons/social-facebook.vue +5 -5
  385. package/src/atoms/components/Icon/icons/social-google.vue +5 -5
  386. package/src/atoms/components/Icon/icons/social-instagram-color.vue +24 -24
  387. package/src/atoms/components/Icon/icons/social-linkedin-color.vue +9 -9
  388. package/src/atoms/components/Icon/icons/social-share.vue +7 -7
  389. package/src/atoms/components/Icon/icons/social-twitter-color.vue +9 -9
  390. package/src/atoms/components/Icon/icons/sparkle-square.vue +22 -22
  391. package/src/atoms/components/Icon/icons/star-filled.vue +6 -6
  392. package/src/atoms/components/Icon/icons/star-hollow.vue +6 -6
  393. package/src/atoms/components/Icon/icons/sticker.vue +28 -28
  394. package/src/atoms/components/Icon/icons/stop.vue +5 -5
  395. package/src/atoms/components/Icon/icons/styles.vue +5 -5
  396. package/src/atoms/components/Icon/icons/submit.vue +5 -5
  397. package/src/atoms/components/Icon/icons/templates.vue +7 -7
  398. package/src/atoms/components/Icon/icons/text-image-center.vue +6 -6
  399. package/src/atoms/components/Icon/icons/text-image-justified.vue +7 -7
  400. package/src/atoms/components/Icon/icons/text-image-left.vue +9 -9
  401. package/src/atoms/components/Icon/icons/text-image-only.vue +5 -5
  402. package/src/atoms/components/Icon/icons/text-image-right.vue +9 -9
  403. package/src/atoms/components/Icon/icons/text-image.vue +13 -13
  404. package/src/atoms/components/Icon/icons/time.vue +8 -8
  405. package/src/atoms/components/Icon/icons/tooltip-bottom.vue +5 -5
  406. package/src/atoms/components/Icon/icons/tooltip-left.vue +5 -5
  407. package/src/atoms/components/Icon/icons/tooltip-right.vue +5 -5
  408. package/src/atoms/components/Icon/icons/tooltip-top.vue +5 -5
  409. package/src/atoms/components/Icon/icons/undo.vue +6 -6
  410. package/src/atoms/components/Icon/icons/upgrade-alt.vue +7 -7
  411. package/src/atoms/components/Icon/icons/upgrade.vue +9 -9
  412. package/src/atoms/components/Icon/icons/upload-arrow.vue +5 -5
  413. package/src/atoms/components/Icon/icons/upload.vue +5 -5
  414. package/src/atoms/components/Icon/icons/user-accounts.vue +5 -5
  415. package/src/atoms/components/Icon/icons/user-headset.vue +50 -50
  416. package/src/atoms/components/Icon/icons/users-2.vue +5 -0
  417. package/src/atoms/components/Icon/icons/volume-muted.vue +5 -5
  418. package/src/atoms/components/Icon/icons/volume.vue +5 -5
  419. package/src/atoms/components/Icon/icons/watchlist-filled.vue +14 -14
  420. package/src/atoms/components/Icon/icons/watchlist-hollow-alt.vue +14 -14
  421. package/src/atoms/components/Icon/icons/watchlist-hollow.vue +6 -6
  422. package/src/atoms/components/Icon/icons/website-filled.vue +5 -5
  423. package/src/atoms/components/Icon/icons/website.vue +6 -6
  424. package/src/atoms/components/Icon/icons/websites/upgrade-to-add-page.vue +50 -50
  425. package/src/atoms/components/Icon/icons/websites/upgrade-to-contact-form.vue +82 -82
  426. package/src/atoms/components/Icon/icons/websites/upgrade-to-google-ad.vue +92 -92
  427. package/src/atoms/components/Icon/icons/websites/upgrade-to-maps.vue +40 -40
  428. package/src/atoms/components/Icon/icons/websites/upgrade-to-publish.vue +107 -107
  429. package/src/atoms/components/Icon/icons/websites/upgrade-to-remove-watermark.vue +74 -74
  430. package/src/atoms/components/Icon/icons/websites/upgrade-to-videos.vue +16 -16
  431. package/src/atoms/components/Icon/icons/wholesale.vue +6 -6
  432. package/src/atoms/components/Icon/icons/zoom-in.vue +5 -5
  433. package/src/atoms/components/Icon/icons/zoom-out.vue +5 -5
  434. package/src/atoms/components/Icon/icons/zoom.vue +11 -11
  435. package/src/atoms/components/Loader/Loader.vue +15 -15
  436. package/src/atoms/components/Masonry/Masonry.stories.js +48 -48
  437. package/src/atoms/components/Masonry/Masonry.vue +48 -48
  438. package/src/atoms/components/Masonry/fixtures.js +589 -589
  439. package/src/atoms/components/Modal/HashRouteModal.stories.js +68 -68
  440. package/src/atoms/components/Modal/HashRouteModal.vue +120 -120
  441. package/src/atoms/components/Modal/Modal.stories.js +293 -293
  442. package/src/atoms/components/Modal/Modal.vue +272 -263
  443. package/src/atoms/components/Notice/Notice.stories.js +174 -174
  444. package/src/atoms/components/Notice/Notice.vue +71 -71
  445. package/src/atoms/components/NumberStepper/NumberStepper.stories.js +55 -55
  446. package/src/atoms/components/NumberStepper/NumberStepper.vue +340 -340
  447. package/src/atoms/components/Picture/Picture.stories.js +90 -90
  448. package/src/atoms/components/Picture/Picture.vue +84 -84
  449. package/src/atoms/components/Picture/picture.fixtures.js +35 -35
  450. package/src/atoms/components/Pill/Pill.stories.js +20 -20
  451. package/src/atoms/components/Pill/Pill.vue +8 -8
  452. package/src/atoms/components/PillBar/PillBar.fixtures.js +941 -941
  453. package/src/atoms/components/PillBar/PillBar.stories.js +39 -39
  454. package/src/atoms/components/PillBar/PillBar.vue +62 -62
  455. package/src/atoms/components/Price/Price.fixtures.js +85 -85
  456. package/src/atoms/components/Price/Price.stories.js +313 -313
  457. package/src/atoms/components/Price/Price.vue +135 -135
  458. package/src/atoms/components/Price/i18n/price.de-DE.json +5 -5
  459. package/src/atoms/components/Price/i18n/price.es-ES.json +5 -5
  460. package/src/atoms/components/Price/i18n/price.fr-CA.json +5 -5
  461. package/src/atoms/components/Price/i18n/price.fr-FR.json +5 -5
  462. package/src/atoms/components/Price/i18n/price.json +5 -5
  463. package/src/atoms/components/Price/i18n/price.pt-BR.json +5 -5
  464. package/src/atoms/components/Price/i18n/price.pt-PT.json +5 -5
  465. package/src/atoms/components/PromoCard/PromoCard.stories.ts +263 -263
  466. package/src/atoms/components/PromoCard/PromoCard.vue +83 -83
  467. package/src/atoms/components/SearchBar/SearchBar.stories.js +21 -21
  468. package/src/atoms/components/SearchBar/SearchBar.vue +51 -51
  469. package/src/atoms/components/Select/Select.stories.js +142 -142
  470. package/src/atoms/components/Select/Select.vue +619 -619
  471. package/src/atoms/components/Select/pointerMixin.js +99 -99
  472. package/src/atoms/components/Select/selectMixin.js +356 -356
  473. package/src/atoms/components/SparkleIcon/SparkleIcon.stories.js +386 -386
  474. package/src/atoms/components/SparkleIcon/SparkleIcon.vue +136 -136
  475. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-01.svg +5 -5
  476. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-02.svg +5 -5
  477. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-03.svg +5 -5
  478. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-04.svg +5 -5
  479. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-05.svg +5 -5
  480. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-06.svg +5 -5
  481. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-07.svg +5 -5
  482. package/src/atoms/components/SparkleIcon/assets/animations/sparkle/state-08.svg +5 -5
  483. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-01.svg +5 -5
  484. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-02.svg +14 -14
  485. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-03.svg +14 -14
  486. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-04.svg +14 -14
  487. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-05.svg +14 -14
  488. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-06.svg +14 -14
  489. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-07.svg +14 -14
  490. package/src/atoms/components/SparkleIcon/assets/animations/spinner/state-08.svg +14 -14
  491. package/src/atoms/components/SparkleIcon/assets/sparkle.svg +3 -3
  492. package/src/atoms/components/SparkleIcon/index.ts +3 -3
  493. package/src/atoms/components/SparkleIcon/sparkle-paths.ts +54 -54
  494. package/src/atoms/components/SparkleIcon/sparkle-with-spinner-paths.ts +61 -61
  495. package/src/atoms/components/StarRating/StarRating.stories.js +50 -50
  496. package/src/atoms/components/StarRating/StarRating.vue +84 -84
  497. package/src/atoms/components/TabMenu/TabMenu.stories.js +54 -54
  498. package/src/atoms/components/TabMenu/TabMenu.vue +44 -44
  499. package/src/atoms/components/TextCopyField/TextCopyField.stories.js +68 -68
  500. package/src/atoms/components/TextCopyField/TextCopyField.vue +75 -75
  501. package/src/atoms/components/TextInput/TextInput.stories.js +232 -232
  502. package/src/atoms/components/TextInput/TextInput.vue +161 -161
  503. package/src/atoms/components/Textarea/Textarea.stories.js +209 -209
  504. package/src/atoms/components/Textarea/Textarea.vue +112 -112
  505. package/src/atoms/components/Toggle/Toggle.stories.js +176 -176
  506. package/src/atoms/components/Toggle/Toggle.vue +69 -69
  507. package/src/atoms/components/Tooltip/Tooltip.stories.js +493 -493
  508. package/src/atoms/components/Tooltip/Tooltip.vue +196 -196
  509. package/src/atoms/components/design-com/Icon/Icon.stories.js +94 -94
  510. package/src/atoms/components/design-com/Icon/Icon.vue +181 -181
  511. package/src/atoms/components/design-com/Icon/icons/ai.vue +5 -5
  512. package/src/atoms/components/design-com/Icon/icons/award.vue +7 -7
  513. package/src/atoms/components/design-com/Icon/icons/badge.vue +7 -7
  514. package/src/atoms/components/design-com/Icon/icons/briefcase.vue +6 -6
  515. package/src/atoms/components/design-com/Icon/icons/browser.vue +7 -7
  516. package/src/atoms/components/design-com/Icon/icons/bulb.vue +7 -7
  517. package/src/atoms/components/design-com/Icon/icons/card-vertical.vue +8 -8
  518. package/src/atoms/components/design-com/Icon/icons/card.vue +6 -6
  519. package/src/atoms/components/design-com/Icon/icons/check-circle-light.vue +7 -7
  520. package/src/atoms/components/design-com/Icon/icons/chevron-down.vue +7 -7
  521. package/src/atoms/components/design-com/Icon/icons/chevron-left.vue +7 -7
  522. package/src/atoms/components/design-com/Icon/icons/chevron-right.vue +3 -3
  523. package/src/atoms/components/design-com/Icon/icons/chevron-up.vue +7 -7
  524. package/src/atoms/components/design-com/Icon/icons/diamond.vue +7 -7
  525. package/src/atoms/components/design-com/Icon/icons/download.vue +7 -7
  526. package/src/atoms/components/design-com/Icon/icons/file-empty.vue +7 -7
  527. package/src/atoms/components/design-com/Icon/icons/file.vue +7 -7
  528. package/src/atoms/components/design-com/Icon/icons/filter.vue +7 -7
  529. package/src/atoms/components/design-com/Icon/icons/folder.vue +5 -5
  530. package/src/atoms/components/design-com/Icon/icons/font.vue +7 -7
  531. package/src/atoms/components/design-com/Icon/icons/headphones.vue +7 -7
  532. package/src/atoms/components/design-com/Icon/icons/heart.vue +7 -7
  533. package/src/atoms/components/design-com/Icon/icons/image.vue +7 -7
  534. package/src/atoms/components/design-com/Icon/icons/lightning.vue +7 -7
  535. package/src/atoms/components/design-com/Icon/icons/logo.vue +7 -7
  536. package/src/atoms/components/design-com/Icon/icons/minus-circle-light.vue +7 -7
  537. package/src/atoms/components/design-com/Icon/icons/plus-circle-light.vue +8 -8
  538. package/src/atoms/components/design-com/Icon/icons/printing.vue +5 -5
  539. package/src/atoms/components/design-com/Icon/icons/question-circle-filled.vue +7 -7
  540. package/src/atoms/components/design-com/Icon/icons/search.vue +7 -7
  541. package/src/atoms/components/design-com/Icon/icons/shield-tick.vue +5 -5
  542. package/src/atoms/components/design-com/Icon/icons/star-filled.vue +6 -6
  543. package/src/atoms/components/design-com/Icon/icons/star-hollow.vue +6 -6
  544. package/src/atoms/components/design-com/Icon/icons/users.vue +7 -7
  545. package/src/atoms/constants/constants.ts +6 -6
  546. package/src/atoms/mixin/hash-router-mixin.js +68 -68
  547. package/src/atoms/thirdparty-components/VueMasonryWall/VueMasonryWall.vue +280 -280
  548. package/src/atoms/thirdparty-components/VueMasonryWall/maxBy.js +50 -50
  549. package/src/bundleTranslation.js +86 -86
  550. package/src/bundles/bundled-translations.de-DE.json +8 -53
  551. package/src/bundles/bundled-translations.es-ES.json +8 -53
  552. package/src/bundles/bundled-translations.fr-CA.json +8 -53
  553. package/src/bundles/bundled-translations.fr-FR.json +8 -53
  554. package/src/bundles/bundled-translations.json +8 -53
  555. package/src/bundles/bundled-translations.pt-BR.json +8 -53
  556. package/src/bundles/bundled-translations.pt-PT.json +8 -53
  557. package/src/css/tailwind.css +3 -3
  558. package/src/experiences/clients/brand-crowd-api.client.js +142 -142
  559. package/src/experiences/clients/brand-page-api.client.js +62 -62
  560. package/src/experiences/components/AuthFlow/Auth.fixtures.js +4 -4
  561. package/src/experiences/components/AuthFlow/Auth.stories.js +345 -345
  562. package/src/experiences/components/AuthFlow/AuthCrazyDomains.stories.js +60 -60
  563. package/src/experiences/components/AuthFlow/AuthLegal.vue +108 -108
  564. package/src/experiences/components/AuthFlow/AuthModal.vue +39 -39
  565. package/src/experiences/components/AuthFlow/ForgotPassword.vue +222 -222
  566. package/src/experiences/components/AuthFlow/ForgotPasswordModal.vue +68 -68
  567. package/src/experiences/components/AuthFlow/ResetPassword.vue +179 -179
  568. package/src/experiences/components/AuthFlow/ResetPasswordModal.vue +64 -64
  569. package/src/experiences/components/AuthFlow/ResetPasswordSuccessModal.vue +56 -56
  570. package/src/experiences/components/AuthFlow/SignIn.vue +472 -472
  571. package/src/experiences/components/AuthFlow/SignUp.vue +278 -278
  572. package/src/experiences/components/AuthFlow/SignUpModal.vue +90 -90
  573. package/src/experiences/components/AuthFlow/SocialSignIn.vue +177 -177
  574. package/src/experiences/components/AuthFlow/SocialSignInButton.vue +74 -74
  575. package/src/experiences/components/AuthFlow/SubmissionButton.vue +56 -56
  576. package/src/experiences/components/PaymentConfigList/PaymentConfig.mixin.js +118 -118
  577. package/src/experiences/components/PaymentConfigList/PaymentConfigDeleteConfigModal.vue +108 -108
  578. package/src/experiences/components/PaymentConfigList/PaymentConfigDropdown.vue +175 -175
  579. package/src/experiences/components/PaymentConfigList/PaymentConfigList.stories.js +234 -234
  580. package/src/experiences/components/PaymentConfigList/PaymentConfigList.vue +136 -136
  581. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.de-DE.json +11 -11
  582. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.es-ES.json +11 -11
  583. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.fr-CA.json +11 -11
  584. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.fr-FR.json +11 -11
  585. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.json +11 -11
  586. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.pt-BR.json +11 -11
  587. package/src/experiences/components/PaymentConfigList/i18n/shared-payment-config.pt-PT.json +11 -11
  588. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageCard.vue +119 -119
  589. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.stories.js +262 -262
  590. package/src/experiences/components/PublishBrandPageModal/__fixtures__/data.js +25 -25
  591. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.de-DE.json +27 -27
  592. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.es-ES.json +27 -27
  593. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-CA.json +27 -27
  594. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-FR.json +27 -27
  595. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.json +27 -27
  596. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-BR.json +27 -27
  597. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-PT.json +27 -27
  598. package/src/experiences/components/SellDomainNameList/SellDomainNameList.fixtures.js +32 -32
  599. package/src/experiences/components/SellDomainNameList/SellDomainNameList.vue +157 -157
  600. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.de-DE.json +7 -7
  601. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.es-ES.json +7 -7
  602. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-CA.json +7 -7
  603. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-FR.json +7 -7
  604. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.json +7 -7
  605. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-BR.json +7 -7
  606. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-PT.json +7 -7
  607. package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.stories.js +74 -74
  608. package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.vue +128 -128
  609. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.de-DE.json +5 -5
  610. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.es-ES.json +5 -5
  611. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-CA.json +5 -5
  612. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-FR.json +5 -5
  613. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.json +5 -5
  614. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-BR.json +5 -5
  615. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-PT.json +5 -5
  616. package/src/experiences/components/SellDomainNameModalApplication/SellDomainNameModalApplication.vue +222 -222
  617. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.de-DE.json +5 -5
  618. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.es-ES.json +5 -5
  619. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-CA.json +5 -5
  620. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-FR.json +5 -5
  621. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.json +5 -5
  622. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-BR.json +5 -5
  623. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-PT.json +5 -5
  624. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.de-DE.json +7 -7
  625. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.es-ES.json +7 -7
  626. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-CA.json +7 -7
  627. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-FR.json +7 -7
  628. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.json +7 -7
  629. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-BR.json +7 -7
  630. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-PT.json +7 -7
  631. package/src/experiences/components/SellDomainNameSearchResult/SellDomainNameListSearchResult.vue +167 -167
  632. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.de-DE.json +5 -5
  633. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.es-ES.json +5 -5
  634. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-CA.json +5 -5
  635. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-FR.json +5 -5
  636. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.json +5 -5
  637. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-BR.json +5 -5
  638. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-PT.json +5 -5
  639. package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.stories.js +38 -38
  640. package/src/experiences/components/SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.vue +223 -223
  641. package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.stories.js +40 -40
  642. package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.vue +155 -155
  643. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.de-DE.json +7 -7
  644. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.es-ES.json +7 -7
  645. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-CA.json +7 -7
  646. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-FR.json +7 -7
  647. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.json +7 -7
  648. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-BR.json +7 -7
  649. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-PT.json +7 -7
  650. package/src/experiences/components/SideNavigationPanel/MenuCta.vue +62 -62
  651. package/src/experiences/components/SideNavigationPanel/MenuItem.vue +40 -40
  652. package/src/experiences/components/SideNavigationPanel/SideNavigationPanel.stories.js +219 -219
  653. package/src/experiences/components/SideNavigationPanel/SideNavigationPanel.vue +82 -82
  654. package/src/experiences/components/SideNavigationPanel/types.ts +7 -7
  655. package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.stories.js +254 -254
  656. package/src/experiences/components/UploadYourLogoApplication/UploadYourLogoApplication.vue +163 -163
  657. package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.stories.js +59 -59
  658. package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.vue +285 -285
  659. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.stories.js +37 -37
  660. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.vue +338 -338
  661. package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessText.vue +146 -146
  662. package/src/experiences/components/UploadYourLogoOnBoarding/LogoCropper.vue +473 -473
  663. package/src/experiences/components/UploadYourLogoOnBoarding/LogoKeywords.stories.js +65 -65
  664. package/src/experiences/components/UploadYourLogoOnBoarding/LogoKeywords.vue +156 -156
  665. package/src/experiences/components/UploadYourLogoOnBoarding/LogoPreview.vue +103 -103
  666. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadError.vue +75 -75
  667. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadExitConfirmation.vue +55 -55
  668. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadModal.vue +38 -38
  669. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploader.vue +109 -109
  670. package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadingLoader.vue +39 -39
  671. package/src/experiences/components/UploadYourLogoOnBoarding/UploadYourLogoOnBoarding.vue +363 -363
  672. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.de-DE.json +37 -37
  673. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.es-ES.json +37 -37
  674. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-CA.json +37 -37
  675. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-FR.json +37 -37
  676. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.json +37 -37
  677. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-BR.json +37 -37
  678. package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-PT.json +37 -37
  679. package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.stories.js +82 -82
  680. package/src/experiences/components/UploadedLogoSearchResultCard/UploadedLogoSearchResultCard.vue +211 -211
  681. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.de-DE.json +8 -8
  682. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.es-ES.json +8 -8
  683. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.fr-CA.json +8 -8
  684. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.fr-FR.json +8 -8
  685. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.json +8 -8
  686. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.pt-BR.json +8 -8
  687. package/src/experiences/components/UploadedLogoSearchResultCard/i18n/upload-logo-search-result-card.pt-PT.json +8 -8
  688. package/src/experiences/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.stories.js +181 -181
  689. package/src/experiences/components/WebsitesContextualUpgradeModal/WebsiteContextualUpgradeModal.vue +203 -203
  690. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.de-DE.json +42 -42
  691. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.es-ES.json +42 -42
  692. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.fr-CA.json +42 -42
  693. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.fr-FR.json +42 -42
  694. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.json +42 -42
  695. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.pt-BR.json +42 -42
  696. package/src/experiences/components/WebsitesContextualUpgradeModal/i18n/website-contextual-upgrade-modal.pt-PT.json +42 -42
  697. package/src/experiences/constants/api.js +9 -9
  698. package/src/experiences/constants/error-constants.js +5 -5
  699. package/src/experiences/constants/event-constants.js +18 -18
  700. package/src/experiences/constants/partner-dictionary-constants.js +27 -27
  701. package/src/experiences/constants/rego-source-constants.js +3 -3
  702. package/src/experiences/constants/sell-domain-name-constants.js +4 -4
  703. package/src/experiences/helpers/email-validator.js +5 -5
  704. package/src/experiences/helpers/hex-diff.js +116 -116
  705. package/src/experiences/helpers/tracking.js +5 -5
  706. package/src/experiences/mixins/mediaQueryMixin.js +31 -31
  707. package/src/experiences/mixins/themeMixin.js +22 -22
  708. package/src/experiences/models/websiteContextualModel.ts +11 -11
  709. package/src/themes/base.js +20 -20
  710. package/src/themes/bc.js +95 -95
  711. package/src/themes/bp.js +21 -21
  712. package/src/themes/cd.js +94 -94
  713. package/src/themes/dc.js +84 -84
  714. package/src/themes/dcom.js +106 -106
  715. package/src/themes/themes.js +16 -16
  716. package/src/useSharedLibTranslate.js +131 -131
  717. package/src/viewports.js +51 -51
  718. package/stylelint.config.js +19 -19
  719. package/tailwind.build.js +83 -83
  720. package/tailwind.config.js +36 -36
  721. package/tailwind.themes.js +59 -59
  722. package/vite.config.ts +37 -37
  723. package/.claude/settings.local.json +0 -59
  724. package/.storybook-static/assets/Auth-DT64t5h-.css +0 -1
  725. package/.storybook-static/assets/Auth.stories-C6eXcTSu.js +0 -490
  726. package/.storybook-static/assets/AuthCrazyDomains.stories-DGvEoWCa.js +0 -73
  727. package/.storybook-static/assets/Button-5UzSGUF6.css +0 -1
  728. package/.storybook-static/assets/Button-DKdQT6Fq.js +0 -1
  729. package/.storybook-static/assets/ButtonGroup-DDPXuhxR.css +0 -1
  730. package/.storybook-static/assets/ButtonGroup.stories-DlrYMRSk.js +0 -504
  731. package/.storybook-static/assets/ButtonPrimary-Bu6bXb_c.css +0 -1
  732. package/.storybook-static/assets/ButtonPrimary-BvWW6Duz.js +0 -1
  733. package/.storybook-static/assets/Buttons.stories-CKmd6hkZ.js +0 -761
  734. package/.storybook-static/assets/ButtonsCrazyDomains.stories-DdEuOUrn.js +0 -199
  735. package/.storybook-static/assets/Checkbox.mixin-DkHpdvGa.js +0 -1
  736. package/.storybook-static/assets/Checkbox.stories-DPBUC2Mx.js +0 -246
  737. package/.storybook-static/assets/Checktile.stories-ByaFwplD.js +0 -88
  738. package/.storybook-static/assets/CollapsiblePanel.stories-Y6q3gP9j.js +0 -56
  739. package/.storybook-static/assets/ColorPicker.stories-DdxPUB_R.js +0 -73
  740. package/.storybook-static/assets/CopyToClipboardText.stories-J9qndWxd.js +0 -32
  741. package/.storybook-static/assets/Dropdown.stories-1zKPATii.js +0 -159
  742. package/.storybook-static/assets/DropdownItem-BV-BdThU.css +0 -1
  743. package/.storybook-static/assets/DropdownItem-DA6TdpDb.js +0 -1
  744. package/.storybook-static/assets/FormControl.mixin-DcEBwrV3.js +0 -1
  745. package/.storybook-static/assets/HashRouteModal.stories-BGxvqE22.js +0 -60
  746. package/.storybook-static/assets/HelloBar-CYEZR2kQ.js +0 -1
  747. package/.storybook-static/assets/HelloBar.stories-597Kxj0W.js +0 -342
  748. package/.storybook-static/assets/Icon-C17LFvsP.js +0 -145
  749. package/.storybook-static/assets/Icon.stories-B9iAmcTU.js +0 -151
  750. package/.storybook-static/assets/Icon.stories-CR5vT9H7.js +0 -791
  751. package/.storybook-static/assets/Loader-BWGoT_xC.js +0 -1
  752. package/.storybook-static/assets/LogoBusinessBrandColours-CExzox1Z.js +0 -1
  753. package/.storybook-static/assets/LogoBusinessBrandColours-CeAaMKke.css +0 -1
  754. package/.storybook-static/assets/LogoBusinessBrandColours.stories-kuxAH8B8.js +0 -36
  755. package/.storybook-static/assets/Masonry-C2MNiGg0.css +0 -1
  756. package/.storybook-static/assets/Masonry.stories-CTXJLQ_i.js +0 -71
  757. package/.storybook-static/assets/Modal-CGwEIF5R.css +0 -1
  758. package/.storybook-static/assets/Modal-CydTNprT.js +0 -1
  759. package/.storybook-static/assets/Modal.stories-DZiG5NGM.js +0 -345
  760. package/.storybook-static/assets/Notice.stories-ChOj8CWm.js +0 -222
  761. package/.storybook-static/assets/NumberStepper-Blffv09R.css +0 -1
  762. package/.storybook-static/assets/NumberStepper.stories-CVbKJ_oJ.js +0 -64
  763. package/.storybook-static/assets/PaymentConfigList-BpUMV6cp.css +0 -1
  764. package/.storybook-static/assets/PaymentConfigList.stories-DUD7OZBS.js +0 -130
  765. package/.storybook-static/assets/Picture-B8m1I9xN.js +0 -1
  766. package/.storybook-static/assets/Picture.stories-MMzybhJ6.js +0 -119
  767. package/.storybook-static/assets/Pill-DLXZ_TL8.js +0 -1
  768. package/.storybook-static/assets/Pill.stories-DCP7szJm.js +0 -18
  769. package/.storybook-static/assets/PillBar-os4mJV3M.css +0 -1
  770. package/.storybook-static/assets/PillBar.stories-Bry-zQ6f.js +0 -41
  771. package/.storybook-static/assets/Price-C4GZbDSa.js +0 -1
  772. package/.storybook-static/assets/Price.stories-CMHly9V0.js +0 -337
  773. package/.storybook-static/assets/PromoCard.stories-xsbFtADE.js +0 -299
  774. package/.storybook-static/assets/PublishBrandPageModal-Q9-mNG1q.css +0 -1
  775. package/.storybook-static/assets/PublishBrandPageModal.stories-C9XzW_1m.js +0 -324
  776. package/.storybook-static/assets/SearchBar.stories-DaIneOSz.js +0 -12
  777. package/.storybook-static/assets/Select-DnioWQmi.css +0 -1
  778. package/.storybook-static/assets/Select.stories-BmGYB4pw.js +0 -108
  779. package/.storybook-static/assets/SellDomainNameList.fixtures-LC6fjr_b.js +0 -1
  780. package/.storybook-static/assets/SellDomainNameListModal-DH6khE10.css +0 -1
  781. package/.storybook-static/assets/SellDomainNameListModal-ymtVclFP.js +0 -1
  782. package/.storybook-static/assets/SellDomainNameListModal.stories-DvGvylgx.js +0 -71
  783. package/.storybook-static/assets/SellDomainNameListSearchResult-Cpxq0jDA.css +0 -1
  784. package/.storybook-static/assets/SellDomainNameListSearchResult-D-1CrQyf.js +0 -1
  785. package/.storybook-static/assets/SellDomainNameSearchWithResults-bX--zu97.js +0 -1
  786. package/.storybook-static/assets/SellDomainNameSearchWithResults.stories-DRUJjSdH.js +0 -37
  787. package/.storybook-static/assets/SellDomainNameWidget.stories-CC3LX10s.js +0 -36
  788. package/.storybook-static/assets/SignIn-CPjf8_2O.css +0 -1
  789. package/.storybook-static/assets/SignIn-DI0DSDFe.js +0 -1
  790. package/.storybook-static/assets/Slider-Cog2FFdj.css +0 -1
  791. package/.storybook-static/assets/Slider.stories-B2KGwnJy.js +0 -141
  792. package/.storybook-static/assets/SparkleIcon.stories-Dk904hVE.js +0 -547
  793. package/.storybook-static/assets/StarRating-BtKh7pzm.css +0 -1
  794. package/.storybook-static/assets/StarRating.stories-d2mgOuo2.js +0 -45
  795. package/.storybook-static/assets/TabMenu.stories-Cg2yenqj.js +0 -47
  796. package/.storybook-static/assets/TextCopyField-B66NKTk_.js +0 -1
  797. package/.storybook-static/assets/TextCopyField.stories-B4_ZlfLU.js +0 -47
  798. package/.storybook-static/assets/TextInput-CMoUjT_5.js +0 -1
  799. package/.storybook-static/assets/TextInput.stories-oyyxxf3j.js +0 -233
  800. package/.storybook-static/assets/Textarea.stories-BvhZR6K2.js +0 -207
  801. package/.storybook-static/assets/Toggle.stories-yT5-rL2k.js +0 -161
  802. package/.storybook-static/assets/Tooltip-DyXIgFQH.css +0 -1
  803. package/.storybook-static/assets/Tooltip-ZukyujG5.js +0 -1
  804. package/.storybook-static/assets/Tooltip.stories-sJFylRS_.js +0 -953
  805. package/.storybook-static/assets/UploadYourLogoApplication-Dmw8QcH3.css +0 -1
  806. package/.storybook-static/assets/UploadYourLogoApplication.stories-C9AvzHO_.js +0 -186
  807. package/.storybook-static/assets/UploadYourLogoDropzone-B1ffcicv.js +0 -24
  808. package/.storybook-static/assets/UploadYourLogoDropzone-DQqACf-e.css +0 -1
  809. package/.storybook-static/assets/UploadYourLogoDropzone.stories-D1Dt2ord.js +0 -55
  810. package/.storybook-static/assets/UploadedLogoSearchResultCard.stories-D8oF1Yrx.js +0 -79
  811. package/.storybook-static/assets/WebsiteContextualUpgradeModal-8u1zOZrW.css +0 -1
  812. package/.storybook-static/assets/WebsiteContextualUpgradeModal.stories-mtcvWOAg.js +0 -211
  813. package/.storybook-static/assets/_commonjsHelpers-CE1G-McA.js +0 -1
  814. package/.storybook-static/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  815. package/.storybook-static/assets/api-lSJGRrF2.js +0 -1
  816. package/.storybook-static/assets/axe-DrS73Vi2.js +0 -20
  817. package/.storybook-static/assets/brand-crowd-api.client-D45NKshX.js +0 -1
  818. package/.storybook-static/assets/bundled-translations-BoWhEDU_.js +0 -1
  819. package/.storybook-static/assets/bundled-translations.de-DE-C4lqla4O.js +0 -1
  820. package/.storybook-static/assets/bundled-translations.es-ES-BxMIllUH.js +0 -1
  821. package/.storybook-static/assets/bundled-translations.fr-CA-MxZpyz0w.js +0 -1
  822. package/.storybook-static/assets/bundled-translations.fr-FR-N7UPCZVr.js +0 -1
  823. package/.storybook-static/assets/bundled-translations.pt-BR-C8tscYuG.js +0 -1
  824. package/.storybook-static/assets/bundled-translations.pt-PT-Dszj5Xfa.js +0 -1
  825. package/.storybook-static/assets/carousel-BelyIYOK.css +0 -1
  826. package/.storybook-static/assets/carousel.stories-CJw3-Iy6.js +0 -668
  827. package/.storybook-static/assets/event-constants-CMO9VQVu.js +0 -1
  828. package/.storybook-static/assets/iframe-B3A6OXQU.js +0 -1104
  829. package/.storybook-static/assets/index-B-eiLVzF.js +0 -7
  830. package/.storybook-static/assets/index-QquxUozE.js +0 -6
  831. package/.storybook-static/assets/matchers-5TDFFDYO-HJu_DfWo.js +0 -14
  832. package/.storybook-static/assets/mediaQueryMixin-CISNqd93.js +0 -1
  833. package/.storybook-static/assets/preload-helper-PPVm8Dsz.js +0 -1
  834. package/.storybook-static/assets/tracking-ATsLLehC.js +0 -1
  835. package/.storybook-static/css/tailwind-brandCrowd.css +0 -2508
  836. package/.storybook-static/css/tailwind-brandPage.css +0 -2188
  837. package/.storybook-static/css/tailwind-crazyDomains.css +0 -2508
  838. package/.storybook-static/css/tailwind-designCom.css +0 -2508
  839. package/.storybook-static/css/tailwind-designCrowd.css +0 -2508
  840. package/.storybook-static/favicon-wrapper.svg +0 -46
  841. package/.storybook-static/favicon.svg +0 -1
  842. package/.storybook-static/iframe.html +0 -713
  843. package/.storybook-static/index.html +0 -148
  844. package/.storybook-static/index.json +0 -1
  845. package/.storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  846. package/.storybook-static/nunito-sans-bold.woff2 +0 -0
  847. package/.storybook-static/nunito-sans-italic.woff2 +0 -0
  848. package/.storybook-static/nunito-sans-regular.woff2 +0 -0
  849. package/.storybook-static/project.json +0 -1
  850. package/.storybook-static/sb-addons/a11y-1/manager-bundle.js +0 -57
  851. package/.storybook-static/sb-addons/links-2/manager-bundle.js +0 -3
  852. package/.storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -628
  853. package/.storybook-static/sb-addons/themes-3/manager-bundle.js +0 -3
  854. package/.storybook-static/sb-common-assets/favicon-wrapper.svg +0 -46
  855. package/.storybook-static/sb-common-assets/favicon.svg +0 -1
  856. package/.storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  857. package/.storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  858. package/.storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  859. package/.storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  860. package/.storybook-static/sb-manager/globals-runtime.js +0 -77935
  861. package/.storybook-static/sb-manager/globals.js +0 -24
  862. package/.storybook-static/sb-manager/manager-stores.js +0 -23
  863. package/.storybook-static/sb-manager/runtime.js +0 -20404
  864. package/.storybook-static/vite-inject-mocker-entry.js +0 -2
  865. package/src/atoms/components/Icon/icons/microphone.vue +0 -5
  866. package/src/atoms/components/VoiceToTextButton/VoiceToTextButton.stories.js +0 -107
  867. package/src/atoms/components/VoiceToTextButton/VoiceToTextButton.vue +0 -84
  868. 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,5 +0,0 @@
1
- <template>
2
- <path
3
- d="M8 1a2 2 0 0 0-2 2v4a2 2 0 1 0 4 0V3a2 2 0 0 0-2-2zM4.5 7a.5.5 0 0 1 .5.5V8a3 3 0 1 0 6 0v-.5a.5.5 0 0 1 1 0V8a4 4 0 0 1-3.5 3.97V14h2a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h2v-2.03A4 4 0 0 1 4 8v-.5a.5.5 0 0 1 .5-.5z"
4
- />
5
- </template>
@@ -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>
@@ -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
- }