@preply/ds-docs 3.5.1 → 3.6.0

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 (271) hide show
  1. package/dist/assets/00.LayoutFlex.stories-CeV_wdIC.js +85 -0
  2. package/dist/assets/{00.applications-CtD17Uvc.js → 00.applications-CAvTZLs_.js} +2 -2
  3. package/dist/assets/{00.favicons.guide-rDY-MoXZ.js → 00.favicons.guide-BhlxRh9a.js} +2 -2
  4. package/dist/assets/{00.token-explorer-CedppzBQ.js → 00.token-explorer-20FX7CcY.js} +2 -2
  5. package/dist/assets/00.using-responsive-props-BnlhCBRt.js +18 -0
  6. package/dist/assets/01.semantic-tokens-DcnkWzh7.js +2 -0
  7. package/dist/assets/{01.using-shorthand-props-eZLJFDHj.js → 01.using-shorthand-props-Of1iGh33.js} +2 -2
  8. package/dist/assets/10.Combinations.stories-uNix06Cx.js +144 -0
  9. package/dist/assets/{10.fonts.guide-DW9ufzTF.js → 10.fonts.guide-DrwXu-qM.js} +2 -2
  10. package/dist/assets/{10.ssr-DwlffmrT.js → 10.ssr-BLRvX7tP.js} +2 -2
  11. package/dist/assets/{11.languageFont.explorer.stories-Crh2l5Jm.js → 11.languageFont.explorer.stories-8bRkypgA.js} +3 -3
  12. package/dist/assets/{11.ssr.app-router-BZ07Enlf.js → 11.ssr.app-router-Bdj_5bEM.js} +2 -2
  13. package/dist/assets/{20.libraries-lbSLR9_7.js → 20.libraries-BAk4bn7T.js} +2 -2
  14. package/dist/assets/30.icons.explorer-Cw48haes.js +73 -0
  15. package/dist/assets/{30.storybook-C4NNn5Fv.js → 30.storybook-Cl1dKshZ.js} +2 -2
  16. package/dist/assets/40.illustrations.explorer-QST9S1uM.js +21 -0
  17. package/dist/assets/{90.advanced-bdiRxPCx.js → 90.advanced-D0gL86iZ.js} +2 -2
  18. package/dist/assets/{Accordion-BMkC4Xny.js → Accordion-DQdO67t-.js} +1 -1
  19. package/dist/assets/{Accordion.stories-SU6sgvYh.js → Accordion.stories-CIkFS1aB.js} +2 -2
  20. package/dist/assets/{Accordion.tests.stories-CxVZnGoY.js → Accordion.tests.stories-B-CsSb4t.js} +3 -3
  21. package/dist/assets/{AlertDialog.stories-Z5ooiuoO.js → AlertDialog.stories-Cl8Xpqxw.js} +3 -3
  22. package/dist/assets/{Avatar-B2H0W8KL.js → Avatar-BPQkrrdS.js} +1 -1
  23. package/dist/assets/{Avatar-BoLH36O5.js → Avatar-DU9LOGxE.js} +1 -1
  24. package/dist/assets/Avatar.stories-CqMa-0IY.js +42 -0
  25. package/dist/assets/AvatarWithStatus.stories-Bhftrj9g.js +41 -0
  26. package/dist/assets/{Badge-j_a0acGK.css → Badge-DXnHyVME.css} +1 -1
  27. package/dist/assets/{Badge.stories-B2OoKd78.js → Badge.stories-ub7MEo4B.js} +3 -3
  28. package/dist/assets/Box.stories-B-s13PQh.js +44 -0
  29. package/dist/assets/BubbleCounter.stories-CpaMP6xY.js +242 -0
  30. package/dist/assets/{Button-BSyqsKC5.js → Button-C5gzVt4K.js} +1 -1
  31. package/dist/assets/{Button-Bo0EuTg4.js → Button-vy3cIlv9.js} +1 -1
  32. package/dist/assets/{Button.stories-Dc9V2OdS.js → Button.stories-Df_g55it.js} +2 -2
  33. package/dist/assets/{ButtonBase-Bdtn25V2.js → ButtonBase-D5O3MkG2.js} +1 -1
  34. package/dist/assets/{Checkbox-Bq_sNuXJ.js → Checkbox-Bknyi3M6.js} +2 -2
  35. package/dist/assets/{Checkbox.stories-BI-3q1SR.js → Checkbox.stories-DF4d48B_.js} +2 -2
  36. package/dist/assets/Checkbox.tests.stories-CPrt0IT-.js +64 -0
  37. package/dist/assets/Chips-C-y9rHQ4.css +1 -0
  38. package/dist/assets/Chips.stories-DkNJ_zVw.js +146 -0
  39. package/dist/assets/Color-YHDXOIA2-pga7xyrn.js +1 -0
  40. package/dist/assets/{Combination-CCYtWL8C.js → Combination-Cz1uIyPJ.js} +1 -1
  41. package/dist/assets/{CountryFlag-ClC7kEHn.js → CountryFlag-DNvfZC7z.js} +7 -7
  42. package/dist/assets/CountryFlag.stories-xg8q2tp6.js +331 -0
  43. package/dist/assets/CountryFlag.test.stories-CkUCxnsL.js +27 -0
  44. package/dist/assets/{Dialog.stories-ColOPVoz.js → Dialog.stories-C9-6y9u3.js} +3 -3
  45. package/dist/assets/DismissibleChips-D0spWwKB.js +1 -0
  46. package/dist/assets/DismissibleChips-Jfhj9R2Y.css +1 -0
  47. package/dist/assets/DismissibleChips.stories-DAd1oRPH.js +635 -0
  48. package/dist/assets/Divider-DECo0bYW.css +1 -0
  49. package/dist/assets/Divider.stories-Dt8b4I0I.js +9 -0
  50. package/dist/assets/DocsRenderer-CFRXHY34-bxqIrlIk.js +2 -0
  51. package/dist/assets/{FieldButton-Bsa9_rJB.js → FieldButton-DkkntNzT.js} +1 -1
  52. package/dist/assets/FieldButton.stories-CXR_cH-r.js +1 -0
  53. package/dist/assets/{FormControl-CeIJk4_Z.js → FormControl-BBd1k1n3.js} +1 -1
  54. package/dist/assets/{FormControl-BxxTFPCS.css → FormControl-BBqp99uJ.css} +1 -1
  55. package/dist/assets/{FormControl.stories-DekxQG9a.js → FormControl.stories-DukIAZCw.js} +2 -2
  56. package/dist/assets/{Heading-ese4_5Hg.js → Heading-BLxyLk9f.js} +2 -2
  57. package/dist/assets/Heading.stories-DcyjKmJn.js +82 -0
  58. package/dist/assets/{Icon-ZIxauYsE.js → Icon-CsnSNslb.js} +2 -2
  59. package/dist/assets/{Icon-Dlm-jGvW.js → Icon-CytpCOfq.js} +1 -1
  60. package/dist/assets/Icon-RSC-jWx530Uy.js +6 -0
  61. package/dist/assets/{Icon.stories-Cv6aq9BI.js → Icon.stories-CdJp2Kjy.js} +2 -2
  62. package/dist/assets/IconButton-DnBk_U_S.css +1 -0
  63. package/dist/assets/IconButton-NYwQQfnV.js +8 -0
  64. package/dist/assets/{Input-C1hZX5_o.js → Input-MEZGWQfc.js} +5 -5
  65. package/dist/assets/{InputContainer-Bk0tgFnW.js → InputContainer-BZsD6GIE.js} +1 -1
  66. package/dist/assets/IntegrationWithReactHookForm.stories-DbXGbM6L.js +439 -0
  67. package/dist/assets/LayoutFlex-C3k4b85b.js +1 -0
  68. package/dist/assets/{LayoutFlex-Bhu4q65J.js → LayoutFlex-C6z0wWVE.js} +1 -1
  69. package/dist/assets/{LayoutFlexItem-C2t_4vHD.js → LayoutFlexItem-Cwg58STc.js} +1 -1
  70. package/dist/assets/{LayoutGrid-DwWkjrQU.js → LayoutGrid-WPajd7ZP.js} +1 -1
  71. package/dist/assets/LayoutGrid.stories-B-DYu7we.js +88 -0
  72. package/dist/assets/{LayoutGridItem-CZ6SKl8g.js → LayoutGridItem-CPteN7Xi.js} +1 -1
  73. package/dist/assets/{LayoutGridItem-CmZxAA0w.js → LayoutGridItem-sDswLjZs.js} +1 -1
  74. package/dist/assets/{LibraryExplore-C8GqDRwc.js → LibraryExplore-oBYfEgnm.js} +1 -1
  75. package/dist/assets/Link-ppzJSCTf.js +7 -0
  76. package/dist/assets/Link.stories-ClHFTcTp.js +265 -0
  77. package/dist/assets/Loader.stories-ltpe_Net.js +37 -0
  78. package/dist/assets/Messages-VCFIwUal.js +1 -0
  79. package/dist/assets/MultiSelectChips-CwiPSabU.js +2 -0
  80. package/dist/assets/MultiSelectChips.stories-DmtbSk6N.js +618 -0
  81. package/dist/assets/{NumberField-D6cbX2hK.js → NumberField-RsSQ3jKy.js} +5 -5
  82. package/dist/assets/{NumberField.stories-BHt2ErAX.js → NumberField.stories-D7ZfStPF.js} +2 -2
  83. package/dist/assets/{ObserveIntersection-DsqqXq5n.js → ObserveIntersection-B-K9BpyT.js} +2 -2
  84. package/dist/assets/ObserveIntersection.stories-CsECVFcG.js +27 -0
  85. package/dist/assets/{OnboardingTooltip-DVNAQjDc.js → OnboardingTooltip-S86JAVp1.js} +1 -1
  86. package/dist/assets/OnboardingTooltip.stories-yysftpQx.js +66 -0
  87. package/dist/assets/OnboardingTooltip.tests.stories-BGYD6ZgF.js +79 -0
  88. package/dist/assets/{OnboardingTour-DdV7TN6M.js → OnboardingTour-DdoL-ALr.js} +1 -1
  89. package/dist/assets/{OnboardingTour.stories-D0ScuFD6.js → OnboardingTour.stories-CFHFqnUP.js} +3 -3
  90. package/dist/assets/{OnboardingTour.tests.stories-DAxdPYEp.js → OnboardingTour.tests.stories-Zth6eLU9.js} +3 -3
  91. package/dist/assets/{PasswordField-C_KRyf9k.js → PasswordField-Dxf_bax6.js} +5 -5
  92. package/dist/assets/{PasswordField.stories-3X4JtcLm.js → PasswordField.stories-cbjkS8Y4.js} +5 -5
  93. package/dist/assets/{PortalElementProvider-D4ltrA8j.js → PortalElementProvider-CgL8vj5o.js} +1 -1
  94. package/dist/assets/PreplyLogo.stories-uls4oHdg.js +97 -0
  95. package/dist/assets/{ProgressBar.stories-Dpro8fzG.js → ProgressBar.stories-CDcfCVq4.js} +3 -3
  96. package/dist/assets/{ProgressSteps-BBrWCYks.js → ProgressSteps--PLRO2gB.js} +1 -1
  97. package/dist/assets/ProgressSteps.stories-Ds4cZ7wu.js +31 -0
  98. package/dist/assets/{RangeSlider-dSZs_gtw.js → RangeSlider-BYDrLADZ.js} +1 -1
  99. package/dist/assets/{RangeSlider.stories-DVb8mcs1.js → RangeSlider.stories-Cyr-Pro6.js} +2 -2
  100. package/dist/assets/RootProvider-jpy520VQ.js +1 -0
  101. package/dist/assets/{SelectField-CuzFFPz0.js → SelectField-JmD-rzDd.js} +7 -7
  102. package/dist/assets/{SelectField.stories-wb_cAtCV.js → SelectField.stories-BaUnnRxC.js} +2 -2
  103. package/dist/assets/ShowOnIntersection.stories-1-PEYzrA.js +17 -0
  104. package/dist/assets/SingleSelectChips-DLCTUr2z.js +2 -0
  105. package/dist/assets/SingleSelectChips.stories-Dqmrydst.js +637 -0
  106. package/dist/assets/{Slider-6E9fmd7P.js → Slider-CIF6srIP.js} +1 -1
  107. package/dist/assets/{Slider.stories-B5LCqqgS.js → Slider.stories-DPwe4ZY9.js} +2 -2
  108. package/dist/assets/{Spinner-BCTJunNM.js → Spinner-T-vTyHiv.js} +1 -1
  109. package/dist/assets/{Steps-CCm9vCgl.js → Steps-ffbOMhEJ.js} +1 -1
  110. package/dist/assets/{Steps.stories-BLFM3WRM.js → Steps.stories-CPOi2Oi8.js} +2 -2
  111. package/dist/assets/{StorybookGlobalStyle-B1zhYl96.js → StorybookGlobalStyle-CQSpwvw3.js} +1 -1
  112. package/dist/assets/Switch-Dw6ODsdd.js +12 -0
  113. package/dist/assets/Switch-DxL-NADD.css +1 -0
  114. package/dist/assets/Switch.stories-C1Mk3jSk.js +138 -0
  115. package/dist/assets/{Text-BmdJVr9v.js → Text-CykvSLVe.js} +1 -1
  116. package/dist/assets/Text.stories-BM7oD1Ya.js +69 -0
  117. package/dist/assets/{TextField-D2GlsmWF.css → TextField-C5AoK3Cj.css} +1 -1
  118. package/dist/assets/{TextField-Co0wSa5c.js → TextField-DakE_vDk.js} +1 -1
  119. package/dist/assets/{TextField-CMgzC3bX.js → TextField-lnCw6vFm.js} +5 -5
  120. package/dist/assets/{TextField.stories-CAcPkm_s.js → TextField.stories-C8nNbyIm.js} +5 -5
  121. package/dist/assets/{TextHighlighted-B6rrwk3x.js → TextHighlighted-B2n23sPW.js} +1 -1
  122. package/dist/assets/TextHighlighted.stories-Dunl9OsM.js +32 -0
  123. package/dist/assets/TextInline.stories-Cz98O8bG.js +37 -0
  124. package/dist/assets/{TextareaField-CCM1C6lK.js → TextareaField-BDRAFgn6.js} +9 -9
  125. package/dist/assets/{TextareaField.stories-DKNFN3f4.js → TextareaField.stories-CC3YstiD.js} +6 -6
  126. package/dist/assets/{Toast.stories-BzEpckjh.js → Toast.stories-CUVZTvJT.js} +3 -3
  127. package/dist/assets/{TokyoUIAttach-BvBvQVx_.js → TokyoUIAttach-BWl7Jkq1.js} +1 -1
  128. package/dist/assets/{TokyoUIClose-DFIfVIfy.js → TokyoUIClose-thK8sk63.js} +1 -1
  129. package/dist/assets/TokyoUIEmojiFrowning-DTIcabpJ.js +1 -0
  130. package/dist/assets/{TokyoUIExpand-DThzqohx.js → TokyoUIExpand-oMdXmNcg.js} +1 -1
  131. package/dist/assets/{TokyoUIEye-BsOt8ZdC.js → TokyoUIEye-CteyS9_g.js} +1 -1
  132. package/dist/assets/{TokyoUIFav-DGbkVriC.js → TokyoUIFav-DOVerCtW.js} +1 -1
  133. package/dist/assets/{TokyoUIInfo-nHX2jpp7.js → TokyoUIInfo-DbkQBubr.js} +1 -1
  134. package/dist/assets/{TokyoUILanguage-BNq9ng3F.js → TokyoUILanguage-CLpo5Vdq.js} +1 -1
  135. package/dist/assets/{TokyoUILock-C_glX9Ec.js → TokyoUILock-CENLMUf4.js} +1 -1
  136. package/dist/assets/{TokyoUIMinus-B9ja89W6.js → TokyoUIMinus-RacYe9uc.js} +1 -1
  137. package/dist/assets/{TokyoUINotebook-DNjno-oI.js → TokyoUINotebook-kt8pWj_a.js} +1 -1
  138. package/dist/assets/{TokyoUINotesWithPad-Bqcca_-M.js → TokyoUINotesWithPad-B-o4vu0Y.js} +1 -1
  139. package/dist/assets/{TokyoUIPhone-BHLDT6dz.js → TokyoUIPhone-CvuBM6jb.js} +1 -1
  140. package/dist/assets/{TokyoUITag-CulX0-gf.js → TokyoUITag-CS4uarg6.js} +1 -1
  141. package/dist/assets/{TokyoUIUpload-Bi3CuQzX.js → TokyoUIUpload-Bf0gWv4M.js} +1 -1
  142. package/dist/assets/{TokyoUIUser-DG6LLnJu.js → TokyoUIUser-Cvenl_VS.js} +1 -1
  143. package/dist/assets/{Tooltip-IxKOQjjo.js → Tooltip-UjXQy5k6.js} +1 -1
  144. package/dist/assets/{Tooltip.stories-DHYG0ggY.js → Tooltip.stories-DUECVMBB.js} +2 -2
  145. package/dist/assets/Tooltip.tests.stories-DV5HEaze.js +65 -0
  146. package/dist/assets/{align-self-BM6l9H5Z.js → align-self-r3vx00J0.js} +1 -1
  147. package/dist/assets/{breakpoints-DxEeOfvq.js → breakpoints-5Upxf6Y1.js} +2 -2
  148. package/dist/assets/{breakpoints-3Mi8ztBx.js → breakpoints-839jWvyb.js} +2 -2
  149. package/dist/assets/{breakpoints-BPZAI3l-.js → breakpoints-CUqKVgVc.js} +2 -2
  150. package/dist/assets/{changelog-BvX8uMXW.js → changelog-D_f5Tbwt.js} +234 -216
  151. package/dist/assets/{chunk-XP5HYGXS-D5tuasO7.js → chunk-XP5HYGXS-BpfKkqn7.js} +1 -1
  152. package/dist/assets/{client-DXF5tT0h.js → client-C1fTPCwG.js} +1 -1
  153. package/dist/assets/componentNames-NXEPEzbR.js +1 -0
  154. package/dist/assets/createRequiredContext-BW3-EdwI.js +241 -0
  155. package/dist/assets/createRequiredContext-Bv1cwElm.css +1 -0
  156. package/dist/assets/{defaults-B1rzzf6M.js → defaults-Clr6nbGc.js} +1 -1
  157. package/dist/assets/entry-preview-BvEBPG6v.js +2 -0
  158. package/dist/assets/{entry-preview-docs-FEPuDDnY.js → entry-preview-docs-Cyz3fU9E.js} +2 -2
  159. package/dist/assets/getCountryFlagUrl-CP-PpZV_.js +1 -0
  160. package/dist/assets/{getTokenVar-CXvtPVqa.js → getTokenVar-CV6_zRnp.js} +2 -2
  161. package/dist/assets/{hover-sR2377QI.js → hover-Bs7YcuQH.js} +2 -2
  162. package/dist/assets/hover-DniV5Ub7.js +13 -0
  163. package/dist/assets/hover-uZhMPRXi.js +14 -0
  164. package/dist/assets/{iframe-BE13K_u-.js → iframe-DI6VGJCr.js} +2 -2
  165. package/dist/assets/{index-BYp7dUfi.js → index-7S8Dj0J-.js} +1 -1
  166. package/dist/assets/{index-DUJ9kiQB.js → index-BArSnScv.js} +2 -2
  167. package/dist/assets/index-BN6VMYqa.js +1 -0
  168. package/dist/assets/{index-jEDObK_5.js → index-BPrLDK9Y.js} +1 -1
  169. package/dist/assets/{index-v0utLE_k.js → index-BrBqb5Q4.js} +1 -1
  170. package/dist/assets/{index--DZ0VX4g.js → index-Bt5ip-xO.js} +1 -1
  171. package/dist/assets/{index-DRKYGVyc.js → index-C6wF8VM1.js} +1 -1
  172. package/dist/assets/{index-C66nt8TK.js → index-C7hTFOIV.js} +1 -1
  173. package/dist/assets/{index-wFyje0se.js → index-C9SxdfPC.js} +1 -1
  174. package/dist/assets/index-Cb9e4tly.js +1 -0
  175. package/dist/assets/index-ChsGqxH_.js +9 -0
  176. package/dist/assets/{index-DDyIDR-R.js → index-Ctq3gFTp.js} +1 -1
  177. package/dist/assets/{index-CjMmneJr.js → index-CxzwkAAS.js} +3 -3
  178. package/dist/assets/{index-jPlWeKki.js → index-DHRyQyAr.js} +1 -1
  179. package/dist/assets/{index-BfBdt3zW.js → index-DSVnVYmz.js} +1 -1
  180. package/dist/assets/{index-DbgDZDus.js → index-QwIMrChO.js} +1 -1
  181. package/dist/assets/{intro-BQxazeZ4.js → intro-D15hwrBp.js} +2 -2
  182. package/dist/assets/{jsx-runtime-BYouaCF_.js → jsx-runtime-BTJTZTIL.js} +2 -2
  183. package/dist/assets/layout-relative-BNsRKWaJ.css +1 -0
  184. package/dist/assets/layout-relative-iaxAShjd.css +1 -0
  185. package/dist/assets/layout-relative.module-1z75aSwo-BeT2Gxbq.js +1 -0
  186. package/dist/assets/layout-relative.module-ChaXrVQQ.js +1 -0
  187. package/dist/assets/{message-BraTJ16C.js → message-BqoANQez.js} +1 -1
  188. package/dist/assets/{migrating-from-less-_WbBpNno.js → migrating-from-less-ChwDKr-0.js} +2 -2
  189. package/dist/assets/{options-Dn0Ts6qK.js → options-DiZKU5qS.js} +1 -1
  190. package/dist/assets/playground-6Qa0tALi.css +1 -0
  191. package/dist/assets/{playground.stories-DNP6DMoh.js → playground.stories-DBacBF4k.js} +212 -212
  192. package/dist/assets/preview-B7ZgNHfI.js +22 -0
  193. package/dist/assets/{preview-ChKXYagv.js → preview-BTjEYo28.js} +1 -1
  194. package/dist/assets/preview-BtcSDksg.js +2 -0
  195. package/dist/assets/{preview-DqZVArh_.js → preview-Dr3Vhf1y.js} +1 -1
  196. package/dist/assets/react-18-DfUnyR7e.js +1 -0
  197. package/dist/assets/react.esm-BJ_b8t-Z.js +65 -0
  198. package/dist/assets/{render-icon-CVTdrNe-.js → render-icon-BT0Aq7PA.js} +1 -1
  199. package/dist/assets/{render-icon-CwRdpin3.js → render-icon-Du0nasoi.js} +1 -1
  200. package/dist/assets/{shared-strings-CcWGHelY.js → shared-strings-BzaHC9x5.js} +1 -1
  201. package/dist/assets/{styled-components.browser.esm-CwsnEFnS.js → styled-components.browser.esm-BgpGX317.js} +1 -1
  202. package/dist/assets/test-utils-DCJN9LZk.js +9 -0
  203. package/dist/assets/{tokens-Do5DDIVZ.js → tokens-0xptGJP0.js} +2 -2
  204. package/dist/assets/{tokens-rA5iljxB.js → tokens-CGqhbkO_.js} +2 -2
  205. package/dist/assets/tokens-CJh_FSIl.js +1 -0
  206. package/dist/assets/{tokens-BpVbkeg9.js → tokens-pXBi-h95.js} +2 -2
  207. package/dist/assets/useHostname-Y3PlXofY.js +1 -0
  208. package/dist/assets/{useMergeRefs-BKVZOB6R.js → useMergeRefs-D_RfOOSs.js} +1 -1
  209. package/dist/assets/{useMergeRefs-CeyIhNgY.js → useMergeRefs-SFH7Mw4x.js} +1 -1
  210. package/dist/assets/{usePortalElement-D-MBkGYE.js → usePortalElement-M09Zq-L8.js} +2 -2
  211. package/dist/assets/{useTheme-DiEoTTOi.js → useTheme-DFSR9KPZ.js} +1 -1
  212. package/dist/assets/{useToken-BEsvy84L.js → useToken-DI8WZBSr.js} +1 -1
  213. package/dist/assets/{welcome-CjdlfIE9.js → welcome-DyZwhj5C.js} +2 -2
  214. package/dist/assets/{zeroheight-COTIl-YQ.js → zeroheight-B9itFpkD.js} +2 -2
  215. package/dist/iframe.html +1 -1
  216. package/dist/index.json +1 -1
  217. package/dist/preview-stats.json +2217 -1449
  218. package/dist/project.json +1 -1
  219. package/package.json +3 -3
  220. package/dist/assets/00.LayoutFlex.stories-DsoQ41ru.js +0 -85
  221. package/dist/assets/00.using-responsive-props-CXXBchqR.js +0 -18
  222. package/dist/assets/01.semantic-tokens-DA4N50sn.js +0 -2
  223. package/dist/assets/10.Combinations.stories-D5C6zeLo.js +0 -144
  224. package/dist/assets/30.icons.explorer-gDqz6aGC.js +0 -73
  225. package/dist/assets/40.illustrations.explorer-Cw6qUJFV.js +0 -21
  226. package/dist/assets/Avatar.stories-QILX30d4.js +0 -42
  227. package/dist/assets/AvatarWithStatus.stories-CiIZ7860.js +0 -41
  228. package/dist/assets/Box.stories-Bj6O093l.js +0 -44
  229. package/dist/assets/Checkbox.tests.stories-Bn3p5No-.js +0 -64
  230. package/dist/assets/Chips-DAK2so_G.css +0 -1
  231. package/dist/assets/Chips.stories-FqjAsoAI.js +0 -150
  232. package/dist/assets/Color-YHDXOIA2-Brn_ueLX.js +0 -1
  233. package/dist/assets/DocsRenderer-CFRXHY34-Drp94F88.js +0 -2
  234. package/dist/assets/FieldButton.stories-DN08cc4N.js +0 -1
  235. package/dist/assets/Flag.stories-hPDFXFLs.js +0 -114
  236. package/dist/assets/Flag.test.stories-Dn7xe9kp.js +0 -27
  237. package/dist/assets/Heading.stories-Pcuq78-p.js +0 -82
  238. package/dist/assets/Icon-RSC-DHJisRIw.js +0 -6
  239. package/dist/assets/IconButton-BqwVuKH2.js +0 -8
  240. package/dist/assets/IntegrationWithReactHookForm.stories-DjhZzsb9.js +0 -274
  241. package/dist/assets/LayoutFlex-BBGvSVMb.js +0 -1
  242. package/dist/assets/LayoutGrid.stories-CNvZbuzu.js +0 -88
  243. package/dist/assets/Link.stories-DQx9wq8H.js +0 -271
  244. package/dist/assets/Loader.stories-DWRd5a4n.js +0 -37
  245. package/dist/assets/ObserveIntersection.stories-BabE9srq.js +0 -27
  246. package/dist/assets/OnboardingTooltip.stories-BGQM-hLj.js +0 -66
  247. package/dist/assets/OnboardingTooltip.tests.stories-4LRVGnuI.js +0 -79
  248. package/dist/assets/PreplyLogo.stories-CrTgCgF0.js +0 -97
  249. package/dist/assets/ProgressSteps.stories-DDhuAaz0.js +0 -31
  250. package/dist/assets/RootProvider-DLsVkcFn.js +0 -1
  251. package/dist/assets/ShowOnIntersection.stories-ipu84fct.js +0 -17
  252. package/dist/assets/Text.stories-CkC6dvyE.js +0 -69
  253. package/dist/assets/TextHighlighted.stories-BJsM40kL.js +0 -32
  254. package/dist/assets/TextInline.stories-CL1L2t2-.js +0 -37
  255. package/dist/assets/Tooltip.tests.stories-DWwqRNUM.js +0 -65
  256. package/dist/assets/componentNames-CpCJzpB9.js +0 -1
  257. package/dist/assets/entry-preview-Cgr68VmN.js +0 -10
  258. package/dist/assets/hover-BJ9rZrzg.js +0 -13
  259. package/dist/assets/hover-CeDdAnNA.js +0 -14
  260. package/dist/assets/index-B3evPFBL.js +0 -9
  261. package/dist/assets/index-uOP2uDdf.js +0 -1
  262. package/dist/assets/layout-relative-BGyAoF2N.css +0 -1
  263. package/dist/assets/layout-relative-DuJENdo5.css +0 -1
  264. package/dist/assets/layout-relative.module-1z75aSwo-DNAR_Nv2.js +0 -1
  265. package/dist/assets/layout-relative.module-ed9bC4H4.js +0 -1
  266. package/dist/assets/playground-DJaUjyzx.css +0 -1
  267. package/dist/assets/preview-DFIaQ6pR.js +0 -2
  268. package/dist/assets/preview-Dlcr0l4_.js +0 -22
  269. package/dist/assets/react-18-CYoSI7Qu.js +0 -1
  270. package/dist/assets/tokens-ZvFzTwDp.js +0 -1
  271. package/dist/assets/useHostname-CH18gHFj.js +0 -1
@@ -0,0 +1,635 @@
1
+ import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{r as j}from"./index-Cb9e4tly.js";import{D as p,a as m}from"./DismissibleChips-D0spWwKB.js";import{F as na,a as A,b as Qe,c as Xe,d as ia}from"./TokyoUIEmojiFrowning-DTIcabpJ.js";import{F as sa}from"./index-DSVnVYmz.js";import{L as g}from"./LayoutFlex-C3k4b85b.js";import{T as L}from"./Text-CykvSLVe.js";import{L as oa}from"./Link-ppzJSCTf.js";import{H as la}from"./Heading-BLxyLk9f.js";import{d as ra}from"./styled-components.browser.esm-BgpGX317.js";import{f as ca,r as ea,w as u,e as a,u as l,a as E}from"./index-Ctq3gFTp.js";import{a as ua}from"./react.esm-BJ_b8t-Z.js";import{B as H}from"./Button-C5gzVt4K.js";import{T as S}from"./Tooltip-UjXQy5k6.js";import"./index-ChsGqxH_.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./createRequiredContext-BW3-EdwI.js";import"./Icon-CsnSNslb.js";import"./text-accent-DZDDtpIt.js";import"./classNames-BUL1Zq7e.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./render-icon-BT0Aq7PA.js";import"./componentNames-NXEPEzbR.js";import"./index-DdzHuZ-Y.js";import"./defaults-Clr6nbGc.js";import"./CountryFlag-DNvfZC7z.js";import"./getCountryFlagUrl-CP-PpZV_.js";import"./useMergeRefs-D_RfOOSs.js";import"./TokyoUIClose-thK8sk63.js";import"./shared-strings-BzaHC9x5.js";import"./message-BqoANQez.js";import"./tslib.es6-BntfKcQG.js";import"./hoist-non-react-statics.cjs-C-Qo8PK8.js";import"./layout-relative.module-ChaXrVQQ.js";import"./text-centered-CznToR0o.js";import"./useHostname-Y3PlXofY.js";import"./test-utils-DCJN9LZk.js";import"./index-C7hTFOIV.js";import"./index-BPrLDK9Y.js";import"./client-C1fTPCwG.js";import"./ButtonBase-D5O3MkG2.js";import"./Spinner-T-vTyHiv.js";import"./useMergeRefs-SFH7Mw4x.js";import"./index-CC6DAVyL.js";import"./index-BrBqb5Q4.js";import"./PortalElementProvider-CgL8vj5o.js";import"./index-C6wF8VM1.js";import"./index-QwIMrChO.js";const rt={title:"components/Chips/DismissibleChips",component:m,subcomponents:{DismissibleChipsItem:p},parameters:{layout:"padded",remountable:!0},args:{"aria-label":"Selected skills",defaultValue:["vocabulary","speaking","listening","reading"],onValueChange:ca(),items:[{value:"vocabulary",label:"Vocabulary"},{value:"speaking",label:"Speaking"},{value:"listening",label:"Listening"},{value:"reading",label:"Reading"}]},decorators:[function(t,{parameters:n}){const[s,o]=j.useState(0),r=()=>o(c=>c+1);return n.remountable?e.jsxs(g,{gap:"12",justifyContent:"space-between",children:[e.jsx(t,{},s),e.jsx(H,{variant:"ghost",size:"small",onClick:r,dataset:{testid:"reset"},children:"Reset story"})]}):e.jsx(t,{})}],beforeEach:()=>()=>{ea()}},b={play:async({canvasElement:i,step:t,args:n})=>{const s=u(i),o=s.getByRole("button",{name:/Remove Vocabulary/}),r=s.getByRole("button",{name:/Remove Speaking/}),c=s.getByRole("button",{name:/Remove Listening/}),d=s.getByRole("button",{name:/Remove Reading/});await t("Render chips with default values",async()=>{a(o).toBeVisible(),a(r).toBeVisible(),a(c).toBeVisible(),a(d).toBeVisible()}),await t("Chip should have accessible name",async()=>{a(o).toHaveAccessibleName("Remove Vocabulary")}),await t("Dismiss chip by clicking dismiss button",async()=>{await l.click(o),a(n.onValueChange).toHaveBeenCalledWith(["speaking","listening","reading"]),a(o).not.toBeVisible(),a(r).toBeVisible(),a(c).toBeVisible(),a(d).toBeVisible()}),await t("Dismiss another chip",async()=>{await l.click(r),a(n.onValueChange).toHaveBeenCalledWith(["listening","reading"]),a(o).not.toBeVisible(),a(r).not.toBeVisible(),a(c).toBeVisible(),a(d).toBeVisible()}),await l.click(s.getByTestId("reset")),await l.click(i)}};let D;const y={render:function({defaultValue:t,...n}){const[s,o]=j.useState(t);D=o;const r=c=>{var d;o(c),(d=n.onValueChange)==null||d.call(n,c)};return e.jsx(m,{...n,value:s,onValueChange:r})},play:async({canvasElement:i,step:t,args:n})=>{const s=u(i),o=s.getByRole("button",{name:/Remove Vocabulary/}),r=s.getByRole("button",{name:/Remove Speaking/}),c=s.getByRole("button",{name:/Remove Listening/}),d=s.getByRole("button",{name:/Remove Reading/});await t("Render chips with default values",async()=>{a(o).toBeVisible(),a(r).toBeVisible(),a(c).toBeVisible(),a(d).toBeVisible()}),await t("Dismiss chip by clicking dismiss button",async()=>{await l.click(o),a(n.onValueChange).toHaveBeenCalledWith(["speaking","listening","reading"]),a(o).not.toBeVisible(),a(r).toBeVisible(),a(c).toBeVisible(),a(d).toBeVisible()}),await t("Change the value externally",async()=>{ea(),await ua(async()=>{D(["listening","reading"])}),a(n.onValueChange).not.toHaveBeenCalled(),a(o).not.toBeVisible(),a(r).not.toBeVisible(),a(c).toBeVisible(),a(d).toBeVisible()}),await l.click(s.getByTestId("reset")),await l.click(i)}},h={args:{items:[{value:"vocabulary",label:"Vocabulary"},{value:"speaking",label:"Speaking",disabled:!0},{value:"listening",label:"Listening",disabled:!0},{value:"reading",label:"Reading"}]},play:async({canvasElement:i,step:t,args:n})=>{const o=u(i).getByRole("button",{name:/Remove Speaking/});await t("Disabled chip must have disabled attribute",async()=>{a(o).toBeDisabled()}),await t("Disabled chip must not be clickable",async()=>{await l.click(o),a(n.onValueChange).not.toHaveBeenCalled(),a(o).toBeVisible()})}},v={args:{"aria-label":"Selected availabilities",defaultValue:["morning","afternoon","evening"],items:[{value:"morning",label:"Morning",icon:e.jsx(A,{})},{value:"afternoon",label:"Afternoon",icon:e.jsx(Qe,{})},{value:"evening",label:"Evening",icon:e.jsx(Xe,{})}]},play:async({canvasElement:i,step:t})=>{const s=u(i).getByRole("button",{name:/Remove Morning/}),o=u(s).getByTestId("chip-icon");await t("Chip should render an icon when `icon` prop is passed",async()=>{a(o).toBeVisible()})}},w={args:{"aria-label":"Selected languages",defaultValue:["english"],items:[{value:"english",label:"English",counter:1247},{value:"spanish",label:"Spanish",counter:892},{value:"french",label:"French",counter:534},{value:"german",label:"German",counter:421},{value:"italian",label:"Italian",counter:287},{value:"portuguese",label:"Portuguese",counter:156}]},play:async({canvasElement:i,step:t})=>{const s=u(i).getByRole("button",{name:/Remove English/}),o=u(s).getByTestId("chip-counter");await t("Chip should render a counter when `counter` prop is passed",async()=>{a(o).toBeVisible(),a(o).toHaveTextContent("1247")})}},f={args:{"aria-label":"Selected countries",defaultValue:["ua","gb","it","es","au","br","eg"],items:[{value:"ua",label:"Ukraine",countryFlagCode:"ua"},{value:"gb",label:"United Kingdom",countryFlagCode:"gb"},{value:"it",label:"Italy",countryFlagCode:"it"},{value:"es",label:"Spain",countryFlagCode:"es"},{value:"au",label:"Australia",countryFlagCode:"au"},{value:"br",label:"Brazil",countryFlagCode:"br"},{value:"eg",label:"Egypt",countryFlagCode:"eg"}]},play:async({canvasElement:i,step:t})=>{const s=u(i).getByRole("button",{name:/Remove Ukraine/}),o=u(s).getByTestId("chip-country-flag");await t("Chip should render a flag when `flagCountryCode` prop is passed",async()=>{a(o).toBeVisible()})}},k={args:{"aria-label":"Fancy chips",defaultValue:["counter+icon","counter+flag","icon+flag"],items:[{value:"counter+icon",label:"Icon + Counter",icon:e.jsx(A,{}),counter:1247},{value:"counter+flag",label:"Flag + Counter",countryFlagCode:"ua",counter:1247},{value:"icon+flag",label:"Icon + Flag",icon:e.jsx(A,{}),countryFlagCode:"ua"}]},play:async({canvasElement:i})=>{const t=u(i),n=u(t.getByRole("button",{name:"Remove Icon + Flag"}));a(n.getByTestId("chip-icon")).toBeVisible(),a(n.queryByTestId("chip-country-flag")).not.toBeInTheDocument()}},x=["2025-08-15T10:00Z","2025-08-16T12:00Z","2025-08-17T14:00Z"],B={args:{orientation:"vertical","aria-label":"Selected time slots",defaultValue:x,items:x.map(i=>({value:i,label:e.jsx(sa,{weekday:"short",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit",value:i}),dataset:{testid:i}}))},decorators:[i=>e.jsx("div",{style:{width:300,margin:"0 auto"},children:e.jsx(i,{})})],play:async({canvasElement:i,step:t})=>{const n=u(i),s=n.getByTestId(x[0]),o=n.getByTestId(x[1]),r=n.getByTestId(x[2]);await t("Focus first chip",async()=>{s.focus()}),await t("Arrow down should focus second chip",async()=>{await l.keyboard("{ArrowDown}"),a(o).toHaveFocus()}),await t("Arrow down should focus third chip",async()=>{await l.keyboard("{ArrowDown}"),a(r).toHaveFocus()}),await t("Arrow down should focus first chip",async()=>{await l.keyboard("{ArrowDown}"),a(s).toHaveFocus()}),await t("Arrow up should focus third chip",async()=>{await l.keyboard("{ArrowUp}"),a(r).toHaveFocus()})}},R={render:i=>e.jsxs(g,{gap:"12",children:[e.jsx(m,{...i}),e.jsx(H,{variant:"tertiary",size:"small",onClick:()=>alert("Show all"),children:"Show all"})]})},aa=[{value:"vocabulary",label:"Vocabulary"},{value:"speaking",label:"Speaking"},{value:"listening",label:"Listening"},{value:"reading",label:"Reading"},{value:"writing",label:"Writing"},{value:"grammar",label:"Grammar"}],da=[{value:"monday",label:"Monday"},{value:"tuesday",label:"Tuesday"},{value:"wednesday",label:"Wednesday"},{value:"thursday",label:"Thursday"},{value:"friday",label:"Friday"},{value:"saturday",label:"Saturday"},{value:"sunday",label:"Sunday"}],pa=[{value:"morning",label:"Morning (6-12)",icon:e.jsx(A,{})},{value:"afternoon",label:"Afternoon (12-18)",icon:e.jsx(Qe,{})},{value:"evening",label:"Evening (18-0)",icon:e.jsx(Xe,{})},{value:"night",label:"Night (0-6)",icon:e.jsx(ia,{})}],C={render:function(t){return e.jsxs(g,{direction:"column",alignItems:"stretch",gap:"64",children:[e.jsxs(g,{direction:"column",alignItems:"stretch",gap:"16",children:[e.jsx(L,{variant:"large-semibold",children:"What skills do you want to focus on?"}),e.jsx(m,{"aria-label":"Selected skills",defaultValue:["vocabulary","speaking","listening"],items:aa})]}),e.jsxs(g,{direction:"column",alignItems:"stretch",gap:"16",children:[e.jsx(L,{variant:"large-semibold",children:"Which days work best for you?"}),e.jsx(m,{"aria-label":"Selected days",defaultValue:["monday","wednesday","friday"],items:da})]}),e.jsxs(g,{direction:"column",alignItems:"stretch",gap:"16",children:[e.jsx(L,{variant:"large-semibold",children:"What times of day work for you?"}),e.jsx(m,{"aria-label":"Selected times",defaultValue:["morning","afternoon"],items:pa})]})]})},play:async({canvasElement:i,step:t})=>{const n=u(i),s=n.getByRole("button",{name:/Remove Vocabulary/}),o=n.getByRole("button",{name:/Remove Speaking/}),r=n.getByRole("button",{name:/Remove Listening/}),c=n.getByRole("button",{name:/Remove Monday/});await t("Tab once to enter the component",async()=>{await l.tab(),a(s).toHaveFocus()}),await t("Next tab should focus second chips group",async()=>{await l.tab(),a(c).toHaveFocus()}),await t("Shift+Tab should focus first chips group again",async()=>{await l.tab({shift:!0}),a(s).toHaveFocus()}),await t("Right arrow should focus next chip in the group",async()=>{await l.keyboard("{ArrowRight}"),a(o).toHaveFocus()}),await t("Left arrow should focus previous chip in the group",async()=>{await l.keyboard("{ArrowLeft}"),a(s).toHaveFocus()}),await t("Left arrow should focus last chip if first chip is focused",async()=>{await l.keyboard("{ArrowLeft}"),a(r).toHaveFocus()}),await t("Right arrow should focus first chip if last chip is focused",async()=>{await l.keyboard("{ArrowRight}"),a(s).toHaveFocus()}),await t("Focus last chip",async()=>{await l.keyboard("{ArrowLeft}")}),await t("Tab to the next group",async()=>{await l.tab()}),await t("Shift+Tab to return to the first group, the last focused chip should be focused",async()=>{await l.tab({shift:!0}),a(r).toHaveFocus()})}},ga=ra.ul`
2
+ all: unset;
3
+ list-style: none;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 8px;
7
+
8
+ > li {
9
+ display: contents;
10
+ }
11
+ `,W=[{id:1,title:"Building Your First Vocabulary List",skills:["vocabulary"]},{id:2,title:"Effective Speaking Practice Techniques",skills:["speaking"]},{id:3,title:"Active Listening Strategies",skills:["listening"]},{id:4,title:"Speed Reading Methods",skills:["reading"]},{id:5,title:"Grammar Rules Made Simple",skills:["grammar"]},{id:6,title:"Combining Speaking and Vocabulary",skills:["speaking","vocabulary"]},{id:7,title:"Reading Comprehension and Vocabulary Building",skills:["reading","vocabulary"]},{id:8,title:"Listening and Speaking Integration",skills:["listening","speaking"]}],V={render:function(t){const n=["vocabulary","speaking","listening","reading","grammar"],[s,o]=j.useState(n),r=s.length>0?W.filter(c=>s.some(d=>c.skills.includes(d))):W;return e.jsxs(g,{direction:"column",gap:"24",children:[e.jsxs(g,{direction:"column",gap:"8",children:[e.jsx(la,{tag:"h2",variant:"large",children:"Articles"}),e.jsxs(g,{gap:"16",children:[e.jsx(m,{"aria-label":"Applied skill filters","aria-controls":"results",value:s,onValueChange:o,items:aa}),e.jsx("div",{children:e.jsx(H,{variant:"ghost",onClick:()=>o(n),children:"Reset filters"})})]})]}),e.jsx("section",{id:"results","aria-label":"Filtered articles",children:e.jsx(ga,{children:r.map(c=>e.jsx("li",{children:e.jsx(oa,{href:"#",children:c.title})},c.id))})})]})},play:async({canvasElement:i,step:t})=>{const n=u(i),s=n.getByRole("list",{name:"Applied skill filters"}),o=n.getByRole("button",{name:/Remove Vocabulary/}),r=n.getByRole("button",{name:/Remove Speaking/}),c=n.getByRole("button",{name:/Remove Listening/}),d=n.getByRole("button",{name:/Remove Reading/}),ta=n.getByRole("button",{name:/Remove Grammar/});await t("Chips element should have aria attributes forwarded",async()=>{a(s).toHaveAttribute("aria-label","Applied skill filters"),a(o).toHaveAttribute("aria-controls","results"),a(r).toHaveAttribute("aria-controls","results"),a(c).toHaveAttribute("aria-controls","results"),a(d).toHaveAttribute("aria-controls","results"),a(ta).toHaveAttribute("aria-controls","results")})}},F={parameters:{a11y:{config:{rules:[{id:"color-contrast",enabled:!1}]}}},args:{"aria-label":"Selected skills",value:["vocabulary","speaking","listening","reading"],items:void 0,children:e.jsxs(e.Fragment,{children:[e.jsx(S,{content:"I want to learn vocabulary",dataset:{testid:"vocabulary-tooltip"},children:e.jsx(p,{value:"vocabulary",children:"Vocabulary"})}),e.jsx(S,{content:"I want to improve my speaking skills",dataset:{testid:"speaking-tooltip"},children:e.jsx(p,{value:"speaking",children:"Speaking"})}),e.jsx(S,{content:"I want to improve my listening skills",dataset:{testid:"listening-tooltip"},children:e.jsx(p,{value:"listening",children:"Listening"})}),e.jsx(S,{content:"I want to improve my reading skills",dataset:{testid:"reading-tooltip"},children:e.jsx(p,{value:"reading",children:"Reading"})})]})},play:async({canvasElement:i,step:t})=>{const n=u(i);await t("Tab to the first chip",async()=>{await l.tab(),await E(()=>{a(n.getByTestId("vocabulary-tooltip")).toBeVisible()})}),await t("Arrow right to focus next chip",async()=>{await l.keyboard("{ArrowRight}"),await E(()=>{a(n.getByTestId("speaking-tooltip")).toBeVisible()})}),await t("Hover third chip",async()=>{await l.hover(n.getByRole("button",{name:/Remove Listening/})),await E(()=>{a(n.getByTestId("listening-tooltip")).toBeVisible()})})}},T={tags:["!autodocs"],parameters:{remountable:!1},args:{"aria-label":"Chips states",value:["rest","hover","focus","active","disabled"],items:void 0,children:e.jsxs(e.Fragment,{children:[e.jsx(p,{value:"rest",children:"Rest"}),e.jsx(p,{value:"focus",dsInternalSimulation:"focus",children:"Focus"}),e.jsx(p,{value:"hover",dsInternalSimulation:"hover",children:"Hover"}),e.jsx(p,{value:"active",dsInternalSimulation:"active",children:"Active"}),e.jsx(p,{value:"disabled",disabled:!0,children:"Disabled"})]})}},I={parameters:{remountable:!1},decorators:[i=>e.jsx("div",{style:{maxWidth:150,margin:"0 auto"},children:e.jsx(i,{})})],args:{"aria-label":"Long label",value:["long"],items:[{value:"long",icon:na,label:"I'm way too long to be a chip label, I don't know what to do with myself"}]}};var M,U,q,O,_;b.parameters={...b.parameters,docs:{...(M=b.parameters)==null?void 0:M.docs,source:{originalSource:`{
12
+ play: async ({
13
+ canvasElement,
14
+ step,
15
+ args
16
+ }) => {
17
+ const canvas = within(canvasElement);
18
+ const vocabulary = canvas.getByRole('button', {
19
+ name: /Remove Vocabulary/
20
+ });
21
+ const speaking = canvas.getByRole('button', {
22
+ name: /Remove Speaking/
23
+ });
24
+ const listening = canvas.getByRole('button', {
25
+ name: /Remove Listening/
26
+ });
27
+ const reading = canvas.getByRole('button', {
28
+ name: /Remove Reading/
29
+ });
30
+ await step('Render chips with default values', async () => {
31
+ expect(vocabulary).toBeVisible();
32
+ expect(speaking).toBeVisible();
33
+ expect(listening).toBeVisible();
34
+ expect(reading).toBeVisible();
35
+ });
36
+ await step('Chip should have accessible name', async () => {
37
+ expect(vocabulary).toHaveAccessibleName('Remove Vocabulary');
38
+ });
39
+ await step('Dismiss chip by clicking dismiss button', async () => {
40
+ await userEvent.click(vocabulary);
41
+ expect(args.onValueChange).toHaveBeenCalledWith(['speaking', 'listening', 'reading']);
42
+ expect(vocabulary).not.toBeVisible();
43
+ expect(speaking).toBeVisible();
44
+ expect(listening).toBeVisible();
45
+ expect(reading).toBeVisible();
46
+ });
47
+ await step('Dismiss another chip', async () => {
48
+ await userEvent.click(speaking);
49
+ expect(args.onValueChange).toHaveBeenCalledWith(['listening', 'reading']);
50
+ expect(vocabulary).not.toBeVisible();
51
+ expect(speaking).not.toBeVisible();
52
+ expect(listening).toBeVisible();
53
+ expect(reading).toBeVisible();
54
+ });
55
+
56
+ // Bring story back to the initial state
57
+ await userEvent.click(canvas.getByTestId('reset'));
58
+ // Remove focus from reset button
59
+ await userEvent.click(canvasElement);
60
+ }
61
+ }`,...(q=(U=b.parameters)==null?void 0:U.docs)==null?void 0:q.source},description:{story:"Basic usage with default values. The component manages its own state internally.",...(_=(O=b.parameters)==null?void 0:O.docs)==null?void 0:_.description}}};var z,P,G,N,$;y.parameters={...y.parameters,docs:{...(z=y.parameters)==null?void 0:z.docs,source:{originalSource:`{
62
+ render: function StoryRender({
63
+ defaultValue,
64
+ ...args
65
+ }) {
66
+ const [value, setValue] = useState(defaultValue);
67
+ setValueFromPlayFunction = setValue;
68
+ const handleValueChange = (value: string[]) => {
69
+ setValue(value);
70
+ args.onValueChange?.(value);
71
+ };
72
+ return <DismissibleChips {...args} value={value} onValueChange={handleValueChange} />;
73
+ },
74
+ play: async ({
75
+ canvasElement,
76
+ step,
77
+ args
78
+ }) => {
79
+ const canvas = within(canvasElement);
80
+ const vocabulary = canvas.getByRole('button', {
81
+ name: /Remove Vocabulary/
82
+ });
83
+ const speaking = canvas.getByRole('button', {
84
+ name: /Remove Speaking/
85
+ });
86
+ const listening = canvas.getByRole('button', {
87
+ name: /Remove Listening/
88
+ });
89
+ const reading = canvas.getByRole('button', {
90
+ name: /Remove Reading/
91
+ });
92
+ await step('Render chips with default values', async () => {
93
+ expect(vocabulary).toBeVisible();
94
+ expect(speaking).toBeVisible();
95
+ expect(listening).toBeVisible();
96
+ expect(reading).toBeVisible();
97
+ });
98
+ await step('Dismiss chip by clicking dismiss button', async () => {
99
+ await userEvent.click(vocabulary);
100
+ expect(args.onValueChange).toHaveBeenCalledWith(['speaking', 'listening', 'reading']);
101
+ expect(vocabulary).not.toBeVisible();
102
+ expect(speaking).toBeVisible();
103
+ expect(listening).toBeVisible();
104
+ expect(reading).toBeVisible();
105
+ });
106
+ await step('Change the value externally', async () => {
107
+ resetAllMocks();
108
+ await act(async () => {
109
+ setValueFromPlayFunction(['listening', 'reading']);
110
+ });
111
+ expect(args.onValueChange).not.toHaveBeenCalled();
112
+
113
+ // Check that only vocabulary and reading chips are present
114
+ expect(vocabulary).not.toBeVisible();
115
+ expect(speaking).not.toBeVisible();
116
+ expect(listening).toBeVisible();
117
+ expect(reading).toBeVisible();
118
+ });
119
+
120
+ // Bring story back to the initial state
121
+ await userEvent.click(canvas.getByTestId('reset'));
122
+ // Remove focus from reset button
123
+ await userEvent.click(canvasElement);
124
+ }
125
+ }`,...(G=(P=y.parameters)==null?void 0:P.docs)==null?void 0:G.source},description:{story:"Controlled usage where you manage the state externally.",...($=(N=y.parameters)==null?void 0:N.docs)==null?void 0:$.description}}};var Z,K,Y,J,Q;h.parameters={...h.parameters,docs:{...(Z=h.parameters)==null?void 0:Z.docs,source:{originalSource:`{
126
+ args: {
127
+ items: [{
128
+ value: 'vocabulary',
129
+ label: 'Vocabulary'
130
+ }, {
131
+ value: 'speaking',
132
+ label: 'Speaking',
133
+ disabled: true
134
+ }, {
135
+ value: 'listening',
136
+ label: 'Listening',
137
+ disabled: true
138
+ }, {
139
+ value: 'reading',
140
+ label: 'Reading'
141
+ }]
142
+ },
143
+ play: async ({
144
+ canvasElement,
145
+ step,
146
+ args
147
+ }) => {
148
+ const canvas = within(canvasElement);
149
+ const speaking = canvas.getByRole('button', {
150
+ name: /Remove Speaking/
151
+ });
152
+ await step('Disabled chip must have disabled attribute', async () => {
153
+ expect(speaking).toBeDisabled();
154
+ });
155
+ await step('Disabled chip must not be clickable', async () => {
156
+ await userEvent.click(speaking);
157
+ expect(args.onValueChange).not.toHaveBeenCalled();
158
+ expect(speaking).toBeVisible();
159
+ });
160
+ }
161
+ }`,...(Y=(K=h.parameters)==null?void 0:K.docs)==null?void 0:Y.source},description:{story:"Some chips can be disabled to prevent user interaction.",...(Q=(J=h.parameters)==null?void 0:J.docs)==null?void 0:Q.description}}};var X,ee,ae,te,ne;v.parameters={...v.parameters,docs:{...(X=v.parameters)==null?void 0:X.docs,source:{originalSource:`{
162
+ args: {
163
+ 'aria-label': 'Selected availabilities',
164
+ defaultValue: ['morning', 'afternoon', 'evening'],
165
+ items: [{
166
+ value: 'morning',
167
+ label: 'Morning',
168
+ icon: <TokyoUIAvailability1EarlyMorning />
169
+ }, {
170
+ value: 'afternoon',
171
+ label: 'Afternoon',
172
+ icon: <TokyoUIAvailability3Day />
173
+ }, {
174
+ value: 'evening',
175
+ label: 'Evening',
176
+ icon: <TokyoUIAvailability6LateEvening />
177
+ }]
178
+ },
179
+ play: async ({
180
+ canvasElement,
181
+ step
182
+ }) => {
183
+ const canvas = within(canvasElement);
184
+ const morning = canvas.getByRole('button', {
185
+ name: /Remove Morning/
186
+ });
187
+ const morningIcon = within(morning).getByTestId('chip-icon');
188
+ await step('Chip should render an icon when \`icon\` prop is passed', async () => {
189
+ expect(morningIcon).toBeVisible();
190
+ });
191
+ }
192
+ }`,...(ae=(ee=v.parameters)==null?void 0:ee.docs)==null?void 0:ae.source},description:{story:`Chips can include icons to provide visual context and improve scannability.
193
+ Icons appear on the left side of the chip label and help users quickly identify options.`,...(ne=(te=v.parameters)==null?void 0:te.docs)==null?void 0:ne.description}}};var ie,se,oe,le,re;w.parameters={...w.parameters,docs:{...(ie=w.parameters)==null?void 0:ie.docs,source:{originalSource:`{
194
+ args: {
195
+ 'aria-label': 'Selected languages',
196
+ defaultValue: ['english'],
197
+ items: [{
198
+ value: 'english',
199
+ label: 'English',
200
+ counter: 1247
201
+ }, {
202
+ value: 'spanish',
203
+ label: 'Spanish',
204
+ counter: 892
205
+ }, {
206
+ value: 'french',
207
+ label: 'French',
208
+ counter: 534
209
+ }, {
210
+ value: 'german',
211
+ label: 'German',
212
+ counter: 421
213
+ }, {
214
+ value: 'italian',
215
+ label: 'Italian',
216
+ counter: 287
217
+ }, {
218
+ value: 'portuguese',
219
+ label: 'Portuguese',
220
+ counter: 156
221
+ }]
222
+ },
223
+ play: async ({
224
+ canvasElement,
225
+ step
226
+ }) => {
227
+ const canvas = within(canvasElement);
228
+ const english = canvas.getByRole('button', {
229
+ name: /Remove English/
230
+ });
231
+ const englishCounter = within(english).getByTestId('chip-counter');
232
+ await step('Chip should render a counter when \`counter\` prop is passed', async () => {
233
+ expect(englishCounter).toBeVisible();
234
+ expect(englishCounter).toHaveTextContent('1247');
235
+ });
236
+ }
237
+ }`,...(oe=(se=w.parameters)==null?void 0:se.docs)==null?void 0:oe.source},description:{story:`Chips can display numeric counters to show quantities, popularity, or other metrics.
238
+ Counters appear on the right side of the chip label and are useful for
239
+ showing search results count, available tutors, or similar quantitative data.`,...(re=(le=w.parameters)==null?void 0:le.docs)==null?void 0:re.description}}};var ce,ue,de,pe,ge;f.parameters={...f.parameters,docs:{...(ce=f.parameters)==null?void 0:ce.docs,source:{originalSource:`{
240
+ args: {
241
+ 'aria-label': 'Selected countries',
242
+ defaultValue: ['ua', 'gb', 'it', 'es', 'au', 'br', 'eg'],
243
+ items: [{
244
+ value: 'ua',
245
+ label: 'Ukraine',
246
+ countryFlagCode: 'ua'
247
+ }, {
248
+ value: 'gb',
249
+ label: 'United Kingdom',
250
+ countryFlagCode: 'gb'
251
+ }, {
252
+ value: 'it',
253
+ label: 'Italy',
254
+ countryFlagCode: 'it'
255
+ }, {
256
+ value: 'es',
257
+ label: 'Spain',
258
+ countryFlagCode: 'es'
259
+ }, {
260
+ value: 'au',
261
+ label: 'Australia',
262
+ countryFlagCode: 'au'
263
+ }, {
264
+ value: 'br',
265
+ label: 'Brazil',
266
+ countryFlagCode: 'br'
267
+ }, {
268
+ value: 'eg',
269
+ label: 'Egypt',
270
+ countryFlagCode: 'eg'
271
+ }]
272
+ },
273
+ play: async ({
274
+ canvasElement,
275
+ step
276
+ }) => {
277
+ const canvas = within(canvasElement);
278
+ const ua = canvas.getByRole('button', {
279
+ name: /Remove Ukraine/
280
+ });
281
+ const uaFlag = within(ua).getByTestId('chip-country-flag');
282
+ await step('Chip should render a flag when \`flagCountryCode\` prop is passed', async () => {
283
+ expect(uaFlag).toBeVisible();
284
+ });
285
+ }
286
+ }`,...(de=(ue=f.parameters)==null?void 0:ue.docs)==null?void 0:de.source},description:{story:`Chips can display country flags using ISO country codes.
287
+ Flags appear on the left side and provide instant visual recognition
288
+ for country or language selection interfaces.`,...(ge=(pe=f.parameters)==null?void 0:pe.docs)==null?void 0:ge.description}}};var me,be,ye,he,ve;k.parameters={...k.parameters,docs:{...(me=k.parameters)==null?void 0:me.docs,source:{originalSource:`{
289
+ args: {
290
+ 'aria-label': 'Fancy chips',
291
+ defaultValue: ['counter+icon', 'counter+flag', 'icon+flag'],
292
+ items: [{
293
+ value: 'counter+icon',
294
+ label: 'Icon + Counter',
295
+ icon: <TokyoUIAvailability1EarlyMorning />,
296
+ counter: 1247
297
+ }, {
298
+ value: 'counter+flag',
299
+ label: 'Flag + Counter',
300
+ countryFlagCode: 'ua',
301
+ counter: 1247
302
+ }, {
303
+ value: 'icon+flag',
304
+ label: 'Icon + Flag',
305
+ icon: <TokyoUIAvailability1EarlyMorning />,
306
+ countryFlagCode: 'ua'
307
+ }]
308
+ },
309
+ play: async ({
310
+ canvasElement
311
+ }) => {
312
+ const canvas = within(canvasElement);
313
+ const chip = within(canvas.getByRole('button', {
314
+ name: 'Remove Icon + Flag'
315
+ }));
316
+ expect(chip.getByTestId('chip-icon')).toBeVisible();
317
+ expect(chip.queryByTestId('chip-country-flag')).not.toBeInTheDocument();
318
+ }
319
+ }`,...(ye=(be=k.parameters)==null?void 0:be.docs)==null?void 0:ye.source},description:{story:`Counter can be combined with icon or flag.
320
+ However, if you pass icon and flag together, only icon will be displayed.`,...(ve=(he=k.parameters)==null?void 0:he.docs)==null?void 0:ve.description}}};var we,fe,ke,xe,Be;B.parameters={...B.parameters,docs:{...(we=B.parameters)==null?void 0:we.docs,source:{originalSource:`{
321
+ args: {
322
+ orientation: 'vertical',
323
+ 'aria-label': 'Selected time slots',
324
+ defaultValue: dates,
325
+ items: dates.map(date => ({
326
+ value: date,
327
+ label: <FormattedDate weekday="short" day="numeric" month="short" hour="2-digit" minute="2-digit" value={date} />,
328
+ dataset: {
329
+ testid: date
330
+ }
331
+ }))
332
+ },
333
+ decorators: [Story => <div style={{
334
+ width: 300,
335
+ margin: '0 auto'
336
+ }}>
337
+ <Story />
338
+ </div>],
339
+ play: async ({
340
+ canvasElement,
341
+ step
342
+ }) => {
343
+ const canvas = within(canvasElement);
344
+ const firstChip = canvas.getByTestId(dates[0]);
345
+ const secondChip = canvas.getByTestId(dates[1]);
346
+ const thirdChip = canvas.getByTestId(dates[2]);
347
+ await step('Focus first chip', async () => {
348
+ firstChip.focus();
349
+ });
350
+ await step('Arrow down should focus second chip', async () => {
351
+ await userEvent.keyboard('{ArrowDown}');
352
+ expect(secondChip).toHaveFocus();
353
+ });
354
+ await step('Arrow down should focus third chip', async () => {
355
+ await userEvent.keyboard('{ArrowDown}');
356
+ expect(thirdChip).toHaveFocus();
357
+ });
358
+ await step('Arrow down should focus first chip', async () => {
359
+ await userEvent.keyboard('{ArrowDown}');
360
+ expect(firstChip).toHaveFocus();
361
+ });
362
+ await step('Arrow up should focus third chip', async () => {
363
+ await userEvent.keyboard('{ArrowUp}');
364
+ expect(thirdChip).toHaveFocus();
365
+ });
366
+ }
367
+ }`,...(ke=(fe=B.parameters)==null?void 0:fe.docs)==null?void 0:ke.source},description:{story:`Chips can be arranged vertically instead of horizontally.
368
+ This layout works well in narrow containers or when you want
369
+ to emphasize a vertical flow in your design.`,...(Be=(xe=B.parameters)==null?void 0:xe.docs)==null?void 0:Be.description}}};var Re,Ce,Ve,Fe,Ie;R.parameters={...R.parameters,docs:{...(Re=R.parameters)==null?void 0:Re.docs,source:{originalSource:`{
370
+ render: args => <LayoutFlex gap="12">
371
+ <DismissibleChips {...args} />
372
+ <Button variant="tertiary" size="small" onClick={() => alert('Show all')}>
373
+ Show all
374
+ </Button>
375
+ </LayoutFlex>
376
+ }`,...(Ve=(Ce=R.parameters)==null?void 0:Ce.docs)==null?void 0:Ve.source},description:{story:"Chips are intended only for selection. To assign secondary actions, combine chips with a button.",...(Ie=(Fe=R.parameters)==null?void 0:Fe.docs)==null?void 0:Ie.description}}};var Se,Te,Ae,Le,Ee;C.parameters={...C.parameters,docs:{...(Se=C.parameters)==null?void 0:Se.docs,source:{originalSource:`{
377
+ // unused \`args\` makes story source code readable 🤷‍♂️
378
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
379
+ render: function StoryRender(_args) {
380
+ return <LayoutFlex direction="column" alignItems="stretch" gap="64">
381
+ <LayoutFlex direction="column" alignItems="stretch" gap="16">
382
+ <Text variant="large-semibold">What skills do you want to focus on?</Text>
383
+ <DismissibleChips aria-label="Selected skills" defaultValue={['vocabulary', 'speaking', 'listening'] as string[]} items={skillsItems} />
384
+ </LayoutFlex>
385
+
386
+ <LayoutFlex direction="column" alignItems="stretch" gap="16">
387
+ <Text variant="large-semibold">Which days work best for you?</Text>
388
+ <DismissibleChips aria-label="Selected days" defaultValue={['monday', 'wednesday', 'friday'] as string[]} items={daysOfWeekItems} />
389
+ </LayoutFlex>
390
+
391
+ <LayoutFlex direction="column" alignItems="stretch" gap="16">
392
+ <Text variant="large-semibold">What times of day work for you?</Text>
393
+ <DismissibleChips aria-label="Selected times" defaultValue={['morning', 'afternoon'] as string[]} items={timeOfDayItems} />
394
+ </LayoutFlex>
395
+ </LayoutFlex>;
396
+ },
397
+ play: async ({
398
+ canvasElement,
399
+ step
400
+ }) => {
401
+ const canvas = within(canvasElement);
402
+ const skillVocabulary = canvas.getByRole('button', {
403
+ name: /Remove Vocabulary/
404
+ });
405
+ const skillSpeaking = canvas.getByRole('button', {
406
+ name: /Remove Speaking/
407
+ });
408
+ const skillListening = canvas.getByRole('button', {
409
+ name: /Remove Listening/
410
+ });
411
+ const dayMonday = canvas.getByRole('button', {
412
+ name: /Remove Monday/
413
+ });
414
+ await step('Tab once to enter the component', async () => {
415
+ await userEvent.tab();
416
+ expect(skillVocabulary).toHaveFocus();
417
+ });
418
+ await step('Next tab should focus second chips group', async () => {
419
+ await userEvent.tab();
420
+ expect(dayMonday).toHaveFocus();
421
+ });
422
+ await step('Shift+Tab should focus first chips group again', async () => {
423
+ await userEvent.tab({
424
+ shift: true
425
+ });
426
+ expect(skillVocabulary).toHaveFocus();
427
+ });
428
+ await step('Right arrow should focus next chip in the group', async () => {
429
+ await userEvent.keyboard('{ArrowRight}');
430
+ expect(skillSpeaking).toHaveFocus();
431
+ });
432
+ await step('Left arrow should focus previous chip in the group', async () => {
433
+ await userEvent.keyboard('{ArrowLeft}');
434
+ expect(skillVocabulary).toHaveFocus();
435
+ });
436
+ await step('Left arrow should focus last chip if first chip is focused', async () => {
437
+ await userEvent.keyboard('{ArrowLeft}');
438
+ expect(skillListening).toHaveFocus();
439
+ });
440
+ await step('Right arrow should focus first chip if last chip is focused', async () => {
441
+ await userEvent.keyboard('{ArrowRight}');
442
+ expect(skillVocabulary).toHaveFocus();
443
+ });
444
+ await step('Focus last chip', async () => {
445
+ await userEvent.keyboard('{ArrowLeft}');
446
+ });
447
+ await step('Tab to the next group', async () => {
448
+ await userEvent.tab();
449
+ });
450
+ await step('Shift+Tab to return to the first group, the last focused chip should be focused', async () => {
451
+ await userEvent.tab({
452
+ shift: true
453
+ });
454
+ expect(skillListening).toHaveFocus();
455
+ });
456
+ }
457
+ }`,...(Ae=(Te=C.parameters)==null?void 0:Te.docs)==null?void 0:Ae.source},description:{story:`The **roving tabindex pattern** is a keyboard navigation technique for grouped interactive elements. Instead of tabbing through each item individually, users:
458
+
459
+ - **Tab once** to enter the component
460
+ - **Use arrow keys** to navigate between items within the group
461
+ - **Tab again** to exit to the next component
462
+
463
+ This creates a smooth, efficient navigation experience - especially useful for components like chip groups where you want to browse options quickly without getting stuck in a "tab trap."
464
+
465
+ {@link https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_roving_tabindex Learn more about roving tabindex pattern}`,...(Ee=(Le=C.parameters)==null?void 0:Le.docs)==null?void 0:Ee.description}}};var je,He,De,We,Me;V.parameters={...V.parameters,docs:{...(je=V.parameters)==null?void 0:je.docs,source:{originalSource:`{
466
+ // unused \`args\` makes story source code readable 🤷‍♂️
467
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
468
+ render: function StoryRender(_args) {
469
+ const defaultFilters = ['vocabulary', 'speaking', 'listening', 'reading', 'grammar'];
470
+ const [appliedFilters, setAppliedFilters] = useState<string[]>(defaultFilters);
471
+ const filteredArticles = appliedFilters.length > 0 ? articles.filter(article => appliedFilters.some(skill => article.skills.includes(skill))) : articles;
472
+ return <LayoutFlex direction="column" gap="24">
473
+ <LayoutFlex direction="column" gap="8">
474
+ <Heading tag="h2" variant="large">
475
+ Articles
476
+ </Heading>
477
+ <LayoutFlex gap="16">
478
+ <DismissibleChips aria-label="Applied skill filters" aria-controls="results" value={appliedFilters} onValueChange={setAppliedFilters} items={skillsItems} />
479
+ <div>
480
+ <Button variant="ghost" onClick={() => setAppliedFilters(defaultFilters)}>
481
+ Reset filters
482
+ </Button>
483
+ </div>
484
+ </LayoutFlex>
485
+ </LayoutFlex>
486
+ <section id="results" aria-label="Filtered articles">
487
+ <List>
488
+ {filteredArticles.map(article => <li key={article.id}>
489
+ <Link href="#">{article.title}</Link>
490
+ </li>)}
491
+ </List>
492
+ </section>
493
+ </LayoutFlex>;
494
+ },
495
+ play: async ({
496
+ canvasElement,
497
+ step
498
+ }) => {
499
+ const canvas = within(canvasElement);
500
+ const chipsList = canvas.getByRole('list', {
501
+ name: 'Applied skill filters'
502
+ });
503
+ const vocabulary = canvas.getByRole('button', {
504
+ name: /Remove Vocabulary/
505
+ });
506
+ const speaking = canvas.getByRole('button', {
507
+ name: /Remove Speaking/
508
+ });
509
+ const listening = canvas.getByRole('button', {
510
+ name: /Remove Listening/
511
+ });
512
+ const reading = canvas.getByRole('button', {
513
+ name: /Remove Reading/
514
+ });
515
+ const grammar = canvas.getByRole('button', {
516
+ name: /Remove Grammar/
517
+ });
518
+ await step('Chips element should have aria attributes forwarded', async () => {
519
+ expect(chipsList).toHaveAttribute('aria-label', 'Applied skill filters');
520
+ expect(vocabulary).toHaveAttribute('aria-controls', 'results');
521
+ expect(speaking).toHaveAttribute('aria-controls', 'results');
522
+ expect(listening).toHaveAttribute('aria-controls', 'results');
523
+ expect(reading).toHaveAttribute('aria-controls', 'results');
524
+ expect(grammar).toHaveAttribute('aria-controls', 'results');
525
+ });
526
+ }
527
+ }`,...(De=(He=V.parameters)==null?void 0:He.docs)==null?void 0:De.source},description:{story:"For accessibility, always provide an `aria-label` to describe the chip group's purpose.\nIf the chips control other elements on the page, use `aria-controls` with the target element's ID.",...(Me=(We=V.parameters)==null?void 0:We.docs)==null?void 0:Me.description}}};var Ue,qe,Oe,_e,ze;F.parameters={...F.parameters,docs:{...(Ue=F.parameters)==null?void 0:Ue.docs,source:{originalSource:`{
528
+ parameters: {
529
+ a11y: {
530
+ config: {
531
+ rules: [{
532
+ id: 'color-contrast',
533
+ enabled: false
534
+ }]
535
+ }
536
+ }
537
+ },
538
+ args: {
539
+ 'aria-label': 'Selected skills',
540
+ value: ['vocabulary', 'speaking', 'listening', 'reading'],
541
+ items: undefined,
542
+ children: <>
543
+ <Tooltip content="I want to learn vocabulary" dataset={{
544
+ testid: 'vocabulary-tooltip'
545
+ }}>
546
+ <DismissibleChipsItem value="vocabulary">Vocabulary</DismissibleChipsItem>
547
+ </Tooltip>
548
+ <Tooltip content="I want to improve my speaking skills" dataset={{
549
+ testid: 'speaking-tooltip'
550
+ }}>
551
+ <DismissibleChipsItem value="speaking">Speaking</DismissibleChipsItem>
552
+ </Tooltip>
553
+ <Tooltip content="I want to improve my listening skills" dataset={{
554
+ testid: 'listening-tooltip'
555
+ }}>
556
+ <DismissibleChipsItem value="listening">Listening</DismissibleChipsItem>
557
+ </Tooltip>
558
+ <Tooltip content="I want to improve my reading skills" dataset={{
559
+ testid: 'reading-tooltip'
560
+ }}>
561
+ <DismissibleChipsItem value="reading">Reading</DismissibleChipsItem>
562
+ </Tooltip>
563
+ </>
564
+ },
565
+ play: async ({
566
+ canvasElement,
567
+ step
568
+ }) => {
569
+ const canvas = within(canvasElement);
570
+ await step('Tab to the first chip', async () => {
571
+ await userEvent.tab();
572
+ await waitFor(() => {
573
+ expect(canvas.getByTestId('vocabulary-tooltip')).toBeVisible();
574
+ });
575
+ });
576
+ await step('Arrow right to focus next chip', async () => {
577
+ await userEvent.keyboard('{ArrowRight}');
578
+ await waitFor(() => {
579
+ expect(canvas.getByTestId('speaking-tooltip')).toBeVisible();
580
+ });
581
+ });
582
+ await step('Hover third chip', async () => {
583
+ await userEvent.hover(canvas.getByRole('button', {
584
+ name: /Remove Listening/
585
+ }));
586
+ await waitFor(() => {
587
+ expect(canvas.getByTestId('listening-tooltip')).toBeVisible();
588
+ });
589
+ });
590
+ }
591
+ }`,...(Oe=(qe=F.parameters)==null?void 0:qe.docs)==null?void 0:Oe.source},description:{story:"If you need to wrap individual chips in a component like [\\<Tooltip/>](/docs/components-tooltip--docs),\nyou can use render `<SingleSelectChipsItem/>` as children.",...(ze=(_e=F.parameters)==null?void 0:_e.docs)==null?void 0:ze.description}}};var Pe,Ge,Ne;T.parameters={...T.parameters,docs:{...(Pe=T.parameters)==null?void 0:Pe.docs,source:{originalSource:`{
592
+ tags: ['!autodocs'],
593
+ parameters: {
594
+ remountable: false
595
+ },
596
+ args: {
597
+ 'aria-label': 'Chips states',
598
+ value: ['rest', 'hover', 'focus', 'active', 'disabled'],
599
+ items: undefined,
600
+ children: <>
601
+ <DismissibleChipsItem value="rest">Rest</DismissibleChipsItem>
602
+ <DismissibleChipsItem value="focus" dsInternalSimulation="focus">
603
+ Focus
604
+ </DismissibleChipsItem>
605
+ <DismissibleChipsItem value="hover" dsInternalSimulation="hover">
606
+ Hover
607
+ </DismissibleChipsItem>
608
+ <DismissibleChipsItem value="active" dsInternalSimulation="active">
609
+ Active
610
+ </DismissibleChipsItem>
611
+ <DismissibleChipsItem value="disabled" disabled>
612
+ Disabled
613
+ </DismissibleChipsItem>
614
+ </>
615
+ }
616
+ }`,...(Ne=(Ge=T.parameters)==null?void 0:Ge.docs)==null?void 0:Ne.source}}};var $e,Ze,Ke,Ye,Je;I.parameters={...I.parameters,docs:{...($e=I.parameters)==null?void 0:$e.docs,source:{originalSource:`{
617
+ parameters: {
618
+ remountable: false
619
+ },
620
+ decorators: [Story => <div style={{
621
+ maxWidth: 150,
622
+ margin: '0 auto'
623
+ }}>
624
+ <Story />
625
+ </div>],
626
+ args: {
627
+ 'aria-label': 'Long label',
628
+ value: ['long'],
629
+ items: [{
630
+ value: 'long',
631
+ icon: TokyoUIEmojiFrowning,
632
+ label: "I'm way too long to be a chip label, I don't know what to do with myself"
633
+ }]
634
+ }
635
+ }`,...(Ke=(Ze=I.parameters)==null?void 0:Ze.docs)==null?void 0:Ke.source},description:{story:"Please, don't use long labels for chips.",...(Je=(Ye=I.parameters)==null?void 0:Ye.docs)==null?void 0:Je.description}}};const ct=["Uncontrolled","Controlled","Disabled","WithIcons","WithCounter","WithFlags","CombiningCounterWithIconOrFlag","Vertical","CombinationWithButton","RovingTabindex","Accessibility","WithTooltips","States","LongLabel"];export{V as Accessibility,R as CombinationWithButton,k as CombiningCounterWithIconOrFlag,y as Controlled,h as Disabled,I as LongLabel,C as RovingTabindex,T as States,b as Uncontrolled,B as Vertical,w as WithCounter,f as WithFlags,v as WithIcons,F as WithTooltips,ct as __namedExportsOrder,rt as default};
@@ -0,0 +1 @@
1
+ .Divider__o9--B{all:unset;display:block;border-radius:0}.Divider__o9--B.size-small__QrAgV{height:var(--f3fdd6);background:var(--c03289)}.Divider__o9--B.size-large__agPv9{height:var(--53860b);background:var(--fede46)}