@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,637 @@
1
+ import{j as a}from"./jsx-runtime-BTJTZTIL.js";import{r as Ze}from"./index-Cb9e4tly.js";import{S as p,a as g}from"./SingleSelectChips-DLCTUr2z.js";import{F as aa,a as T,b as Ye,c as Qe,d as ta}from"./TokyoUIEmojiFrowning-DTIcabpJ.js";import{F as na}from"./index-DSVnVYmz.js";import{L as h}from"./LayoutFlex-C3k4b85b.js";import{T as V}from"./Text-CykvSLVe.js";import{f as ia,r as Xe,w as c,e,u as r,a as L}from"./index-Ctq3gFTp.js";import{a as sa}from"./react.esm-BJ_b8t-Z.js";import{d as oa}from"./styled-components.browser.esm-BgpGX317.js";import{L as la}from"./Link-ppzJSCTf.js";import{H as ra}from"./Heading-BLxyLk9f.js";import{T as B}from"./Tooltip-UjXQy5k6.js";import{B as ca}from"./Button-C5gzVt4K.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"./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"./test-utils-DCJN9LZk.js";import"./index-C7hTFOIV.js";import"./index-BPrLDK9Y.js";import"./client-C1fTPCwG.js";import"./useHostname-Y3PlXofY.js";import"./index-BrBqb5Q4.js";import"./PortalElementProvider-CgL8vj5o.js";import"./index-C6wF8VM1.js";import"./index-QwIMrChO.js";import"./ButtonBase-D5O3MkG2.js";import"./Spinner-T-vTyHiv.js";import"./useMergeRefs-SFH7Mw4x.js";import"./index-CC6DAVyL.js";const st={title:"components/Chips/SingleSelectChips",component:g,subcomponents:{SingleSelectChipsItem:p},parameters:{layout:"padded"},args:{"aria-label":"Choose a skill",defaultValue:"vocabulary",onValueChange:ia(),items:[{value:"vocabulary",label:"Vocabulary"},{value:"speaking",label:"Speaking"},{value:"listening",label:"Listening"},{value:"reading",label:"Reading"}]},beforeEach:()=>{Xe()}},v={play:async({canvasElement:i,step:t,args:n})=>{const s=c(i),o=s.getByRole("option",{name:"Vocabulary"}),l=s.getByRole("option",{name:"Speaking"}),u=s.getByRole("option",{name:"Listening"}),d=s.getByRole("option",{name:"Reading"});await t("Render chips with default value",async()=>{e(o).toHaveAttribute("aria-selected","true"),e(l).toHaveAttribute("aria-selected","false"),e(u).toHaveAttribute("aria-selected","false"),e(d).toHaveAttribute("aria-selected","false")}),await t("Click on the chip to select it",async()=>{await r.click(l),e(n.onValueChange).toHaveBeenCalledWith("speaking"),e(o).toHaveAttribute("aria-selected","false"),e(l).toHaveAttribute("aria-selected","true"),e(u).toHaveAttribute("aria-selected","false"),e(d).toHaveAttribute("aria-selected","false")}),await t("Click on the chip to deselect it",async()=>{await r.click(l),e(n.onValueChange).toHaveBeenCalledWith(null),e(o).toHaveAttribute("aria-selected","false"),e(l).toHaveAttribute("aria-selected","false"),e(u).toHaveAttribute("aria-selected","false"),e(d).toHaveAttribute("aria-selected","false")})}};let E;const y={render:function({defaultValue:t,...n}){const[s,o]=Ze.useState(t);E=o;const l=u=>{var d;o(u),(d=n.onValueChange)==null||d.call(n,u)};return a.jsx(g,{...n,value:s,onValueChange:l})},play:async({canvasElement:i,step:t,args:n})=>{const s=c(i),o=s.getByRole("option",{name:"Vocabulary"}),l=s.getByRole("option",{name:"Speaking"}),u=s.getByRole("option",{name:"Listening"}),d=s.getByRole("option",{name:"Reading"});await t("Render chips with default value",async()=>{e(o).toHaveAttribute("aria-selected","true"),e(l).toHaveAttribute("aria-selected","false"),e(u).toHaveAttribute("aria-selected","false"),e(d).toHaveAttribute("aria-selected","false")}),await t("Click on the chip to select it",async()=>{await r.click(l),e(n.onValueChange).toHaveBeenCalledWith("speaking"),e(o).toHaveAttribute("aria-selected","false"),e(l).toHaveAttribute("aria-selected","true"),e(u).toHaveAttribute("aria-selected","false"),e(d).toHaveAttribute("aria-selected","false")}),await t("Click on the chip to deselect it",async()=>{await r.click(l),e(n.onValueChange).toHaveBeenCalledWith(null),e(o).toHaveAttribute("aria-selected","false"),e(l).toHaveAttribute("aria-selected","false"),e(u).toHaveAttribute("aria-selected","false"),e(d).toHaveAttribute("aria-selected","false")}),await t("Change the value externally",async()=>{Xe(),await sa(async()=>{E("vocabulary")}),e(n.onValueChange).not.toHaveBeenCalled(),e(o).toHaveAttribute("aria-selected","true"),e(l).toHaveAttribute("aria-selected","false"),e(u).toHaveAttribute("aria-selected","false"),e(d).toHaveAttribute("aria-selected","false")})}},m={args:{items:[{value:"vocabulary",label:"Vocabulary"},{value:"speaking",label:"Speaking",disabled:!0},{value:"listening",label:"Listening"},{value:"reading",label:"Reading"}]},play:async({canvasElement:i,step:t,args:n})=>{const s=c(i),o=s.getByRole("option",{name:"Speaking"}),l=s.getByRole("option",{name:"Vocabulary"});await t("Disabled chip must have disabled attribute",async()=>{e(o).toBeDisabled()}),await t("Disabled chip must not be selectable",async()=>{await r.click(o),e(n.onValueChange).not.toHaveBeenCalled(),e(l).toHaveAttribute("aria-selected","true"),e(o).toHaveAttribute("aria-selected","false")})}},b={args:{"aria-label":"Choose an availability",defaultValue:"morning",items:[{value:"morning",label:"Morning",icon:a.jsx(T,{})},{value:"afternoon",label:"Afternoon",icon:a.jsx(Ye,{})},{value:"evening",label:"Evening",icon:a.jsx(Qe,{})}]},play:async({canvasElement:i,step:t})=>{const s=c(i).getByRole("option",{name:"Morning"}),o=c(s).getByTestId("chip-icon");await t("Chip should render an icon when `icon` prop is passed",async()=>{e(o).toBeVisible()})}},w={args:{"aria-label":"Choose a language to learn",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=c(i).getByRole("option",{name:/^English/}),o=c(s).getByTestId("chip-counter");await t("Chip should render a counter when `counter` prop is passed",async()=>{e(o).toBeVisible(),e(o).toHaveTextContent("1247")})}},f={args:{"aria-label":"Choose a country",defaultValue:"ua",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=c(i).getByRole("option",{name:"Ukraine"}),o=c(s).getByTestId("chip-country-flag");await t("Chip should render a flag when `flagCountryCode` prop is passed",async()=>{e(o).toBeVisible()})}},C={args:{"aria-label":"Fancy chips",items:[{value:"counter+icon",label:"Icon + Counter",icon:a.jsx(T,{}),counter:1247},{value:"counter+flag",label:"Flag + Counter",countryFlagCode:"ua",counter:1247},{value:"icon+flag",label:"Icon + Flag",icon:a.jsx(T,{}),countryFlagCode:"ua"}]},play:async({canvasElement:i})=>{const t=c(i),n=c(t.getByRole("option",{name:"Icon + Flag"}));e(n.getByTestId("chip-icon")).toBeVisible(),e(n.queryByTestId("chip-country-flag")).not.toBeInTheDocument()}},S=["2025-08-15T10:00Z","2025-08-16T12:00Z","2025-08-17T14:00Z"],x={args:{orientation:"vertical","aria-label":"Choose a time slot",defaultValue:S[0],items:S.map(i=>({value:`${i}`,label:a.jsx(na,{weekday:"short",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit",value:i}),dataset:{testid:i}}))},decorators:[i=>a.jsx("div",{style:{width:300,margin:"0 auto"},children:a.jsx(i,{})})],play:async({canvasElement:i,step:t})=>{const n=c(i),s=n.getByRole("listbox",{name:"Choose a time slot"}),o=n.getByTestId(S[0]),l=n.getByTestId(S[1]),u=n.getByTestId(S[2]);await t('Vertical chips should have `aria-orientation="vertical"`',async()=>{e(s).toHaveAttribute("aria-orientation","vertical")}),await t("Focus first chip",async()=>{o.focus()}),await t("Arrow down should focus second chip",async()=>{await r.keyboard("{ArrowDown}"),e(l).toHaveFocus()}),await t("Arrow down should focus third chip",async()=>{await r.keyboard("{ArrowDown}"),e(u).toHaveFocus()}),await t("Arrow down should focus first chip",async()=>{await r.keyboard("{ArrowDown}"),e(o).toHaveFocus()}),await t("Arrow up should focus third chip",async()=>{await r.keyboard("{ArrowUp}"),e(u).toHaveFocus()})}},k={render:i=>a.jsxs(h,{gap:"12",children:[a.jsx(g,{...i}),a.jsx(ca,{variant:"tertiary",size:"small",onClick:()=>alert("Show all"),children:"Show all"})]})},ua=[{value:"just-starting",label:"I’m just starting"},{value:"basics",label:"I know the basics"},{value:"dont-know",label:"I don’t know"}],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"},{value:"dont-know",label:"I don’t know"}],pa=[{value:"morning",label:"Morning (6-12)",icon:a.jsx(T,{})},{value:"afternoon",label:"Afternoon (12-18)",icon:a.jsx(Ye,{})},{value:"evening",label:"Evening (18-0)",icon:a.jsx(Qe,{})},{value:"night",label:"Night (0-6)",icon:a.jsx(ta,{})},{value:"dont-know",label:"I don’t know"}],I={render:function(t){return a.jsxs(h,{direction:"column",alignItems:"stretch",gap:"64",children:[a.jsxs(h,{direction:"column",alignItems:"stretch",gap:"16",children:[a.jsx(V,{variant:"large-semibold",children:"What’s your current English level?"}),a.jsx(g,{"aria-label":"Selected English level",items:ua})]}),a.jsxs(h,{direction:"column",alignItems:"stretch",gap:"16",children:[a.jsx(V,{variant:"large-semibold",children:"When can you take lessons?"}),a.jsx(g,{"aria-label":"Selected day of the week",items:da})]}),a.jsxs(h,{direction:"column",alignItems:"stretch",gap:"16",children:[a.jsx(V,{variant:"large-semibold",children:"What time of day works for you?"}),a.jsx(g,{"aria-label":"Selected time of day",items:pa})]})]})},play:async({canvasElement:i,step:t})=>{const n=c(i),s=c(n.getByRole("listbox",{name:"Selected English level"})),o=c(n.getByRole("listbox",{name:"Selected day of the week"})),l=s.getByRole("option",{name:"I’m just starting"}),u=s.getByRole("option",{name:"I know the basics"}),d=s.getByRole("option",{name:"I don’t know"}),ea=o.getByRole("option",{name:"Monday"});await t("Tab once to enter first chips group",async()=>{await r.tab(),e(l).toHaveFocus()}),await t("Next tab should focus second chips group",async()=>{await r.tab(),e(ea).toHaveFocus()}),await t("Shift+Tab should focus first chips group again",async()=>{await r.tab({shift:!0}),e(l).toHaveFocus()}),await t("Right arrow should focus next chip in the group",async()=>{await r.keyboard("{ArrowRight}"),e(u).toHaveFocus()}),await t("Left arrow should focus previous chip in the group",async()=>{await r.keyboard("{ArrowLeft}"),e(l).toHaveFocus()}),await t("Left arrow should focus last chip if first chip is focused",async()=>{await r.keyboard("{ArrowLeft}"),e(d).toHaveFocus()}),await t("Right arrow should focus first chip if last chip is focused",async()=>{await r.keyboard("{ArrowRight}"),e(l).toHaveFocus()}),await t("Focus last chip",async()=>{await r.keyboard("{ArrowLeft}")}),await t("Tab to the next group",async()=>{await r.tab()}),await t("Shift+Tab to return to the first group, the last focused chip should be focused",async()=>{await r.tab({shift:!0}),e(d).toHaveFocus()})}},j=[{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"]}],ga=oa.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
+ `,A={render:function(t){const[n,s]=Ze.useState(null),o=n?j.filter(l=>l.skills.includes(n)):j;return a.jsxs(h,{direction:"column",gap:"24",children:[a.jsxs(h,{direction:"column",gap:"8",children:[a.jsx(ra,{tag:"h2",variant:"large",children:"Articles"}),a.jsx(g,{"aria-label":"Filter by skill","aria-controls":"results",value:n,onValueChange:s,items:[{value:"vocabulary",label:"Vocabulary"},{value:"speaking",label:"Speaking"},{value:"listening",label:"Listening"},{value:"reading",label:"Reading"},{value:"grammar",label:"Grammar"}]})]}),a.jsx("section",{id:"results","aria-label":"Filtered articles",children:a.jsx(ga,{children:o.map(l=>a.jsx("li",{children:a.jsx(la,{href:"#",children:l.title})},l.id))})})]})},play:async({canvasElement:i,step:t})=>{const s=c(i).getByRole("listbox",{name:"Filter by skill"});await t("Chips element should have aria attributes forwarded",async()=>{e(s).toHaveAttribute("aria-label","Filter by skill"),e(s).toHaveAttribute("aria-controls","results")})}},F={parameters:{a11y:{config:{rules:[{id:"color-contrast",enabled:!1}]}}},args:{"aria-label":"Select a skill",children:a.jsxs(a.Fragment,{children:[a.jsx(B,{content:"I want to learn vocabulary",dataset:{testid:"vocabulary-tooltip"},children:a.jsx(p,{value:"vocabulary",children:"Vocabulary"})}),a.jsx(B,{content:"I want to improve my speaking skills",dataset:{testid:"speaking-tooltip"},children:a.jsx(p,{value:"speaking",children:"Speaking"})}),a.jsx(B,{content:"I want to improve my listening skills",dataset:{testid:"listening-tooltip"},children:a.jsx(p,{value:"listening",children:"Listening"})}),a.jsx(B,{content:"I want to improve my reading skills",dataset:{testid:"reading-tooltip"},children:a.jsx(p,{value:"reading",children:"Reading"})})]}),items:void 0},play:async({canvasElement:i,step:t})=>{const n=c(i);await t("Tab to the first chip",async()=>{await r.tab(),await L(()=>{e(n.getByTestId("vocabulary-tooltip")).toBeVisible()})}),await t("Arrow right to focus next chip",async()=>{await r.keyboard("{ArrowRight}"),await L(()=>{e(n.getByTestId("speaking-tooltip")).toBeVisible()})}),await t("Hover third chip",async()=>{await r.hover(n.getByRole("option",{name:"Listening"})),await L(()=>{e(n.getByTestId("listening-tooltip")).toBeVisible()})})}},R={tags:["!autodocs"],render:function(){return a.jsxs(h,{gap:"12",children:[a.jsxs(g,{"aria-label":"Chips states",value:"selected",children:[a.jsx(p,{value:"rest",children:"Rest"}),a.jsx(p,{value:"focus",dsInternalSimulation:"focus",children:"Focus"}),a.jsx(p,{value:"hover",dsInternalSimulation:"hover",children:"Hover"}),a.jsx(p,{value:"active",dsInternalSimulation:"active",children:"Active"}),a.jsx(p,{value:"disabled",disabled:!0,children:"Disabled"}),a.jsx(p,{value:"selected",children:"Selected"})]}),a.jsx(g,{"aria-label":"Chips states",value:"selected",children:a.jsx(p,{value:"selected",dsInternalSimulation:"focus",children:"Selected focus"})}),a.jsx(g,{"aria-label":"Chips states",value:"selected",children:a.jsx(p,{value:"selected",dsInternalSimulation:"hover",children:"Selected hover"})}),a.jsx(g,{"aria-label":"Chips states",value:"selected",children:a.jsx(p,{value:"selected",dsInternalSimulation:"active",children:"Selected active"})})]})}},H={decorators:[i=>a.jsx("div",{style:{maxWidth:150,margin:"0 auto"},children:a.jsx(i,{})})],args:{"aria-label":"Long label",items:[{value:"long",icon:aa,label:"I'm way too long to be a chip label, I don't know what to do with myself"}]}};var W,D,M,U,O;v.parameters={...v.parameters,docs:{...(W=v.parameters)==null?void 0:W.docs,source:{originalSource:`{
12
+ play: async ({
13
+ canvasElement,
14
+ step,
15
+ args
16
+ }) => {
17
+ const canvas = within(canvasElement);
18
+ const vocabulary = canvas.getByRole('option', {
19
+ name: 'Vocabulary'
20
+ });
21
+ const speaking = canvas.getByRole('option', {
22
+ name: 'Speaking'
23
+ });
24
+ const listening = canvas.getByRole('option', {
25
+ name: 'Listening'
26
+ });
27
+ const reading = canvas.getByRole('option', {
28
+ name: 'Reading'
29
+ });
30
+ await step('Render chips with default value', async () => {
31
+ expect(vocabulary).toHaveAttribute('aria-selected', 'true');
32
+ expect(speaking).toHaveAttribute('aria-selected', 'false');
33
+ expect(listening).toHaveAttribute('aria-selected', 'false');
34
+ expect(reading).toHaveAttribute('aria-selected', 'false');
35
+ });
36
+ await step('Click on the chip to select it', async () => {
37
+ await userEvent.click(speaking);
38
+ expect(args.onValueChange).toHaveBeenCalledWith('speaking');
39
+ expect(vocabulary).toHaveAttribute('aria-selected', 'false');
40
+ expect(speaking).toHaveAttribute('aria-selected', 'true');
41
+ expect(listening).toHaveAttribute('aria-selected', 'false');
42
+ expect(reading).toHaveAttribute('aria-selected', 'false');
43
+ });
44
+ await step('Click on the chip to deselect it', async () => {
45
+ await userEvent.click(speaking);
46
+ expect(args.onValueChange).toHaveBeenCalledWith(null);
47
+ expect(vocabulary).toHaveAttribute('aria-selected', 'false');
48
+ expect(speaking).toHaveAttribute('aria-selected', 'false');
49
+ expect(listening).toHaveAttribute('aria-selected', 'false');
50
+ expect(reading).toHaveAttribute('aria-selected', 'false');
51
+ });
52
+ }
53
+ }`,...(M=(D=v.parameters)==null?void 0:D.docs)==null?void 0:M.source},description:{story:"Basic usage with default value. The component manages its own state internally.",...(O=(U=v.parameters)==null?void 0:U.docs)==null?void 0:O.description}}};var q,_,P,z,J;y.parameters={...y.parameters,docs:{...(q=y.parameters)==null?void 0:q.docs,source:{originalSource:`{
54
+ render: function StoryRender({
55
+ defaultValue,
56
+ ...args
57
+ }) {
58
+ const [value, setValue] = useState(defaultValue);
59
+ setValueFromPlayFunction = setValue;
60
+ const handleValueChange = (value: string | null) => {
61
+ setValue(value);
62
+ args.onValueChange?.(value);
63
+ };
64
+ return <SingleSelectChips {...args} value={value} onValueChange={handleValueChange} />;
65
+ },
66
+ play: async ({
67
+ canvasElement,
68
+ step,
69
+ args
70
+ }) => {
71
+ const canvas = within(canvasElement);
72
+ const vocabulary = canvas.getByRole('option', {
73
+ name: 'Vocabulary'
74
+ });
75
+ const speaking = canvas.getByRole('option', {
76
+ name: 'Speaking'
77
+ });
78
+ const listening = canvas.getByRole('option', {
79
+ name: 'Listening'
80
+ });
81
+ const reading = canvas.getByRole('option', {
82
+ name: 'Reading'
83
+ });
84
+ await step('Render chips with default value', async () => {
85
+ expect(vocabulary).toHaveAttribute('aria-selected', 'true');
86
+ expect(speaking).toHaveAttribute('aria-selected', 'false');
87
+ expect(listening).toHaveAttribute('aria-selected', 'false');
88
+ expect(reading).toHaveAttribute('aria-selected', 'false');
89
+ });
90
+ await step('Click on the chip to select it', async () => {
91
+ await userEvent.click(speaking);
92
+ expect(args.onValueChange).toHaveBeenCalledWith('speaking');
93
+ expect(vocabulary).toHaveAttribute('aria-selected', 'false');
94
+ expect(speaking).toHaveAttribute('aria-selected', 'true');
95
+ expect(listening).toHaveAttribute('aria-selected', 'false');
96
+ expect(reading).toHaveAttribute('aria-selected', 'false');
97
+ });
98
+ await step('Click on the chip to deselect it', async () => {
99
+ await userEvent.click(speaking);
100
+ expect(args.onValueChange).toHaveBeenCalledWith(null);
101
+ expect(vocabulary).toHaveAttribute('aria-selected', 'false');
102
+ expect(speaking).toHaveAttribute('aria-selected', 'false');
103
+ expect(listening).toHaveAttribute('aria-selected', 'false');
104
+ expect(reading).toHaveAttribute('aria-selected', 'false');
105
+ });
106
+ await step('Change the value externally', async () => {
107
+ resetAllMocks();
108
+ await act(async () => {
109
+ setValueFromPlayFunction('vocabulary');
110
+ });
111
+ expect(args.onValueChange).not.toHaveBeenCalled();
112
+ expect(vocabulary).toHaveAttribute('aria-selected', 'true');
113
+ expect(speaking).toHaveAttribute('aria-selected', 'false');
114
+ expect(listening).toHaveAttribute('aria-selected', 'false');
115
+ expect(reading).toHaveAttribute('aria-selected', 'false');
116
+ });
117
+ }
118
+ }`,...(P=(_=y.parameters)==null?void 0:_.docs)==null?void 0:P.source},description:{story:"Controlled usage where you manage the state externally.",...(J=(z=y.parameters)==null?void 0:z.docs)==null?void 0:J.description}}};var K,$,G,N,Z;m.parameters={...m.parameters,docs:{...(K=m.parameters)==null?void 0:K.docs,source:{originalSource:`{
119
+ args: {
120
+ items: [{
121
+ value: 'vocabulary',
122
+ label: 'Vocabulary'
123
+ }, {
124
+ value: 'speaking',
125
+ label: 'Speaking',
126
+ disabled: true
127
+ }, {
128
+ value: 'listening',
129
+ label: 'Listening'
130
+ }, {
131
+ value: 'reading',
132
+ label: 'Reading'
133
+ }]
134
+ },
135
+ play: async ({
136
+ canvasElement,
137
+ step,
138
+ args
139
+ }) => {
140
+ const canvas = within(canvasElement);
141
+ const speaking = canvas.getByRole('option', {
142
+ name: 'Speaking'
143
+ });
144
+ const vocabulary = canvas.getByRole('option', {
145
+ name: 'Vocabulary'
146
+ });
147
+ await step('Disabled chip must have disabled attribute', async () => {
148
+ expect(speaking).toBeDisabled();
149
+ });
150
+ await step('Disabled chip must not be selectable', async () => {
151
+ await userEvent.click(speaking);
152
+ expect(args.onValueChange).not.toHaveBeenCalled();
153
+ expect(vocabulary).toHaveAttribute('aria-selected', 'true');
154
+ expect(speaking).toHaveAttribute('aria-selected', 'false');
155
+ });
156
+ }
157
+ }`,...(G=($=m.parameters)==null?void 0:$.docs)==null?void 0:G.source},description:{story:"Some chips can be disabled to prevent user interaction.",...(Z=(N=m.parameters)==null?void 0:N.docs)==null?void 0:Z.description}}};var Y,Q,X,ee,ae;b.parameters={...b.parameters,docs:{...(Y=b.parameters)==null?void 0:Y.docs,source:{originalSource:`{
158
+ args: {
159
+ 'aria-label': 'Choose an availability',
160
+ defaultValue: 'morning',
161
+ items: [{
162
+ value: 'morning',
163
+ label: 'Morning',
164
+ icon: <TokyoUIAvailability1EarlyMorning />
165
+ }, {
166
+ value: 'afternoon',
167
+ label: 'Afternoon',
168
+ icon: <TokyoUIAvailability3Day />
169
+ }, {
170
+ value: 'evening',
171
+ label: 'Evening',
172
+ icon: <TokyoUIAvailability6LateEvening />
173
+ }]
174
+ },
175
+ play: async ({
176
+ canvasElement,
177
+ step
178
+ }) => {
179
+ const canvas = within(canvasElement);
180
+ const morning = canvas.getByRole('option', {
181
+ name: 'Morning'
182
+ });
183
+ const morningIcon = within(morning).getByTestId('chip-icon');
184
+ await step('Chip should render an icon when \`icon\` prop is passed', async () => {
185
+ expect(morningIcon).toBeVisible();
186
+ });
187
+ }
188
+ }`,...(X=(Q=b.parameters)==null?void 0:Q.docs)==null?void 0:X.source},description:{story:`Chips can include icons to provide visual context and improve scannability.
189
+ Icons appear on the left side of the chip label and help users quickly identify options.`,...(ae=(ee=b.parameters)==null?void 0:ee.docs)==null?void 0:ae.description}}};var te,ne,ie,se,oe;w.parameters={...w.parameters,docs:{...(te=w.parameters)==null?void 0:te.docs,source:{originalSource:`{
190
+ args: {
191
+ 'aria-label': 'Choose a language to learn',
192
+ defaultValue: 'english',
193
+ items: [{
194
+ value: 'english',
195
+ label: 'English',
196
+ counter: 1247
197
+ }, {
198
+ value: 'spanish',
199
+ label: 'Spanish',
200
+ counter: 892
201
+ }, {
202
+ value: 'french',
203
+ label: 'French',
204
+ counter: 534
205
+ }, {
206
+ value: 'german',
207
+ label: 'German',
208
+ counter: 421
209
+ }, {
210
+ value: 'italian',
211
+ label: 'Italian',
212
+ counter: 287
213
+ }, {
214
+ value: 'portuguese',
215
+ label: 'Portuguese',
216
+ counter: 156
217
+ }]
218
+ },
219
+ play: async ({
220
+ canvasElement,
221
+ step
222
+ }) => {
223
+ const canvas = within(canvasElement);
224
+ const english = canvas.getByRole('option', {
225
+ name: /^English/
226
+ });
227
+ const englishCounter = within(english).getByTestId('chip-counter');
228
+ await step('Chip should render a counter when \`counter\` prop is passed', async () => {
229
+ expect(englishCounter).toBeVisible();
230
+ expect(englishCounter).toHaveTextContent('1247');
231
+ });
232
+ }
233
+ }`,...(ie=(ne=w.parameters)==null?void 0:ne.docs)==null?void 0:ie.source},description:{story:`Chips can display numeric counters to show quantities, popularity, or other metrics.
234
+ Counters appear on the right side of the chip label and are useful for
235
+ showing search results count, available tutors, or similar quantitative data.`,...(oe=(se=w.parameters)==null?void 0:se.docs)==null?void 0:oe.description}}};var le,re,ce,ue,de;f.parameters={...f.parameters,docs:{...(le=f.parameters)==null?void 0:le.docs,source:{originalSource:`{
236
+ args: {
237
+ 'aria-label': 'Choose a country',
238
+ defaultValue: 'ua',
239
+ items: [{
240
+ value: 'ua',
241
+ label: 'Ukraine',
242
+ countryFlagCode: 'ua'
243
+ }, {
244
+ value: 'gb',
245
+ label: 'United Kingdom',
246
+ countryFlagCode: 'gb'
247
+ }, {
248
+ value: 'it',
249
+ label: 'Italy',
250
+ countryFlagCode: 'it'
251
+ }, {
252
+ value: 'es',
253
+ label: 'Spain',
254
+ countryFlagCode: 'es'
255
+ }, {
256
+ value: 'au',
257
+ label: 'Australia',
258
+ countryFlagCode: 'au'
259
+ }, {
260
+ value: 'br',
261
+ label: 'Brazil',
262
+ countryFlagCode: 'br'
263
+ }, {
264
+ value: 'eg',
265
+ label: 'Egypt',
266
+ countryFlagCode: 'eg'
267
+ }]
268
+ },
269
+ play: async ({
270
+ canvasElement,
271
+ step
272
+ }) => {
273
+ const canvas = within(canvasElement);
274
+ const ua = canvas.getByRole('option', {
275
+ name: 'Ukraine'
276
+ });
277
+ const uaFlag = within(ua).getByTestId('chip-country-flag');
278
+ await step('Chip should render a flag when \`flagCountryCode\` prop is passed', async () => {
279
+ expect(uaFlag).toBeVisible();
280
+ });
281
+ }
282
+ }`,...(ce=(re=f.parameters)==null?void 0:re.docs)==null?void 0:ce.source},description:{story:`Chips can display country flags using ISO country codes.
283
+ Flags appear on the left side and provide instant visual recognition
284
+ for country or language selection interfaces.`,...(de=(ue=f.parameters)==null?void 0:ue.docs)==null?void 0:de.description}}};var pe,ge,he,ve,ye;C.parameters={...C.parameters,docs:{...(pe=C.parameters)==null?void 0:pe.docs,source:{originalSource:`{
285
+ args: {
286
+ 'aria-label': 'Fancy chips',
287
+ items: [{
288
+ value: 'counter+icon',
289
+ label: 'Icon + Counter',
290
+ icon: <TokyoUIAvailability1EarlyMorning />,
291
+ counter: 1247
292
+ }, {
293
+ value: 'counter+flag',
294
+ label: 'Flag + Counter',
295
+ countryFlagCode: 'ua',
296
+ counter: 1247
297
+ }, {
298
+ value: 'icon+flag',
299
+ label: 'Icon + Flag',
300
+ icon: <TokyoUIAvailability1EarlyMorning />,
301
+ countryFlagCode: 'ua'
302
+ }]
303
+ },
304
+ play: async ({
305
+ canvasElement
306
+ }) => {
307
+ const canvas = within(canvasElement);
308
+ const chip = within(canvas.getByRole('option', {
309
+ name: 'Icon + Flag'
310
+ }));
311
+ expect(chip.getByTestId('chip-icon')).toBeVisible();
312
+ expect(chip.queryByTestId('chip-country-flag')).not.toBeInTheDocument();
313
+ }
314
+ }`,...(he=(ge=C.parameters)==null?void 0:ge.docs)==null?void 0:he.source},description:{story:`Counter can be combined with icon or flag.
315
+ However, if you pass icon and flag together, only icon will be displayed.`,...(ye=(ve=C.parameters)==null?void 0:ve.docs)==null?void 0:ye.description}}};var me,be,we,fe,Ce;x.parameters={...x.parameters,docs:{...(me=x.parameters)==null?void 0:me.docs,source:{originalSource:`{
316
+ args: {
317
+ orientation: 'vertical',
318
+ 'aria-label': 'Choose a time slot',
319
+ defaultValue: dates[0],
320
+ items: dates.map(date => ({
321
+ value: \`\${date}\`,
322
+ label: <FormattedDate weekday="short" day="numeric" month="short" hour="2-digit" minute="2-digit" value={date} />,
323
+ dataset: {
324
+ testid: date
325
+ }
326
+ }))
327
+ },
328
+ decorators: [Story => <div style={{
329
+ width: 300,
330
+ margin: '0 auto'
331
+ }}>
332
+ <Story />
333
+ </div>],
334
+ play: async ({
335
+ canvasElement,
336
+ step
337
+ }) => {
338
+ const canvas = within(canvasElement);
339
+ const chipsList = canvas.getByRole('listbox', {
340
+ name: 'Choose a time slot'
341
+ });
342
+ const firstChip = canvas.getByTestId(dates[0]);
343
+ const secondChip = canvas.getByTestId(dates[1]);
344
+ const thirdChip = canvas.getByTestId(dates[2]);
345
+ await step('Vertical chips should have \`aria-orientation="vertical"\`', async () => {
346
+ expect(chipsList).toHaveAttribute('aria-orientation', 'vertical');
347
+ });
348
+ await step('Focus first chip', async () => {
349
+ firstChip.focus();
350
+ });
351
+ await step('Arrow down should focus second chip', async () => {
352
+ await userEvent.keyboard('{ArrowDown}');
353
+ expect(secondChip).toHaveFocus();
354
+ });
355
+ await step('Arrow down should focus third chip', async () => {
356
+ await userEvent.keyboard('{ArrowDown}');
357
+ expect(thirdChip).toHaveFocus();
358
+ });
359
+ await step('Arrow down should focus first chip', async () => {
360
+ await userEvent.keyboard('{ArrowDown}');
361
+ expect(firstChip).toHaveFocus();
362
+ });
363
+ await step('Arrow up should focus third chip', async () => {
364
+ await userEvent.keyboard('{ArrowUp}');
365
+ expect(thirdChip).toHaveFocus();
366
+ });
367
+ }
368
+ }`,...(we=(be=x.parameters)==null?void 0:be.docs)==null?void 0:we.source},description:{story:`Chips can be arranged vertically instead of horizontally.
369
+ This layout works well in narrow containers or when you want
370
+ to emphasize a vertical flow in your design.`,...(Ce=(fe=x.parameters)==null?void 0:fe.docs)==null?void 0:Ce.description}}};var Se,xe,ke,Ie,Ae;k.parameters={...k.parameters,docs:{...(Se=k.parameters)==null?void 0:Se.docs,source:{originalSource:`{
371
+ render: args => <LayoutFlex gap="12">
372
+ <SingleSelectChips {...args} />
373
+ <Button variant="tertiary" size="small" onClick={() => alert('Show all')}>
374
+ Show all
375
+ </Button>
376
+ </LayoutFlex>
377
+ }`,...(ke=(xe=k.parameters)==null?void 0:xe.docs)==null?void 0:ke.source},description:{story:"Chips are intended only for selection. To assign secondary actions, combine chips with a button.",...(Ae=(Ie=k.parameters)==null?void 0:Ie.docs)==null?void 0:Ae.description}}};var Fe,He,Be,Re,Te;I.parameters={...I.parameters,docs:{...(Fe=I.parameters)==null?void 0:Fe.docs,source:{originalSource:`{
378
+ // unused \`args\` makes story source code readable 🤷‍♂️
379
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
380
+ render: function StoryRender(_args) {
381
+ return <LayoutFlex direction="column" alignItems="stretch" gap="64">
382
+ <LayoutFlex direction="column" alignItems="stretch" gap="16">
383
+ <Text variant="large-semibold">What’s your current English level?</Text>
384
+ <SingleSelectChips aria-label="Selected English level" items={englishLevelItems} />
385
+ </LayoutFlex>
386
+
387
+ <LayoutFlex direction="column" alignItems="stretch" gap="16">
388
+ <Text variant="large-semibold">When can you take lessons?</Text>
389
+ <SingleSelectChips aria-label="Selected day of the week" items={dayOfWeekItems} />
390
+ </LayoutFlex>
391
+
392
+ <LayoutFlex direction="column" alignItems="stretch" gap="16">
393
+ <Text variant="large-semibold">What time of day works for you?</Text>
394
+ <SingleSelectChips aria-label="Selected time of day" items={timeOfDayItems} />
395
+ </LayoutFlex>
396
+ </LayoutFlex>;
397
+ },
398
+ play: async ({
399
+ canvasElement,
400
+ step
401
+ }) => {
402
+ const canvas = within(canvasElement);
403
+ const englishLevelChips = within(canvas.getByRole('listbox', {
404
+ name: 'Selected English level'
405
+ }));
406
+ const dayOfWeekChips = within(canvas.getByRole('listbox', {
407
+ name: 'Selected day of the week'
408
+ }));
409
+ const levelJustStarting = englishLevelChips.getByRole('option', {
410
+ name: 'I’m just starting'
411
+ });
412
+ const levelBasics = englishLevelChips.getByRole('option', {
413
+ name: 'I know the basics'
414
+ });
415
+ const levelDontKnow = englishLevelChips.getByRole('option', {
416
+ name: 'I don’t know'
417
+ });
418
+ const dayMonday = dayOfWeekChips.getByRole('option', {
419
+ name: 'Monday'
420
+ });
421
+ await step('Tab once to enter first chips group', async () => {
422
+ await userEvent.tab();
423
+ expect(levelJustStarting).toHaveFocus();
424
+ });
425
+ await step('Next tab should focus second chips group', async () => {
426
+ await userEvent.tab();
427
+ expect(dayMonday).toHaveFocus();
428
+ });
429
+ await step('Shift+Tab should focus first chips group again', async () => {
430
+ await userEvent.tab({
431
+ shift: true
432
+ });
433
+ expect(levelJustStarting).toHaveFocus();
434
+ });
435
+ await step('Right arrow should focus next chip in the group', async () => {
436
+ await userEvent.keyboard('{ArrowRight}');
437
+ expect(levelBasics).toHaveFocus();
438
+ });
439
+ await step('Left arrow should focus previous chip in the group', async () => {
440
+ await userEvent.keyboard('{ArrowLeft}');
441
+ expect(levelJustStarting).toHaveFocus();
442
+ });
443
+ await step('Left arrow should focus last chip if first chip is focused', async () => {
444
+ await userEvent.keyboard('{ArrowLeft}');
445
+ expect(levelDontKnow).toHaveFocus();
446
+ });
447
+ await step('Right arrow should focus first chip if last chip is focused', async () => {
448
+ await userEvent.keyboard('{ArrowRight}');
449
+ expect(levelJustStarting).toHaveFocus();
450
+ });
451
+ await step('Focus last chip', async () => {
452
+ await userEvent.keyboard('{ArrowLeft}');
453
+ });
454
+ await step('Tab to the next group', async () => {
455
+ await userEvent.tab();
456
+ });
457
+ await step('Shift+Tab to return to the first group, the last focused chip should be focused', async () => {
458
+ await userEvent.tab({
459
+ shift: true
460
+ });
461
+ expect(levelDontKnow).toHaveFocus();
462
+ });
463
+ }
464
+ }`,...(Be=(He=I.parameters)==null?void 0:He.docs)==null?void 0:Be.source},description:{story:`The **roving tabindex pattern** is a keyboard navigation technique for grouped interactive elements. Instead of tabbing through each item individually, users:
465
+
466
+ - **Tab once** to enter the component
467
+ - **Use arrow keys** to navigate between items within the group
468
+ - **Tab again** to exit to the next component
469
+
470
+ 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."
471
+
472
+ {@link https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_roving_tabindex Learn more about roving tabindex pattern}`,...(Te=(Re=I.parameters)==null?void 0:Re.docs)==null?void 0:Te.description}}};var Ve,Le,Ee,je,We;A.parameters={...A.parameters,docs:{...(Ve=A.parameters)==null?void 0:Ve.docs,source:{originalSource:`{
473
+ // unused \`args\` makes story source code readable 🤷‍♂️
474
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
475
+ render: function StoryRender(_args) {
476
+ const [selectedCategory, setSelectedCategory] = useState<string | null>(null);
477
+ const filteredArticles = selectedCategory ? articles.filter(article => article.skills.includes(selectedCategory)) : articles;
478
+ return <LayoutFlex direction="column" gap="24">
479
+ <LayoutFlex direction="column" gap="8">
480
+ <Heading tag="h2" variant="large">
481
+ Articles
482
+ </Heading>
483
+ <SingleSelectChips aria-label="Filter by skill" aria-controls="results" value={selectedCategory} onValueChange={setSelectedCategory} items={[{
484
+ value: 'vocabulary',
485
+ label: 'Vocabulary'
486
+ }, {
487
+ value: 'speaking',
488
+ label: 'Speaking'
489
+ }, {
490
+ value: 'listening',
491
+ label: 'Listening'
492
+ }, {
493
+ value: 'reading',
494
+ label: 'Reading'
495
+ }, {
496
+ value: 'grammar',
497
+ label: 'Grammar'
498
+ }]} />
499
+ </LayoutFlex>
500
+ <section id="results" aria-label="Filtered articles">
501
+ <List>
502
+ {filteredArticles.map(article => <li key={article.id}>
503
+ <Link href="#">{article.title}</Link>
504
+ </li>)}
505
+ </List>
506
+ </section>
507
+ </LayoutFlex>;
508
+ },
509
+ play: async ({
510
+ canvasElement,
511
+ step
512
+ }) => {
513
+ const canvas = within(canvasElement);
514
+ const chipsList = canvas.getByRole('listbox', {
515
+ name: 'Filter by skill'
516
+ });
517
+ await step('Chips element should have aria attributes forwarded', async () => {
518
+ expect(chipsList).toHaveAttribute('aria-label', 'Filter by skill');
519
+ expect(chipsList).toHaveAttribute('aria-controls', 'results');
520
+ });
521
+ }
522
+ }`,...(Ee=(Le=A.parameters)==null?void 0:Le.docs)==null?void 0:Ee.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.",...(We=(je=A.parameters)==null?void 0:je.docs)==null?void 0:We.description}}};var De,Me,Ue,Oe,qe;F.parameters={...F.parameters,docs:{...(De=F.parameters)==null?void 0:De.docs,source:{originalSource:`{
523
+ parameters: {
524
+ a11y: {
525
+ config: {
526
+ rules: [{
527
+ id: 'color-contrast',
528
+ enabled: false
529
+ }]
530
+ }
531
+ }
532
+ },
533
+ args: {
534
+ 'aria-label': 'Select a skill',
535
+ children: <>
536
+ <Tooltip content="I want to learn vocabulary" dataset={{
537
+ testid: 'vocabulary-tooltip'
538
+ }}>
539
+ <SingleSelectChipsItem value="vocabulary">Vocabulary</SingleSelectChipsItem>
540
+ </Tooltip>
541
+ <Tooltip content="I want to improve my speaking skills" dataset={{
542
+ testid: 'speaking-tooltip'
543
+ }}>
544
+ <SingleSelectChipsItem value="speaking">Speaking</SingleSelectChipsItem>
545
+ </Tooltip>
546
+ <Tooltip content="I want to improve my listening skills" dataset={{
547
+ testid: 'listening-tooltip'
548
+ }}>
549
+ <SingleSelectChipsItem value="listening">Listening</SingleSelectChipsItem>
550
+ </Tooltip>
551
+ <Tooltip content="I want to improve my reading skills" dataset={{
552
+ testid: 'reading-tooltip'
553
+ }}>
554
+ <SingleSelectChipsItem value="reading">Reading</SingleSelectChipsItem>
555
+ </Tooltip>
556
+ </>,
557
+ items: undefined
558
+ },
559
+ play: async ({
560
+ canvasElement,
561
+ step
562
+ }) => {
563
+ const canvas = within(canvasElement);
564
+ await step('Tab to the first chip', async () => {
565
+ await userEvent.tab();
566
+ await waitFor(() => {
567
+ expect(canvas.getByTestId('vocabulary-tooltip')).toBeVisible();
568
+ });
569
+ });
570
+ await step('Arrow right to focus next chip', async () => {
571
+ await userEvent.keyboard('{ArrowRight}');
572
+ await waitFor(() => {
573
+ expect(canvas.getByTestId('speaking-tooltip')).toBeVisible();
574
+ });
575
+ });
576
+ await step('Hover third chip', async () => {
577
+ await userEvent.hover(canvas.getByRole('option', {
578
+ name: 'Listening'
579
+ }));
580
+ await waitFor(() => {
581
+ expect(canvas.getByTestId('listening-tooltip')).toBeVisible();
582
+ });
583
+ });
584
+ }
585
+ }`,...(Ue=(Me=F.parameters)==null?void 0:Me.docs)==null?void 0:Ue.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.",...(qe=(Oe=F.parameters)==null?void 0:Oe.docs)==null?void 0:qe.description}}};var _e,Pe,ze;R.parameters={...R.parameters,docs:{...(_e=R.parameters)==null?void 0:_e.docs,source:{originalSource:`{
586
+ tags: ['!autodocs'],
587
+ render: function StoryRender() {
588
+ return <LayoutFlex gap="12">
589
+ <SingleSelectChips aria-label="Chips states" value="selected">
590
+ <SingleSelectChipsItem value="rest">Rest</SingleSelectChipsItem>
591
+ <SingleSelectChipsItem value="focus" dsInternalSimulation="focus">
592
+ Focus
593
+ </SingleSelectChipsItem>
594
+ <SingleSelectChipsItem value="hover" dsInternalSimulation="hover">
595
+ Hover
596
+ </SingleSelectChipsItem>
597
+ <SingleSelectChipsItem value="active" dsInternalSimulation="active">
598
+ Active
599
+ </SingleSelectChipsItem>
600
+ <SingleSelectChipsItem value="disabled" disabled>
601
+ Disabled
602
+ </SingleSelectChipsItem>
603
+ <SingleSelectChipsItem value="selected">Selected</SingleSelectChipsItem>
604
+ </SingleSelectChips>
605
+ <SingleSelectChips aria-label="Chips states" value="selected">
606
+ <SingleSelectChipsItem value="selected" dsInternalSimulation="focus">
607
+ Selected focus
608
+ </SingleSelectChipsItem>
609
+ </SingleSelectChips>
610
+ <SingleSelectChips aria-label="Chips states" value="selected">
611
+ <SingleSelectChipsItem value="selected" dsInternalSimulation="hover">
612
+ Selected hover
613
+ </SingleSelectChipsItem>
614
+ </SingleSelectChips>
615
+ <SingleSelectChips aria-label="Chips states" value="selected">
616
+ <SingleSelectChipsItem value="selected" dsInternalSimulation="active">
617
+ Selected active
618
+ </SingleSelectChipsItem>
619
+ </SingleSelectChips>
620
+ </LayoutFlex>;
621
+ }
622
+ }`,...(ze=(Pe=R.parameters)==null?void 0:Pe.docs)==null?void 0:ze.source}}};var Je,Ke,$e,Ge,Ne;H.parameters={...H.parameters,docs:{...(Je=H.parameters)==null?void 0:Je.docs,source:{originalSource:`{
623
+ decorators: [Story => <div style={{
624
+ maxWidth: 150,
625
+ margin: '0 auto'
626
+ }}>
627
+ <Story />
628
+ </div>],
629
+ args: {
630
+ 'aria-label': 'Long label',
631
+ items: [{
632
+ value: 'long',
633
+ icon: TokyoUIEmojiFrowning,
634
+ label: "I'm way too long to be a chip label, I don't know what to do with myself"
635
+ }]
636
+ }
637
+ }`,...($e=(Ke=H.parameters)==null?void 0:Ke.docs)==null?void 0:$e.source},description:{story:"Please, don't use long labels for chips.",...(Ne=(Ge=H.parameters)==null?void 0:Ge.docs)==null?void 0:Ne.description}}};const ot=["Uncontrolled","Controlled","Disabled","WithIcons","WithCounter","WithFlags","CombiningCounterWithIconOrFlag","Vertical","CombinationWithButton","RovingTabindex","Accessibility","WithTooltips","States","LongLabel"];export{A as Accessibility,k as CombinationWithButton,C as CombiningCounterWithIconOrFlag,y as Controlled,m as Disabled,H as LongLabel,I as RovingTabindex,R as States,v as Uncontrolled,x as Vertical,w as WithCounter,f as WithFlags,b as WithIcons,F as WithTooltips,ot as __namedExportsOrder,st as default};